欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

51单片机程序0到60计数个位逢5和6不显示,十位逢1不显示http://www.51hei.com/bbs/mcu-h24-1.html

发布时间:2023/12/14 编程问答 40 豆豆
生活随笔 收集整理的这篇文章主要介绍了 51单片机程序0到60计数个位逢5和6不显示,十位逢1不显示http://www.51hei.com/bbs/mcu-h24-1.html 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

原文如下:

单片机源程序如下:1.#include <reg52.h>2.#define uchar unsigned char3.#define uint unsigned int4.sbit DE=P2^1; 5.sbit WE=P2^2; 6.uint m,m0,m1,m2,gew,shiw;7.uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};8.void delay(uint);9.void main()10.{11. TMOD=0x01;12. EA=1;13. ET0=1;14. TR0=1;15. TH0=(65536-45872)/256;16. TL0=(65536-45872)%256; 17. while(1)18. {19. WE=1;20. P1=0xfe;21. WE=0;22. DE=1;23. P1=table[shiw];24. DE=0;25. delay(20);26. WE=1;27. P1=0xfd;28. WE=0;29. DE=1;30. P1=table[gew];31. DE=0;32. delay(20); 33. } 34.}35.void T0_time() interrupt 1 36.{37. TH0=(65536-45872)/256;38. TL0=(65536-45872)%256;39. m0++;40. if(m0==20)41. {42. m0=0;43. m++;44. if(m==60)45. m=0;46. shiw=m/10;47. gew=m%10; 48. }49.}50.void delay(uint ms) 51.{52. uint i,j;53. for(i=ms;i>0;i--)54. for(j=110;j>ms;j--);55.} 复制代码求助大神,为什么我做的这个0到60计数循环,个位逢5丢数,十位逢1丢数啊。。

在仿真中确实存在修改一下代码即可 P1=0xfe; WE=1; WE=0;

xianfajushi 发表于 2019-6-25 10:08
在仿真中确实存在修改一下代码即可 P1=0xfe; WE=1; WE=0;


感谢帮助,这样修改确实解决了这个问题。请问这是什么问题?这是仿真软件的问题吗,我看书中的格式都是先开锁存输入数据再关锁存这种顺序。。。为什么在proteus里要改成先送数据再开关锁存?

纸上谈兵编写的教科书早该改了,P1=0xfe; WE=1; WE=0;我这样写的才是正确的,无论是从理论或仿真或实物都能正确无误执行,准备好数据打开锁存关闭锁存送入的是的的确确想要的正确的值;
而教科书WE=1; P1=0xfe; WE=0;这写在打开锁存瞬间写入的是上一个循环后存留的值,再送入想要的值就造成种种魅像,看不到某些数码显示或出现魅影(鬼影)或数码显示黯淡等等,如有的说使用CHAR写延时比较节约内存,殊不知使用2个CHAR与使用1个INT是一样的,因此教科书其实在纸上谈兵的人编写充斥种种误人子弟的谬论.

如论坛有人回复我的帖子说FOR循环不需要声明变量,而我用WHILE需要声明变量,这样可笑荒谬的回复,他忘记了变量使用前需要声明的基本原则了,试问变量不声明FOR循环中如何使用?这就是典型的纸上谈兵范.
至于锁存具体如何工作锁存数据脉冲上升沿下降沿等就不赘述,有兴趣的自己去深究.

 

从现象反推出产生现象的原因是科学定律;这在程序调试中是最常用的分析方法,中医也是这样从病症去反推产生病症的原因从而对证治病,西医何尝不是从果究因去寻找各种病菌呢都一样,从物理学上来说也是从果推因寻找现象背后的成因,如打雷闪电缘何产生去究其因,类推之化学界生物界等,又如破案从犯罪现场种种证据搜集去推导出犯罪的思想动机,总之从现象推导原因普遍存在于方方面面,因此是科学规律,人类正是在这种规律中建立和积累起来的知体系.

总结

以上是生活随笔为你收集整理的51单片机程序0到60计数个位逢5和6不显示,十位逢1不显示http://www.51hei.com/bbs/mcu-h24-1.html的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。