實驗五:外部器件應用實驗
學院物理與機電工程學院
專業電子科學與技術
班級2014級2班
學號201410530227
姓名舒小飛
指導老師柳妮
實驗五:外部器件應用實驗
一、 實驗目的
1. 學習ms-51微控制器內部的定時/計數器的使用和程式設計方法
2. 熟練編寫定時器,計數器的定時程式和中斷程式
3. 學習定時器,計數器和動態數碼管同時使用的方法
4. 學會使用外部器件動態數碼管的程式設計和使用方法
二、 試驗環境及裝置
1. ms-51微控制器實驗室
2. el-emcu-i試驗箱
3. exp-89s51/52/53 cpu實驗板
三、 實驗內容
編寫實驗程式,實現對動態數碼管的使用。要求:動態數碼管從0~99迴圈顯示,顯示間隔1秒,p0作數碼管段選碼的輸出,p1.0和p1.1作數碼管的位選輸出。
1. 外部連線:將ms-51微控制器的io1 (p0.
0)介面~ io8 (p0.7)介面分別和動態數碼管的lcd_a介面~lcd_dp介面連線起來,將cap0(p1.0)介面和sda(p1.
1)介面和數碼管的lcd_2和lcd_1連線起來。
2. 編寫實驗程式:編寫好實驗程式後,編譯、連線,點選除錯按鈕,進入除錯介面。
3. 進行實驗:用資料線將電腦和ms-51微控制器連線起來,開啟實驗板電源,點選run(全速執行)按鈕,動態數碼管從0~99迴圈顯示,間隔1秒
4. 觀察實驗現象,得出實驗結論。
數碼管0~99迴圈顯示程式如下:
org 00h
ljmp main
org 0bh定時器t0入口位址
ljmp break
org 30h
main: mov tmod,#01h設定定時器t0工作方式1
mov th0,#3cht定時器t0設初值,定時50ms
mov tl0,#0b0h
setb ea開中斷總開關
setb et0開t0終端開關
setb tr0啟動定時器t0
mov dptr,#tab
mov r4,#20設定迴圈次數20次
mov r0,#0數碼管顯示初值0
first: mov a,r0將數碼管顯示的值給a
mov b,#10
div aba為十位,b為個位
movc a,@a+dptr ;查表指令
mov p0,a顯示數碼管十位的值
clr p1.0開啟數碼管(十位),位選
lcall delay延時
setb p1.0關閉數碼管(十位)
mov a,b將個位值給a
movc a,@a+dptr ;查表指令
mov p0,a顯示數碼管個位的值
clr p1.1開啟數碼管(個位),位選
lcall delay延時
setb p1.1關閉數碼管(個位)
ljmp first迴圈執行
break: mov th0,#3ch定時器t0重灌初值
mov tl0,#0b0h
djnz r4,scend設定間隔時間1秒
mov r4,#20重新設定迴圈次數20次
inc r0間隔1秒數碼管顯示數值加一
cjne r0,#100,scend ;顯示到99後從0開始顯示
mov r0,#0設定數碼管顯示初值0
scend: reti中斷返回
delay: mov r7,#20h延時子程式
d1: mov r6,#25h
djnz r6,$
djnz r7,d1
rettab: db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh ;段選碼(共陰)
end程式結束
四、 實驗結果及結論
在本次試驗中,我採用定時器t0定時50ms,r4控制迴圈次數20次,由此實現數碼管的間隔顯示1秒。動態數碼管從0開始顯示,每隔1秒,數值加一,顯示到99後從0開始顯示,實現了從0~99的迴圈顯示。
微控制器實驗
實驗一實驗環境的建立 實驗目的 學習建立實驗所需的 工作環境。實驗內容 1 進行proteus軟體的安裝 2 進行keilc51 uvision4軟體的安裝 3 掌握keilc51 uvision4和proteus聯調的方法。實驗背景知識 1 proteus軟體簡介。proteus isis是英國l...
微控制器實驗
數碼轉換實驗 學號 1042402025姓名 張炎峰專業 電氣工程與自動化 2.2.1 實驗目的 1 掌握不同進製數及編碼相互轉換的方法,加深對數碼轉換的理解 2 熟悉keil c51整合開發環境的操作及程式除錯方法。2.2.2 實驗裝置 pc機一台,td nmc 教學實驗系統 或 td pit 教...
微控制器實驗總結
微控制器實驗1 實驗2 實驗1 流水燈 主函式 aa 0xfe while 1 錯誤 從燈1跳到燈2的時間過短,在燈2處,不在迴圈。改正 while 1 注意 void delay uint 放置定義下 void delay uint xms 舉一反三 左移主程式 燈1亮,過0.5s,燈1 2亮,再...