51单片机倒计数编程

51单片机倒计数编程,第1张

;假设条件:

;A 采用共阳极数码管

;B P2口控制LED的段码,p20接A段,负输出有效

;C P1口控制位码,P10接最高位,P13接最高位,负输出有效。

;D 晶振采用12M

;E 数码管显示05S后自动加1

;程序

ORG 0000H

LJMP 0080H

ORG 0030H

VAR1:DS 1 ;高位数据

VAR2:DS 1 ;低位数据

VAR3:DS 1 ;数码管位状态

VAR4:DS 1 ;暂存

VAR5:DS 1 ;周期

ORG 0080H

MOV SP, #60H

;初始状态为0000

MOV VAR1, #00H

MOV VAR2, #00H

MOV VAR3, #01H

;==关闭数码管====

MOV P1, #0FFH

MOV P2, #0FFH

MOV VAR5, #12

INT:

;==================================================

ACALL AJTDATA ;将两位数据调整成按每位输出的单独数据

ACALL OUTSIM ;数码管显示程序

;===================================================

;==以上两个小程序执行的时间约为40MS,

;所以,当延时12次以后,程序运行了480ms,

;子程序ADDONE就是等待约05秒后,显示数据自动加1

ACALL ADDONE

LJMP INT

ADDONE:

DJNZ VAR5, EXITADD

MOV VAR5, #12

MOV A, VAR2

CLR C

ADDC A, #01H

DA A

MOV VAR2, A

MOV A, VAR1

ADDC A, #00H

DA A

MOV VAR1, A

EXITADD:

RET

AJTDATA:

MOV R0, #VAR4

;最高位

MOV A, VAR1

SWAP A

ANL A, #0FH

MOV @R0, A

;第二位

INC R0

MOV A, VAR1

ANL A, #0FH

MOV @R0, A

;第三位

INC R0

MOV A, VAR2

SWAP A

ANL A, #0FH

MOV @R0, A

;第四位

INC R0

MOV A, VAR2

ANL A, #0FH

MOV @R0, A

RET

OUTSIM:

MOV R0, #VAR4

;送第一位

MOV A, @R0

MOV DPTR, #TABLE

MOVC A, @A+DPTR

MOV P2, A

MOV P1, #01H

ACALL DEL10 ;延时10MS,以保证数码管显示时的视觉延缓时间

;送第二位

INC R0

MOV A, @R0

MOV DPTR, #TABLE

MOVC A, @A+DPTR

ANL A, #7FH ;将最高位,即小数点位清零,让其亮

MOV P2, A

MOV P1, #02H

ACALL DEL10

;送第三位

INC R0

MOV A, @R0

MOV DPTR, #TABLE

MOVC A, @A+DPTR

MOV P2, A

MOV P1, #04H

ACALL DEL10

;送第二位

INC R0

MOV A, @R0

MOV DPTR, #TABLE

MOVC A, @A+DPTR

MOV P2, A

MOV P1, #08H

ACALL DEL10

RET

DEL10: ;10MS延时程序

MOV R6, #20

DEL1:

MOV R7, #250

DJNZ R7, $

DJNZ R6, DEL1

RET

TABLE:

DB 0C0H,0F9H,0A4H,0B0H,99H,32H,82H,0F8H,80H,90H

END

>

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

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

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 P10 ;R2为0则LED亮灭转换

LJMP 0000H

END

本程序,已经实验成功。

以上就是关于51单片机倒计数编程全部的内容,包括:51单片机倒计数编程、怎么编写51单片机C程序让智能循迹小车,无论是否遇到障碍物都朝着目标走啊跪求大神解答。。、51单片机定时器的汇编语言程序编程,等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/zz/9783400.html

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

发表评论

登录后才能评论

评论列表(0条)

保存