微机原理 51单片机习题 程序清单

微机原理 51单片机习题 程序清单,第1张

ORG 0000H

LJMP MAIN

ORG 000BH

LJMP T0ISR

ORG 0030H

MAIN:

MOV TMOD,#01H

MOV TH0,#HIGH(65536-50000)

MOV TL0,#LOW(65536-50000)

SETB ET0

SETB EA

MOV P1,#00H

MOV R2,#23

MOV R0,#20H

MOV R3,#0

LOOP:

MOV A,@R0

JB ACC.7,LOOP1

SJMP LOOP2

LOOP1:

INC R3

LOOP2:

INC R0

DJNZ R2,LOOP

SETB TR0

MOV R2,#97

SJMP $

T0ISR:

CLR TR0

MOV TH0,#HIGH(65536-50000)

MOV TL0,#LOW(65536-50000)

SETB TR0

DJNZ R2,T0E

MOV A,R3

MOV P1,A

CLR TR0

T0E:

RETI

END

ORG3000H ;定义程序开始地址为3000H

START:MOV TMOD,#01H ;设置定时器0工作方式为1即16位定时器 。START为标号

MOVTL0,#OCH ;设置定时器0计数初值低字节;

MOVTHO,#OFEH ;设置定时器0计数初值高字节;

SETB TR0 ;运行定时饥举器0

LOOP: JBC TFO,DONE ;如果定时器0溢出,就跳到DONE执行并清除TF0标志,LOOP为标号;

SJMPLOOP ;跳转执行LOOP

DONE: MOV TL0,#OCH ;设置橡敏定时器0计数初值低字节,DONE为标号;

MOV THO,#OFEH;设置定时器0计数烂如碧初值高字节;

CPL P1.0 ;P1.0取反

SJMP LOOP ;跳转执行LOOP


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

原文地址:https://54852.com/yw/12513545.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2025-08-25
下一篇2025-08-25

发表评论

登录后才能评论

评论列表(0条)

    保存