版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、昆明理工大學信息工程與自動化學院學生實驗報告( 201 201學年 第 1 學期 )課程名稱:單片機技術(shù)開課實驗室: 年 月 日年級、專業(yè)、班學號 姓名成績實驗項目名稱定時器及數(shù)碼管控制實驗指導教師教師評語該同學是否了解實驗儀器原理:A.了解B.基本了解C.不了解該同學的實驗?zāi)芰Γ?A.強 B.中等 C.差 該同學的實驗是否達到要求 : A.達到 B.基本達到C.未達到實驗報告是否規(guī)范: A.規(guī)范 B.基本規(guī)范C.不規(guī)范實驗過程是否詳細記錄: A.詳細 B.一般 C.沒有 注:5個A 為優(yōu) 4個A為良 3個A 為及格 其余為不及格。教師簽名: 年 月 日一、 實驗?zāi)康? 掌握定時器 T0、T1
2、 的方式選擇和編程方法,了解中斷服務(wù)程序的設(shè)計方法, 學會實時程序的調(diào)試技巧。2 掌握 LED 數(shù)碼管動態(tài)顯示程序設(shè)計方法。二、 實驗原理189C51 單片機有五個中斷源(89C52 有六個),分別是外部中斷請求 0、外部中 斷請求 1、定時器/計數(shù)器 0 溢出中斷請求、定時器/計數(shù)器 0 溢出中斷請求及串 行口中斷請求。每個中斷源都對應(yīng)一個中斷請求位,它們設(shè)置在特殊功能寄存器 TCON 和 SCON 中。當中斷源請求中斷時,相應(yīng)標志分別由 TCON 和 SCON 的相應(yīng)位 來鎖寄。五個中斷源有二個中斷優(yōu)先級,每個中斷源可以編程為高優(yōu)先級或低優(yōu) 先級中斷,可以實現(xiàn)二級中斷服務(wù)程序嵌套。在同一優(yōu)
3、先級別中,靠內(nèi)部的查詢 邏輯來確定響應(yīng)順序。不同的中斷源有不同的中斷矢量地址。中斷的控制用四個特殊功能寄存器 IE、IP、TCON (用六位)和 SCON(用二位), 分別用于控制中斷的類型、中斷的開關(guān)和各種中斷源的優(yōu)先級別。 中斷程序由中斷控制程序(主程序)和中斷服務(wù)程序兩部分組成:1)中斷控制程序用于實現(xiàn)對中斷的控制;2)中斷服務(wù)程序用于完成中斷源所要求的中斷處理的各種操作。C51 的中斷函數(shù)必須通過 interrupt m 進行修飾。在 C51 程序設(shè)計中,當函數(shù)定 義時用了 interrupt m 修飾符,系統(tǒng)編譯時把對應(yīng)函數(shù)轉(zhuǎn)化為中斷函數(shù),自動加 上程序頭段和尾段,并按 MCS-51
4、 系統(tǒng)中斷的處理方式自動把它安排在程序存儲 器中的相應(yīng)位置。在該修飾符中,m 的取值為 031,對應(yīng)的中斷情況如下:0外部中斷 0 1定時/計數(shù)器 T0 2外部中斷 1 3定時/計數(shù)器 T1 4串行口中斷5定時/計數(shù)器 T2其它值預留。89C51 單片機內(nèi)設(shè)置了兩個可編程的 16 位定時器 T0 和 T1,通過編程,可以 設(shè)定為定時器和外部計數(shù)方式。T1 還可以作為其串行口的波特率發(fā)生器。2 定時器 T0 由特殊功能寄存器 TL0 和 TH0 構(gòu)成,定時器 T1 由 TH1 和 TL1 構(gòu)成, 特殊功能寄存器 TMOD 控制定時器的工作方式,TCON 控制其運行。定時器的中斷 由中斷允許寄存器
5、 IE,中斷優(yōu)先權(quán)寄存器 IP 中的相應(yīng)位進行控制。定時器 T0 的中斷入口地址為 000BH,T1 的中斷入口地址為 001BH。定時器的編程包括: 1) 置工作方式。 2) 置計數(shù)初值。3) 中斷設(shè)置。4) 啟動定時器。 定時器/計數(shù)器由四種工作方式,所用的計數(shù)位數(shù)不同,因此,定時計數(shù)常數(shù)也就不同。 3單片機的拉電流比較小(100200uA),灌電流比較大(最大是 25mA,一般不 能超過 10mA),不能直接驅(qū)動數(shù)碼管,需要擴流電路??梢杂萌壒軄眚?qū)動,但 是 51 單片機只有 32 個 I/O 口,可能需要外接多種器件, I/O 口是不夠用的。 故可選用 74HC573 鎖存器來解決這
6、個問題,開發(fā)板上數(shù)碼管的硬件設(shè)計電路圖, 如圖 1 所示。TX-1C 實驗開發(fā)板用兩個 74HC573 鎖存器(輸出電流較大,接口簡單),通 過 P0 口控制六個數(shù)碼管的段選及位選,其中 P2.6 控制鎖存器 U1(DULA),P2.7 控制鎖存器 U2(WELA)。單片機控制鎖存器的鎖存端,進而控制鎖存器的輸出, 這種分時控制的方法可方便地控制任意數(shù)碼管顯示任意數(shù)字。圖 1 LED 數(shù)碼管電路原理圖三、 實驗內(nèi)容利用動態(tài)掃描和定時器 1 在數(shù)碼管上顯示出從 765432 開始以 1/10 秒的速 度往下遞減直至 765398 并保持顯示此數(shù),與此同時利用定時器 0 以 500MS 速度 進行
7、流水燈從上至下移動,當數(shù)碼管上數(shù)減到停止時,實驗板上流水燈也停止 然后全部開始閃爍,3 秒后(用 T0 定時)流水燈全部關(guān)閉、數(shù)碼管上顯示出 “HELLO”。到此保持住。計算初值公式定時模式 1 th0=(216-定時時間) / 256 tl0=(216-定時時間) % 256四、 實驗步驟1、 按實驗要求在 KeilC 中創(chuàng)建項目,編輯、編譯程序。2、 將編譯生成的目標碼文件(后綴為.Hex)下載到實驗板電路中。3、 在實驗板中運行程序,觀察實驗運行結(jié)果并記錄。五、 實驗結(jié)果開始時數(shù)碼管的數(shù)字是765432,隨后是765429,流水燈顯示的是第一個燈,實驗結(jié)果如下圖所示:當數(shù)碼管顯示7654
8、06時,流水燈顯示是第六個燈,實現(xiàn)現(xiàn)象如下圖所示:當數(shù)碼管顯示765398時,流水燈顯示的是第七個燈,由于LED燈變化快,難以捕捉到此時刻,以下圖片是隨后LED閃爍,數(shù)碼管保持765398的現(xiàn)象:最后流水燈全部關(guān)閉,數(shù)碼管顯示HELLO字樣的現(xiàn)象:六、 心得體會通過這次實驗,鞏固了流水燈的操作,在此之上,加深了八段數(shù)碼管的動態(tài)顯示的理解,對定時器中斷的理解和運用,雖然在實驗的的過程中遇到了各種各樣的問題,但是在老師和同學們的幫助下,我失算順利的完成了這次實驗,為后續(xù)的學習打下了堅實的基礎(chǔ)。七、 思考 1若用定時器 1 方式 2,程序如何修?答:對定時器/計數(shù)器的工作方式進行修改,即:TMOD
9、= 0x21;/001000012若顯示從“99”開始遞減,程序如何修改?答:只需選擇第一個和第二個數(shù)碼管即可,當遞減到0時停止,或者繼改回數(shù)字99,程序的其他部分基本不變。八、 源代碼#include #include #define uchar unsigned char#define uint unsigned intsbit led1 = P10;sbit dula = P26;sbit wela = P27;uchar code table= /建一張table數(shù)組,元素是0F字樣0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x
10、77,0x7c,0x39,0x5e,0x79,0x71; uchar code Hello= /建一張HELLO數(shù)組,元素是H,E,L,L,O字樣0x76,0x79,0x38,0x38,0x3f;void init();/main()函數(shù)初始化的函數(shù)的聲名void delayms(uint);/延時函數(shù)聲名void display(uchar,uchar,uchar);/數(shù)碼管顯示函數(shù)聲名void disHello(); /HELLO顯示函數(shù)聲名uchar num1,num2,bai,shi,ge; /定義全局變量int count,temp;void main()init();while(1
11、)if(num1=10)/定時器每次計時50ms,當計滿500ms時,LED燈流動num1=0;P1 = _crol_(P1,1); /循環(huán)左移if(num2=2)/當計滿0.1s時,數(shù)碼管的值減1num2 = 0;count-;if(count=398)/當數(shù)碼管減到765398時,保持該數(shù),8個LED燈閃/爍TR1 = 0;TR0 = 0;bai = count/100;/獲得398的個、十、百位shi = count/10%10;ge = count%10;display(bai,shi,ge); /顯示數(shù)碼管的六位數(shù)P1 = 0x00; /8個LED閃爍的初始狀態(tài)num1 = 0; /
12、重新啟動定時器T0時,num1重新初始化為0TR0 = 1;while(1)if(num1%10=0)/8個LED每隔500ms閃爍 P1 = P1; /LED燈取反if(num1 = 60) /當計滿3s時,關(guān)閉LED燈,在數(shù)碼管上顯/示HELLOTR0 = 0; /關(guān)閉定時器T0P1 = 0xff; /關(guān)閉LED燈disHello();/顯示HELLO elsedisplay(bai,shi,ge); /當沒計滿3s時,繼續(xù)顯示之前的6位數(shù) bai = count/100;shi = count/10%10;ge = count%10;display(bai,shi,ge); void i
13、nit()/main()函數(shù)的初始化TMOD = 0x11; /定時器T0,T1的工作方式都是1TH0 = (65536-45872)/256; /T0計數(shù)寄存器的初始化TL0 = (65536-45872)%256;TH1 = (65536-45872)/256;/T1計數(shù)寄存器的初始化TL1 = (65536-45872)%256; P1 = 0xfe; /LED的初始化count = 432; /計數(shù)器的初始化,因為只有后三位變化EA = 1; /打開總中斷ET0 = 1; /打開計時器T0TR0 = 1; /打開計時器T1ET1 = 1; /開啟計時器T0TR1 = 1; /開啟計時器
14、T1void disHello()/HELLO顯示程序wela = 1;P0 = 0xfe;wela = 0;P0 = 0xff;dula = 1;P0 = Hello0;dula = 0;delayms(5); wela = 1;P0 = 0xfd;wela = 0;P0 = 0xff;dula = 1;P0 = Hello1;dula = 0;delayms(5); wela = 1;P0 = 0xfb;wela = 0;P0 = 0xff;dula = 1;P0 = Hello2;dula = 0;delayms(5);wela = 1;P0 = 0xf7;wela = 0;P0 = 0
15、xff;dula = 1;P0 = Hello3;dula = 0;delayms(5);wela = 1;P0 = 0xef;wela = 0;P0 = 0xff;dula = 1;P0 = Hello4;dula = 0;delayms(5);void display(uchar bai,uchar shi,uchar ge) /數(shù)碼管顯示程序wela = 1;P0 = 0xfe;wela = 0;P0 = 0xff;dula = 1;P0 = table7;dula = 0;delayms(5); wela = 1;P0 = 0xfd;wela = 0;P0 = 0xff;dula =
16、1;P0 = table6;dula = 0;delayms(5); wela = 1;P0 = 0xfb;wela = 0;P0 = 0xff;dula = 1;P0 = table5;dula = 0;delayms(5);wela = 1;P0 = 0xf7;wela = 0;P0 = 0xff;dula = 1;P0 = tablebai;dula = 0;delayms(5);wela = 1;P0 = 0xef;wela = 0;P0 = 0xff;dula = 1;P0 = tableshi;dula = 0;delayms(5);wela = 1;P0 = 0xdf;wela = 0;P0 = 0xff;dula = 1;P0 = tablege;dula = 0
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度新能源電池維修及更換服務(wù)合同4篇
- 2024某城市地標建筑設(shè)計與施工合同
- 2025年度消防水源及消防水池建設(shè)與維護合同4篇
- 2025年度環(huán)保技術(shù)研發(fā)采購追加合同3篇
- 2025年度新型農(nóng)業(yè)科技場咨詢服務(wù)合同范本4篇
- 2025年度住宅窗戶安全性能提升改造合同4篇
- 2024渣土運輸車加盟合同規(guī)范樣本3篇
- 2025年度智能汽車生產(chǎn)線廠房租賃合同3篇
- 2025年度市政綠化帶除草承包服務(wù)協(xié)議4篇
- 2025年度智能安防產(chǎn)品全國代理權(quán)授權(quán)合同范本4篇
- 醫(yī)療糾紛預防和處理條例通用課件
- 廚邦醬油推廣方案
- 乳腺癌診療指南(2024年版)
- 高三數(shù)學寒假作業(yè)1
- 保險產(chǎn)品創(chuàng)新與市場定位培訓課件
- (完整文本版)體檢報告單模版
- 1例左舌鱗癌手術(shù)患者的圍手術(shù)期護理體會
- (完整)100道兩位數(shù)加減兩位數(shù)口算題(難)
- 鋼結(jié)構(gòu)牛腿計算
- 2023-2024學年重慶市兩江新區(qū)四上數(shù)學期末質(zhì)量檢測試題含答案
- 體外診斷試劑工作校準品產(chǎn)品校準品互換性(基質(zhì)效應(yīng))Excel計算模板
評論
0/150
提交評論