找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1346|回复: 6
收起左侧

关于合泰HT66F0021单片机定时器中断程序问题

[复制链接]
ID:272269 发表于 2022-6-29 18:10 | 显示全部楼层 |阅读模式
我调了很长时间 定时器中断不清不楚的 感觉进入定时器中断后没有返回

单片机源程序如下:
  1. void main(void)
  2. {
  3.         
  4.         // InitEvent();
  5.         // TInitEvent();

  6.         
  7.     _tmrc =  0b10010000;        //????? ???????? ?????? 000
  8.     _tmr  =  0b10000000;        //???2ms
  9.     _intc0 = 0b10001001;        //???????? ??T????
  10.     // _scc  =  0b11100000;//????? 32K*/
  11.     // _emi = 1;
  12.     // _te = 1;
  13.     //IO
  14.     PA   = 0b00000000;        //????
  15.     PAPU = 0b00000000;        //???????
  16.     PAC  = 0b00000000;        //???
  17.         
  18.     while(1)
  19.     {
  20.         _clrwdt();  //watch dog clr
  21.                  _pa6 = _pa5; // V1.0
  22.                 if(s_ubTimeFlag)
  23.         {
  24.             s_ubTimeFlag = 0;
  25.             
  26.                         

  27.         }
  28.         
  29.         
  30.                
  31.         // _pa6 = _tf;
  32.                
  33.                 // _pa5 = s_ubTimeFlag;
  34.     }

  35. }





  36.    
  37. // DEFINE_ISR(Time,0x0c)
  38. void __attribute((interrupt(0x0C))) Time(void)
  39. {               
  40.         // _t0af=0;
  41.    
  42.                 // _tf = 0;
  43.         
  44.         _emi = 0;
  45.                
  46.         // s_ubTimeFlag = 1;

  47.         
  48.         _pa5 = 1; // V1.0
  49.         
  50.         

  51.         
  52.         // _pa6 = ~_pa6; // V1.0
  53.             

  54.         
  55.         _tf = 0;
  56.         _emi = 1;



  57.         // if(++s_ubTimeMs >= MSTime)
  58.         // {
  59.         //     s_ubTimeMs = 0;

  60.         // }
  61.         
  62. }
复制代码
请各位大神看看是怎么一回事 我用68F0021是没什么问题的 一改66f0021就跪下了
回复

使用道具 举报

ID:301191 发表于 2022-6-29 22:42 | 显示全部楼层
顶一下
回复

使用道具 举报

ID:401564 发表于 2022-6-30 02:19 | 显示全部楼层
定时器在单片机上只是入门问题而已,认真看一下数据手册,一般就能解决问题
最主要的是合泰单片机并不是8051,烧录器太贵了,学的人不多,所以,没法帮你验证
回复

使用道具 举报

ID:1023753 发表于 2022-6-30 08:07 | 显示全部楼层
中断里做个标志,用个灯显示下,就知道有没有工作了
回复

使用道具 举报

ID:272269 发表于 2022-7-1 12:52 | 显示全部楼层
发现解决方法了 合泰 的V2 和 V3的 编译器不一样
编译起来 对C的编译优化不一样 当看了编译完的汇编 V3的 直接给了个等待指令在哪里
中断到是编译了  
解决方法:
修改编译优化的策略 再看了一下编译后的输出汇编  原本的等待就没了
就可以开始运作了
回复

使用道具 举报

ID:329625 发表于 2022-7-1 19:35 | 显示全部楼层
大小写的问题吗
回复

使用道具 举报

ID:401564 发表于 2022-7-2 15:59 | 显示全部楼层
jizi 发表于 2022-7-1 12:52
发现解决方法了 合泰 的V2 和 V3的 编译器不一样
编译起来 对C的编译优化不一样 当看了编译完的汇编 V3的 ...

合泰这玩意我用过,非常不友好
编译器最好不要动,默认值就好
如果会汇编,能用汇编就用汇编,对C的支持并没有8051那么爽快
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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