F28027驱动LCD12864的问题,请教大家

[复制链接]
 楼主| beiwaroad 发表于 2013-8-26 20:20 | 显示全部楼层 |阅读模式
现在用F28027驱动12864,按照时序进行编程,实在找不到问题,但是就是不能显示,求大家帮帮忙看一下,谢谢了


#include<DSP28x_Project.h>

#define CS GpioDataRegs.GPADAT.bit.GPIO5
#define SID GpioDataRegs.GPADAT.bit.GPIO6
#define CLK GpioDataRegs.GPADAT.bit.GPIO7

void Gpio_Init(void)
        {
                        EALLOW;
                        GpioCtrlRegs.GPAPUD.all=0xFF;
                        GpioCtrlRegs.GPAMUX1.all = 0x00000000;  // All GPIO
                        GpioCtrlRegs.GPAMUX2.all = 0x00000000;  // All GPIO
                        GpioCtrlRegs.GPBMUX1.all = 0x00000000;  // All GPIO
                        GpioCtrlRegs.GPADIR.all = 0xFFFFFFFF;   // All outputs
                        GpioCtrlRegs.GPBDIR.all = 0x0000000F;   // All outputs
                        EDIS;
        }

void delay(int n)
                {
                        while(n--);
                }

void Sendbyte(unsigned char bytes) //发送一个字节
        {
                 unsigned char i;
                 for(i=0;i<8;i++)
                         {
                                 CLK=1;
                                 SID=bytes&0x80; //取出最高位
                                 CLK=0;
                                 bytes<<=1; //左移
                         }
         }
void write_com(unsigned char com)
         {
                CS=1;
                Sendbyte(0xf8);
                Sendbyte(com&0xf0);
                Sendbyte((com&0x0f)<<4);
                CS=0;
                delay(0xff);
         }
void write_data(unsigned char dat)
         {
                CS=1;
                Sendbyte(0xfa);
                Sendbyte(dat&0xf0);
                Sendbyte((dat&0x0f)<<4);
                CS=0;
                delay(0xff);
         }
void LCD_Init(void)
         {
                  write_com(0x01);
                  write_com(0x30);
                  write_com(0x0c);
                  write_com(0x06);
                  write_com(0x02);
         }

void main(void)
                {
                        InitSysCtrl();                               //        In this function watchdog is disabled
                    DINT;                                                        //Disable interrupts,this has been done in the "InitPieCtrl();"function
                         InitPieCtrl();                                        //Initial PIE,in this function,interrupts are disabled,Clear all PIEIER registers,Clear all PIEIFR registers
                         IER = 0x0000;
                         IFR = 0x0000;
                         InitPieVectTable();                                //Initialize the PIEvectable,let the interrupts point to their own ISR


                         Gpio_Init();                                                //Gpio initial function
                        LCD_Init();
                        
                        
                        write_com(0x80);
                        write_data(0x02);
                        write_data(0x02);
                        write_data(0x02);
                        while(1);
                }
xichengmadia 发表于 2013-8-26 20:30 | 显示全部楼层
12864的种类很多,应该交待一下的。

我有个F28035带12864的帖子,在TI模拟板块。不知道对你有没有用。
拿起书本 发表于 2013-8-28 19:36 | 显示全部楼层
12864有串行和并行两种模式,接口不同,程序也不一样
zhangmangui 发表于 2013-8-28 23:05 | 显示全部楼层
是的  首先是用SPI还是用并口
接下来最重要的就是时序   这个不容易找出问题
craaazyfor 发表于 2013-9-24 14:57 | 显示全部楼层
延时这么小,加大试试,再不行,用示波器抓波形分析
huangfeng33 发表于 2013-9-25 21:20 | 显示全部楼层
感觉延时太太短,容易造成数据传输的错误,加大延时看看
jxmzzr 发表于 2013-9-25 21:22 | 显示全部楼层
F28027模拟IO口时,需要对其端口类型及IO口进行设置,楼主看看设置是否正确。
zhangmangui 发表于 2013-9-25 22:16 | 显示全部楼层
楼主问题应该解决了吧   求分享
zhangmangui 发表于 2013-9-25 22:16 | 显示全部楼层
楼主问题应该解决了吧   求分享
zhangmangui 发表于 2013-9-25 22:17 | 显示全部楼层
楼主问题应该解决了吧   求分享
biechedan 发表于 2013-9-26 00:20 | 显示全部楼层
楼主解决了没
您需要登录后才可以回帖 登录 | 注册

本版积分规则

86

主题

964

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部