找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3563|回复: 3
收起左侧

STC12C单片机定时器0中断无法启动的问题 新人首贴,还请支持。

[复制链接]
ID:207167 发表于 2017-6-2 18:21 | 显示全部楼层 |阅读模式
定时器的初始化代码和中断代码如下
  1. /* Timer0 interrupt routine */
  2. void tm0_isr() interrupt 1 using 1
  3. {

  4.     number++;
  5.     Uart1SendChar(number>>8);
  6.     Uart1SendChar(number);
  7.    
  8. }

  9. /* main program */
  10. void Timer0Init(void)
  11. {
  12.     AUXR|=0x80;                   //???0?1T??
  13.     TMOD=0x00;
  14.     TL0 = T1MS;                     //??????
  15.     TH0 = T1MS >> 8;
  16.     EA =  1;
  17.     TR0 = 1;                        //???0????
  18.     ET0 = 1;                        //?????0??
  19. }
复制代码

串口1的初始化代码及发送字节函数如下,因为没用到接收函数所以就没写串口中断服务函数程序
  1. void UART1_Init(unsigned short usBaud)
  2. {
  3.     SCON = 0x50;            //8-bit variable UART
  4. //    TMOD |= 0x20;             //¶¨Ê±Æ÷1¹¤×÷ÔÚģʽ2,8λ×Ô¶¯ÖØ×°
  5. //    TH1 = TL1 = -(FOSC/12/32/usBaud); //Set auto-reload vaule
  6. //    TR1 = 1;                //Timer1 start run
  7.     AUXR=0X11;
  8.     BRT=-(FOSC/32/12/usBaud);
  9.     ES = 1;                 //Enable UART interrupt
  10.     EA = 1;  
  11.     TI = 1;  
  12. }


  13. void Uart1SendChar(unsigned char ucSendChar)//·¢ËÍÒ»¸ö×Ö·û
  14. {
  15.     SBUF = ucSendChar;             //Send data to UART buffer
  16.     while(!TI);
  17.     TI = 0;
  18. }
复制代码
在主程序中测试时 Uart1SendChar可以正常发送数据,但是在定时器服务中断函数的发送函数却没用。。
请帮忙看看是哪里出的问题。。。


回复

使用道具 举报

ID:207167 发表于 2017-6-2 18:21 | 显示全部楼层
还请各位帮忙看看,谢谢~~
回复

使用道具 举报

ID:146755 发表于 2017-12-30 23:30 | 显示全部楼层
我现在也面临这个问题,还没解决呢,你的后来是怎么解决的呢,麻烦指点一下,谢谢!!!
回复

使用道具 举报

ID:213173 发表于 2017-12-31 09:17 | 显示全部楼层
南有乔木 发表于 2017-6-2 18:21
**** 作者被禁止或删除 内容自动屏蔽 ****

你确定是要使用模式0(13位定时器/计数器)?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表