📄 12864.asm
字号:
ADD A,#48
MOV DIS_BUF_L11,A
MOV A,B
ADD A,#48
MOV DIS_BUF_L12,A
MOV DIS_BUF_L13,#3AH;":"
MOV A,DIS_S
MOV B,#10
DIV AB
ADD A,#48
MOV DIS_BUF_L14,A
MOV A,B
ADD A,#48
MOV DIS_BUF_L15,A
RET
;************显示处理程序*********************
DISPLAY_PRO: MOV R0,#00H
LCALL LCD_POS
MOV R0,DIS_BUF_U0
LCALL LCD_WDAT
MOV R0,DIS_BUF_U1
LCALL LCD_WDAT
MOV R0,DIS_BUF_U2
LCALL LCD_WDAT
MOV R0,DIS_BUF_U3
LCALL LCD_WDAT
MOV R0,DIS_BUF_U4
LCALL LCD_WDAT
MOV R0,DIS_BUF_U5
LCALL LCD_WDAT
MOV R0,DIS_BUF_U6
LCALL LCD_WDAT
MOV R0,DIS_BUF_U7
LCALL LCD_WDAT
MOV R0,DIS_BUF_U8
LCALL LCD_WDAT
MOV R0,DIS_BUF_U9
LCALL LCD_WDAT
MOV R0,DIS_BUF_U10
LCALL LCD_WDAT
MOV R0,DIS_BUF_U11
LCALL LCD_WDAT
MOV R0,DIS_BUF_U12
LCALL LCD_WDAT
MOV R0,DIS_BUF_U13
LCALL LCD_WDAT
MOV R0,DIS_BUF_U14
LCALL LCD_WDAT
MOV R0,DIS_BUF_U15
LCALL LCD_WDAT
MOV R0,#90H
LCALL LCD_WCMD
MOV R0,DIS_BUF_L0
LCALL LCD_WDAT
MOV R0,DIS_BUF_L1
LCALL LCD_WDAT
MOV R0,DIS_BUF_L2
LCALL LCD_WDAT
MOV R0,DIS_BUF_L3
LCALL LCD_WDAT
MOV R0,DIS_BUF_L4
LCALL LCD_WDAT
MOV R0,DIS_BUF_L5
LCALL LCD_WDAT
MOV R0,#' '
LCALL LCD_WDAT
MOV R0,#' '
LCALL LCD_WDAT
MOV R0,DIS_BUF_L8
LCALL LCD_WDAT
MOV R0,DIS_BUF_L9
LCALL LCD_WDAT
MOV R0,DIS_BUF_L10
LCALL LCD_WDAT
MOV R0,DIS_BUF_L11
LCALL LCD_WDAT
MOV R0,DIS_BUF_L12
LCALL LCD_WDAT
MOV R0,DIS_BUF_L13
LCALL LCD_WDAT
MOV R0,DIS_BUF_L14
LCALL LCD_WDAT
MOV R0,DIS_BUF_L15
LCALL LCD_WDAT
MOV R0,#88h ;显示广告
LCALL lcd_wcmd
MOV DPTR,#LINE2
MOV R7,#10h
LCALL entline
MOV R0,#98h ;显示纪念日
LCALL lcd_wcmd
MOV DPTR,#LINE1
LCALL JNR
MOV R7,#10h
LCALL entline
RET
;**********LCD忙标志BF测试程序**************
BF_TEST: PUSH ACC ;保护ACC数据
CLR RS ;RS=0
SETB RW ;RW=1
SETB EP ;E=高电平
NOP
NOP
NOP
NOP
MOV COMDAT,#0FFH ;将comdat口置1,保证后面数据正确读入(由 comdat口结构决定)
WT_BF: NOP ;
JB COMDAT.7,WT_BF ;DB7=0 LCD控制器空闲,DB7=1 LCD控制器忙
CLR EP
POP ACC ;释放ACC数据
RET
;**********LCD指令写入程序******************
;程序入口:R0
LCD_WCMD: LCALL BF_TEST ;检测忙标志
CLR RS
CLR RW
CLR EP
NOP
NOP
MOV COMDAT,R0
NOP
NOP
NOP
NOP
SETB EP
NOP
NOP
NOP
NOP
CLR EP
RET
;**************************88
ENTLINE: CLR A
MOVC A,@A+DPTR ;查表取数据
MOV R0,A
LCALL lcd_wdat ;送显示
INC DPTR
DJNZ R7,entline
RET
;**********LCD数据写入程序****************
;程序入口:R0
LCD_WDAT: LCALL BF_TEST ;检测忙标志
SETB RS
CLR RW
CLR EP
NOP
NOP
MOV COMDAT,R0
NOP
NOP
NOP
NOP
SETB EP
NOP
NOP
NOP
NOP
CLR EP
RET
;**********LCD数据指针位置子程序**************
;程序入口:R0
LCD_POS: MOV A,R0
ORL A,#80H
MOV R0,A
LCALL LCD_WCMD
RET
;**********纪念日子程序********************
JNR: MOV A,MONTH ;判断月份
CJNE A,#01,M2
MOV A,DATE ;判断纪念日
CJNE A,#01,D12
MOV DPTR,#J0101
LJMP MM
D12:MOV A,DATE ;判断纪念日
CJNE A,#28,MM1
MOV DPTR,#J0128
MM1: LJMP MM
M2: CJNE A,#02,M3 ;判断月份
MOV A,DATE
CJNE A,#02,D22
MOV DPTR,#J0202
LJMP MM
D22:MOV A,DATE
CJNE A,#14,MM2
MOV DPTR,#J0214
MM2:LJMP MM
M3: CJNE A,#03,M4 ;判断月份
MOV A,DATE
CJNE A,#01,D32
MOV DPTR,#J0301
LJMP MM
D32:MOV A,DATE
CJNE A,#03,D33
MOV DPTR,#J0303
LJMP MM
D33:MOV A,DATE
CJNE A,#08,D34
MOV DPTR,#J0308
LJMP MM
D34:MOV A,DATE
CJNE A,#12,D35
MOV DPTR,#J0312
LJMP MM
D35:MOV A,DATE
CJNE A,#13,D36
MOV DPTR,#J0313
LJMP MM
D36:MOV A,DATE
CJNE A,#14,D37
MOV DPTR,#J0314
LJMP MM
D37:MOV A,DATE
CJNE A,#15,D38
MOV DPTR,#J0315
LJMP MM
D38:MOV A,DATE
CJNE A,#17,D39
MOV DPTR,#J0317
LJMP MM
D39:MOV A,DATE
CJNE A,#21,D310
MOV DPTR,#J0321
LJMP MM
D310:MOV A,DATE
CJNE A,#22,D311
MOV DPTR,#J0322
LJMP MM
D311:MOV A,DATE
CJNE A,#22,MM3
MOV DPTR,#J0322
MM3:LJMP MM
M4: CJNE A,#04,M5 ;判断月份
MOV A,DATE
CJNE A,#01,D42
MOV DPTR,#J0401
LJMP MM
D42:MOV A,DATE
CJNE A,#07,D43
MOV DPTR,#J0407
LJMP MM
D43:MOV A,DATE
CJNE A,#08,D44
MOV DPTR,#J0408
LJMP MM
D44:MOV A,DATE
CJNE A,#13,MM4
MOV DPTR,#J0413
MM4:LJMP MM
M5: CJNE A,#05,M6 ;判断月份
MOV A,DATE
CJNE A,#01,D52
MOV DPTR,#J0501
LJMP MM
D52:MOV A,DATE
CJNE A,#04,D53
MOV DPTR,#J0504
LJMP MM
D53:MOV A,DATE
CJNE A,#05,D54
MOV DPTR,#J0505
LJMP MM
D54:MOV A,DATE
CJNE A,#08,D55
MOV DPTR,#J0508
LJMP MM
D55:MOV A,DATE
CJNE A,#12,D56
MOV DPTR,#J0512
LJMP MM
D56:MOV A,DATE
CJNE A,#12,D57
MOV DPTR,#J0512
LJMP MM
D57:MOV A,DATE
CJNE A,#15,D58
MOV DPTR,#J0515
LJMP MM
D58:MOV A,DATE
CJNE A,#31,MM5
MOV DPTR,#J0531
MM5:LJMP MM
M6: CJNE A,#06,M7 ;判断月份
MOV A,DATE
CJNE A,#01,D62
MOV DPTR,#J0601
LJMP MM
D62:MOV A,DATE
CJNE A,#05,D63
MOV DPTR,#J0605
LJMP MM
D63:MOV A,DATE
CJNE A,#06,D64
MOV DPTR,#J0606
LJMP MM
D64:MOV A,DATE
CJNE A,#13,D65
MOV DPTR,#J0613
LJMP MM
D65:MOV A,DATE
CJNE A,#26,MM6
MOV DPTR,#J0626
MM6:LJMP MM
M7: CJNE A,#07,M8 ;判断月份
MOV A,DATE
CJNE A,#01,D72
MOV DPTR,#J0701
LJMP MM
D72:MOV A,DATE
CJNE A,#07,D73
MOV DPTR,#J0707
LJMP MM
D73:MOV A,DATE
CJNE A,#11,MM7
MOV DPTR,#J0711
MM7:LJMP MM
M8: CJNE A,#08,M9 ;判断月份
MOV A,DATE
CJNE A,#01,D82
MOV DPTR,#J0801
LJMP MM
D82:MOV A,DATE
CJNE A,#08,D83
MOV DPTR,#J0808
LJMP MM
D83:MOV A,DATE
CJNE A,#15,MM8
MOV DPTR,#J0815
MM8:LJMP MM
M9: CJNE A,#09,M10 ;判断月份
MOV A,DATE
CJNE A,#10,D92
MOV DPTR,#J0910
LJMP MM
D92:MOV A,DATE
CJNE A,#18,D93
MOV DPTR,#J0918
LJMP MM
D93:MOV A,DATE
CJNE A,#20,D94
MOV DPTR,#J0920
LJMP MM
D94:MOV A,DATE
CJNE A,#27,MM9
MOV DPTR,#J0927
MM9:LJMP MM
M10: CJNE A,#10,M11 ;判断月份
MOV A,DATE
CJNE A,#01,D102
MOV DPTR,#J1001
LJMP MM
D102:MOV A,DATE
CJNE A,#04,D103
MOV DPTR,#J1004
LJMP MM
D103:MOV A,DATE
CJNE A,#13,D104
MOV DPTR,#J1013
LJMP MM
D104:MOV A,DATE
CJNE A,#24,MM10
MOV DPTR,#J1024
MM10:LJMP MM
M11: CJNE A,#11,M12 ;判断月份
MOV A,DATE
CJNE A,#10,D112
MOV DPTR,#J1110
LJMP MM
D112:MOV A,DATE
CJNE A,#17,MM11
MOV DPTR,#J1117
MM11:LJMP MM
M12: MOV A,DATE
CJNE A,#01,D122
MOV DPTR,#J1201
LJMP MM
D122:MOV A,DATE
CJNE A,#23,D123
MOV DPTR,#J1223
LJMP MM
D123:MOV A,DATE
CJNE A,#24,D124
MOV DPTR,#J1224
LJMP MM
D124:MOV A,DATE
CJNE A,#25,MM
MOV DPTR,#J1225
LJMP MM
MM: RET
;**********延时约5ms子程序********************
DELAY_5ms: MOV R7,#0B0H
DELAY1: MOV R6,#3CH
DELAY2: DJNZ R6,DELAY2
DJNZ R7,DELAY1
RET
;**********延时约100ms子程序********************
DELAY_200ms: MOV R5,#14H
DELAY21: LCALL DELAY_5ms
DJNZ R5,DELAY21
RET
;***********星期自动运算月参变数**************
MONTH_TAB: DB 0
DB 0
DB 3
DB 3
DB 6
DB 1
DB 4
DB 6
DB 2
DB 5
DB 0
DB 3
DB 5
LINE2: DB 'XL2000综合实验仪'
LINE1: DB " 快乐每一天 "
J0101: DB "Happy New Year!!"
J0128: DB " 世界麻风日 "
J0202: DB " 世界湿地日 "
J0214: DB " 今天是情人节 "
J0301: DB " 国际海豹日 "
J0303: DB " 全国爱耳日 "
J0308: DB " 三八妇女节 "
J0312: DB " 植树节 "
J0313: DB " 世界气象日 "
J0314: DB "世界防治结核病日"
J0315: DB " 消费者权益日 "
J0317: DB " 国际航海日 "
J0321: DB " 世界森林日 "
J0322: DB " 世界水日 "
J0401: DB "愚人节 小心上当"
J0407: DB " 世界卫生日 "
J0408: DB " 复活节 "
J0413: DB " 黑色星期五 "
J0501: DB " 国际劳动节 "
J0504: DB " 青年节 "
J0505: DB "近日注意母亲节 "
J0508: DB " 世界红十字日 "
J0512: DB " 汶川大地震 "
J0515: DB " 国际家庭日 "
J0531: DB " 世界无烟日 "
J0601: DB " 国际儿童节 "
J0605: DB " 世界环境日 "
J0606: DB " 全国爱眼日 "
J0613: DB "近日注意父亲节 "
J0626: DB " 国际禁毒日 "
J0701: DB "中国共产党的生日"
J0707: DB "抗日战争记念日 "
J0711: DB " 世界人口日 "
J0801: DB " 八一建军节 "
J0808: DB " 中国男子节 "
J0815: DB "抗战胜利记念日 "
J0910: DB " 中国教师节 "
J0918: DB "九一八事变纪念日"
J0920: DB " 国际爱牙日 "
J0927: DB " 世界旅游日 "
J1001: DB " 中国国庆节 "
J1004: DB " 世界动物日 "
J1013: DB " 国际教师节 "
J1024: DB " 联合国日 "
J1110: DB " 世界青年节 "
J1117: DB " 世界学生节 "
J1201: DB " 世界艾滋病日 "
J1223: DB " 明晚平安夜 "
J1224: DB " 今晚平安夜 "
J1225: DB " 圣诞快乐 "
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -