您好,欢迎来到九壹网。
搜索
您的当前位置:首页基于单片机的128液晶显示时钟汇编程序

基于单片机的128液晶显示时钟汇编程序

来源:九壹网
;**********此程序用于128(lgm121bs1r)液晶显示汉字(没有字库)********* ;****************2011.3.30************** lcm equ p1

cs1 bit p2.4 ;cs1片选左屏 cs2 bit p2.3 ;cs2片选右屏 di bit p2.2 rw bit p2.1 e bit p2.0 rst bit p2.7 x equ 30h y equ 31h dd equ 32h xx equ 33h yy equ 34h hz equ 35h

org 0000h ljmp main org 0030h main: ;lcall lcd_init ;mov r5,#0ffh ;lcall delay mov xx,#00h mov yy,#00h ;mov hz,hz1

mov dptr,#tab1 lcall disp_hz ;lcall delay mov xx,#0h mov yy,#02h mov dptr,#tab2 lcall disp_hz mov xx,#1h mov yy,#00h mov dptr,#tab1 lcall disp_hz ljmp $

;************设定起始行子程序******************** set_startline:;此处由a值进入 add a,#0c0h setb cs1 setb cs2

lCALL w_code

ret

;******************写指令到lcm中****************** w_code: ;调用此子程序之前须设定片选,数据由a进入 lcall lcd_busy

clr di ;低电平选中指令输入端 clr rw

;lcall lcd_busy mov lcm,a setb e

clr e ret

;******************写数据到lcm中****************** w_data: ;调用此子程序之前须设定片选,数据由a进入 lcall lcd_busy

setb di ;高电平选中数据输入端 clr rw mov lcm,a setb e clr e

ret

;**************设定x,y坐标,数据并由x,y传入***** set_xy:mov a,x add a,#40h setb cs1 setb cs2 lcall w_code mov a,y add a,#0b8h setb cs1 setb cs2

lcall w_code ret

;***********开关屏数据由a传入,0为关,1为开*************** dison_off:

add a,#3eh setb cs1 setb cs2 lcall w_code

ret

;************复位程序************************************** reset: clr rst

mov r5,#20 ;延时20ms lcall delay setb rst mov r5,#20 lcall delay

ret

;************初始化lcd********************************** lcd_init:lcall reset

mov a,#00h

lcall dison_off ;关显示 mov y,#00h xx2: mov x,#0 mov dd,#00h xx1: lcall lw inc x mov a,x

cjne a,#128,xx1 inc y mov a,y cjne a,#8,xx2

;djnz x,xx1 ;djnz y,xx2 mov a,#01h

lcall dison_off ;开显示

mov a,#00h ; 起始行为0 lcall set_startline

ret

;************写数据到lcm指定位置********************** ;************此子程序由x,y,dd导入数据*************** lw: mov a,x cjne a,#,x1 x1: jc x2 ;mov a,x clr c

subb a,# mov x,a lcall set_xy clr cs1 setb cs2 mov a,dd lcall w_data ljmp fanhui x2: lcall set_xy setb cs1 clr cs2

mov a,dd lcall w_data fanhui: ret

;***************显示一个汉字子程序*****************

;**********此程序由xx(表示该行第xx个字),yy(表示第yy行),hz(要写入的汉字)导入数据********** disp_hz:

;mov dptr,#tab1 mov r7,#0 ;i xx0:

mov a,r7 mov b,#2 mul ab inc a

mov 7fh,a dec a

movc a,@a+dptr mov dd,a mov a,xx mov b,#16 mul ab add a,r7

mov x,a mov y,yy lcall lw

mov a,7fh

movc a,@a+dptr mov dd,a inc y lcall lw inc r7 cjne r7,#16,xx0 ret delay: ;1ms

d3: mov r3,#090h d1: mov r4,#2h d2: djnz r4,d2 djnz r3,d1 djnz r5,d3 ret

lcd_busy: ;判忙

clr di setb rw ret

tab3: DB 80h,80h,40h,20h,50h,48h,44h,0C3h,44h,48h,50h,20h,40h,80h,80h,00h DB 40h,40h,42h,4Ah,72h,42h,42h,7Fh,42h,42h,62h,5Ah,42h,40h,40h,00h

tab1:

db 40h,40h,40h,40h,20h,42h,20h,42h,50h,4Ah,48h,72h,44h,42h,0C3h,7Fh, db 44h,42h,48h,62h,50h,5Ah,50h,42h,20h,42h,60h,40h,20h,40h,00h,00h

tab2:

DB 00h,80h,60h,0F8h,07h,00h,0FCh,44h,44h,44h,44h,44h,44h,0FCh,00h,00h

DB 01h,00h,00h,0FFh,00h,40h,4Fh,44h,44h,44h,44h,44h,44h,4Fh,40h,00h end

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 91gzw.com 版权所有 湘ICP备2023023988号-2

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务