2020-02-04 09:02发布
ourdev850725 发表于 2012-4-30 23:34 刚看了下手册,确实不用手动清的,不太记得了,那就把变量加volatile属性试试,别的没发现什么问题 ...
最多设置5个标签!
试过volatile,还是不行。
实在无语了,就把所有文件集中到一个文件里:
#include <reg52.h>
//#include "timer.h"
//#include "led.h"
#include "MacroAndConst.h"
uchar sys_t1s=0;
uchar temp=0;
void timer0_initial(void)
{
TMOD=0x01 ; //定时器0工作方式1
TH0=(65536-50000)/256; //定时器初始值
TL0=(65536-50000)%256;
TR0=1 ;
ET0=1 ;
}
void timer0() interrupt 1
{
TH0=(65536-50000)/256; //定时器初始值
TL0=(65536-50000)%256;
if((temp++)>18)
{
sys_t1s=1;
temp=0;
}
//TF0=0;
}
void led_changestate()
{
if(sys_t1s==1)
{
if(P1==0xfe)
{
P1=0xff;
}
else
{
P1=0xfe;
}
sys_t1s=0;
}
}
void main(void)
{
P1=0xfe;
timer0_initial();
EA=1;
while(1)
{
led_changestate();
}
}
测试成功。
看起来还是模块化中有点问题,
还在继续摸索ing。
谢谢各位大侠的指导。
一周热门 更多>