蜂鸣器自检程序.doc: .
(1)蜂鸣器自检程序
注:以下所有框图中的判断框顺序执行都是默认为“ Y ” 主程序开始
1 r
NO1
EQU 012H
N02
EQU 0AH
N03
EQU 20H
N04
EQU 0AH
;伪指令定义变量
START: MOV
R4,#NO4
;赋初值控制循环次数
MOV
R0,#NO1
;赋初值用于修改延时参数
LOOP: SETB
;关喇叭
ACALL
DELAY
;调用延时
CLR
;开喇叭
ACALL
DELAY
;调用延时
MOV
A,R0
ADD
A,#NO3
;修改延时参数
MOV
R0,A
DJNZ
R4,L OOP
;R4为零时,转跳到LOOP
AJMP
START
;转跳到START
DELAY:
MOV
A,R0
;延时子程序
LP1:
MOV
A,R0
MOV
R3,A
LP2:
DJNZ
R3,LP2
DJNZ
R2,LP1
RET
2、七段LED显示器的自检程序
开始
选定第一位
-r
显示第一位字段子程
.序
Beep子程序
四位计数器R4=4
送位选
显示字段子程序
Beep子程序
R4减1
WEI1:
CLR
;选定第一位
CLR
CLR
LCALL
DUAN1
;调用第一位字段子程序
WEIXH:
MOV
R4,#04H
;后四位计数器初始化
MOV
R3,#0
LOOP:
MOV
DPTR,#WEI
;送位首地址
MOV
A,R3
MOVC
A,***@A+DPTR
MOV
P2,A
;送位选
LCALL
DUAN
;送字形
CALL
BEEP
;蜂鸣器响
INC
R3
DJNZ
R4,L OOP
;四位没有检查完继续检查
SJMP
WEI1
DUAN: MOV
DPTR,#ZIDUAN
;18个字段表的表首地址给dptr
MOV
R0,#18H
;a到h, 1到f共18个字形计数器
LP: MOV
A,#0
MOVC
A,***@A+DPTR
MOV
P0,A
LCALL
DELAY
INC
DPTR
DJNZ
R0,LP
;18个字形显示完否则继续循环
RET
DUAN1:
MOV
P0,#01H
;送字形b
CALL
DELAY
MOV
P0,#04H
;送字形c
CALL
DELAY
MOV
P0,#08H
;送字形g
CALL
DELAY
MOV
P0,#80H
;送字形1
CALL
DELAY
MOV
P0,#
蜂鸣器自检程序 来自淘豆网www.taodocs.com转载请标明出处.