微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于单片机控制的铁道口报警

基于单片机控制的铁道口报警

时间:11-13 来源:互联网 点击:

MOV DPTR,#LEDSEG
SETB P2.7
MOV A,CCOUNT
MOVC A,@A+DPTR
MOV P0,A
LCALL DELAYDIS
CLR P2.7

SETB P2.5
MOV A,45H
MOVC A,@A+DPTR
MOV P0,A
LCALL DELAYDIS
CLR P2.5
SETB P2.4
MOV A,44H
MOVC A,@A+DPTR
MOV P0,A
LCALL DELAYDIS
CLR P2.4
SETB P2.3
MOV A,43H
MOVC A,@A+DPTR
XRL A,#80H
MOV P0,A
LCALL DELAYDIS
CLR P2.3
SETB P2.2
MOV A,42H
MOVC A,@A+DPTR
MOV P0,A
LCALL DELAYDIS
CLR P2.2
SETB P2.1
MOV A,41H
MOVC A,@A+DPTR
XRL A,#80H
MOV P0,A
LCALL DELAYDIS
CLR P2.1
SETB P2.0
MOV A,40H
MOVC A,@A+DPTR
MOV P0,A
LCALL DELAYDIS
CLR P2.0
RET

LEDSEG: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0BFH ;0,1,2,3,4,5,6,7,8,9

DELAYDIS:MOV R6,#4 ;延时程序1
D1: MOV R7,#250
DJNZR7,$
DJNZR6,D1
RET

INTM1: MOV TH1,#3CH ;中断1程序
MOV TL1,#0B0H
INC BUF2
MOV A,BUF2
CJNE A,#20,QUITINTM1 ;如果等于20则正好1秒到
MOV BUF2,#00H
MOV A,SBF
ADD A,#1
DA A
MOV SBF,A
CJNE A,#60H,QUITINTM1
MOV SBF,#00H
MOV A,MBF
ADD A,#1
DA A
MOV MBF,A
CJNE A,#60H,QUITINTM1
MOV MBF,#00H
MOV A,HBF
ADD A,#1
DA A
MOV HBF,A
CJNE A,#24H,QUITINTM1
MOV HBF,#00H

QUITINTM1:
RETI

INTM0: ;中断0程序
MOV TH0,#3CH ;定时器0定时50ms
MOV TL0,#0B0H
JB PSW.1 ,MOTOR
CPL P3.2
JMP ENDINTM0
MOTOR: SETB P3.7
CLR P3.6
INC BUF1
MOV A,BUF1
CJNE A,#150,ENDINTM0 ;如果等于则正好1秒到
MOV BUF1,#00H
CLR P3.6
CLR P3.7
CLR PSW.1
CLR TR0
ENDINTM0:RETI
KEY_SCAN:MOV R0,#0F7H ;键盘扫描程序
MOV R1,#00H
WC1: MOV A,R0
MOV P1,A
MOV A,P1
MOV R2,A
SETB C
MOV R3,#04H
WC2:RLC A
JNC KEY
WC3:INC R1
DJNZ R3,WC2
MOV A,R0
SETB C
RRC A
MOV R0,A
JC WC1
LJMP KEY_SCAN
KEY:LCALL DTENMS
MOV A,P1
XRL A,R2
JNZ WC3
WC4:MOV A,P1
XRL A,R2
JZ WC4
MOV A,R1
MOV DPTR,#TAB
MOVC A,@A+DPTR
RET
DTENMS:MOV R6,#6
DD1:MOV R7,#248
DJNZ R7,$
DJNZ R6,DD1
RET
TAB:DB 07H,08H,09H,09H,04H,05H,06H,06H,01H,02H,03H,03H,00H,00H,0EH,0FH ;对应位置的数据
END


Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top