51单片机定时器的汇编语言程序编程,

51单片机定时器的汇编语言程序编程,,第1张

这么简单的要求,不用大动干戈

看看下面的程序,是不是最简单:

ORG 0000H

SETB TR0 启动T0

MOV R2, #250 定时计数初值

LOOP:

MOV TH0, #(8192 - 8000) / 32 定时8ms

MOV TL0, #(8192 - 8000) MOD 32

JNB TF0, $ 等待8ms

CLR TF0

DJNZ R2, LOOP 每隔8ms,R2减一次一

CPL P1.0 R2为0则LED亮灭转换

LJMP 0000H

END

本程序,已经实验成功。

试试下列程序:

ORG 0000H

SJMP BEGIN

ORG 000BH

MOV TH0, #3CH 定时100ms

MOV TL0, #0B0H

DJNZ R7, E_T0

MOV R7, #5

SETB F0 每500ms置一

E_T0:RETI

------------------------------------

BEGIN:

MOV TMOD, #01H T0定时方式1

MOV TH0, #3CH 50ms@12MHz

MOV TL0, #0B0H 100ms@6MHz

MOV R7, #5

SETB TR0

SETB ET0

SETB EA

------------------------

M_LOOP:

MOV A, #255

L1:

MOV P1, A

JNB F0, $

CLR F0

CLR C

RLC A

JCL1

------------------------

L2:

MOV P1, A

JNB F0, $

CLR F0

SETB C

RRC A

JNC L2

------------------------

MOV R2, #8 全亮全灭8次

L3:

MOV P1, #0 全亮

JNB F0, $

CLR F0

MOV P1, #255全灭

JNB F0, $

CLR F0

DJNZ R2, L3

------------------------

JMP M_LOOP

------------------------------------

END

本程序可实现:

L1-L8依次点亮----L1-L8依次熄灭----8个灯全亮全灭8次~循环 各时序间隔0.5s。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/11383790.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存