51单片机程序0到60计数个位逢5和6不显示,十位逢1不显示http://www.51hei.com/bbs/mcu-h24-1.html
原文如下:
單片機(jī)源程序如下: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.} 復(fù)制代碼求助大神,為什么我做的這個(gè)0到60計(jì)數(shù)循環(huán),個(gè)位逢5丟數(shù),十位逢1丟數(shù)啊。。在仿真中確實(shí)存在修改一下代碼即可 P1=0xfe; WE=1; WE=0;
xianfajushi 發(fā)表于 2019-6-25 10:08在仿真中確實(shí)存在修改一下代碼即可 P1=0xfe; WE=1; WE=0;
感謝幫助,這樣修改確實(shí)解決了這個(gè)問(wèn)題。請(qǐng)問(wèn)這是什么問(wèn)題?這是仿真軟件的問(wèn)題嗎,我看書(shū)中的格式都是先開(kāi)鎖存輸入數(shù)據(jù)再關(guān)鎖存這種順序。。。為什么在proteus里要改成先送數(shù)據(jù)再開(kāi)關(guān)鎖存?
紙上談兵編寫(xiě)的教科書(shū)早該改了,P1=0xfe; WE=1; WE=0;我這樣寫(xiě)的才是正確的,無(wú)論是從理論或仿真或?qū)嵨锒寄苷_無(wú)誤執(zhí)行,準(zhǔn)備好數(shù)據(jù)打開(kāi)鎖存關(guān)閉鎖存送入的是的的確確想要的正確的值;
而教科書(shū)WE=1; P1=0xfe; WE=0;這寫(xiě)在打開(kāi)鎖存瞬間寫(xiě)入的是上一個(gè)循環(huán)后存留的值,再送入想要的值就造成種種魅像,看不到某些數(shù)碼顯示或出現(xiàn)魅影(鬼影)或數(shù)碼顯示黯淡等等,如有的說(shuō)使用CHAR寫(xiě)延時(shí)比較節(jié)約內(nèi)存,殊不知使用2個(gè)CHAR與使用1個(gè)INT是一樣的,因此教科書(shū)其實(shí)在紙上談兵的人編寫(xiě)充斥種種誤人子弟的謬論.
如論壇有人回復(fù)我的帖子說(shuō)FOR循環(huán)不需要聲明變量,而我用WHILE需要聲明變量,這樣可笑荒謬的回復(fù),他忘記了變量使用前需要聲明的基本原則了,試問(wèn)變量不聲明FOR循環(huán)中如何使用?這就是典型的紙上談兵范.
至于鎖存具體如何工作鎖存數(shù)據(jù)脈沖上升沿下降沿等就不贅述,有興趣的自己去深究.
?
從現(xiàn)象反推出產(chǎn)生現(xiàn)象的原因是科學(xué)定律;這在程序調(diào)試中是最常用的分析方法,中醫(yī)也是這樣從病癥去反推產(chǎn)生病癥的原因從而對(duì)證治病,西醫(yī)何嘗不是從果究因去尋找各種病菌呢都一樣,從物理學(xué)上來(lái)說(shuō)也是從果推因?qū)ふ椰F(xiàn)象背后的成因,如打雷閃電緣何產(chǎn)生去究其因,類(lèi)推之化學(xué)界生物界等,又如破案從犯罪現(xiàn)場(chǎng)種種證據(jù)搜集去推導(dǎo)出犯罪的思想動(dòng)機(jī),總之從現(xiàn)象推導(dǎo)原因普遍存在于方方面面,因此是科學(xué)規(guī)律,人類(lèi)正是在這種規(guī)律中建立和積累起來(lái)的知體系.
總結(jié)
以上是生活随笔為你收集整理的51单片机程序0到60计数个位逢5和6不显示,十位逢1不显示http://www.51hei.com/bbs/mcu-h24-1.html的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: mysql创建视图语句_查询视图的sql
- 下一篇: hping3 应用笔记