导航:首页 > 操作系统 > 单片机汇编延时

单片机汇编延时

发布时间:2023-09-01 18:33:49

① 请问这段单片机汇编语言程序(关于定时器延时)是什么意思

DELAY:MOV
R3,#14H
;循环20次
MOV
TMOD,#10H
;定时器1工作于模式1(16位定时器)
MOV
TH1,#3CH
;赋初值,50毫秒溢出一次
MOV
TL1,#0B0H
SETB
TR1
;启动定时器1
LP1:
JBC
TF1,LP2
;溢出位为1,则清0后转移到LP2
SJMP
LP1
;否则等待TF1置1
LP2
:MOV
TH1,#3CH
;重新赋初值
MOV
TL1,#0B0H
DJNZ
R3,LP1
;20次循环完成则退出,否则转LP1
RET
;综述:以上共延时1秒。

② 单片机80c51,用汇编,编写一个延时子程序,通过调用此程序实现在p1.0输出周期为10ms的方波

ORG 0000H
AJMP MAIN
ORG 000BH
T0MS EQU NOT 5000 ; 定义定时器初值 12M晶振 5 mS = 5000 10 mS = 10000
MOV TL0, #LOW T0MS
MOV TH0, #HIGH T0MS
CPL P1.0 ; P1.0 取反 输出 10 mS的方波
REIT
MAIN:MOV TMOD,#01H
MOV TL0, #LOW T0MS
MOV TH0, #HIGH T0MS
SETB TR0 ; 启动定时器
SETB ET0 ; 开 T0 中断
SETB EA ; 开 总 中断
SJMP $
END

③ 用汇编怎么写51单片机的延时程序

DEL1S:MOV R7,#10x0dx0aD1: MOV R6,#200x0dx0aD2: MOV R5,#250x0dx0a DJNZ R5,$x0dx0a DJNZ R6,D2x0dx0a DJNZ R7,D1x0dx0a RETx0dx0ax0dx0a说明:1、如果不使用R5、R6、R7可以用别的单元替换,比如换成30H、31H、32H等等x0dx0a 2、这个程序是12M时钟,如果时钟不同,要修改数值。如6M时钟,要把MOV R7,#10 修改成:MOV R7,#5

④ 单片机精准延时汇编语言

如果是用汇编语言的话,是可以做到精准延时的。当然首先要有一个精准的时钟,也即是晶振要准确,比如使用精准的12M晶振12T模式的51单片机延时1毫秒,程序如下:
DELAY1MS:
MOVR3,#249;1
DJNZR3,$;2*249
MOVR3,#249;1
DJNZR3,$;2*249
RET;2
延时时间为:1+2*249+1+2*249+2=1000T,这里使用12M晶振,T=1微秒,所以总共延时1000微秒也即是1毫秒。如果要延时更多时间,可以采用循环方式来实现。当然在计算延时时间时要考虑到使用的单片机类型和型号,比如STC89C51是6T,DS80320是4T,STC12C5A60S2是12T,这些因数一定要考虑进去才行。

阅读全文

与单片机汇编延时相关的资料

热点内容
水环式压缩机工作原理 浏览:713
阿里云服务器安装后怎么使用 浏览:931
去做APP开户有什么危险没得啊 浏览:696
8分之1乘58算法 浏览:170
php提交过滤 浏览:356
豪斯曼检验stata命令 浏览:769
云看地是什么APP 浏览:885
数学指南pdf 浏览:858
phpcurldll64位 浏览:982
程序员脱产一年半 浏览:851
hr招程序员有什么条件 浏览:589
android开源集合 浏览:872
华为云服务器登录密码和账号 浏览:154
中世纪java程序员 浏览:788
什么开发引擎使用python 浏览:177
sh脚本运行命令 浏览:318
广联达加密锁怎么看到期 浏览:174
cad轨迹命令 浏览:981
同事刷到女程序员自媒体视频 浏览:573
校验算法的缺点是什么 浏览:719