- 博客(0)
- 资源 (4)
空空如也
定时器的基本应用
/*启动定时器T0让它工作在方式1
TMOD定时器工作方式寄存器
TCOND定时器控制寄存器
*/
#include<reg52.h>
unsigned char t,i;
unsigned char Dcode[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
void main()
{
TMOD=0x01;//设置让定时器工作在方式1
//给寄存器TH0 TL0赋初值
TH0=(65536-40000)/256;
TL0=(65536-40000)%6;//定时时间为40ms
EA=1;//开总中断
ET0=1;//允许定时器0工作
TR0=1;//运行定时器 1
while(1)
{
//P0=Dcode[i];
if(t==50)
{
P0=Dcode[i];
i++;
t=0;
}
}
}
void time0(void) interrupt 1
{
TH0=(65536-40000)/256;
TL0=(65536-40000)%6;
t++;
}
2012-09-25
中断使用的基本程序
#include <reg52.h>
//定义LED灯接在P0口
#define LED P0 //LED为外部变量
//延时函数
void delay()
{
unsigned char j,i;
for(i=0;i<200;i++)
for(j=0;j<200;j++);
}
//移位函数
void left(unsigned char i)
{
unsigned char t,j,m;
t=0x01;
for(j=0;j<i;j++)
{
for(m=0;m<8;m++)
{
P0=~t;
delay();
t=t<<1;
}
delay();
}
}
//中断服务程序
void myint_0(void) interrupt 0
{
unsigned saveLED=LED; //存储中断前的状态
left(4);
LED=saveLED;
}
void main()
{
IE=0x81;
//TCON=0x01;
LED=0x00;
while(1)
{
delay();
LED=~LED;
}
}
2012-09-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人