52單片機(jī)定時器2使用C語言程序_第1頁
52單片機(jī)定時器2使用C語言程序_第2頁
52單片機(jī)定時器2使用C語言程序_第3頁
52單片機(jī)定時器2使用C語言程序_第4頁
52單片機(jī)定時器2使用C語言程序_第5頁
已閱讀5頁,還剩4頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

精彩文檔精彩文檔52單片機(jī)定時器2使用(C語言程序)水寒80511,128views0Comments發(fā)表評論本文是關(guān)于52單片機(jī)定時器計數(shù)器2做為普通的16位自動重裝定時器使用,類似于定時器計數(shù)器0和定時器計數(shù)器1工作在方式1下。以下程序在Keil2和Keil3下調(diào)時通過,下載在本校的實驗板上達(dá)到預(yù)期效果。AT89C52及其以上、AT89S52及其以上、STC89C52及其以上測試正常運行。源代碼:viewsource岡print?001/***********************************************************002程序功能:52系列單片機(jī)定時器計數(shù)器2使用003程序設(shè)計:燕山大學(xué)魯信瓊晶振選擇:24MH乙如果晶振不匹配,請修改延時函數(shù)參數(shù);P2A6口接數(shù)004碼管段選控制位;P2A7口接數(shù)碼管位選控制位;P1A7口作為測試指示燈005本實驗注意事項:0061.定時器2的中斷使能為圧人6位,也就是ET2;中斷服務(wù)程序標(biāo)號為5。定時器2工作在16為自動重裝模式下,不需要在中斷服務(wù)程序中重新賦007初值,在程序初始化的時候我們應(yīng)該給RCAP2L和RCAP2H賦值,TH2和TL2將會在中斷產(chǎn)生時自動使TH2二RCAP2H,TL2二RCAP2L。定時器2的中斷標(biāo)志位TF2不能夠由硬件清零,所以要在中斷服務(wù)程序008中將其清零,為了使定時盡量準(zhǔn)確,我們常在終端服務(wù)程序中第一步就使TF2=0。使定時器2產(chǎn)生中斷的有兩個中斷源,如果EXEN2(定時器2外部使能標(biāo)志)置1的話,使定時器2進(jìn)入中斷的有可能是定時器2計數(shù)溢出,也可009能是捕獲到T2EX(單片機(jī)P1T口)有負(fù)跳變,所以需要在中斷服務(wù)程序中判斷EXF2是否為1。010承接51單片機(jī)、PIC單片機(jī)程序、VB/VC++上位機(jī)程序、電子產(chǎn)品軟硬件011設(shè)計開發(fā)工作012013EMail:xqlu(at)QQ:9790335014***********************************************************/015016#include017#include018#defineucharunsignedchar019#defineuintunsignedint020#defineLED_DATAP0021sbitDULA二P2人6;022sbitWELA二P2人7;023sbitLED=P1A7;024uchartimer2_ctr,num;ucharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0250x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x40,0};026027〃24MHz晶振延時x毫秒函數(shù)028voiddelay_ms(uintxms)029{030uintx,y;031for(x=xms;x>0;x--)032for(y=248;y>0;y--);}033034035//初始化主函數(shù)036voidinit_main()037{038DULA=0;//關(guān)閉數(shù)碼管顯示039WELA=0;040041RCAP2H=(0xFFFF-50000)/256;RCAP2L=(0xFFFF-50000)%256;〃24MHz晶振下定時25ms啟動重042裝043TH2=RCAP2H;044TL2=RCAP2L;//定時器2賦初值T2CON=0;//配置定時器2控制寄存器,這里其實不用配置,045T2CON上電默認(rèn)就是0,這里賦值只是為了演示這個寄存器的配置T2MOD=0;//配置定時器2工作模式寄存器,這里其實不用配046置,T2MOD上電默認(rèn)就是0,這里賦值只是為了演示這個寄存器的配置IE=0xA0;//10100000開總中斷,開外定時器2中斷,可按位047操作:EA=1;ET2=1;048TR2=1;//啟動定時器2}049050051//數(shù)碼管顯示3位數(shù):0-255052voiddisplay(ucharnum)053{054uchargw,sw,bw;

055056057058059060061062063064065066067068069070071072073bw=num/100;sw=num%100/10;gw=num%10;LED_DATA=0XFE;//11111110WELA=1;_nop_();_nop_();WELA=0;LED_DATA=table[bw];DULA=1;_nop_();_nop_();DULA=0;delay_ms(3);LED_DATA=0XFD;//11111101WELA=1;_nop_();_nop_();WELA=0;LED_DATA=table[sw];

074DULA=1;075_nop_();_nop_();076DULA=0;077delay_ms(3);078079LED_DATA=0XFB;//11111011080WELA=1;081_nop_();_nop_();082WELA=0;083LED_DATA=table[gw];084DULA=1;085_nop_();_nop_();086DULA=0;087delay_ms(3);088}089090voidmain()091{092init_main();093while(1)094{095display(num);096}}097098099voidtimer2()interrupt5100{//!!!注意!!!定時器2必須由軟件對溢出標(biāo)志位清零,硬件不能清零,101這里與定時器0和定時器1不同!!!102103TF2=0;104timer2_ctr++;105〃定時25msx40=10

溫馨提示

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

評論

0/150

提交評論