單片機(jī)按鍵加減報告_第1頁
單片機(jī)按鍵加減報告_第2頁
單片機(jī)按鍵加減報告_第3頁
單片機(jī)按鍵加減報告_第4頁
單片機(jī)按鍵加減報告_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、單片機(jī)實驗報告一、實驗?zāi)康?#160;1、學(xué)習(xí)利用單片機(jī)設(shè)計簡單加減計數(shù),并學(xué)會定時/計數(shù)器T0/T1的使用。 2、學(xué)習(xí)使用keil和proteus軟件。 3、熟悉匯編語言并能利用匯編語言編寫程序。 二、實驗思路用T0、T1設(shè)計10位以的按鍵加減計數(shù):利用T0/T1計數(shù)功能實現(xiàn)每次按鍵的中斷,且采用方式2,可以自動重載初值,較為方便。這里不考慮優(yōu)先級的問題。再分別對T0、T1編寫中斷處理的程序。要注意的是,加法時, 9加1顯示0的情況;減法時,0減1顯示9的情況。三、實驗原理(以下不考慮T2的情況)1、中斷的概念CPU在處理某一事件A時,發(fā)生了另一事件B請求CPU

2、迅速去處理(中斷發(fā)生);CPU暫時中斷當(dāng)前的工作,轉(zhuǎn)去處理事件B(中斷響應(yīng)和中斷服務(wù));待CPU將事件B處理完畢后,再回到原來事件A被中斷的地方繼續(xù)處理事件A(中斷返回),這一過程稱為中斷。2、定時/計數(shù)器(1) 中斷控制寄存器(TCON)TCON的高4位用于控制定時/計數(shù)器的啟動和中斷申請。其格式如下:TF1(TCON.7):T1溢出中斷請求標(biāo)志位。T1計數(shù)溢出時由硬件自動置TF1為1。CPU響應(yīng)中斷后TF1由硬件自動清0。T1工作時,CPU可隨時查詢TF1的狀態(tài)。所以,TF1可用作查詢測試的標(biāo)志。TF1也可以用軟件置1或清0,同硬件置1或清0的效果一樣。TR1(TCON.6):T1運(yùn)行控制

3、位。TR1置1時,T1開始工作;TR1置0時,T1停止工作。TR1由軟件置1或清0。所以,用軟件可控制定時/計數(shù)器的啟動與停止。TF0(TCON.5):T0溢出中斷請求標(biāo)志位,其功能與TF1類同。TR0(TCON.4):T0運(yùn)行控制位,其功能與TR1類同。本次試驗要用到T0、T1,即TR0、TR1置1。(2) 中斷允許控制(IE)EX0(IE.0),外部中斷0允許位;ET0(IE.1),定時/計數(shù)器T0中斷允許位; EX1(IE.2),外部中斷1允許位;ET1(IE.3),定時/計數(shù)器T1中斷允許位;ES(IE.4),串行口中斷允許位;EA (IE.7),CPU中斷允許(總允許)位。以上都是為

4、1時開啟,為0時關(guān)閉。本次試驗需要開啟EA、ET1、ET0,即令I(lǐng)E為8AH。(3) 工作方式寄存器TMODGATE:門控位。GATE0時,只要用軟件使TCON中的TR0或TR1為1,就可以啟動定時/計數(shù)器工作;GATA1時,要用軟件使TR0或TR1為1,同時外部中斷引腳或也為高電平時,才能啟動定時/計數(shù)器工作。C/T:定時/計數(shù)模式選擇位。C/T0為定時模式;C/T =1為計數(shù)模式。M1M0:工作方式設(shè)置位。定時/計數(shù)器有四種工作方式,由M1M0進(jìn)行設(shè)置。這次試驗需要計數(shù)模式且為方式二,所以,TMOD值設(shè)為66H。3、數(shù)碼管在這里我們使用的是7SEG-COM-AN-GRN數(shù)碼管,由7個發(fā)光管

5、組成的8字形構(gòu)成的,如下圖所示,左邊接線順序下來分別命名為ABCDEFG 數(shù)碼管的接線為共陽接法,即低電平亮,高電平滅。實驗中用P0.0-P0.6控制數(shù)碼管的7段,P0口的八位與發(fā)光管的對應(yīng)關(guān)系見下表所示。顯示P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0HEXGFEDCBA00100000040H10111100179H20010010024H30011000030H40001100119H50001001012H60000001002H70111100078H80000000000H90001100018H四、設(shè)計流程R0是否為9是否為加法按鍵掃描等待中斷示數(shù)碼管顯示示存

6、數(shù)寄存器初始化中斷初始化開始NR0是否為0YR0置0R0加1Y中斷返回R0加1R0減1NYN(a)主程序 (b)中斷響應(yīng)五、原理圖運(yùn)行后,初始如上圖所示,當(dāng)按一下第一個鍵時,數(shù)碼管顯示1,此后每按一次數(shù)碼管顯示數(shù)值加1,當(dāng)數(shù)碼管顯示為9時,按下第一個鍵,顯示為0;初始狀態(tài)下,當(dāng)按下第二個鍵時,數(shù)碼管顯示9,此后每按一次第二個鍵,數(shù)碼管顯示數(shù)值減1。說明實驗成功六、匯編程序ORG 0000HJMP MAINORG 000BH /T0(加法)中斷入口JMP T0_ADDORG 001BH /T1(減法)中斷入口JMP T1_SUBMAIN: /主程序MOV TMOD,#66H /設(shè)置T1、T0方式

7、2計數(shù) MOV TL1,#0FFH /為T1、T0設(shè)置初值 MOV TH1,#0FFH MOV TL0,#0FFH MOV TH0,#0FFH MOV IE,#8AH /CPU、T0、T1開啟中斷 SETB TR1 /啟動T1計數(shù)器 SETB TR0 /啟動T0計數(shù)器 MOV R0,#0 /設(shè)置顯示的初始值及其地址 MOV DPTR,#TABLOOP: MOV A,R0 /輸出顯示數(shù)值 MOVC A,A+DPTR MOV P0,A SJMP LOOP /等待中斷T0_ADD: CJNE R0,#9,T_END0 /是否需要進(jìn)位 MOV R0,#0 RETIT1_SUB: CJNE R0,#0,T_END1 /是否需要借位 MOV R0,#9 RETIT_END0: INC R0 /加1 RETIT_END1: DEC R0 /減1 RETITAB: /選擇0-9的輸出 DB 0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x18END七、小結(jié)這次實驗中,我進(jìn)一步加深了對單片機(jī)及其應(yīng)用的了解。通過查找資料和老師的幫助,進(jìn)一步熟練了對ke

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論