打印
[国产单片机]

仪隆单片机高手,请教一个关于定时器中断的问题

[复制链接]
2950|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
kapo|  楼主 | 2007-3-8 15:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
仪隆单片机达人:
    目前我有用EM78P153和EM78P156两款单片机,在使用过程中,我发现其内部定时中断不准确是什么原因?是不是我设置或者在打开定时器时有误?目前我是用4MHZ的晶振,你们能否帮忙提供一个关于内部定时器的设置分频及中断处理的案例参考一下,谢谢! 

相关帖子

沙发
oubill| | 2007-3-9 13:11 | 只看该作者

Hi

153s、156兼容片需要不?

使用特权

评论回复
板凳
cmm1016| | 2007-3-11 21:19 | 只看该作者

好像是有问题。。

有同感,发现是不准,会有时跑快,有时跑慢。。。

使用特权

评论回复
地板
龙月| | 2007-3-12 13:06 | 只看该作者

呵呵~

  

使用特权

评论回复
5
koolean| | 2007-3-17 12:11 | 只看该作者

答楼主问题

如果采用晶振的话,定时不准会有一下几个原因,一个是你在程序某些地方修改了TCC的数值,从而导致每次进入TCC的中断不准;二是如果你是在仿真的时候调整好的TCC参数,转用晶振时也是会有误差的,因为仿真有可能使用的是RC振荡或者陶振,还有就是如果芯片不断受到干扰,也有可能产生以上现象。下面的链接是有关TCC的程序例子,或许对你有用
相关链接:https://bbs.21ic.com/upfiles/img/20073/2007317121047265.zip

使用特权

评论回复
6
jeoge| | 2007-4-17 15:46 | 只看该作者

貼一個比較實用完整和經典的時間中斷EMC程序給你參考

    平時看到一些網友貼一些不入流的程序給別人看,浪費別人的時間,很氣憤,作得不好就不要貼嘛!拿出來丟人現眼.
    看到樓主有這些困惑,我作為EMC單片機愛好者,貼一個比較正規一點的時間中斷程序給大家分享,歡迎大家評論是非.
    平常我把這個程序作為結構化程序的一個模塊,此程序需要在START程序里進行設置一些中斷參數,至於怎樣設置,這麼簡單的問題靠你自已,總不至於不動腦就可以得到我的真傳吧!
;*****************************

       ORG 0X000
       JMP START ;跳到初始化設置程序
       ORG 0X008
 
;************時間中斷入口****************       
       MOV   A_BUF,A  ;累加器數據先暫存
       SWAP  A_BUF    
       SWAPA STATUS    ;態狀寄存器先暫存
       MOV   STATUS_BUF,A
INT_TIME:
       MOV A,@136 ;
       ADD TCC,A       
;*****************EM78P153用此參數比較準******************************

       INC T_1MS
       MOV A,@8   ;125*8 等於1MS
       SUB A,T_1MS
       JBS STATUS,Z
       JMP INT_OUT
       CLR T_1MS
       BS  F_TIME,F_1MS
       BS  F_TIME,F_1MS1
;       bs  f_time,f_1ms2
;********************************************
       INC T_10MS 
       MOV A,@10
       SUB A,T_10MS
       JBS STATUS,Z
       JMP INT_OUT
       CLR T_10MS
       bs  f_time,f_10ms
       bs  f_time,f_10ms1       
;********時間中斷出口*****************
INT_OUT:
       CLR  RF
       SWAPA STATUS_BUF   ;恢復狀態寄存器
       MOV STATUS,A
       SWAPA A_BUF        ;恢復累加器
       RETI               ;中斷進行完畢跳回原處

使用特权

评论回复
7
koolean| | 2007-4-17 17:32 | 只看该作者

两个楼上的都已经基本说清楚了

我再补充一些东西,调试程序的时候,你可以先调试好TCC的定时部分,而将其他部分全部屏蔽,调试好TCC以后,在逐步逐步增加调试子程序。这样有助于帮你分析哪里出现问题。

使用特权

评论回复
8
kapo|  楼主 | 2007-4-20 09:38 | 只看该作者

谢谢各位!

使用特权

评论回复
9
独占一江秋| | 2007-4-21 15:50 | 只看该作者

oubill

你的芯片哪产的?什么牌子?153多少钱一片?

使用特权

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

本版积分规则

35

主题

137

帖子

0

粉丝