打印

给Timer的赋值语句为什么出错,大侠帮帮忙,非常谢谢!

[复制链接]
2165|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 xawanggang78 于 2010-9-5 20:29 编辑

下面是一个定时程序的一部分,在编译时,给Timer的赋值语句为什么不对,正确的赋值语句?大侠帮帮忙
MOV TH0,#(65536-MS10) / 256 ;RELOAD TH0
MOV TL0,#(65536-MS10) .MOD. 256
PUSH A
MOV A,INTR_CNT
CJNE A,#10,$1
$1 JNC $2
SETB BUZZER
SJMP $3
$2 CLR BUZZER
$3 MOV A,INTR_CNT
INC A
MOV INTR_CNT,A
CJNE A,#100,$T0_END
MOV INTR_CNT,#00H
CPL SCOPE
$T0_END POP A
RETI
;
SET_TMR0
MOV A,#01H ;TIMER MODE 1
MOV TMOD,A
MOV TH0,#(65536-MS10) / 256 ;RELOAD TH0
MOV TL0,#(65536-MS10) .MOD. 256
CLR TF0 ;CLEAR TIMER0 FLAG
SETB TR0 ;TIMER0 START COUNT
SETB ET0 ;ENABLE TIMER0 INTERRUPT
SETB EA ;ENABLE SYSTEM INTERRUPT
RET
;

相关帖子

沙发
hotpower| | 2010-9-6 00:26 | 只看该作者
#HIGH(65536-MS10),#LOW(65536-MS10)

使用特权

评论回复
板凳
冷漠| | 2010-9-6 11:29 | 只看该作者
MOV TH0,#(65536-MS10) / 256 ;RELOAD TH0
MOV TL0,#(65536-MS10) MOD 256

使用特权

评论回复
地板
xawanggang78|  楼主 | 2010-9-6 20:48 | 只看该作者
不明白,谢谢!继续

使用特权

评论回复
5
天雨粟| | 2010-9-7 19:59 | 只看该作者
楼主的第二条MOV指令有多余的字符
冷漠大侠已给你去掉了

难道汇编器没有给你提示吗?

使用特权

评论回复
6
冷漠| | 2010-9-8 09:44 | 只看该作者
MOD前后空格。

使用特权

评论回复
7
xawanggang78|  楼主 | 2010-9-9 09:43 | 只看该作者
还是不能编译,我用wave仿真程序编译,Timer的高低位能否这样赋值?不计算有没有简洁的赋值语句,谢谢
大侠指点,:handshake

使用特权

评论回复
8
冷漠| | 2010-9-9 18:05 | 只看该作者
开玩笑,你那选的是franklin A51? 环境选择Keil A51就行了。

还不行就用Keil Ax51替换你的 A51就行了。

使用特权

评论回复
9
冷漠| | 2010-9-10 09:28 | 只看该作者
好办:

MOV   DPTR,  #(65536-MS10)
MOV   TH0,  DPH
MOV   TL0,  DPL

使用特权

评论回复
10
xawanggang78|  楼主 | 2010-9-10 09:51 | 只看该作者
谢谢,冷漠大侠,非常感谢,小虾明白

使用特权

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

本版积分规则

0

主题

19

帖子

1

粉丝