标题:
单片机外部中断1串口输出,和定时器t0采样冲突怎么解决啊
[打印本页]
作者:
三木木
时间:
2023-4-10 23:22
标题:
单片机外部中断1串口输出,和定时器t0采样冲突怎么解决啊
一开串口中断,就没有采样数据了
单片机源程序如下:
void main()
{
config();//chuankou chushihua
EX1=1;//zhongduan chushihua
IT1=1;
EA=1;
ADC=0;
timer0init();
while(1)
{
send_byte(ADC_cvt);
seg_display(ADC_cvt);//shumaguan xianshi
ADC=0;
}
}
void timer0init()
{
TMOD |= 0x01;
TH0 = (65536-45872)/256;
TL0 =(65536-45872)%256;
EA = 1;
ET0 = 1;
TR0 = 1;
}
void Timer0() interrupt 1 using 1
{
TH0 = (65536-45872)/256;
TL0 =(65536-45872)%256;
ADC_flag++;
if(ADC_flag>=20)
{
ADC_flag=0;
D1=~D1;
ADC_cvt=ADC;
}
}
void config()//chuankou chushihua
{
SCON=0X50;
TMOD&=0X0f;
TMOD|=0X20;
TH1=256-(11059200/12/32)/9600;
TL1=TH1;
ET1=0;
ES=1;
TR1=1;
}
void send_byte(unsigned char xbyte)
{
unsigned char i=0;
SBUF=xbyte;
while(~TI);
TI=0;
}
作者:
wulin
时间:
2023-4-11 06:37
如果串口只发不收,就不必开串口中断。采样结束置一个标志,主函数中查询这个标志再发串口数据。其实根本原因是程序构架不合理所致。
作者:
lkc8210
时间:
2023-4-11 10:09
你开了串口中断
但代码里没有中断函数
于是跑飞了
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1