编程思想汇报3

 

Date:2011.08.15  MADE BY AC

1、  关于DS1302时钟IC与12864的时间显示:为什么DS1302工作正常,而12864LCD显示时却不能正常显示出秒数呢?(解决问题分析:首先必须确定硬件没问题,其次是,数据处理问题,最后是时隙的控制)(基于这个思路,我分析了电路,分析了程序….)

经自己分析,发现,如果LCD如果没有显示很有可能,“LCD正常工作而你对LCD取数据时,你的数据地址不正确的话,这时候,你的程序乱了,自然,你的显示也就乱了~~谨记”,我就是遇到这个问题,我把地址好好整理了,LCD正常显示了,可是,随之而来的就是我提到的那个问题(秒数显示不正确啊!!!),我硬件调试,发现显示的数据有一定的规律,这是,我怀疑是时间的问题!!!看看我的程序:

DisplayListChar(1, 2, Temp);   ,很明显的呀,这里的显示之后,下面还有很多延时,   

Write_Byte_Address(25,'p');      如果,你的延时超过一秒的话,那岂不是影响到下

k=Read_Byte_Address(25);      一秒的显示,且12864的数据读取需要一定的时间呢!

Delay400Ms();                把语句DisplayListChar(1, 2, Temp);后面的稍微去掉

Delay400Ms();                即可得到正确的显示!

DisplayOneChar(3,4,k);

Delay400Ms();

总结:显示时一定要注意数据的正确操作及时间延时的控制(最好不要超过200ms,否则显示不正确哦!!!!),

2、当你用全局替换时,一定要注意,把程序弄乱了(假如传参变量和全局变量的名字一样的时候,假如你要进行全局变量的字符替换,这时候,你会把传参变量的字符也换掉了)

3、假如你设置的显示的字符个数为16个,而你定义的数字长度为8,则程序会出错,程序会把那些乱码传递个LCD的ram导致LCD不能正常工作!!!!

Eg: uchar Temp[8];(出错)uchar  Temp[16];(OK)DisplayListChar(1, 2, Temp);

4、昨天的第六问,解决了,原来是存储器的读写需要一定的时间(5~10ms),调好这个时间,读写就方便呢!!!!!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值