學習51微控制器的基本除錯經驗

2021-05-24 14:38:29 字數 2451 閱讀 8476

一.微控制器的組成:

2010-11-13

i2c

序列匯流排的組成及工作原理

一開始出現燈沒有亮的現象,產生原因是在寫訊號和讀訊號之間沒有延時,新增

delay1

(100)

,注意此時間不能過短,然後在

sda及

scl的賦值後面也要新增

delay1(1),

此處時間似乎沒有多大限制。

2010-11-14

i2

c序列匯流排的組成及工作原理-

斷電儲存顯示程式的除錯

1. 現警告

at24c02

有問題,是由於編寫時的輸入法問題導致,此時應該注意是在英文格式下輸入,另外數碼管的位置顯示不正確

2.led

顯示十位出現閃爍不穩定現象,通過調整

led程式中的延遲時間現象得到一定緩解,但問題仍然存在。若將值修改到很小則出現問題3;

3. 顯示十位數字出現跟個位數字一樣的餘輝?通過修改主函式中

delay

時間數問題得到解決,但是數字仍閃爍。

2010-11-15

時鐘程式

#include <>

格式:引用標準庫標頭檔案,編譯器從標準庫目錄開始搜尋

#incluce ""

格式:引用非標準庫的標頭檔案,編譯器從使用者的工作目錄開始搜尋

1.

液晶顯示秒位變化過慢?

問題出現在

while

下面的if

語句中寫的是if(

count==0

),本應為if(

count==20)

2.

液晶顯示時間在有進製的時候不正確,在開始設定23:

59:30走時,顯示的卻是按23:

59:00開始走,並且在秒進製後,分顯示的

1,且時鐘也沒有進製?

問題原因:初始化顯示不成功,它是預設按照00:

00:00開始走的;

解決問題:初始化

shi=23,fen=59,miao=30

寫在了display

子函式中,應該將其寫在主函式中。

2010-11-16

時鐘程式

1. 初步除錯

keyscan

()沒反應,因為沒有將

keyscan

()寫在大迴圈

while(1

)下 2. keyscan

中if(s1num!=0)

應寫在與

if(s1==0)

平級的地方,如果寫在

if(s1==0)

裡頭,將會出現要同時按兩個鍵才會有變化,顯然不符合要求,故不響應。

3. keyscan

中miao.fen,shi,

應該是在為

-1的情況下再置為

0,而開頭把

miao.fen,shi

設定的是

uchar

型,故應改為

char型。

4. 寫完年月日顯示函式後,在日期有進製的情況下,在23;

59;59;進製時,產生花屏現象,估計是位址指標寫完資料後沒有及時設定的問題?有待解決?

問題出在自己寫的年月日函式,不能正常讀取資料?將寫資料函式寫成了寫命令函式,即將

lcdwrite_date()

寫成了lcdwrite_date()

;改後能顯示出年月日,但是年份顯示時間不正確。

年份是四位數,用

uchar

型顯然無法正確表達,應改用

unsigned long

型,並且在

write_nian()

函式中也應該注意到

date

型別也應該為

unsigned long型;

2010-11-17

萬年曆時鐘程式

1. 初始化後,初步除錯年月日進製成功。

2. 分開寫大小月的時候除錯出現問題,游標在秒位上不斷地閃爍且不移動?

51微控制器

數碼管顯示幾乎是每次藍橋杯微控制器設計與開發組競賽的必考部分,相對於使用lcd1602作為顯示裝置,使用數碼管來顯示能夠更好的考察參賽選手的微控制器基本功,因為ct107d開發平台的設計使得數碼管的顯示不僅牽扯到數碼管顯示的 基本內容,還涉及到74hc573鎖存器,74hc02異或門,74hc138...

51微控制器

建立乙個自定義列表 如何建立乙個註腳 注釋也是必不可少的 katex數學公式 新的甘特圖功能,豐富你的文章 uml 圖表 flowchart流程圖 匯出與匯入 1.供電電源 一般開發板上提供兩種供電方式,usb供電和專用電源供電。使用usb供電你只要用一根usb線將開發板usb電源介面與電腦的usb...

51微控制器

設計包含乙個矩陣式鍵盤電路和動態顯示電路的微控制器應用系統,通過根據按下不同的數字按鍵 0 9 在數碼管上顯示出自己學號的後8位。各位大神幫忙挑挑錯,或者問題太大了可以幫忙寫乙個新的麼!萬分感謝!好著急 a 8255 equ 7cffh a口 b 8255 equ 7dffh b口 c 8255 e...