为什么在我的机器上总出错?单片机C计时

来源:百度知道 编辑:UC知道 时间:2024/05/18 06:16:07
//====声明区===============
#include <reg51.h>
#define SEG P0
#define count 50000//声明T0初值
#define TH_M1 (65536-count)/256
#define TL_M1 (65536-count)%256
#define count_M2 250
#define TH_M2 (256-count_M2)
#define TL_M2 (256-count_M2)
char count_T1=0;
char TAB[10]={ 0xc0,0xf9,0xa4,0xb0,0x99,
0x92,0x82,0xf8,0x80,0x90};
int count_T0;//中断次数
char disp[4]={0xc0,0xc0,0xc0,0xc0};//待显示区
char seconds=0;//秒
char minutes=0;//分
char scan=0xf7;
int i=0;
void scanner(void);//声明显示函数
//=========主函数区==========
main()
{ EA=1;
ET0=1;
ET1=1;
TMOD=0x21;
TH0=TH_M1;
TL0=TL_M1;
TH0=TL0=TH_M2;
TL0=TL_M2;
TR1=1;
TR0=1;
while(1);

}
//======60s到加1并送待显示区=========
void T0_1S(void)interrupt 1
{ TH0=TH_M1;
TL0=TL_M1;
if(++count_T0==20)
{ count_T0=0;
seconds++;
if(seconds==60)
{ sec

看看设置选项里是否可以屏蔽A51,你这是C51程序,用不到A51汇编编译器,可以不选择!

你使用的是学习版仿真器吧,或者软件汉化了吧!

重新装遍keil,记住一定装C盘,keil在别的盘很容易出错,找不到连接器或者编译器