毕业论文-基于单片机的电器遥控器设计 下载本文

皖西学院2014届本科毕业设计(论文)

MOV MIN,A MOV A,#85H LCALL CLOCK_RD MOV HOUR,A MOV A,#87H LCALL CLOCK_RD MOV DAY,A MOV A,#89H LCALL CLOCK_RD MOV MONTH,A MOV A,#8DH LCALL CLOCK_RD MOV YEAR,A MOV A,#8BH LCALL CLOCK_RD MOV WEEK,A RET

display1: MOV COM,#80H ;显示RAM前8位首地址 LCALL LCD_W_CMD MOV DPTR,#TAB1 MOV R1,#10H ;#08H ;前8位 ; KILL MOV R5,#00H WRIT1: MOV A,R5

MOVC A,@A+DPTR MOV DAT,A

LCALL LCD_W_DAT LCALL DELAY INC R5

DJNZ R1,WRIT1;\ MOV COM,#0C0H ;显示RAM后8位首地址 LCALL LCD_W_CMD MOV DPTR,#TAB2 MOV R1,#10H ;#08H ;后8位 MOV R5,#00H WRIT2: MOV A,R5

MOVC A,@A+DPTR MOV DAT,A

LCALL LCD_W_DAT LCALL DELAY INC R5

DJNZ R1,WRIT2; \ LCALL DELAY

31

基于单片机的电器遥控器设计

LCALL DELAY RET

DISPLAY2:MOV COM,#80H LCALL LCD_W_CMD mov dat,#32h LCALL LCD_W_DAT mov dat,#30h

;时钟显示

LCALL LCD_W_DAT;显示“20” MOV R0,#YEAR MOV DPTR,#TAB1302 MOV R6,#2 NEXT1:MOV R5,#3 NEXT:MOV A,@R0 MOV B,#10H DIV AB MOVC A,@A+DPTR MOV DAT,A LCALL LCD_W_DAT MOV A,B MOVC A,@A+DPTR MOV DAT,A LCALL LCD_W_DAT MOV DAT,#3AH LCALL LCD_W_DAT DEC R0 DJNZ R5,NEXT MOV COM,#0C2H LCALL LCD_W_CMD DJNZ R6,NEXT1;分两行三列显示时间年月日、时分秒 MOV COM,#0CBH LCALL LCD_W_CMD MOV DAT,#57H LCALL LCD_W_DAT MOV DAT,#65H LCALL LCD_W_DAT MOV DAT,#65H LCALL LCD_W_DAT

皖西学院2014届本科毕业设计(论文)

MOV DAT,#6BH

LCALL LCD_W_DAT;显示“WEEK\ MOV A, WEEK ANL A,#07H MOVC A,@A+DPTR MOV DAT,A LCALL LCD_W_DAT;显示星期 RET

LCD_R_STAT:SETB RW LCALL NOP5 CLR RS LCALL NOP5 SETB E LCALL NOP5 MOV A,LCD_PORT LCALL NOP5 CLR E LCALL NOP5 CLR RW RET LCD_W_DAT:PUSH ACC

LCD_W_DAT_A:LCALL LCD_R_STAT

JNB ACC.7,LCD_W_DAT_B LCALL DELAY100US SJMP LCD_W_DAT_A LCD_W_DAT_B: CLR RW LCALL NOP5 SETB RS LCALL NOP5 SETB E LCALL NOP5 MOV A,DAT MOV LCD_PORT,A LCALL NOP5 CLR E LCALL NOP5 SETB RW POP ACC RET

33

基于单片机的电器遥控器设计

LCD_W_CMD:PUSH ACC

LCD_W_CMD_A:LCALL LCD_R_STAT

JNB ACC.7,LCD_W_CMD_B LCALL DELAY100US SJMP LCD_W_CMD_A LCD_W_CMD_B: CLR RW LCALL NOP5 CLR RS LCALL NOP5 SETB E LCALL NOP5 MOV A,COM MOV LCD_PORT,A LCALL NOP5 CLR E LCALL NOP5 SETB RW POP ACC RET

CLOCK_RD:CLR RST CLR SCLK SETB RST ; MOV R2,#8 RDS1:RRC A MOV IO,C CLR SCLK nop SETB SCLK DJNZ R2,RDS1 NOP SETB IO MOV R2,#8

RDS2: CLR SCLK nop MOV C,IO RRC A SETB SCLK DJNZ R2,RDS2;注意读数据的时序不能弄错 RET