初级会员

- 积分
- 132
- 金钱
- 132
- 注册时间
- 2016-9-9
- 在线时间
- 43 小时
|
1金钱
这段时间学习LCD这块,关于8080时序有些不解,希望大侠不吝赐教!
从8080时序图可以看到线的先后顺序依次为:
拉低CS->D/C设置->WR设置->D[7:0]->拉高WR,而文档中描述的顺序对不上。
图中,如果严格按8080时序走的话WR看似一个时钟信号,D[7:0]在WR下降沿时变化,上升沿读取;DC则是在WR上升沿变化,下降沿稳定。但我们程序中却没有这样写。下载到板子上却可以正常运行,这是什么原因?难道是变异的时序?还是要求不严谨!
另外,我把例程中操作顺序按图中改了之后运行并不受影响(注释掉的即是例程的代码,下面是自己改过的)
//写寄存器函数
//data:寄存器值
//void LCD_WR_REG(u16 data)
//{
// LCD_RS_CLR;//写地址
// LCD_CS_CLR;
// DATAOUT(data);
// LCD_WR_CLR;
// LCD_WR_SET;
// LCD_CS_SET;
//}
void LCD_WR_REG(u16 data)
{
LCD_CS_CLR;
LCD_RS_CLR;//写地址
LCD_WR_CLR;
DATAOUT(data);
LCD_WR_SET;
LCD_CS_SET;
}
初次接触8080时序,甚是不解,还望大侠解释一下!再次谢过!
|
最佳答案
查看完整内容[请看2#楼]
没问题的,我们的例程是拉低CS--> 设置DC--> 拉低WR-->设置数据-->拉高WR WR的上升沿锁定数据。
|