中断中TH0和TL0的赋值应该是整数,比如说:
TH0=50000;
TL0=50000;相当于定时50ms,或者是
TH0=0Xac;
TL0=0x12;
此时是将十六进制数转化成十进制数算的,你这样的赋值方式
TH0=(65536-46083)/256;
TL0=(65536-46083)%256;
是不正确的,这是它内部寄存器的存储方式,单片机内部只能识别二进制数,所以是按二进制给值的。
意见如下:
1 程序写的有够烂,建议楼主多读点程序规范之类的书,是在看不下去。
2 语法错误两处:(1) 在 shi = 0; 后加两个 }
(2)TOMD 改成TMOD
语法错误两处:(1) 在 shi = 0; 后加两个 }
(2)TOMD 改成TMOD
TOMD 改成TMOD