第二部分 接口实验
实验一 LCD128×64液晶显示接口实验 一、实验目的
1. 掌握8088与液晶显示器之间接口设计与编程。 2. 初步了解汇编语言的格式及子程序的概念。 二、实验内容
1、编制程序,使用内部字库,在液晶显示器上显示: 内蒙古大学 电子信息工程学院 自动化系 2008.08.08
2、修改程序将自己名字、生日显示到合适的位置。 三、实验电路
四、实验连线
1. 连接译码电路,将138译码单元的A、B、C、G分别与地址总线A2、
A3、A4、A15相连;
2. LCD实验板的E信号与02门电路的第1脚相连; 3. 将138译码单元的Y0与02门电路的第2脚相连; 4. 将08门电路的第3脚与02门电路的第3脚相连;
5. 将08门电路的第2脚、第1脚分别与系统控制信号IOR、IOW相连; 五、程序清单
;**************硬件地址定义************************ LCD EQU 7FE0H
WRICODE EQU LCD+0 ;写命令
6
WRDATA EQU LCD+1 ;写数据 RDSTAT EQU LCD+2 ;读状态 RDDATA EQU LCD+3 ;读数据
;*************代码区****************************** code segment
assume cs:code
;------------定义内存变量-------------------------- lin db 0 col db 0 num db 0 dis_num db 0 temp0 db 0 temp1 db 0 count db 0 org 1000h start: call init_lcd mov al,3 call delay2 mov count,0
;---------------------------
mov bx,offset tab1 ; mov lin,0 mov col,1 mov num,5 call dis_china
mov bx,offset tab2 ; mov lin,1 mov col,0 mov num,8 call dis_china
mov bx,offset tab3 ; mov lin,2 mov col,1 mov num,4 call dis_china
显示\内蒙古大学 \显示\电子信息工程学院\显示\自动化系\7
mov bx,offset tab4 ;显示\ mov lin,3 mov col,1 mov num,4 call dis_china mov al,10 call delay2
mov al,10 call delay2
call close_lcd
mov bx,offset tab5 ;显示\温度\ mov lin,0 mov col,0 mov num,3 call dis_china
lgs1: mov lin,0 ;显示数字 mov col,4 mov al,count mov dis_num,al call dis_number mov al,count add al,1 mov count,al mov al,10 call delay2 jmp lgs1
;--------------------------
;在指定的行、列显示一个字节数字(0~255)
;参数:行lin(0~3);列col(0~7) dis_num中放要显示的数字 ; col 0 1 2 3 4 5 6 7 ;lin0:80h,81h,82h,83h,84h,85h,86h,87h ;lin1:90h,91h,92h,93h,94h,95h,96h,97h
8
;lin2:88h,89h,8ah,8bh,8ch,8dh,8eh,8fh ;lin3:98h,99h,9ah,9bh,9ch,9dh,9eh,9fh ;-------------------------- dis_number proc push ax
mov al,lin;以下18条为根据行、列值定位显示数字起始坐标 cmp al,0 jnz nu0 mov al,80h jmp nu3 nu0: cmp al,1 jnz nu1 mov al,90h jmp nu3 nu1: cmp al,2 jnz nu2 mov al,88h jmp nu3 nu2: cmp al,3 jnz nuret mov al,98h nu3: add al,col
call send_com ;nu4: mov ah,0; mov al,dis_num mov bl,10 div bl
mov temp0,ah mov ah,0 mov bl,10 div bl
mov temp1,ah
add al,30h ; call send_data ; mov al,temp1
add al,30h ; call send_data ;
定位显示数字坐标
以下10条为把3位十进制数个位、十位、百位分离 转为ASC码 百位送LCD显示 转为ASC码 十位送LCD显示
9
mov al,temp0
add al,30h ;转为ASC码 call send_data ;个位送LCD显示 pop ax nuret: ret dis_number endp
;--------------------------
;在指定的行、列显示汉字。每行可显示8个汉字或16个字符,共4行 ;参数:行lin(0~3);列col(0~7) 汉字个数num(0~7); 表地址bx ;-------------------------- dis_china proc push ax
mov al,lin;以下18条为根据行、列值定位显示汉字起始坐标 cmp al,0 jnz ch0 mov al,80h jmp ch3 ch0: cmp al,1 jnz ch1 mov al,90h jmp ch3 ch1: cmp al,2 jnz ch2 mov al,88h jmp ch3 ch2: cmp al,3 jnz chret mov al,98h ch3: add al,col call send_com mov ah,num
add ah,num ;汉字个数乘2,1个汉字占2位 ch4: mov al, 00h ;以下循环2*汉字个数,将汉字显示 xlat
call send_data inc bx dec ah
10
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库微机原理及接口技术实验讲义(2)在线全文阅读。
相关推荐: