菜鸟关于定时器的问题

[复制链接]
2168|3
 楼主| qiangdao 发表于 2007-5-11 10:26 | 显示全部楼层 |阅读模式
我用伟福6000的编译器;在编写一个定时程序时,总是编译出错;<br />选用timer0的mode0<br />mov&nbsp;th0,#(8192-5000)/32<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;thl,#(8192-5000).mod.32()<br />一是找不到mod指令,为为定义指令;<br />如果用mode1<br />mov&nbsp;th0,#&gtcount<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mov&nbsp;tl0,#&ltcount(count=-50000)<br />编译后又出现操作数th0&nbsp;出错!<br />我不明白;望高手指教<br />(我也发过一篇相关的贴子,有人回我说mod不常用!不知道常用的设定timer计数该怎么写)
maychang 发表于 2007-5-11 10:41 | 显示全部楼层

好像看过楼主先前的帖

楼主是否先用过C语言写51单片机程序,现在改用汇编?<br />感觉楼主是拿C语言往汇编上套。<br /><br />汇编中要给16位定时/计数器赋值,多数汇编软件应该是用两条指令分别给定时/计数器高低字节赋值。例如<br />MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TH0,#0FCH<br />MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TL0,#0C0H<br />所赋之值当然需要自己先计算好。<br />某些软件(不是所有汇编软件都支持)支持HIGH和LOW伪指令<br />MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TH0,#HIGH(COUNT)<br />MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TL0,#LOW(COUNT)
ayb_ice 发表于 2007-5-11 11:16 | 显示全部楼层

随便说说

mov&nbsp;thl,#(8192-5000).mod.32()<br />上面都是些啥东东,不出错才怪...<br />可以用mod,但用法错了...
 楼主| qiangdao 发表于 2007-5-11 18:33 | 显示全部楼层

回2楼楼主

谢谢您的指点;按您的方法问题基本解决了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

27

主题

162

帖子

1

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