實驗六 單片機定時計數(shù)器實驗_第1頁
實驗六 單片機定時計數(shù)器實驗_第2頁
實驗六 單片機定時計數(shù)器實驗_第3頁
實驗六 單片機定時計數(shù)器實驗_第4頁
實驗六 單片機定時計數(shù)器實驗_第5頁
已閱讀5頁,還剩38頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

實驗六單片機定時計數(shù)器實驗第一頁,共四十三頁,編輯于2023年,星期二二、實驗器材1、計算機1臺。2、單片機實驗箱1臺3、TKS仿真器1臺4、串口通訊線1根5、單片機學(xué)習(xí)板1塊第二頁,共四十三頁,編輯于2023年,星期二三、實驗原理

1、定時/計數(shù)器的結(jié)構(gòu)第三頁,共四十三頁,編輯于2023年,星期二2、定時器控制寄存器TCOND7D6D5D4D3D2D1D0TCON88HTF1TR1TF0TR0IE1IT1IE0IT08F8E8D8C8B8A8988位地址外部中斷標(biāo)志和觸發(fā)方式0:無Tx中斷(硬件復(fù)位)1:有Tx溢出中斷0:停Tx計數(shù)1:啟Tx計數(shù)TFx:TRx:定時器啟停和標(biāo)志TCON:用于控制定時器的啟動與停止,中斷標(biāo)志。第四頁,共四十三頁,編輯于2023年,星期二3、定時器工作方式寄存器TMODTMOD:用于設(shè)置T/C的工作方式。GATEM1M0M0M1GATEC/T0C/T1M1M0:T/C工作方式定義位。=1時為計數(shù)方式=0時為定時方式89HGATA:定時/計數(shù)器啟動控制位。TMOD第五頁,共四十三頁,編輯于2023年,星期二M1M0工作方式方式說明00013位定時/計數(shù)器01116位定時/計數(shù)器102可自動重裝入的8位定時/計數(shù)器113T0分為2個8定時器,T1無此方式4、定時/計數(shù)器的工作方式GATEM1M0M0M1GATETMOD第六頁,共四十三頁,編輯于2023年,星期二5、定時/計數(shù)初值的計算方法計數(shù)方式的初值計算:

假設(shè)需要的計數(shù)值為N,則應(yīng)裝入的計數(shù)初值為:

X=M-N

(M

:模數(shù),為216、213、28、N:需要的計數(shù)值)定時方式的初值計算:

假設(shè)需要的需要的定時時間為T,則應(yīng)裝入的計數(shù)初值為:第七頁,共四十三頁,編輯于2023年,星期二(1)確定工作方式,即對TMOD寄存器進行賦值。(2)計算計數(shù)初值,并寫入寄存器TH0、TL0或TH1、TL1中。(3)根據(jù)需要,置位ETx允許T/C中斷。(4)置位EA使CPU開中斷(需要時)。(5)置位TRx啟動計數(shù)??删幊唐骷谑褂弥靶枰M行初始化。對定時/計數(shù)器而言需:第一要能正確寫入控制字;第二能進行計數(shù)初值的計算。一般步驟6、定時/計數(shù)器的初始化第八頁,共四十三頁,編輯于2023年,星期二例:

若單片機的晶振頻率為6MHz,要求定時/計數(shù)器T0產(chǎn)生100ms的定時,試確定計數(shù)初值以及TMOD寄存器的內(nèi)容。解:當(dāng)晶振頻率為6MHz時,在不擴展計數(shù)器情況下產(chǎn)生100ms的定時只能采用方式1(16位定時器)。計數(shù)初值:TC=M-T/T計數(shù)T計數(shù)=2μSTC=216-100×103/2

=65536-50000=15536

=3CB0H方式0時:Tmax=213×2μS=16.384mS方式1時:Tmax=216×2μS=131.072mS方式2、3時:Tmax=28×2μS=0.512mS第九頁,共四十三頁,編輯于2023年,星期二

對于T0來說:M1M0=01、=0、GATE=0。由于T1不用,可任意設(shè)置,現(xiàn)取為全0。所以:TMOD=0000,0001B=01H設(shè)置TMOD方式字:GATEM1M0M0M1GATEC/T0C/T189HTMOD第十頁,共四十三頁,編輯于2023年,星期二1、定時器實驗1:

利用定時器T0實現(xiàn)P1.0輸出周期為250ms方波,讓一個發(fā)光二極管閃爍。(課內(nèi))2、定時器實驗2:

在實驗箱顯示器上顯示左移的數(shù)字“8”,要求每過1秒“8”字左移一位,循環(huán)不斷。(課內(nèi))3、計數(shù)器實驗1:CT0計數(shù)滿3之后(即輸入了3個外部脈沖之后),使顯示器上顯示字符“8”左移一位。如此不斷重復(fù)。(課內(nèi))4、程序移植實驗

修改以上程序,移植到學(xué)習(xí)板(課內(nèi))5、利用Proteus軟件仿真以上三個實驗(課外)四、實驗內(nèi)容第十一頁,共四十三頁,編輯于2023年,星期二(1)寄存器設(shè)置及初值計算1、定時器實驗1:利用定時器T0實現(xiàn)P1.0輸出周期為250ms方波,讓一個發(fā)光二極管閃爍。125ms125ms若要產(chǎn)生周期為250ms的方波,只要每125ms將信號的幅值由0變到1或由1變到0即可,可采用取反指令CPL來實現(xiàn)。為了提高CPU的效率,可采用定時中斷的方式,每125ms產(chǎn)生一次中斷,在中斷服務(wù)程序中將輸出信號取反即可。定時器T0的中斷入口地址為000BH。頻率是6MHz,機器周期為2uS(課內(nèi)完成)第十二頁,共四十三頁,編輯于2023年,星期二T0采用定時方式1,初值X1=65536-125*1000/2 =0BDCH①計算定時初值:②確定TMOD方式字:M1M0=01H、=0、GATE=0TMOD=00000001B=01H第十三頁,共四十三頁,編輯于2023年,星期二(2)、實驗線路連接(課內(nèi)完成)第十四頁,共四十三頁,編輯于2023年,星期二(3)單片機輸入輸出匯編程序設(shè)計與修改(課內(nèi)完成)修改程序,使用定時器T1實現(xiàn)125ms定時第十五頁,共四十三頁,編輯于2023年,星期二(4)單片機輸入輸出C51程序設(shè)計與修改(課外完成)修改程序,使用定時器T1實現(xiàn)125ms定時第十六頁,共四十三頁,編輯于2023年,星期二(5)修改匯編和C51程序,移植到學(xué)習(xí)板(課內(nèi)完成)學(xué)習(xí)板發(fā)光二極管送0亮,實驗箱送1亮,因為要求閃爍,故而可以忽略此處電路不同。學(xué)習(xí)板晶振頻率12Mhz,實驗箱晶振6Mhz,故而在初值相同情況下,學(xué)習(xí)板上定時時間是62.5ms,直接下載實驗箱原程序led閃爍更快。第十七頁,共四十三頁,編輯于2023年,星期二(6)、Proteus仿真仿真系統(tǒng)元器件參數(shù):器件名稱英文名稱參數(shù)備注單片機AT89C52電容CAP30pF電解電容CAP-ELEC22uF發(fā)光二極管LED-BLUE10mA電阻RES10kΩ晶振CRYSTAL12Mhz按鍵BUTTON(課外完成)第十八頁,共四十三頁,編輯于2023年,星期二輸入輸出實驗仿真圖將移植到學(xué)習(xí)板程序下載到本系統(tǒng)運行,可以觀察到L1閃爍第十九頁,共四十三頁,編輯于2023年,星期二2、定時器實驗2:在實驗箱顯示器上顯示左移的數(shù)字“8”,要求每過1秒“8”字左移一位,循環(huán)不斷。(1)寄存器設(shè)置及初值計算頻率是6MHz,機器周期為2uS,16位的定時器最大定時時間僅為Tmax=2×65536=131.072mS。如果要求每過1秒左移“8”字一位,就必須進行定時時間擴展。T0每隔100ms中斷一次,中斷10次即實現(xiàn)了1秒的定時。

(課內(nèi)完成)第二十頁,共四十三頁,編輯于2023年,星期二T0采用定時方式1,初值X1=65536-100*1000/2 =3CB0H①計算定時初值:②確定TMOD方式字:M1M0=01H、=0、GATE=0TMOD=00000001B=01H第二十一頁,共四十三頁,編輯于2023年,星期二(2)單片機中斷實驗匯編程序設(shè)計與修改(課內(nèi)完成)修改1:用T1定時2秒。修改2:顯示0-F左移。第二十二頁,共四十三頁,編輯于2023年,星期二(3)單片機中斷實驗C51程序設(shè)計與修改(課外完成)第二十三頁,共四十三頁,編輯于2023年,星期二修改1:用T1定時2秒。修改2:顯示0-F左移。第二十四頁,共四十三頁,編輯于2023年,星期二(4)修改匯編和C51程序,移植到學(xué)習(xí)板(課內(nèi)完成)移植到學(xué)習(xí)板,注意以下幾個問題:實驗箱上字型碼地址8004H,字位碼地址8002H,而學(xué)習(xí)板上字型碼使用P0口,字位碼使用P2口;實驗箱采用總線結(jié)構(gòu),故匯編使用DPTR及MOVX傳字型碼和字位碼,而學(xué)習(xí)板使用非總線結(jié)構(gòu),直接只用MOV傳送;實驗箱上是共陰極數(shù)碼管,字型碼使用原碼,字位碼經(jīng)過非門,1亮0不亮。學(xué)習(xí)板使用共陽極數(shù)碼管,字型碼使用反碼,字位碼經(jīng)過非門,0亮1不亮。學(xué)習(xí)板晶振頻率12Mhz,實驗箱晶振6Mhz,故而在初值相同情況下,故而延時時間為50ms,故而需要定時20次才滿足1秒第二十五頁,共四十三頁,編輯于2023年,星期二輸入輸出移植實驗_匯編程序(課內(nèi)完成)修改1:用T1定時2秒。修改2:顯示0-F左移。第二十六頁,共四十三頁,編輯于2023年,星期二輸入輸出移植實驗_C51程序(課外完成)修改1:用T1定時2秒。修改2:顯示0-F左移。第二十七頁,共四十三頁,編輯于2023年,星期二輸入輸出移植實驗_C51程序(課外完成)第二十八頁,共四十三頁,編輯于2023年,星期二(5)、Proteus仿真仿真系統(tǒng)元器件參數(shù):器件名稱英文名稱參數(shù)備注單片機AT89C52電容CAP30pF電解電容CAP-ELEC22uF7段數(shù)碼管7SEG-MPX8-CA-BLUECA是共陽CC是共陰電阻RES10kΩ晶振CRYSTAL12Mhz按鍵BUTTON(課外完成)第二十九頁,共四十三頁,編輯于2023年,星期二輸入輸出實驗仿真圖將移植到學(xué)習(xí)板程序下載到本系統(tǒng)運行第三十頁,共四十三頁,編輯于2023年,星期二3、計數(shù)器實驗1:CT0計數(shù)滿3之后(即輸入了3個外部脈沖之后),使顯示器上顯示字符“8”左移一位。如此不斷重復(fù)。(1)寄存器設(shè)置及初值計算計數(shù)個數(shù)較少,選帶自動重裝的的計數(shù)方式2。計數(shù)器T0的中斷入口地址為000BH。(課內(nèi)完成)第三十一頁,共四十三頁,編輯于2023年,星期二T0采用計數(shù)方式2,初值X1=256-3=253=FDH①計算計數(shù)初值:②確定TMOD方式字:M1M0=10H、=1、GATE=0TMOD=00000110B=06H第三十二頁,共四十三頁,編輯于2023年,星期二(2)、實驗線路連接(課內(nèi)完成)第三十三頁,共四十三頁,編輯于2023年,星期二(3)單片機中斷實驗匯編程序設(shè)計與修改(課內(nèi)完成)修改1:每5個脈沖移動一位。修改2:用T1計數(shù)。第三十四頁,共四十三頁,編輯于2023年,星期二(4)單片機中斷實驗C51程序設(shè)計與修改(課外完成)第三十五頁,共四十三頁,編輯于2023年,星期二修改1:每5個脈沖移動一位。修改2:用T1計數(shù)。修改3:統(tǒng)計脈沖個數(shù)。第三十六頁,共四十三頁,編輯于2023年,星期二(5)修改匯編和C51程序,移植到學(xué)習(xí)板(課內(nèi)完成)移植到學(xué)習(xí)板,注意以下幾個問題:實驗箱上字型碼地址8004H,字位碼地址8002H,而學(xué)習(xí)板上字型碼使用P0口,字位碼使用P2口;實驗箱采用總線結(jié)構(gòu),故匯編使用DPTR及MOVX傳字型碼和字位碼,而學(xué)習(xí)板使用非總線結(jié)構(gòu),直接只用MOV傳送;實驗箱上是共陰極數(shù)碼管,字型碼使用原碼,字位碼經(jīng)過非門,1亮0不亮。學(xué)習(xí)板使用共陽極數(shù)碼管,字型碼使用反碼,字位碼經(jīng)過非門,0亮1不亮。學(xué)習(xí)板按鍵有抖動,可以采用實驗箱脈沖,也可以使用555振蕩電路輸出的7-1400Hz脈沖信

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論