日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

单片机综合实验 - 02 | 中断与定时/计数器实验

發(fā)布時間:2023/12/29 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 单片机综合实验 - 02 | 中断与定时/计数器实验 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一、實(shí)驗?zāi)康暮腿蝿?wù)

1、掌握80C51單片機(jī)外部中斷的初始化及中斷服務(wù)子程序設(shè)計方法。

2、掌握80C51單片機(jī)定時器/計數(shù)器的程序控制方法。

二、實(shí)驗原理簡介

中斷是指在突發(fā)事件到來時先中止當(dāng)前正在進(jìn)行的工作,轉(zhuǎn)而去處理突發(fā)事件。待處理完成后,再返回到原先被中止的工作處,繼續(xù)進(jìn)行隨后的工作。引起突發(fā)事件的來源稱為中斷源,中斷源要求服務(wù)的請求稱為中斷請求,對中斷請求提供的服務(wù)稱為中斷服務(wù),中斷管理系統(tǒng)處理事件的過程稱為中斷響應(yīng)過程。80C51單片機(jī)至少包括5個中斷源:

INT0:外部中斷0,由P3.2端口線引入,低電平或下跳沿引起。(本實(shí)驗用)

INT1:外部中斷1,由P3.3端口線引入,低電平或下跳沿引起。

T0:定時器/計數(shù)器0中斷,由T0計滿回零引起。(本實(shí)驗用)

T1:定時器/計數(shù)器l中斷,由T1計滿回零引起。

TI/RI:串口中斷,串口完成一幀字符發(fā)送/接收后引起。

本實(shí)驗對應(yīng)的硬件電路與實(shí)驗三相同(見圖3.6.1)。P0口用于控制發(fā)光管L101~L108,口線輸出0(低電平)時,對應(yīng)的發(fā)光管點(diǎn)亮,口線輸出1(高電平)時,對應(yīng)的發(fā)光管熄滅。P3口的4根口線連接獨(dú)立按鍵KX0~KX3,其中KX0對應(yīng)外部中斷0,進(jìn)行KX0按鍵動作的時候可以觸發(fā)外部中斷。

注意:在做本實(shí)驗時,須將撥碼開關(guān)JUMP2置為接通狀態(tài)(向左)。

三、實(shí)驗內(nèi)容和步驟

1、編寫一段程序,用P0口作為控制端口,使實(shí)驗箱上的LED輪流點(diǎn)亮(走馬燈)。用外部中斷0/KX0控制走馬燈的暫停/繼續(xù)。

???

ORG 0000HLJMP MAINORG 0003HLJMP ZEX0ORG 0100H MAIN: MOV SP,#60HSETB IT0SETB EX0SETB EAMOV A,#0FEHMOV R5,#00H NEXT: CJNE R5,#00H,NEXTMOV P0,AACALL DELAYRL ASJMP NEXT ;延時子程序 DELAY: MOV R2,#3 DELAY2: MOV R3,#200 DELAY3: MOV R4,#200 DJNZ R4,$DJNZ R3,DELAY3DJNZ R2,DELAY2RET ;外部中斷0服務(wù)子程序 ZEX0: PUSH ACCSETB RS0MOV R2,#2ACALL DELAY2CLR RS0JB P3.2,EXITMOV A,R5XRL A,#0FFHMOV R5,A EXIT: POP ACCCLR IE0RETI
  • 觀察實(shí)驗結(jié)果,解釋如何實(shí)現(xiàn)走馬燈的暫停和繼續(xù)。
  • 比較電平觸發(fā)和邊沿觸發(fā)時走馬燈控制的難易程度。

答: ?走馬燈的暫停和繼續(xù)是通過外部按下按鍵而使單片機(jī)觸發(fā)外部中斷0,此時會進(jìn)入外部中斷0服務(wù)子程序,然后通過異或操作指令來修改工作寄存器R5的值為FFH,使其在跳出外部中斷0服務(wù)子程序之后在NEXT: CJNE? R5,#00H,NEXT這條程序中進(jìn)入死循環(huán),而無法執(zhí)行程序下面的位左移操作。在控制走馬燈時經(jīng)過驗證電平觸發(fā)相比邊沿觸發(fā)要困難。

2、編寫一段程序,用P0口作為控制端口,使實(shí)驗箱的LED輪流點(diǎn)亮(走馬燈)。用定時/計數(shù)器0控制走馬燈切換速度。

??

ORG 0000HLJMP MAINORG 000BHLJMP ZIT0ORG 0100H MAIN: MOV SP,#60HMOV TMOD,#01HMOV TH0,#3CHMOV TL0,#0B0HMOV R6,#1MOV R7,#0FEHSETB ET0SETB EASETB TR0SJMP $ ;定時中斷0服務(wù)子程序 ZIT0: DJNZ R6,ZRETMOV A,R7MOV P0,ARL AMOV R7,AMOV R6,#1 ZRET: MOV TH0,#3CHMOV TL0,#0B0HRETIEND
  • 修改R6=0或1時,觀察走馬燈的速度快慢。
  • ZRET處沒有重置初值時的走馬燈的速度與 ZRET處有重置初值時的走馬燈的速度的比較。
  • R6=50時,改變T0的初值,設(shè)為最大、最小時,比較走馬燈的速度。
  • 去掉R6的軟件輔助延時,是否可以?速度怎樣?

答:經(jīng)過驗證,R6=0時走馬燈的速度慢,R6=1時走馬燈的速度快,原因是在DJNZ? R6,ZRET這條程序中,R6=0時DJNZ的減一操作進(jìn)行了255次,也就是裝載了255次TH0和HL0的值,而R6=1時只執(zhí)行了1次。ZRET處沒有重置初值時的走馬燈的速度相比有重置初值時要慢,原因是沒有重置初值,那么初值為0。當(dāng)R6=50時,T0的初值設(shè)為最大時走馬燈的速度要比T0的初值設(shè)為最小時要快。不可以去掉R6的軟件輔助延時,此時走馬燈的速度快到人眼無法識別。

總結(jié)

以上是生活随笔為你收集整理的单片机综合实验 - 02 | 中断与定时/计数器实验的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。