實(shí)驗(yàn)六單片機(jī)定時(shí)計(jì)數(shù)器實(shí)驗(yàn)_第1頁
實(shí)驗(yàn)六單片機(jī)定時(shí)計(jì)數(shù)器實(shí)驗(yàn)_第2頁
實(shí)驗(yàn)六單片機(jī)定時(shí)計(jì)數(shù)器實(shí)驗(yàn)_第3頁
實(shí)驗(yàn)六單片機(jī)定時(shí)計(jì)數(shù)器實(shí)驗(yàn)_第4頁
實(shí)驗(yàn)六單片機(jī)定時(shí)計(jì)數(shù)器實(shí)驗(yàn)_第5頁
已閱讀5頁,還剩46頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、實(shí)驗(yàn)六 單片機(jī)定時(shí)/計(jì)數(shù)器實(shí)驗(yàn)1 1、熟悉、熟悉5151單片機(jī)內(nèi)部定時(shí)單片機(jī)內(nèi)部定時(shí)/ /計(jì)數(shù)器的功能與特性計(jì)數(shù)器的功能與特性2 2、掌握匯編語言、掌握匯編語言定時(shí)定時(shí)/ /計(jì)數(shù)器計(jì)數(shù)器程序設(shè)計(jì)方法程序設(shè)計(jì)方法3 3、掌握、掌握C C語言語言定時(shí)定時(shí)/ /計(jì)數(shù)器計(jì)數(shù)器程序設(shè)計(jì)方法程序設(shè)計(jì)方法一、實(shí)驗(yàn)?zāi)康亩?、?shí)驗(yàn)器材1、計(jì)算機(jī)1臺。2、單片機(jī)實(shí)驗(yàn)箱1臺3、TKS仿真器 1臺4、串口通訊線 1根5、單片機(jī)學(xué)習(xí)板 1塊三、實(shí)驗(yàn)原理 1、定時(shí)、定時(shí)/計(jì)數(shù)器的結(jié)構(gòu)計(jì)數(shù)器的結(jié)構(gòu)2 2、定時(shí)器控制寄存器TCONTCON D7 D6 D5 D4 D3 D2 D1 D0 T C O N 88H TF1 TR1

2、TF0 TR0 IE1IT1IE0IT08F8E8D8C8B8A8988位地址 外部中斷標(biāo)志和觸發(fā)方式0:無 Tx中斷(硬件復(fù)位) 1:有 Tx溢出中斷0:停 Tx計(jì)數(shù) 1:啟 Tx計(jì)數(shù)TFx:TRx:定時(shí)器啟停和標(biāo)志TCON:用于控制定時(shí)器的啟動與停止,中斷標(biāo)志。3 3、定時(shí)器工作方式寄存器TMODTMODTMOD:用于設(shè)置T/C的工作方式。GATEM1M0M0M1GATETC/TC/C/T 0C/T 1M1M0:T/C工作方式定義位。TC/=1時(shí)為計(jì)數(shù)方式=0時(shí)為定時(shí)方式89HGATA:定時(shí)/計(jì)數(shù)器啟動控制位。T MODM1M0工作方式工作方式方式說明方式說明00013位定時(shí)位定時(shí)/計(jì)數(shù)器

3、計(jì)數(shù)器01116位定時(shí)位定時(shí)/計(jì)數(shù)器計(jì)數(shù)器102可自動重裝入的可自動重裝入的8位定時(shí)位定時(shí)/計(jì)數(shù)器計(jì)數(shù)器113T0分為分為2個(gè)個(gè)8定時(shí)器,定時(shí)器,T1無此方式無此方式4、定時(shí)、定時(shí)/計(jì)數(shù)器的工作方式計(jì)數(shù)器的工作方式GATEM1M0M0M1GATETC/TC/T MOD5、定時(shí)/計(jì)數(shù)初值的計(jì)算方法計(jì)數(shù)方式的初值計(jì)算: 假設(shè)需要的計(jì)數(shù)值為N,則應(yīng)裝入的計(jì)數(shù)初值為: X=MN (M :模數(shù),為216、213、28、N :需要的計(jì)數(shù)值)計(jì)數(shù)TTMTC/定時(shí)方式的初值計(jì)算: 假設(shè)需要的需要的定時(shí)時(shí)間為T,則應(yīng)裝入的計(jì)數(shù)初值為:(1)(1)確定工作方式確定工作方式,即對,即對TMODTMOD寄存器進(jìn)行賦值

4、。寄存器進(jìn)行賦值。(2)(2)計(jì)算計(jì)數(shù)初計(jì)算計(jì)數(shù)初值,并寫入寄存器值,并寫入寄存器TH0TH0、TL0TL0或或TH1TH1、TL1TL1中。中。(3)(3)根據(jù)需要,根據(jù)需要,置位置位ETxETx允許允許T/CT/C中斷。中斷。(4)(4)置位置位EAEA使使CPUCPU開中斷開中斷( (需要時(shí)需要時(shí)) )。(5)(5)置位置位TRxTRx啟動計(jì)數(shù)。啟動計(jì)數(shù)??删幊唐骷谑褂弥靶枰M(jìn)行初始化。對定時(shí)/計(jì)數(shù)器而言需:第一要能正確寫入控制字;第二能進(jìn)行計(jì)數(shù)初值的計(jì)算。一般步驟6、定時(shí)/計(jì)數(shù)器的初始化例: 若單片機(jī)的晶振頻率為6MHz,要求定時(shí)/計(jì)數(shù)器T0產(chǎn)生100ms的定時(shí),試確定計(jì)數(shù)初值以及

5、TMOD寄存器的內(nèi)容。解:當(dāng)晶振頻率為6MHz時(shí),在不擴(kuò)展計(jì)數(shù)器情況下產(chǎn)生100ms的定時(shí)只能采用方式1(16位定時(shí)器)。計(jì)數(shù)初值:TCMT/T計(jì)數(shù)T計(jì)數(shù)2STC 216100103/2 655365000015536 3CB0H方式0時(shí):Tmax2132S16.384 mS方式1時(shí):Tmax2162S131.072 mS方式2、3 時(shí):Tmax282S0.512 mS 對于T0來說:M1M0=01、 = 0 、GATE=0。 由于T1不用,可任意設(shè)置,現(xiàn)取為全0。 所以: TMOD=0000,0001B=01H/C T設(shè)置TMOD方式字:GATEM1M0M0M1GATETC/TC/C/T 0

6、C/T 189HTMOD1、定時(shí)器實(shí)驗(yàn)定時(shí)器實(shí)驗(yàn)1: 利用定時(shí)器T0實(shí)現(xiàn)P1.0輸出周期為250ms方波,讓一個(gè)發(fā)光二極管閃爍。(課內(nèi))2、定時(shí)器實(shí)驗(yàn)定時(shí)器實(shí)驗(yàn)2: 在實(shí)驗(yàn)箱顯示器上顯示左移的數(shù)字“8”,要求每過1秒“8”字左移一位,循環(huán)不斷。(課內(nèi))3、計(jì)數(shù)器實(shí)驗(yàn)計(jì)數(shù)器實(shí)驗(yàn)1:CT0計(jì)數(shù)滿3之后(即輸入了3個(gè)外部脈沖之后),使顯示器上顯示字符“8”左移一位。如此不斷重復(fù)。(課內(nèi))4、程序移植實(shí)驗(yàn) 修改以上程序,移植到學(xué)習(xí)板(課內(nèi))5、利用Proteus軟件仿真以上三個(gè)實(shí)驗(yàn)(課外)四、實(shí)驗(yàn)內(nèi)容(1)寄存器設(shè)置及初值計(jì)算1、定時(shí)器實(shí)驗(yàn)1: 利用定時(shí)器T0實(shí)現(xiàn)P1.0輸出周期為250ms方波,讓一

7、個(gè)發(fā)光二極管閃爍。125ms 125ms若要產(chǎn)生周期為250ms的方波,只要每125ms將信號的幅值由0變到1或由1變到0即可,可采用取反指令CPL來實(shí)現(xiàn)。為了提高CPU的效率,可采用定時(shí)中斷的方式,每125ms產(chǎn)生一次中斷,在中斷服務(wù)程序中將輸出信號取反即可。定時(shí)器T0的中斷入口地址為000BH。頻率是6MHz,機(jī)器周期為2uS(課內(nèi)完成)(課內(nèi)完成)T0采用定時(shí)方式1,初值X1 =65536-125*1000/2 =0BDCH計(jì)算定時(shí)初值: 確定TMOD方式字:M1M0=01H、 =0、GATE=0TMOD=00000001B=01H /C T (2)、實(shí)驗(yàn)線路連接)、實(shí)驗(yàn)線路連接(課內(nèi)完

8、成)(課內(nèi)完成)(3)單片機(jī)輸入輸出匯編程序設(shè)計(jì)與修改(課內(nèi)完成)(課內(nèi)完成)修改程序,使用定時(shí)器T1實(shí)現(xiàn)125ms定時(shí)(4)單片機(jī)輸入輸出C51程序設(shè)計(jì)與修改(課外完成)(課外完成)修改程序,使用定時(shí)器T1實(shí)現(xiàn)125ms定時(shí)(5)修改匯編和C51程序,移植到學(xué)習(xí)板(課內(nèi)完成)(課內(nèi)完成)學(xué)習(xí)板發(fā)光二極管送0亮,實(shí)驗(yàn)箱送1亮,因?yàn)橐箝W爍,故而可以忽略此處電路不同。學(xué)習(xí)板晶振頻率12Mhz,實(shí)驗(yàn)箱晶振6Mhz,故而在初值相同情況下,學(xué)習(xí)板上定時(shí)時(shí)間是62.5ms,直接下載實(shí)驗(yàn)箱原程序led閃爍更快。(6)、Proteus仿真仿真系統(tǒng)元器件參數(shù):器件名稱器件名稱英文名稱英文名稱參數(shù)參數(shù)備注備注單

9、片機(jī)AT89C52電容CAP30pF電解電容CAP-ELEC22uF發(fā)光二極管LED-BLUE10mA電阻RES10k晶振CRYSTAL12Mhz按鍵BUTTON(課外完成)(課外完成)輸入輸出實(shí)驗(yàn)仿真圖輸入輸出實(shí)驗(yàn)仿真圖將移植到學(xué)習(xí)板程序下載到本系統(tǒng)運(yùn)行,可以觀察到L1閃爍2、定時(shí)器實(shí)驗(yàn)2: 在實(shí)驗(yàn)箱顯示器上顯示左移的數(shù)字“8”,要求每過1秒“8”字左移一位,循環(huán)不斷。(1)寄存器設(shè)置及初值計(jì)算頻率是6MHz,機(jī)器周期為2uS,16位的定時(shí)器最大定時(shí)時(shí)間僅為Tmax=265536=131.072mS。如果要求每過1秒左移“8”字一位,就必須進(jìn)行定時(shí)時(shí)間擴(kuò)展。T0每隔100ms中斷一次,中斷1

10、0次即實(shí)現(xiàn)了1秒的定時(shí)。 (課內(nèi)完成)(課內(nèi)完成)T0采用定時(shí)方式1,初值X1 =65536-100*1000/2 =3CB0H計(jì)算定時(shí)初值: 確定TMOD方式字:M1M0=01H、 =0、GATE=0TMOD=00000001B=01H /C T(2)單片機(jī)中斷實(shí)驗(yàn)匯編程序設(shè)計(jì)與修改(課內(nèi)完成)(課內(nèi)完成)修改1:用T1定時(shí)2秒。修改2:顯示0-F左移。(3)單片機(jī)中斷實(shí)驗(yàn)C51程序設(shè)計(jì)與修改(課外完成)(課外完成)修改1:用T1定時(shí)2秒。修改2:顯示0-F左移。(4)修改匯編和C51程序,移植到學(xué)習(xí)板(課內(nèi)完成)(課內(nèi)完成)移植到學(xué)習(xí)板,注意以下幾個(gè)問題:實(shí)驗(yàn)箱上字型碼地址8004H,字位

11、碼地址8002H,而學(xué)習(xí)板上字型碼使用P0口,字位碼使用P2口;實(shí)驗(yàn)箱采用總線結(jié)構(gòu),故匯編使用DPTR及MOVX傳字型碼和字位碼,而學(xué)習(xí)板使用非總線結(jié)構(gòu),直接只用MOV傳送;實(shí)驗(yàn)箱上是共陰極數(shù)碼管,字型碼使用原碼,字位碼經(jīng)過非門,1亮0不亮。學(xué)習(xí)板使用共陽極數(shù)碼管,字型碼使用反碼,字位碼經(jīng)過非門,0亮1不亮。學(xué)習(xí)板晶振頻率12Mhz,實(shí)驗(yàn)箱晶振6Mhz,故而在初值相同情況下,故而延時(shí)時(shí)間為50ms,故而需要定時(shí)20次才滿足1秒輸入輸出移植實(shí)驗(yàn)_匯編程序(課內(nèi)完成)(課內(nèi)完成)修改1:用T1定時(shí)2秒。修改2:顯示0-F左移。輸入輸出移植實(shí)驗(yàn)_C51程序(課外完成)(課外完成)修改1:用T1定時(shí)2

12、秒。修改2:顯示0-F左移。輸入輸出移植實(shí)驗(yàn)_C51程序(課外完成)(課外完成)(5)、Proteus仿真仿真系統(tǒng)元器件參數(shù):器件名稱器件名稱英文名稱英文名稱參數(shù)參數(shù)備注備注單片機(jī)AT89C52電容CAP30pF電解電容CAP-ELEC22uF7段數(shù)碼管7SEG-MPX8-CA-BLUECA是共陽是共陽CC是共陰是共陰電阻RES10k晶振CRYSTAL12Mhz按鍵BUTTON(課外完成)(課外完成)輸入輸出實(shí)驗(yàn)仿真圖輸入輸出實(shí)驗(yàn)仿真圖將移植到學(xué)習(xí)板程序下載到本系統(tǒng)運(yùn)行3、計(jì)數(shù)器實(shí)驗(yàn)計(jì)數(shù)器實(shí)驗(yàn)1:CT0計(jì)數(shù)滿3之后(即輸入了3個(gè)外部脈沖之后),使顯示器上顯示字符“8”左移一位。如此不斷重復(fù)。(

13、1)寄存器設(shè)置及初值計(jì)算計(jì)數(shù)個(gè)數(shù)較少,選帶自動重裝的的計(jì)數(shù)方式2。計(jì)數(shù)器T0的中斷入口地址為000BH。(課內(nèi)完成)(課內(nèi)完成)T0采用計(jì)數(shù)方式2,初值X1 =256-3=253=FDH計(jì)算計(jì)數(shù)初值: 確定TMOD方式字:M1M0=10H、 =1、GATE=0TMOD=00000110B=06H /C T (2)、實(shí)驗(yàn)線路連接)、實(shí)驗(yàn)線路連接(課內(nèi)完成)(課內(nèi)完成)(3)單片機(jī)中斷實(shí)驗(yàn)匯編程序設(shè)計(jì)與修改(課內(nèi)完成)(課內(nèi)完成)修改1:每5個(gè)脈沖移動一位。修改2:用T1計(jì)數(shù)。(4)單片機(jī)中斷實(shí)驗(yàn)C51程序設(shè)計(jì)與修改(課外完成)(課外完成)修改1:每5個(gè)脈沖移動一位。修改2:用T1計(jì)數(shù)。修改3 :

14、統(tǒng)計(jì)脈沖個(gè)數(shù)。(5)修改匯編和C51程序,移植到學(xué)習(xí)板(課內(nèi)完成)(課內(nèi)完成)移植到學(xué)習(xí)板,注意以下幾個(gè)問題:實(shí)驗(yàn)箱上字型碼地址8004H,字位碼地址8002H,而學(xué)習(xí)板上字型碼使用P0口,字位碼使用P2口;實(shí)驗(yàn)箱采用總線結(jié)構(gòu),故匯編使用DPTR及MOVX傳字型碼和字位碼,而學(xué)習(xí)板使用非總線結(jié)構(gòu),直接只用MOV傳送;實(shí)驗(yàn)箱上是共陰極數(shù)碼管,字型碼使用原碼,字位碼經(jīng)過非門,1亮0不亮。學(xué)習(xí)板使用共陽極數(shù)碼管,字型碼使用反碼,字位碼經(jīng)過非門,0亮1不亮。 學(xué)習(xí)板按鍵有抖動,可以采用實(shí)驗(yàn)箱脈沖,也可以使用555振蕩電路輸出的7-1400Hz脈沖信號。輸入輸出移植實(shí)驗(yàn)_匯編程序(課內(nèi)完成)(課內(nèi)完成)

15、修改1:每5個(gè)脈沖移動一位。修改2:用T1計(jì)數(shù)。輸入輸出移植實(shí)驗(yàn)_C51程序(課外完成)(課外完成)修改1:每5個(gè)脈沖移動一位。修改2:用T1計(jì)數(shù)。修改3 :統(tǒng)計(jì)脈沖個(gè)數(shù)。(6)、Proteus仿真仿真系統(tǒng)元器件參數(shù):器件名稱器件名稱英文名稱英文名稱參數(shù)參數(shù)備注備注單片機(jī)AT89C52電容CAP30pF電解電容CAP-ELEC22uF7段數(shù)碼管7SEG-MPX8-CA-BLUECA是共陽是共陽CC是共陰是共陰電阻RES10k晶振CRYSTAL12Mhz按鍵BUTTON(課外完成)(課外完成)輸入輸出實(shí)驗(yàn)仿真圖輸入輸出實(shí)驗(yàn)仿真圖 (課內(nèi)完成)(課內(nèi)完成)將移植到學(xué)習(xí)板程序下載到本系統(tǒng)運(yùn)行1、各個(gè)

16、程序運(yùn)行過程中寄存器狀態(tài)2、實(shí)驗(yàn)現(xiàn)象五、實(shí)驗(yàn)數(shù)據(jù)記錄六、實(shí)驗(yàn)小結(jié)1、 單片機(jī)輸出輸出口編程心得2、單片機(jī)中斷編程調(diào)試心得3、對實(shí)驗(yàn)設(shè)置及教師的建議和意見M1M0工作方式工作方式方式說明方式說明00013位定時(shí)位定時(shí)/計(jì)數(shù)器計(jì)數(shù)器01116位定時(shí)位定時(shí)/計(jì)數(shù)器計(jì)數(shù)器102可自動重裝入的可自動重裝入的8位定時(shí)位定時(shí)/計(jì)數(shù)器計(jì)數(shù)器113T0分為分為2個(gè)個(gè)8定時(shí)器,定時(shí)器,T1無此方式無此方式4、定時(shí)、定時(shí)/計(jì)數(shù)器的工作方式計(jì)數(shù)器的工作方式GATEM1M0M0M1GATETC/TC/T MOD(5)修改匯編和C51程序,移植到學(xué)習(xí)板(課內(nèi)完成)(課內(nèi)完成)學(xué)習(xí)板發(fā)光二極管送0亮,實(shí)驗(yàn)箱送1亮,因?yàn)橐箝W爍,故而可以忽略此處電路不同。學(xué)習(xí)板晶振頻率12Mhz,實(shí)驗(yàn)箱晶振6Mhz,故而在初值相同情況下,學(xué)習(xí)板上定時(shí)時(shí)間是62.5ms,直接下載實(shí)驗(yàn)箱原程序led閃爍更快。(6)、Proteus仿真仿真系統(tǒng)元器件參數(shù):器件名稱器件名稱英文名稱英文名稱參數(shù)參數(shù)備注備注單片機(jī)AT89C52電容CAP30pF電解電容CAP-ELEC22uF發(fā)光二極管LED-BLUE10mA電阻RES10k晶振CRYSTAL12Mhz按

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論