新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > proteus與keil Cx51的單片機仿真(定時器應(yīng)用1)

proteus與keil Cx51的單片機仿真(定時器應(yīng)用1)

作者: 時間:2016-11-24 來源:網(wǎng)絡(luò) 收藏
使用定時器定時,每隔10s使與P0、P!、P2、P3口連接的發(fā)光二極管閃爍10次;設(shè)P0、P!、P2、P3口低高電平燈亮,反之燈滅。

電路圖:

C程序:

本文引用地址:http://butianyuan.cn/article/201611/320721.htm

#include
#include
#define uchar unsigned char
bit flag;
void delay();
uchar IntNumber,Flashnumber;//T0中斷次數(shù),閃爍次數(shù)
void main()
{
TMOD=0x01;//T0方式1
TL0=0xb0;
TH0=0x3c;//定時器賦初值
EA=1;//開總中斷
ET0=1;//開T0中斷
TR0=1;//啟動T0
IntNumber=200;//T0中斷次數(shù)初始化
flag=0;
while(1)
{
if(flag==1)
{
flag=0;
for(Flashnumber=0;Flashnumber<10;Flashnumber++)
{
P0=0x00;P1=0x00;P2=0x00;P3=0x00;delay();//燈亮
P0=0xff;P1=0xff;P2=0xff;P3=0xff;delay();//燈滅
}
}
}
}
void Int_T0() interrupt 1 using 2
{
TL0=0xb0;//重賦初值
TH0=0x3c;
IntNumber-=1;//T0中斷次數(shù)減1
if(IntNumber==0x00)
{
IntNumber=200;
flag=1;//10s到,閃爍標(biāo)志位置1
}
}
void delay()
{
uchar i,j;
for(i=0;i<255;i++)
for(j=0;j<255;j++)
;
}




評論


技術(shù)專區(qū)

關(guān)閉