項目四任務6-定時器較長定時的實現_第1頁
項目四任務6-定時器較長定時的實現_第2頁
項目四任務6-定時器較長定時的實現_第3頁
項目四任務6-定時器較長定時的實現_第4頁
項目四任務6-定時器較長定時的實現_第5頁
已閱讀5頁,還剩11頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

項目四簡易秒表設計單片機定時器結構任務一定時器寄存器的初始化任務二

定時器方式0的基本使用任務三

定時器方式1的基本使用任務四

定時器方式2的基本使用任務五定時器較長定時的實現任務六單片機驅動液晶任務七簡易秒表的設計任務八任務六定時器較長定時的實現任務描述本次任務要求掌握定時器實現較長定時時間的方法,完成利用定時/計數器T0定時1s。知識鏈接定時器較長定時的實現以單片機晶振頻率fosc=12Mhz為例,討論下定時器4種工作方式下最大定時時間:定時器較長定時的實現方式0:最大定時時間=最大計數值8192*1us(機器周期)=8192us.方式1:最大定時時間=最大計數值65536*1us(機器周期)=65536us=65.536ms方式2:最大定時時間=最大計數值256*1us(機器周期)=256us.方式3:最大定時時間=最大計數值256*1us(機器周期)=256us.下面如果要求我們定時1秒,上面任何一種工作方式都不滿足定時要求。那如何實現定時1秒呢?

可以利用軟件計數器!選定定時器工作于方式1,定時50ms,再設置一軟件計數器count,每個50ms定時時間到,就加1,加夠20次,就意味著1秒的定時時間到了。其他任意定時,都可以通過此方法實現。任務實施使用定時器T0的中斷控制P1.1引腳LED的閃爍1.硬件電路2.程序設計1.硬件電路2.軟件設計#include<reg51.h>#defineucharunsignedchar#defineuintunsingnedintucharcount=0;sbitLED=P1^1;voidtimer0_init(){ TMOD=0x01; TH0=(65536-50000)/256; TL0=(65536-50000)%256; TR0=1; //啟動定時器0 ET0=1; //定時器T0中斷使能

EA=1; //CPU開中斷}voidtimer(void)interrupt1using0{ count++; if(count==20){count=0; LED=~LED; }TH0=(65536-50000)/256;//重裝初值

TL0=(65536-50000)%256;}voidmain(){timer0_init();while(1){ ;}}對比任務5任務實施定時器1方式2無需重裝初值知識總結單片機定時器設置較長時間定時時,可以設置一軟件計數器,對基本的定時來計數,便可以實現較長時間的定時。綜合評價課后作業編寫一段程序,讓51MCU的

溫馨提示

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

評論

0/150

提交評論