标题: 关于时序的问题 [打印本页]

作者: zxzqrtf    时间: 2015-1-25 14:56
标题: 关于时序的问题
学单片机学到这个阶段,有点苦恼了,那就是时序。现在基本上能弄明白,用io口来操控电平的高低,来控制数据的读写,但是有点疑惑的时,时序图上都是脉冲,比如对LCD1602 的操作,可以看一下写操作时序图,[attach]7713[/attach]然后对应下面一段写指令的c程序,
void write_com(uchar com)
{
lcdrs=0;
P0=com;
delay(5);
lcden=1;
delay(5);
lcden=0;
},我的问题是,这里面的lcdrs被置0,也就是写命令有效(lcdrs为数据命令选择端),为什么不在最后把它置1呢?因为我看图上置0后,右边有个高电平啊,就是又被拉高了,但是我又看到,也有低电平的线,所以我想问问前辈们,是不是,这里置不置一都可以呢,原因是否在于,这个lcdrs不是边沿触发类的,而只是看高低电平来实现选择的,希望有前辈能帮忙解惑,是否是我想的一样。。谢谢了!



}

作者: zxzqrtf    时间: 2015-1-25 15:03
下图为时序图,谢谢!

捕获m.PNG (128.18 KB, 下载次数: 183)

捕获m.PNG

作者: zxzqrtf    时间: 2015-1-25 15:04
我圈出来一高一低,是不是表示,不在乎原来的状态呢?只要下一状态为低就可以了?
作者: jxr0345    时间: 2015-1-25 16:22
我觉得你这个问题与时序关系不大吧?只是牵涉触发类型而已。个人认为时序时序应该是操作顺序的表现,是各指令先后的逻辑图。
作者: zxzqrtf    时间: 2015-1-25 17:49
jxr0345 发表于 2015-1-25 16:22
我觉得你这个问题与时序关系不大吧?只是牵涉触发类型而已。个人认为时序时序应该是操作顺序的表现,是各指 ...

您说的确实是有道理,我可能搞混点了,但是我觉得这两个是有联系的,操作顺序中的操作不就是对高低电平的控制吗?另外我的问题,您能帮忙分析一下吗?谢谢!
作者: jxr0345    时间: 2015-1-25 19:47
本帖最后由 jxr0345 于 2015-1-25 19:48 编辑

你可以试一下,置为1应该结果也一样,程序有时有一些不规范的写法,它不一定出错,如果没有别的条件影响,它可以是正确的。或许程序其它地方将其置1也有可能;触发类型是在满足条件(如下降沿或低电平时),中断(或执行程序)就发生,按键抖动就是其表现之一。
作者: zxzqrtf    时间: 2015-1-25 22:45
@admin
作者: suwu    时间: 2015-1-27 00:00
你可以百度查一下LCD1602的功能表于管脚使用,很详细的




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1