打印

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

[复制链接]
1373|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
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还是用并口
接下来最重要的就是时序   这个不容易找出问题

使用特权

评论回复
5
craaazyfor| | 2013-9-24 14:57 | 只看该作者
延时这么小,加大试试,再不行,用示波器抓波形分析

使用特权

评论回复
6
huangfeng33| | 2013-9-25 21:20 | 只看该作者
感觉延时太太短,容易造成数据传输的错误,加大延时看看

使用特权

评论回复
7
jxmzzr| | 2013-9-25 21:22 | 只看该作者
F28027模拟IO口时,需要对其端口类型及IO口进行设置,楼主看看设置是否正确。

使用特权

评论回复
8
zhangmangui| | 2013-9-25 22:16 | 只看该作者
楼主问题应该解决了吧   求分享

使用特权

评论回复
9
zhangmangui| | 2013-9-25 22:16 | 只看该作者
楼主问题应该解决了吧   求分享

使用特权

评论回复
10
zhangmangui| | 2013-9-25 22:17 | 只看该作者
楼主问题应该解决了吧   求分享

使用特权

评论回复
11
biechedan| | 2013-9-26 00:20 | 只看该作者
楼主解决了没

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

86

主题

964

帖子

2

粉丝