利用ME300A实现LCD日历电子钟汇编语言Word格式.docx
- 文档编号:6802140
- 上传时间:2023-05-07
- 格式:DOCX
- 页数:26
- 大小:23.51KB
利用ME300A实现LCD日历电子钟汇编语言Word格式.docx
《利用ME300A实现LCD日历电子钟汇编语言Word格式.docx》由会员分享,可在线阅读,更多相关《利用ME300A实现LCD日历电子钟汇编语言Word格式.docx(26页珍藏版)》请在冰点文库上搜索。
P2.2
LCD使能控制
PRE
P3.4
调整键(AN3)
ADJ
P3.5
调整键(AN4)
SPK
P3.7
闹钟声音输出口
YEAR
DATA
18H
年,月,日变量
MONTH
19H
DATE
1AH
WEEK
1BH
HOUR
1CH
时,分,秒,百分之一秒变量
MIN
1DH
SEC
1EH
SEC100
1FH
HOUR_ARM
20H
闹钟时,分,秒,变量
MIN_ARM
21H
SEC_ARM
22H
STATE
23H
ALARM
STATE.0
闹钟是否启用标志1--启用,0--禁止
LEAP
STATE.1
是否闰年标志1--闰年,0--平年
KEY_S
24H
当前扫描键值
KEY_V
25H
上次扫描键值
DIS_BUF_U0
26H
LCD上排显示缓冲区
DIS_BUF_U1
27H
DIS_BUF_U2
28H
DIS_BUF_U3
29H
DIS_BUF_U4
2AH
DIS_BUF_U5
2BH
DIS_BUF_U6
2CH
DIS_BUF_U7
2DH
DIS_BUF_U8
2EH
DIS_BUF_U9
2FH
DIS_BUF_U10
30H
DIS_BUF_U11
31H
DIS_BUF_U12
32H
DIS_BUF_U13
33H
DIS_BUF_U14
34H
DIS_BUF_U15
35H
DIS_BUF_L0
36H
LCD下排显示缓冲区
DIS_BUF_L1
37H
DIS_BUF_L2
38H
DIS_BUF_L3
39H
DIS_BUF_L4
3AH
DIS_BUF_L5
3BH
DIS_BUF_L6
3CH
DIS_BUF_L7
3DH
DIS_BUF_L8
3EH
DIS_BUF_L9
3FH
DIS_BUF_L10
40H
DIS_BUF_L11
41H
DIS_BUF_L12
42H
DIS_BUF_L13
43H
DIS_BUF_L14
44H
DIS_BUF_L15
45H
FLAG
46H
标识调整状态
0-闹钟功能,1-闹钟时,2-闹钟分,3-闹钟秒
4-年,5-月,6-日,7-时,8-分,9-秒,10-退出调整。
DIS_H
47H
DIS_M
48H
DIS_S
49H
DIS_S0
4AH
DIS_S1
4BH
DIS_S2
4CH
DIS_S3
4DH
DIS_S4
4EH
DIS_S5
4FH
******************初始化***********************
ORG
0000H
LJMP
START
000BH
TIMER0
001BH
TIMER1
0100H
START:
MOV
SP,#60H
R0,#18H
A,#00H
MEM_INI:
@R0,A
INC
R0
CJNE
R0,#5FH,MEM_INI
LCALL
DELAY_5ms
初始化LCD
R0,#38H
设置LCD为16X2显示,5X7点阵,八位数据接口
LCD_WCMD
DELAY_5ms
R0,#0CH
设置LCD开显示及光标形式(光标不闪烁,不显示"
-"
)
LCD_WCMD
R0,#06H
LCD显示光标移动设置(光标地址指针加1,整屏显示不移动)
R0,#01H
清除LCD的显示内容
第一自定义字符:
R0,#40H
lcd_wcmd
01
000
000"
第1行地址
(D7D6为地址设定命令形式D5D4D3为字符存放位置(0--7),D2D1D0为字符行地址(0--7))
R0,#1FH
lcd_wdat
XXX
11111"
第1行数据(D7D6D5为XXX,表示为任意数(一般用000),D4D3D2D1D0为字符行数据(1-点亮,0-熄灭)
R0,#41H
001"
第2行地址
R0,#11H
10001"
第2行数据
R0,#42H
010"
第3行地址
R0,#15H
10101"
第3行数据
R0,#43H
011"
第4行地址
第4行数据
R0,#44H
100"
第5行地址
第5行数据
R0,#45H
101"
第6行地址
R0,#0AH
01010"
第6行数据
R0,#46H
110"
第7行地址
第7行数据
R0,#47H
111"
第8行地址
R0,#00H
00000"
第8行数据
第二个自定义字符:
R0,#48H
001
第1行地址
R0,#01H
00001"
第1行数据
R0,#49H
R0,#1BH
11011"
R0,#4AH
R0,#1DH
11101"
R0,#4BH
R0,#19H
11001"
R0,#4CH
R0,#4DH
R0,#4EH
R0,#4FH
YEAR,#5
置年初值
MONTH,#1
置月初值
DATE,#1
置日初值
DIS_S0,#77H
w"
DIS_S1,#69H
i"
DIS_S2,#6CH
l"
DIS_S3,#6CH
DIS_S4,#61H
a"
DIS_S5,#72H
r"
R1,#00H
显示一自定义字符
WEEK_PRO
UPDATE_BUF
DISPLAY_PRO
屏显初始化
*********************主程序*********************
MAIN:
IE,#8AH
CPU开中断,Timer0,Timer1开中断
TMOD,#11H
Timer0,Timer1工作于模式1,
16位定时方式
TH0,#0DCH
Timer0置10ms定时初值
TL0,#00H
TH1,#0FFH
Timer1置闹钟声音初值
TL1,#00H
SETB
初始启动闹钟功能
CLR
TR1
Timer1禁止
TR0
Timer0启动
KEY_V,#03H
MAIN_1:
KEY_SCAN
A,KEY_S
XRL
A,KEY_V
JZ
MAIN_1
KEY_V,KEY_S
A,#01H
JNZ
MAIN_2
进入调整状态,禁止Timer0
IE,#00H
CPU禁止中断
KEY_PRE_PRO
PRE按键按下,调用PRE按键处理程序
SJMP
MAIN_2:
A,#02H
KEY_ADJ_PRO
ADJ按键按下,调用PRE按键处理程序
*******************按键扫描程序******************
KEY_SCAN:
A
P3,#0FFH
C,PRE
ACC.1,C
C,ADJ
ACC.0,C
KEY_S,A
本次扫描键值存入KEY_S
RET
**************PRE按键处理程序*******************
KEY_PRE_PRO:
FLAG
R4,FLAG
R4,#1,KEY_PRE_1
注意,该指令不改变操作
R0,#0EH
显示光标"
_"
整个光标不闪烁
DIS_S0,#61H
DIS_S1,#6cH
DIS_S2,#61H
DIS_S3,#72H
DIS_S4,#6dH
m"
DIS_S5,#3aH
:
R1,#50H
DIS_H,HOUR_ARM
DIS_M,MIN_ARM
DIS_S,SEC_ARM
更新屏显内容
LCD_POS
使光标位于第一个调整项下
JMP
KEY_PRE_E
KEY_PRE_1:
R4,#2,KEY_PRE_2
R0,#49H
光标置小时报警设置位置
KEY_PRE_2:
R4,#3,KEY_PRE_3
R0,#4CH
光标置分钟报警设置位置
KEY_PRE_3:
R4,#4,KEY_PRE_4
R0,#4FH
光标置秒时报警设置位置
KEY_PRE_4:
R4,#5,KEY_PRE_5
DIS_S0,#74H
t"
DIS_S2,#6dH
DIS_S3,#65H
e"
DIS_S4,#3aH
DIS_S5,#20H
DIS_H,HOUR
DIS_M,MIN
DIS_S,SEC
R0,#05H
光标置年调整位置
KEY_PRE_5:
R4,#6,
KEY_PRE_6
R0,#08H
光标置月调整位置
KEY_PRE_E
KEY_PRE_6:
R4,#7,KEY_PRE_7
R0,#0bH
光标置日调整位置
KEY_PRE_7:
R4,#8,KEY_PRE_8
LC
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 利用 ME300A 实现 LCD 日历 电子钟 汇编语言