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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

實驗六單片機定時計數器實驗第1頁,課件共43頁,創(chuàng)作于2023年2月二、實驗器材1、計算機1臺。2、單片機實驗箱1臺3、TKS仿真器1臺4、串口通訊線1根5、單片機學習板1塊第2頁,課件共43頁,創(chuàng)作于2023年2月三、實驗原理

1、定時/計數器的結構第3頁,課件共43頁,創(chuàng)作于2023年2月2、定時器控制寄存器TCOND7D6D5D4D3D2D1D0TCON88HTF1TR1TF0TR0IE1IT1IE0IT08F8E8D8C8B8A8988位地址外部中斷標志和觸發(fā)方式0:無Tx中斷(硬件復位)1:有Tx溢出中斷0:停Tx計數1:啟Tx計數TFx:TRx:定時器啟停和標志TCON:用于控制定時器的啟動與停止,中斷標志。第4頁,課件共43頁,創(chuàng)作于2023年2月3、定時器工作方式寄存器TMODTMOD:用于設置T/C的工作方式。GATEM1M0M0M1GATEC/T0C/T1M1M0:T/C工作方式定義位。=1時為計數方式=0時為定時方式89HGATA:定時/計數器啟動控制位。TMOD第5頁,課件共43頁,創(chuàng)作于2023年2月M1M0工作方式方式說明00013位定時/計數器01116位定時/計數器102可自動重裝入的8位定時/計數器113T0分為2個8定時器,T1無此方式4、定時/計數器的工作方式GATEM1M0M0M1GATETMOD第6頁,課件共43頁,創(chuàng)作于2023年2月5、定時/計數初值的計算方法計數方式的初值計算:

假設需要的計數值為N,則應裝入的計數初值為:

X=M-N

(M

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

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

若單片機的晶振頻率為6MHz,要求定時/計數器T0產生100ms的定時,試確定計數初值以及TMOD寄存器的內容。解:當晶振頻率為6MHz時,在不擴展計數器情況下產生100ms的定時只能采用方式1(16位定時器)。計數初值:TC=M-T/T計數T計數=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第9頁,課件共43頁,創(chuàng)作于2023年2月

對于T0來說:M1M0=01、=0、GATE=0。由于T1不用,可任意設置,現取為全0。所以:TMOD=0000,0001B=01H設置TMOD方式字:GATEM1M0M0M1GATEC/T0C/T189HTMOD第10頁,課件共43頁,創(chuàng)作于2023年2月1、定時器實驗1:

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

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

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

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

溫馨提示

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

最新文檔

評論

0/150

提交評論