这是我的LCD1602程序,请问这两个地址是怎么冒出来的
#define LCD_COM (*((unsigned int *)0x601000))
#define LCD_DAT (*((unsigned int *)0x601002))
#define command 0 //写入指令
#define data 1 //写入数据
void lcd_write(unsigned char dat_comm,unsigned char content)
{
unsigned int i,j;
for(i=0;i<10;i++)
for(j=0;j<500;j++);
if(dat_comm)//dat_comm==data
{
LCD_DAT=content;
}
else //dat_comm==command)
{
LCD_COM=content;
}
}
我使用的TMS320C5509A
1602引脚连接如下:
//PIN1: VSS [电源地]-------------------GND
//PIN2: VDD [电源正极]-----------------5V
//PIN3: Vo [LCD 偏压输入]-------------GND,为显示最深
//PIN4: RS [数据/命令选择端输入]------A2
//PIN5: RW [读写控制信号输入]---------R/W= !C0 & C2
//PIN6: E [使能信号输入]-------------始终高电平
//PIN7: D0 [Data I/O]-----------------D0
//PIN8: D1 [Data I/O]-----------------D1
//PIN9: D2 [Data I/O]-----------------D2
//PIN10:D3 [Data I/O]-----------------D3
//PIN11:D4 [Data I/O]-----------------D4
//PIN12:D5 [Data I/O]-----------------D5
//PIN13:D6 [Data I/O]-----------------D6
//PIN14:D7 [Data I/O]-----------------D7
//PIN15:BLA [背光源正极]---------------接10欧电阻到+5V.
//PIN16:BLK [背光源负极]---------------VSS
此帖出自
小平头技术问答
#define LCD_DAT (*((unsigned int *)0x601002))
从这个定义上看 前面0x601000就是外部总线的基地址了,好像是CE1的地址,这个你没有用到,E直接拉高了,地址线有一根接到RS,是地址的低二位,但你后面的引脚是RS接A2,这个就搞不太懂了,可能是因为16位总线的原因?这个要看看手册的说明了
一周热门 更多>