打印

C8051F040串口发数据,定时器中断不能进入

[复制链接]
3686|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lezhongxian|  楼主 | 2010-10-11 09:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 lezhongxian 于 2010-10-13 19:28 编辑

我用的是C8051F040单片机,向串口发送单个数据时能进中断,为什么发送一串数据时就不能进入定时器中断,是不是串口程序把定时器程序给冲了?现把定时器,主程序的程序贴出来,请各位大侠看看
void  t2() interrupt 5  //定时器T2中断
{
           static pdata uint number=0;
           TMR2CN = 0x04;        //T2标志位清零
            led1 = ~led1;           //指示灯亮
}

void  main() //主函数
{
       uchar aa[5]={0x55,0x11,0x22,0x33,0xaa};//发送的数据
       uchar i;
       initial(); //初始化

       for(i=0;i<5;i++)
      {
             SBUF0=aa;
             while(!TI0);//等待发送完成
            TI0 = 0;
       }
       while(1);


}

相关帖子

沙发
java0735| | 2010-10-24 22:48 | 只看该作者
你是不是没见led1等闪烁所以认为没进定时器中断吧,灯没闪是因为没有换页寄存器,在led1 = ~led1; 前加上一句SFRPAGE = CONFIG_PAGE;就ok啦

使用特权

评论回复
板凳
java0735| | 2010-10-24 22:50 | 只看该作者
你是040新手吧,040里面有个SFRPAGE特殊功能寄存器,好好看看,就知道你程序问题出在哪了

使用特权

评论回复
地板
shseo| | 2010-10-25 14:41 | 只看该作者













------------------------------用户言论/签名并不代表本站观点
title="上海seo"

使用特权

评论回复
5
lezhongxian|  楼主 | 2010-10-27 22:39 | 只看该作者
本帖最后由 lezhongxian 于 2010-10-27 22:53 编辑

3# java0735
应该不是这个问题,我的LED1是放在P0口的,任何页的,我断点设在LED1处单步运行是可以进去,但也只能进去几次,如果只是单单只是用中断做LED的话,别的程序不加的话SFRPAGE = CONFIG_PAGE是不用加的

使用特权

评论回复
6
wang668| | 2010-10-28 12:45 | 只看该作者
俺也要 学习啊……

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

6

帖子

1

粉丝