⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 12864.asm

📁 12864 数字钟
💻 ASM
📖 第 1 页 / 共 4 页
字号:
12864LCD数字钟


;************************************************定义端口
CS1	EQU	P2.7				;CS1=L,选择左半屏
CS2	EQU	P2.6				;CS2=L,选择右半屏
RESET	EQU	P2.5				;L=Lcm复位有效
RW	EQU	P2.4				;H=读,L=写
RS	EQU	P2.3				;H=写数据,L=写指令
E	EQU	P2.2				;L读写使能


com	EQU	30H                             ;指令寄存器
dat	EQU	31H                             ;数据寄存器
DATZC   EQU     32H                             ;读数据暂存寄存器


DH	EQU	33H                             ;行地址
DY	EQU	34H                             ;页地址
DL	EQU	35H                             ;列地址

;************************************************
org 0000h
ljmp mm
org 000bh
ljmp ttxx
org 0013h
ljmp tt1

;************************************************初始化
                ORG  0100H
mm:		mov th0,#03ch          ;T0设初始值
                mov tl0,#0b0h          ;TH0=3ch,TL0=b0h
                mov tmod,#91h          ;T0设方式1
                mov tcon,#14h          ;T0设控制方式
                mov ie,#86h            ;设中断允许
                mov ip,#04h            ;设中断优先级别
                mov sp,#7fh            ;设堆栈入口             
                mov r0,#0              ;区1间址用
                mov r1,#0              ;显示对象的首地址
                mov r2,#0              ;显示对象的宽度
                mov 08h,#2fh           ;解码转换用
                mov 09h,#07h           ;解码转换用
                mov 10h,#50h           ;读红外波头存放首址
                mov 11h,#2fh           ;读红外波头48个
                mov 20h,#00h           ;动作标志位1
                mov 21h,#00h           ;动作标志位2
                mov 22h,#00h           ;备用           
                mov 23h,#00h           ;备用
                mov 24h,#00h           ;备用
                mov 25h,#7             ;周
                mov 26h,#1             ;日
                mov 27h,#7             ;月  
                mov 28h,#00h           ;5次
                mov 29h,#00h           ;2次
                mov 2ah,#00h           ;秒个位
                mov 2bh,#00h           ;秒十位
                mov 2ch,#00h           ;分个位
                mov 2dh,#00h           ;分十位
                mov 2eh,#00h           ;时个位
                mov 2fh,#00h           ;时十位
                mov 30h,#00h           ;com占用
                mov 31h,#00h           ;dat占用
                mov 32h,#00h           ;读数据暂存
                mov 33h,#00h           ;行
                mov 34h,#00h           ;页
                mov 35h,#00h           ;列
		MOV	P0,#0FFH
                MOV	P0,#0FFH
                LCALL	YS300                  ;延时等待稳定
                CLR	RESET                  ;LCD复位
		LCALL	YS300                  ;延时300mS
                SETB	RESET
                CLR	CS1                    ;选中双屏
                CLR	CS2	       
                MOV	com,#3EH               ;关显示
		LCALL	Wcom
                MOV     com,#3fh               ;开显示开光标
                LCALL	Wcom
                LCALL	CLEAR                  ;清屏
                LCALL	CSH                    ;lcd行页列复位
                CLR	CS1
                SETB	CS2
                MOV	33H,#0C0H              ;设行单元初值
                MOV	34H,#0BEH              ;设页单元初值
                MOV	35H,#40H               ;设列单元初值
                MOV     com,33H                ;设置起始为第1行 
                LCALL	Wcom
                MOV     com,34H                ;设置第1行0页
                LCALL	Wcom
                MOV     com,35H                ;设置第1行0列   
                LCALL	Wcom
                MOV     R1,#0                  ;写入乌
                LCALL	lxazzz
                MOV     com,33H                ;设置起始为第1行 
                LCALL	Wcom
                MOV     com,34H                ;设置第1行0页
                LCALL	Wcom
                MOV     com,35H                ;设置第1行0列   
                LCALL	Wcom
                MOV     R1,#24                 ;写入石
                LCALL	lxazzz
                MOV     com,33H                ;设置起始为第1行 
                LCALL	Wcom
                MOV     com,34H                ;设置第1行0页
                LCALL	Wcom
                MOV     com,35H                ;设置第1行0列   
                LCALL	Wcom
                MOV     R1,#48                 ;写入化
                LCALL	lxazzz
                MOV     com,33H                ;设置起始为第1行 
                LCALL	Wcom
                MOV     com,34H                ;设置第1行0页
                LCALL	Wcom
                MOV     com,35H                ;设置第1行0列   
                LCALL	Wcom
                MOV     R1,#72                 ;写入宾
                LCALL	lxazzz
                MOV     com,33H                ;设置起始为第1行 
                LCALL	Wcom
                MOV     com,34H                ;设置第1行0页
                LCALL	Wcom
                MOV     com,35H                ;设置第1行0列   
                LCALL	Wcom
                MOV     R1,#96                 ;写入馆
                LCALL	lxazzz
                SETB	CS1
                CLR	CS2
                MOV	33H,#0C0H              ;设行单元初值
                MOV	34H,#0BEH              ;设页单元初值
                MOV	35H,#40H               ;设列单元初值
                MOV     com,33H                ;设置起始为第1行 
                LCALL	Wcom
                MOV     com,34H                ;设置第1行0页
                LCALL	Wcom
                MOV     com,35H                ;设置第1行0列   
                LCALL	Wcom
                MOV     R1,#120                ;写入李
                LCALL	lxazzz
                MOV     com,33H                ;设置起始为第1行 
                LCALL	Wcom
                MOV     com,34H                ;设置第1行0页
                LCALL	Wcom
                MOV     com,35H                ;设置第1行0列   
                LCALL	Wcom
                MOV     R1,#144                ;写入小
                LCALL	lxazzz
                MOV     com,33H                ;设置起始为第1行 
                LCALL	Wcom
                MOV     com,34H                ;设置第1行0页
                LCALL	Wcom
                MOV     com,35H                ;设置第1行0列   
                LCALL	Wcom
                MOV     R1,#168                ;写入安
                LCALL	lxazzz
                MOV     com,33H                ;设置起始为第1行 
                LCALL	Wcom
                MOV     com,34H                ;设置第1行0页
                LCALL	Wcom
                MOV     com,35H                ;设置第1行0列   
                LCALL	Wcom
                MOV     R1,#192                ;写入制
                LCALL	lxazzz
                MOV     com,33H                ;设置起始为第1行 
                LCALL	Wcom
                MOV     com,34H                ;设置第1行0页
                LCALL	Wcom
                MOV     com,35H                ;设置第1行0列   
                LCALL	Wcom
                MOV     R1,#216                ;写入造
                LCALL	lxazzz
                CLR	CS1
                SETB	CS2
                MOV	33H,#0C0H              ;设行单元初值
                MOV	34H,#0BAH              ;设页单元初值
                MOV	35H,#59H               ;设列单元初值
                MOV     com,33H                ;设置起始为第1行 
                LCALL	Wcom
                MOV     com,34H                ;设置第1行0页
                LCALL	Wcom
                MOV     com,35H                ;设置第1行0列   
                LCALL	Wcom
                MOV     R1,#0                  ;写入今
                LCALL	Wxq
                MOV     com,33H                ;设置起始为第1行 
                LCALL	Wcom
                MOV     com,34H                ;设置第1行0页
                LCALL	Wcom
                MOV     com,35H                ;设置第1行0列   
                LCALL	Wcom
                MOV     R1,#24                 ;写入天
                LCALL	Wxq
                MOV     com,33H                ;设置起始为第1行 
                LCALL	Wcom
                MOV     com,34H                ;设置第1行0页
                LCALL	Wcom
                MOV     com,35H                ;设置第1行0列   
                LCALL	Wcom
                MOV     R1,#48                 ;写入是
                LCALL	Wxq
                CLR	CS2
                SETB	CS1
                MOV	33H,#0C0H              ;设行单元初值
                MOV	34H,#0BAH              ;设页单元初值
                MOV	35H,#40H               ;设列单元初值
                MOV     com,33H                ;设置起始为第1行 
                LCALL	Wcom
                MOV     com,34H                ;设置第1行0页
                LCALL	Wcom
                MOV     com,35H                ;设置第1行0列   
                LCALL	Wcom
                MOV     R1,#72                 ;写入星
                LCALL	Wxq
                MOV     com,33H                ;设置起始为第1行 
                LCALL	Wcom
                MOV     com,34H                ;设置第1行0页
                LCALL	Wcom
                MOV     com,35H                ;设置第1行0列   
                LCALL	Wcom
                MOV     R1,#96                 ;写入期
                LCALL	Wxq
                CLR	CS1
                SETB	CS2
                MOV	33H,#0C0H              ;设行单元初值
                MOV	34H,#0B8H              ;设页单元初值
                MOV	35H,#40H               ;设列单元初值
                MOV     com,33H                ;设置起始为第1行 
                LCALL	Wcom
                MOV     com,34H                ;设置第1行0页
                LCALL	Wcom
                MOV     com,35H                ;设置第1行0列   
                LCALL	Wcom
                MOV     R1,#0A0H               ;写入2008年
                LCALL	wdatsz
                MOV     com,33H                ;设置起始为第1行 
                LCALL	Wcom
                MOV     com,34H                ;设置第1行0页
                LCALL	Wcom
                MOV     com,35H                ;设置第1行0列   
                LCALL	Wcom
                MOV     R1,#20H                ;写入2
                LCALL	wdatsz
                MOV     com,33H                ;设置起始为第1行 
                LCALL	Wcom
                MOV     com,34H                ;设置第1行0页
                LCALL	Wcom
                MOV     com,35H                ;设置第1行0列   
                LCALL	Wcom
                MOV     R1,#00H                ;写入0
                LCALL	wdatsz
                MOV     com,33H                ;设置起始为第1行 
                LCALL	Wcom
                MOV     com,34H                ;设置第1行0页
                LCALL	Wcom
                MOV     com,35H                ;设置第1行0列   
                LCALL	Wcom
                MOV     R1,#00H                ;写入0
                LCALL	wdatsz
                MOV     com,33H                ;设置起始为第1行 
                LCALL	Wcom
                MOV     com,34H                ;设置第1行0页
                LCALL	Wcom
                MOV     com,35H                ;设置第1行0列   
                LCALL	Wcom
                MOV     R1,#80H                ;写入8
                LCALL	wdatsz
                MOV     com,33H                ;设置起始为第1行 
                LCALL	Wcom
                MOV     com,34H                ;设置第1行0页
                LCALL	Wcom
                MOV     com,35H                ;设置第1行0列   
                LCALL	Wcom
                MOV     R1,#00H                ;写入年
                LCALL	wdatnyr
                CLR	CS2
                SETB	CS1
                MOV	33H,#0C0H              ;设行单元初值
                MOV	34H,#0B8H              ;设页单元初值
                MOV	35H,#40H               ;设列单元初值
                MOV     com,33H                ;设置起始为第1行 
                LCALL	Wcom
                MOV     com,34H                ;设置第1行0页
                LCALL	Wcom
                MOV     com,35H                ;设置第1行0列   
                LCALL	Wcom
                MOV     R1,#0A0H               ;空1格月个位
                LCALL	wdatsz
                MOV     com,33H                ;设置起始为第1行 
                LCALL	Wcom
                MOV     com,34H                ;设置第1行0页
                LCALL	Wcom
                MOV     com,35H                ;设置第1行0列   
                LCALL	Wcom
                MOV     R1,#32                 ;写入月
                LCALL	wdatnyr
                MOV     com,33H                ;设置起始为第1行 
                LCALL	Wcom
                MOV     com,34H                ;设置第1行0页
                LCALL	Wcom
                MOV     com,35H                ;设置第1行0列   
                LCALL	Wcom
                MOV     R1,#0A0H               ;空1格日十位
                LCALL	wdatsz
                MOV     com,33H                ;设置起始为第1行 
                LCALL	Wcom
                MOV     com,34H                ;设置第1行0页

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -