初级会员

- 积分
- 96
- 金钱
- 96
- 注册时间
- 2019-9-29
- 在线时间
- 19 小时
|

楼主 |
发表于 2019-9-30 18:00:18
|
显示全部楼层
问题应该出在定时器这块,可以返回正确数据
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
uint num;
uint i[1];
uchar flag;
sbit led=P2^0;
/*void delay100us(void)
{
unsigned char a,b;
for(b=1;b>0;b--)
for(a=47;a>0;a--);
}*/
void main (void)
{
IP|=0X10;
TMOD|=0x21;
EA=1;
TH0 = 0x0FC;
TL0 = 0x18;
ET0 = 1;
TR0 = 1;
SCON = 0x50;
TH1 = 0xE6;
TL1 = TH1;
PCON = 0x00;
ES = 1;
TR1 = 1;
while(1);
/*{
if(num==i)
{
num=0;
led0=~led0;
}
}*/
}
void Timer0Interrupt(void) interrupt 1
{
TH0 = 0x0FC;
TL0 = 0x18;
num++;
if(num==i[0])
{
num=0;
led=~led;
}
}
void UARTInterrupt(void) interrupt 4
{
uint j;
if(RI)
{
RI = 0;
j=SBUF;
i[0]=j;
SBUF=i[0];
}
if(TI)
TI = 0;
}
|
|