利用ME300A实现LCD日历电子钟汇编语言Word格式.docx

上传人:b****3 文档编号:6802140 上传时间:2023-05-07 格式:DOCX 页数:26 大小:23.51KB
下载 相关 举报
利用ME300A实现LCD日历电子钟汇编语言Word格式.docx_第1页
第1页 / 共26页
利用ME300A实现LCD日历电子钟汇编语言Word格式.docx_第2页
第2页 / 共26页
利用ME300A实现LCD日历电子钟汇编语言Word格式.docx_第3页
第3页 / 共26页
利用ME300A实现LCD日历电子钟汇编语言Word格式.docx_第4页
第4页 / 共26页
利用ME300A实现LCD日历电子钟汇编语言Word格式.docx_第5页
第5页 / 共26页
利用ME300A实现LCD日历电子钟汇编语言Word格式.docx_第6页
第6页 / 共26页
利用ME300A实现LCD日历电子钟汇编语言Word格式.docx_第7页
第7页 / 共26页
利用ME300A实现LCD日历电子钟汇编语言Word格式.docx_第8页
第8页 / 共26页
利用ME300A实现LCD日历电子钟汇编语言Word格式.docx_第9页
第9页 / 共26页
利用ME300A实现LCD日历电子钟汇编语言Word格式.docx_第10页
第10页 / 共26页
利用ME300A实现LCD日历电子钟汇编语言Word格式.docx_第11页
第11页 / 共26页
利用ME300A实现LCD日历电子钟汇编语言Word格式.docx_第12页
第12页 / 共26页
利用ME300A实现LCD日历电子钟汇编语言Word格式.docx_第13页
第13页 / 共26页
利用ME300A实现LCD日历电子钟汇编语言Word格式.docx_第14页
第14页 / 共26页
利用ME300A实现LCD日历电子钟汇编语言Word格式.docx_第15页
第15页 / 共26页
利用ME300A实现LCD日历电子钟汇编语言Word格式.docx_第16页
第16页 / 共26页
利用ME300A实现LCD日历电子钟汇编语言Word格式.docx_第17页
第17页 / 共26页
利用ME300A实现LCD日历电子钟汇编语言Word格式.docx_第18页
第18页 / 共26页
利用ME300A实现LCD日历电子钟汇编语言Word格式.docx_第19页
第19页 / 共26页
利用ME300A实现LCD日历电子钟汇编语言Word格式.docx_第20页
第20页 / 共26页
亲,该文档总共26页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

利用ME300A实现LCD日历电子钟汇编语言Word格式.docx

《利用ME300A实现LCD日历电子钟汇编语言Word格式.docx》由会员分享,可在线阅读,更多相关《利用ME300A实现LCD日历电子钟汇编语言Word格式.docx(26页珍藏版)》请在冰点文库上搜索。

利用ME300A实现LCD日历电子钟汇编语言Word格式.docx

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

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工作范文 > 行政公文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2