51單片機(jī)C語言中斷程序定時(shí)計(jì)數(shù)器_第1頁
51單片機(jī)C語言中斷程序定時(shí)計(jì)數(shù)器_第2頁
51單片機(jī)C語言中斷程序定時(shí)計(jì)數(shù)器_第3頁
51單片機(jī)C語言中斷程序定時(shí)計(jì)數(shù)器_第4頁
51單片機(jī)C語言中斷程序定時(shí)計(jì)數(shù)器_第5頁
已閱讀5頁,還剩6頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上51單片機(jī)C語言中斷程序 定時(shí)/計(jì)數(shù)器 程序一利用定時(shí)/計(jì)數(shù)器T0從P1.0輸出周期為1s 的方波,讓發(fā)光二極管以1HZ閃爍,#include<reg52.h>  /52單片機(jī)頭文件#include <intrins.h> /包含有左右循環(huán)移位子函數(shù)的庫#define uint unsigned int    /宏定義#define uchar unsigned char  /宏定義sbit P1_0=P10;uchar tt;void main()   

2、   /主函數(shù)TMOD=0x01;/設(shè)置定時(shí)器0為工作方式1TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;/開總中斷ET0=1;/開定時(shí)器0中斷TR0=1;/啟動(dòng)定時(shí)器0while(1);/等待中斷產(chǎn)生void timer0() interrupt 1TH0=(65536-50000)/256;TL0=(65536-50000)%256;tt+;if(tt=20) tt=0; P1_0=P1_0; 程序二利用定時(shí)/計(jì)數(shù)器T1產(chǎn)生定時(shí)時(shí)鐘,由P1口控制8個(gè)發(fā)光二極管,使8個(gè)指示燈依次一個(gè)一個(gè)閃動(dòng)

3、,閃動(dòng)頻率為10次/秒(8個(gè)燈依次亮一遍為一個(gè)周期),循環(huán)。#include<reg52.h>  /52單片機(jī)頭文件#include <intrins.h> /包含有左右循環(huán)移位子函數(shù)的庫#define uint unsigned int    /宏定義#define uchar unsigned char  /宏定義sbit P1_0=P10;uchar tt,a;void main()      /主函數(shù)TMOD=0x01;/設(shè)置定時(shí)器0為工作方式1TH0=(6553

4、6-50000)/256;TL0=(65536-50000)%256;EA=1;/開總中斷ET0=1;/開定時(shí)器0中斷TR0=1;/啟動(dòng)定時(shí)器0a=0xfe;while(1);/等待中斷產(chǎn)生void timer0() interrupt 1TH0=(65536-50000)/256;TL0=(65536-50000)%256;tt+;if(tt=2) tt=0; P1=a; a=_crol_(a,1); 程序三 同時(shí)用兩個(gè)定時(shí)器控制蜂鳴器發(fā)聲,定時(shí)器0控制頻率,定時(shí)器1控制同個(gè)頻率持續(xù)的時(shí)間,間隔2s依次輸出1,10,50,100,200,40

5、0,800,1k(hz)的方波#include<reg52.h>  /52單片機(jī)頭文件#include <intrins.h> /包含有左右循環(huán)移位子函數(shù)的庫#define uint unsigned int    /宏定義#define uchar unsigned char  /宏定義sbit beep=P23;uchar tt;uint fre,flag;void main()      /主函數(shù)fre=50000;beep=0;TMOD=0x11;/設(shè)置定時(shí)器0,

6、定時(shí)器1為工作方式1TH0=(65536-fre)/256;TL0=(65536-fre)%256;TH1=(65536-50000)/256;TL1=(65536-50000)%256;EA=1;/開總中斷ET0=1;/開定時(shí)器0中斷ET1=1;TR1=1;TR0=1;/啟動(dòng)定時(shí)器0while(1);/等待中斷產(chǎn)生void timer0() interrupt 1   /定時(shí)器0中斷TR0=0;    /進(jìn)中斷后先把定時(shí)器0中斷關(guān)閉,防止內(nèi)部程序過多而造成中斷丟失TH0=(65536-fre)/256;TL0=(65536-fre)%256;

7、tt+;if(flag<40)    /以下幾個(gè)if分別用來選取不同的頻率 if(tt=10)     tt=0;   fre=50000;   beep=beep;  if(flag>=40&&flag<80)   tt=0;  fre=50000;  beep=beep;  if(flag>=8

8、0&&flag<120)   tt=0;  fre=10000;  beep=beep;  if(flag>=120&&flag<160)   tt=0;  fre=5000;  beep=beep;  if(flag>=160&&flag<200)   tt=0;  fre=2500;&#

9、160; beep=beep;  if(flag>=200&&flag<240)   tt=0;  fre=1250;  beep=beep;  if(flag>=240&&flag<280)   tt=0;  fre=625;  beep=beep;  if(flag>=280&&flag<320)&#

10、160;  tt=0;  fre=312;  beep=beep;  if(flag>=320&&flag<360)   tt=0;  fre=156;  beep=beep;  TR0=1;void timer1() interrupt 3  /定時(shí)器1中斷用來產(chǎn)生2秒時(shí)間定時(shí)TH1=(65536-50000)/256;TL1=(65536-50000)%256;flag+;if(fla

11、g=360)      flag=0;    fre=50000;   程 序四用 定時(shí)器以間隔500MS在6位數(shù)碼管上依次顯示0、1、2、3.C、D、E、F,重復(fù)。#include<reg52.h>  /52單片機(jī)頭文件#include <intrins.h> /包含有左右循環(huán)移位子函數(shù)的庫#define uint unsigned int    /宏定義#define uchar unsigned char  /宏定義sbit

12、dula=P26;       /數(shù)碼管段選鎖存端sbit wela=P27;       /數(shù)碼管位選鎖存端uchar num,tt;uchar code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;void main()num=0;tt=0;TMOD=0x01;/設(shè)置定時(shí)器0為工作方式1TH0=(65536-50000)/256;TL0=(655

13、36-50000)%256;EA=1;/開總中斷ET0=1;/開定時(shí)器0中斷TR0=1;/啟動(dòng)定時(shí)器0dula=1;P0=0x3f;  /給段開始送顯示0。dula=0;/關(guān)閉段選鎖存端,防止開始時(shí)出現(xiàn)亂碼。wela=1;/P0=0xc0; / 打開六個(gè)數(shù)碼管位選wela=0;while(1) if(tt=10)   /每進(jìn)入10次中斷即為500ms,執(zhí)行一次顯示變化。       tt=0;   num+;   if(num=16)   num=0;

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(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

提交評論