|
#include <reg51.h>
#define yy unsigned char //8位無符號(hào)字符型
yy win; //聲明win
sbit d=P2^4;
void main() //主函數(shù)
{
P2=0;
TMOD=0x01; //設(shè)置定時(shí)器工作方式為01
TH0=(65536-50000)/256; //裝初值12.0000M晶振定時(shí)50ms數(shù)為50000 求模
TL0=(65536-50000)%256; //求余
EA=1; //打開總中斷
IT0=1; //設(shè)置為電平觸發(fā)方式
ET0=1; //打開定時(shí)器0中斷
TR0=1; //啟動(dòng)定時(shí)器0
while(1); //程序在這里等待中斷發(fā)生
}
void dsq0() interrupt 1 //中斷服務(wù)程序
{
TH0=(65536-50000)/256; //重裝初值
TL0=(65536-50000)%256;
win++; //win自加1
if(win==20) //如果win加到20那么執(zhí)行if語句
{
win=0; //給win清零
d=~d; //讓發(fā)光管狀態(tài)取反
}
}
定時(shí)器中斷實(shí)驗(yàn)————注釋,解釋都已寫好
定時(shí)器/計(jì)數(shù)器————是單片重要功能之一!這可比延時(shí)函數(shù)精度高的多得多!一般精度可以高達(dá)幾微秒!
(本程序設(shè)置的是間隔一秒閃爍>>精度非常高)
設(shè)計(jì)者:薛yh
|
|