單片機中斷實驗報告(共4頁)_第1頁
單片機中斷實驗報告(共4頁)_第2頁
單片機中斷實驗報告(共4頁)_第3頁
單片機中斷實驗報告(共4頁)_第4頁
全文預覽已結束

下載本文檔

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

文檔簡介

1、精選優(yōu)質文檔-傾情為你奉上實驗三 定時器中斷實驗一、實驗目的1、掌握51單片機定時器基本知識;2、掌握定時器的基本編程方法;3、學會使用定時器中斷。二、實驗內容1、利用定時器設計一個秒表,計數(shù)范圍為059,并在數(shù)碼管實時顯示。三、實驗設備PC 機一臺、單片機實驗箱主要器件:AT89C52、7SEG-BCD、四、實驗步驟1、使用Proteus設計仿真原理圖;2、使用Keil設計程序;3、聯(lián)合調試仿真。五、實驗流程圖開始繼續(xù)否是判斷是否到59啟動定時器設置顯示初值6、 實驗程序與結果#include<reg52.h>#define uint unsigned int#define uc

2、har unsigned charsbit F=P21;void timer1_init()TMOD=0x10;/將定時器1設置為工作方式1TH1=(65536-6000)/256;/定時器每加一時間為1/fsoc,定時時間為1/500 /(1/500)s/(1/)s=6000TL1=(65536-6000)%256;/fsoc=,所以裝入16位定時器中值為65536-6000EA=1;ET1=1;TR1=1;void main()timer1_init();while(1);void timer1() interrupt 3 TH1=(65536-6000)/256;/每次進入中斷,重裝初值

3、TL1=(65536-6000)%256;F=F;/每次進入中斷P1.1口取反#include<reg52.h>#define uint unsigned int#define uchar unsigned charsbit F=P21;void timer0_init()TMOD=0x01;/將定時器0設置為工作方式1TH0=(65536-83)/256;/定時器每加一時間為1/fsoc,定時時間為2Khz,既500us/500us/6us=83.3333TL0=(65536-83)%256;/fsoc=,所以裝入16位定時器中值為65536-83EA=1;ET0=1;TR0=1

4、;void main()timer0_init();while(1);void timer0() interrupt 1TH0=(65536-83)/256;/每次進入中斷,重裝初值TL0=(65536-83)%256;F=F;/每次進入中斷P1.1口取反,表示定時時間到#include<reg51.h> / 包含51單片機寄存器定義的頭文件#define seg_data P1#define seg_data2 P3#define uint unsigned intsbit D1=P20; /將D1位定義為P2.0引腳uint counter=0;unsigned int uni

5、t=0,decade=0,avs=0;/time=0;/*函數(shù)功能:主函數(shù)*/void main(void) uint time,time1,temp1,temp2,temp3;seg_data=0;seg_data2=0;TMOD=0x11; /使用定時器T0的模式2TH0=0xFC; /定時器T0的高8位賦初值1000-500TL0=0x18; /定時器T0的低8位賦初值 TH1=(65536-50000)/256; /定時器T1的高8位賦初值TL1=(65536-50000)%256; /定時器T1的低8位賦初值EA=1; /開總中斷ET0=1; /定時器T0中斷允許 ET1=1;TR0

6、=1; /啟動定時器T0TR1=1;while(1)/無限循環(huán)等待中斷 temp1=(decade&0x0F)<<4; temp2=unit&0x0F; time=temp2|temp1; seg_data=time; temp3=avs&0x0F; time1=temp3; seg_data2=time1; D1=D1; /按位取反操作,將P2.0引腳輸出電平取反TH0=0xFF; /定時器T0的高8位賦初值1000-500TL0=0x06; /定時器T0的低8位賦初值 void Time1(void) interrupt 3 counter+; if(counter>19) unit+;counter=0; if(unit>9) decade+;unit=0; if(decade>5) avs+; decade=0; if(avs>9) avs=0; TH1=(65536-50000)/256; /定時器T1的高8位賦初值TL1=(65536-50000)%256; /定時器T1的低8位賦初值TF1=0;7、 實驗心得通過本次課程設計使我感受到它是一門綜合性、實踐性較強的課程,使我體會到要想綜合運用所學的理論知識,提高我的設計能力,必須增加實際操作的環(huán)節(jié)。這次課程設計不僅培養(yǎng)了

溫馨提示

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

評論

0/150

提交評論