升降国旗系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
K1 EQU P2.0 ;shengqi
K2 EQU P2.1 ;jiangqi
K3 EQU P2.2 ;jiangbanqi
K4 EQU P2.3 ;zanting
K5 EQU P2.4 ;fuwei
ORG 0000h
MAIN: ;MOV DPTR,#TAB1
MOV R0,#0 ;初始角度
MOV R4,#0 ;查表初值
MOV P1,R0 ;初始角度,0度WAIT:
JNB K1 , shengqi
JNB K2 , jiangqi
JNB K3 ,jiangbanqi
JNB K4, zanting
SJMP WAIT
shengqi:;MOV P3 ,0FFH ;调用语音
JNB K4,zanting ; 暂停判断
MOV A,R4
MOV DPTR,#TAB1
MOVC A,@A+DPTR
MOV P1,A
ACALL DELAY ;延时
INC R4 ;正转升旗 CJNE R4,#8 , shengqi
INC R3
MOV A,R3
LCALL DISPLAY
MOV R4,#00H
CJNE R3,#9 , shengqi ;升到顶端自动停下,转的圈数
MOV R4,#8
JB K2 , $
jiangqi:
JNB K4,zanting ; 暂停判断
MOV A,R4
MOV DPTR,#TAB1
MOVC A,@A+DPTR
MOV P1,A
ACALL DELAY ;延时
DEC R4 ;反转降旗
CJNE R4,#0 , jiangqi
DEC R3
MOV A,R3
LCALL DISPLAY
MOV R4,#08H
CJNE R3,#0 , jiangqi ;降完旗帜自动停下
LJMP MAIN
jiangbanqi: MOV P3 ,0FFH ;调用语音
JNB K4,zanting ; 暂停判断
F1: MOV A,R4
MOVC A,@A+DPTR
MOV P1,A
ACALL DELAY ;延时
INC R4 ;正转升旗
CJNE R4,#07 , F1
INC R3
MOV R4,#00H
CJNE R3,#05 , F1 ;升到顶端自动停下,转的圈数
ACALL DELAY
ACALL DELAY
ACALL DELAY
ACALL DELAY
MOV R4,#07
F2: MOV A,R4
MOVC A,@A+DPTR
MOV P1,A
ACALL DELAY ;延时
DEC R4 ;反转降旗
CJNE R4,#0 , F2
;MOV R3,#2 ;初值
DEC R3
MOV R4,#07H
CJNE R3,#2 , F2 ;降下旗帜三分之一自动停下
LJMP MAIN
zanting:MOV P1,#00H ;关闭电机
MOV P3,#00H ;关闭显示和语音
LJMP MAIN
;显示控制子程序
DISPLAY:MOV A,R3
MOV B,#10
DIV AB
CLR P3.6
MOV DPTR,#TABLE
MOVC A,@A+DPTR
MOV P0,A
LCALL DELAY2
SETB P3.6
MOV A,B
CLR P3.7
MOV DPTR,#TABLE
MOVC A,@A+DPTR
MOV P0,A
LCALL DELAY2
SETB P3.7
RET
TABLE: DB 3FH,06H,5BH,4FH,66H
DB 6DH,7DH,07H,7FH,6FH
DELAY2: MOV R6,#100
D1: MOV R7,#250
DJNZ R7,$
DJNZ R6,D1
RET
;----------延时5*128*256*2=262144us=262ms DELAY:MOV R6,#1
DD1: MOV R5,#0H
DD2: MOV R7,#0
DD3: DJNZ R7,DD3
DJNZ R5,DD2
DJNZ R6,DD1
RET
TAB1:
DB 08H,09H,01H,03H ;A、AD、D、CD
DB 02H,06H,04H,0CH ;C、BC、B、AB
END