當前位置:編程學習大全網 - 編程軟體 - 利用單片機內部定時器T0以中斷方式計時,實現每壹秒鐘使P2.0的輸出狀態發生壹次反轉,形成方波輸出。

利用單片機內部定時器T0以中斷方式計時,實現每壹秒鐘使P2.0的輸出狀態發生壹次反轉,形成方波輸出。

#include<reg52.h> //包含52系列頭文件

#define th0 0x3c

#define tl0 0xb0 //50ms at 12MHz Fosc

#define T1sAt50msCount 20 //1s計數值

sbit WaveOut1=P2^0; //定義 方波1輸出 端口

void Timer0() interrupt 1 //定時器T0 中斷 函數

{

static uchar t50ms=0;

TL0=tl0;

TH0=th0;

if(++t50ms>=T1sAt50msCount)

{

t50ms-=T1sAt50msCount;

WaveOut1=~WaveOut1; //方波1輸出 端口 電平翻轉

}

}

void TimerInit() //定時器初始化 函數

{

TMOD=0x01; //T0 16位定時器

EA=1; //允許系統中斷

ET0=1; //允許T0中斷

TH0=th0;

TL0=tl0; //50ms 初值

TR0=1; //T0開始計時

}

void main() //主函數

{

TimerInit(); //調用 定時器初始化 函數

while(1); //循環系統

}

直接打字的,未編譯

  • 上一篇:中考微機需要註意什麽?
  • 下一篇:怎麽才能學好Web前端開發?
  • copyright 2024編程學習大全網