一个c51中断问题

[复制链接]
2186|3
 楼主| 快乐小糊涂 发表于 2011-12-19 21:25 | 显示全部楼层 |阅读模式
要求:通过串口不同的频率驱动蜂鸣器发声。
现象:不同的频率之间切换时有时蜂鸣器先停止发声,过段时间才会以新的频率发声。
中断程序如下:
void T0_TIME() interrupt 1
{
TH0=(65536-45872)/256;
TL0=(65536-45872)%256;
num++;
if(num==temp)              //改变temp的值改变驱动频率
   {
    num =0;
    spk=~spk;
    P0= Led7_lab[temp];   //数码管测试时,频率改变后蜂鸣器停止发声的时候
                                       数码管值未改变,蜂鸣器发声后才会改变
   }
   //P0= Led7_lab[temp]; //数码管测试时,频率改变后数码管值立即改变
}

为什么进入中断后if{}有时不能立即执行?
ayb_ice 发表于 2011-12-20 07:58 | 显示全部楼层
没有看到什么串口中断
liang7143 发表于 2011-12-20 08:51 | 显示全部楼层
估计LZ 是想通过串口 发送temp的值
killvx 发表于 2011-12-20 08:54 | 显示全部楼层
代码不全啊
if进入不是有条件么 num==temp
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

29

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部