<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 專(zhuān)題 > 學(xué)習51單片機的基本調試經(jīng)驗

學(xué)習51單片機的基本調試經(jīng)驗

作者: 時(shí)間:2016-08-17 來(lái)源:網(wǎng)絡(luò ) 收藏

一、單片機的組成:

本文引用地址:http://dyxdggzs.com/article/201608/295633.htm

CPU:由運算和控制邏輯組成,同時(shí)還包括中斷系統和部分外部特殊功能寄存器;

RAM:用以存放可以讀寫(xiě)的數據,如運算的中間結果、最終結果以及欲顯示的數據;

ROM:用以存放、一些原始數據和表格;

I/O口:四個(gè)8位并行I/O口,既可用作輸入,也可用作輸出;

T/C:兩個(gè)定時(shí)/記數器,既可以工作在定時(shí)模式,也可以工作在記數模式;

五個(gè)中斷源的中斷控制系統;

一個(gè)全雙工UART(通用異步接收發(fā)送器)的串行I/O口,用于實(shí)現單片機之間或單片機與微機之間的串行通信;

片內振蕩器和時(shí)鐘產(chǎn)生電路,石英晶體和微調電容需要外接。最高振蕩頻率取決于單片機型號及性能。

 

二、I 2C串行總線(xiàn)的組成及工作原理

一開(kāi)始出現燈沒(méi)有亮的現象,產(chǎn)生原因是在寫(xiě)信號和讀信號之間沒(méi)有延時(shí),添加delay1(100),注意此時(shí)間不能過(guò)短,然后在SDA及SCL的賦值后面也要添加delay1(1),此處時(shí)間似乎沒(méi)有多大限制。

 

三、I 2C串行總線(xiàn)的組成及工作原理-斷電保存顯示的調試

 

1. 現警告AT24C02有問(wèn)題,是由于編寫(xiě)時(shí)的輸入法問(wèn)題導致,此時(shí)應該注意是在英文格式下輸入,另外數碼管的位置顯示不正確

2. LED顯示十位出現閃爍不穩定現象,通過(guò)調整LED中的延遲時(shí)間現象得到一定緩解,但問(wèn)題仍然存在。若將值修改到很小則出現問(wèn)題3;

3. 顯示十位數字出現跟個(gè)位數字一樣的余輝?通過(guò)修改主函數中delay時(shí)間數問(wèn)題得到解決,但是數字仍閃爍。

 

四、時(shí)鐘程序

#include <>格式:引用標準庫頭文件,編譯器從標準庫目錄開(kāi)始搜索

#incluce ""格式:引用非標準庫的頭文件,編譯器從用戶(hù)的工作目錄開(kāi)始搜索

1. 液晶顯示秒位變化過(guò)慢?

問(wèn)題出現在while下面的if語(yǔ)句中寫(xiě)的是if(count==0),本應為if(count==20)

2. 液晶顯示時(shí)間在有進(jìn)位的時(shí)候不正確,在開(kāi)始設置23:59:30走時(shí),顯示的卻是按23:59:00開(kāi)始走,并且在秒進(jìn)位后,分顯示的1,且時(shí)鐘也沒(méi)有進(jìn)位?

問(wèn)題原因:初始化顯示不成功,它是默認按照00:00:00開(kāi)始走的;

解決問(wèn)題:初始化shi=23,fen=59,miao=30寫(xiě)在了display子函數中,應該將其寫(xiě)在主函數中。

 

五、時(shí)鐘程序

1. 初步調試keyscan()沒(méi)反應,因為沒(méi)有將keyscan()寫(xiě)在大循環(huán)while(1)下

2. keyscan中if(s1num!=0)應寫(xiě)在與if(s1==0)平級的地方,如果寫(xiě)在if(s1==0)里頭,將會(huì )出現要同時(shí)按兩個(gè)鍵才會(huì )有變化,顯然不符合要求,故不響應。

3. keyscan中miao.fen,shi,應該是在為-1的情況下再置為0,而開(kāi)頭把miao.fen,shi設置的是uchar型,故應改為char型。

4. 寫(xiě)完年月日顯示函數后,在日期有進(jìn)位的情況下,在23;59;59;進(jìn)位時(shí),產(chǎn)生花屏現象,估計是地址指針寫(xiě)完數據后沒(méi)有及時(shí)設置的問(wèn)題?有待解決?

問(wèn)題出在自己寫(xiě)的年月日函數,不能正常讀取數據?將寫(xiě)數據函數寫(xiě)成了寫(xiě)命令函數,即將lcdwrite_date()寫(xiě)成了lcdwrite_date();改后能顯示出年月日,但是年份顯示時(shí)間不正確。

年份是四位數,用uchar型顯然無(wú)法正確表達,應改用unsignedlong型,并且在write_nian()函數中也應該注意到date類(lèi)型也應該為unsigned long型;

 

六、萬(wàn)年歷時(shí)鐘程序

1. 初始化后,初步調試年月日進(jìn)位成功。

2. 分開(kāi)寫(xiě)大小月的時(shí)候調試出現問(wèn)題,光標在秒位上不斷地閃爍且不移動(dòng)

 



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>