标题: 我把 MOV TMOD,001H中的001h变成#001h P2.0闪烁就慢很多,#不加就快很多,有人知道是... [打印本页]

作者: 新手0000222    时间: 2016-7-10 16:18
标题: 我把 MOV TMOD,001H中的001h变成#001h P2.0闪烁就慢很多,#不加就快很多,有人知道是...
org 0000h
LJMP MAIN
ORG 000BH
LJMP INTO

MAIN:
MOV TMOD,001H
MOV TL0,#0B0H
MOV TH0,#3CH
MOV R1,#20
SETB TR0
SETB ET0
SETB EA
SJMP $

INTO:
MOV TL0,#0B0H
MOV TH0,#3CH
DJNZ R1,EXIT
MOV R1,#20
CPL P2.0

EXIT:
RETI
作者: 木东    时间: 2016-7-10 20:30
MOV TMOD,001H,定时方式变了吧
作者: zl2168    时间: 2016-7-10 22:28
木东 发表于 2016-7-10 20:30
MOV TMOD,001H,定时方式变了吧

错!TMOD后是立即数,需加#号。
作者: yzwzfyz    时间: 2016-7-11 01:03
MOV TMOD,001H =  MOV TMOD,R1 ;(R1里是什么,不得而知)
MOV TMOD,#001H = MOV TMOD, #00000001B
作者: ahshmj    时间: 2016-7-11 16:35
"MOV  TMOD, 001H"表示将片内RAM中001H单元中(也是当RS0=0、RS1=0时的R1的单元)的内容赋给TMOD。一般不进行赋值时其值为“0”,指令执行的结果就是TIME1工作于13位定时器状态,最大溢出值为十进制的8191。
"MOV  TMOD, #001H"表示将立即数1赋给TMOD。指令执行的结果就是TIME1工作于16位定时器状态,最大溢出值为十进制的65536。
因此13位定时器比16位定时器要快8倍。




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1