各位前辈 问个关于中断内使用变量的问题(已解决 谢谢)
时间:10-02
整理:3721RD
点击:
#include <reg51.h>
unsigned int a;
unsigned long b= 65500;
unsigned char c = 92,d,e,f;
void main()
{
TMOD = 0x01;
TH0 = 0xfc;
TL0 = 0x66;
TR0 = 1;
ET0 = 1;
EA = 1;
while(1);
}
void cs() interrupt 1
{
static unsigned char k,j;
k = (65535-c)/256;
j = (65535-c)%256;
TH0 = k;
TL0 = j;
f = e/8;
while(a++>5000)
{P0 = P0+1; a = 0;}
}
中断内的TH0 TL0 如果用变量赋值 只能直接赋值 不能任何计算 比如 将红色部分转移到主函数就没有任何问题了
原来想写成
TH0 = (unsinged char)(65565-X)/256
也是不能成功赋值的 为什么 ?
试试弄成全局变量试试 具体我也不清楚 我不是学51的 路过~~~
我找到问题了 谢谢