| 仿真不用查忙 |
| 仿真是不用查忙的,实物中需要。因为仿真中单片机速度没有1602反应快 |
| 其实不用查忙的,延时就行,忙这个条件有点苛刻 |
| 跪求,感觉好难! |
|
本帖最后由 zl2168 于 2017-5-7 14:43 编辑 实例91 具有校正功能的时钟1302(LCD1602显示) 先Proteus仿真,确认有效。
实例91 带校正时钟1302(LCD1602显示).rar
(52.68 KB, 下载次数: 19)
以上摘自张志良编著《80C51单片机仿真设计实例教程——基于Keil C和Proteus》清华大学出版社ISBN 978-7-302-41682-1,书中电路和程序设计有详细说明,程序语句条条有注解。 仿真电路和Hex文件能在清华出版社网站免费下载,程序源代码只能到书上看了。到图书馆借,或到新华书店翻阅,或到网上书店打折购买。 |
| 同问求大佬兹磁 |
| 你看看你的接口顺序对吗 |
| TR0=0,未进入中断函数 |
| 我写的程序也是显示乱码。。。。。 |
|
TR0=0,未进入中断函数 |
| 你的延时太多了 不用探忙的 |
| 初始化很重要 |
| 对于任何外设访问都要探忙,但是好像跟你这个显示的没关系,你不能把程序模块化了吗,写的很乱,到最后自己都不好改。 |
|
为什么要探忙,能解释下吗 |
wanglu071912 发表于 2015-5-24 10:42 对哦 谢谢哈 |
|
我自己是焊了个LCD1602的时钟,就是不想看代码,代码风格不一样,很脑大的。我把我的LCD1602.c贴出来,宋老师的风格,功能模块化,好查错,你对比分析一下吧,这个.c是一定没问题的。 #include<reg52.h> #define lcdDB P0 sbit lcdRS = P1^0; sbit lcdRW = P1^1; sbit lcdE = P1^5; void lcdready() //探忙 { unsigned char sta; lcdDB = 0xFF; lcdRS = 0; lcdRW = 1; do{ lcdE = 1; sta = lcdDB; lcdE = 0; }while(sta & 0x80); } void lcdwritecmd(unsigned char cmd) //写入命令 { lcdready(); lcdRS = 0; lcdRW = 0; lcdDB = cmd; lcdE = 1; lcdE = 0; } void lcdwritedat(unsigned char dat) //写入数据 { lcdready(); lcdRS = 1; lcdRW = 0; lcdDB = dat; lcdE = 1; lcdE = 0; } void lcdsetaddr(unsigned char x, unsigned char y) //设置显示位置 { unsigned char addr; if(y == 0) addr = 0x00 + x; else addr = 0x40 + x; lcdwritecmd(addr | 0x80); } void lcdshowstr(unsigned char x, unsigned char y, unsigned char *str) //显示内容 { lcdsetaddr(x, y); while(*str != '\0') { lcdwritedat(*str++); } } /*********************************************************** void lcdareaclear(unsigned char x, unsigned char y, unsigned char len) //局部清除 { lcdsetaddr(x, y); while(len--) { lcdwritedat(' '); } } void lcdfullclear() //整屏清除 { lcdwritecmd(0x01); } **********************************************************************/ void lcdgbss(unsigned char x, unsigned char y, bit gb) //光标闪烁:1开0关 { if(gb == 1) lcdwritecmd(0x0F); else lcdwritecmd(0x0C); lcdsetaddr(x, y); } void initlcd() //初始化 { lcdwritecmd(0x38); lcdwritecmd(0x0C); lcdwritecmd(0x06); lcdwritecmd(0x01); } |
| 同问! |