51单片机输出波形程序【汇编】

来源:本站
导读:目前正在解读《51单片机输出波形程序【汇编】》的相关信息,《51单片机输出波形程序【汇编】》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《51单片机输出波形程序【汇编】》的详细说明。

;********WAVE-E6000/T**************************
;*MCU: AT89C51 *
;*MCU-crystal: 6M *
;*Version: 00 *
;*Last Updata: *
;*Author: *
;*Description: *
;**********************************************
KEY_BUF EQU 22H ;定义为标志寄存器
C_HOUR EQU 23H
C_MINUTE EQU 24H
C_SECOND EQU 25H
;-----------------------------------------------
ORG 0000H ;
AJMP MAIN ;到主程序
ORG 000BH ;
AJMP QI ;到定时器中断0
ORG 0030H ;
;**********************************************
MAIN: MOV 21H,#00H ;清通用寄存器
MOV 22H,#00H ;
MOV 23H,#00H ;
MOV 24H,#00H ;
MOV 25H,#00H ;
MOV 26H,#00H ;
CLR 00H ;清位标志
CLR 01H ;
CLR 02H ;
CLR 03H ;
MOV TL0,#00H ;
MOV TH0,#00H ;
MOV TMOD,#01H ;设置定时器为方式1
MOV SP,#60H ;
SETB EA ;开总中断
SETB ET0 ;开定时器中断0
SETB TR0 ;定时器启动开始计数
;*********************************************
LOOP:
CALL KEY ;
CALL DISP ;
AJMP LOOP ;
;********************************************
QI: PUSH ACC ;入栈保护现场
PUSH PSW ;
CLR EA ;
CLR TR0 ;
MOV TH0,R1 ;
MOV TL0,R0 ;
CPL P1.0 '
TORETI:
SETB EA ;
SETB TR0 ;
POP PSW ;出栈
POP ACC ;
RETI ;
;*******************************************


;*******************************************
KEY:
MOV P1,#0FFH ;置P1口为1
MOV A,P1 ;
MOV KEY_BUF,A ;
CJNE A,#0FF,KEY1 ;

JB P3.0,K1 ;
AJMP KEY1 ;
K1: JB P3.1,K2 ;
AJMP KEY1 ;
K2: JB P3.2,KEY_OUT ;
AJMP KEY1 ;

KEY1:
CALL DELAY10MS ;

MOV P1,#0FFH ;置P1口为1
MOV A,P1 ;
MOV KEY_BUF,A ;
CJNE A,#0FF,KEY3 ;

KEY2: JB P3.0,K1 ;
AJMP KEY3 ;
K1: JB P3.1,K2 ;
AJMP KEY3 ;
K2: JB P3.2,K3 ;
AJMP KEY3 ;
KEY_OUT: RET ;
;------------------------------------------
KEY3:
JB P2.0,S1 ;
S1_1:
CALL DISP ;
JNB P2.0,S1_1 ;

CLR EA ;
MOV R1,#3CH ;
MOV R0,#0B0H ;

MOV C_HOUR,#00H ;10Hz
MOV C_MINUTE,#10H ;0010HZ来表示

SETB TR0 ;
SETB EA ;
AJMP KEY_OUT ;
;-----------------------------------------
S1:
JB P2.1,S2 ;
S2_2:
CALL DISP ;
JNB P2.1,S2_2 ;

CLR EA ;
MOV R1, #0D6H ;
MOV R0, #78H ;

MOV C_HOUR,#01H ;100Hz
MOV C_MINUTE,#00H ;0100HZ来表示

SETB TR0 ;
SETB EA ;
AJMP KEY_OUT ;
;----------------------------------------
S3:
JB P2.2,S4 ;
S2_3:
CALL DISP ;
JNB P2.1,S2_3 ;

CLR EA ;
MOV R1, #0F6H ;
MOV R0, #3CH ;

MOV C_HOUR,#02H ;200Hz
MOV C_MINUTE,#00H ;0200HZ来表示

SETB TR0 ;
SETB EA ;
AJMP KEY_OUT ;
;----------------------------------------
S4:


;****************************************
TAB: DB 0C0H,0F9H,0A4H,0B0H,99H
DB 92H,82H,0F8H,80H,90H
;****************************************
DISP: MOV R6,C_HOUR
MOV DPTR,#TAB
MOV A,R6
SWAP A
ANL A,#0FH
MOVC A,@A+DPTR
MOV P1,A
CLR P3.3
ACALL DL ;SEND DISPPLAY HOUR HIGHT BIT
SETB P3.3

MOV A,R6
ANL A,#0FH
MOVC A,@A+DPTR
MOV P1,A
CLR P3.5
ACALL DL
SETB P3.5 ;SEND DISPPLAY HOUR LOW BIT

MOV R7,C_MINUTE
MOV A,R7
SWAP A
ANL A,#0FH
MOVC A,@A+DPTR
MOV P1,A
CLR P3.6
ACALL DL
SETB P3.6 ;SEND DISPPLAY MINUTE HIGHT BIT

MOV A,R7
ANL A,#0FH
MOVC A,@A+DPTR
MOV P1,A
CLR P3.7
ACALL DL
SETB P3.7 ;SEND DISPLAY MINUTE LOW BIT

RET
;**************************************
DL1MS: MOV 30H,#02H ;延时1MS
DL1: MOV 31H,#0FFH
DL2: DJNZ 31H,DL2
DJNZ 30H,DL1
RET
;****************************************
DELAY10MS:
MOV R5,#3 ;延时10MS
DL1: MOV R6,#200
DL2: MOV R7,#125
DL3: DJNZ R7,DL3
DJNZ R6,DL2
DJNZ R5,DL1
RET
END

提醒:《51单片机输出波形程序【汇编】》最后刷新时间 2024-03-14 01:23:18,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《51单片机输出波形程序【汇编】》该内容的真实性请自行鉴别。