找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3485|回复: 4
收起左侧

我把 MOV TMOD,001H中的001h变成#001h P2.0闪烁就慢很多,#不加就快很多,有人知道是...

[复制链接]
ID:129917 发表于 2016-7-10 16:18 | 显示全部楼层 |阅读模式
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
回复

使用道具 举报

ID:128531 发表于 2016-7-10 20:30 | 显示全部楼层
MOV TMOD,001H,定时方式变了吧
回复

使用道具 举报

ID:111634 发表于 2016-7-10 22:28 | 显示全部楼层
木东 发表于 2016-7-10 20:30
MOV TMOD,001H,定时方式变了吧

错!TMOD后是立即数,需加#号。
回复

使用道具 举报

ID:123289 发表于 2016-7-11 01:03 | 显示全部楼层
MOV TMOD,001H =  MOV TMOD,R1 ;(R1里是什么,不得而知)
MOV TMOD,#001H = MOV TMOD, #00000001B
回复

使用道具 举报

ID:7485 发表于 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倍。
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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