实验八单片机液晶显示实验_第1页
实验八单片机液晶显示实验_第2页
实验八单片机液晶显示实验_第3页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验八单片机液晶显示实验作者:日期:实验八单片机液晶显示实验一、实验目的1、 了解液晶显示屏的控制原理及方法2、了解点阵汉字的显示原理。二、实验说明1、利用实验上的液晶显示屏电路,编写程序控制显示,输出汉字。2、 本实验仪采用的液晶显示屏内置控制器为SED1520,点阵为 122x32,需要两片 SED1520组成,由E1、E2分别选通,以控制显示屏的左右两半屏。图形液晶显示模块有两种 连接方式。一种为直接访问方式,一种为间接控制方式。本实验仪采用直接控制方式三、实验仪器计算机伟福实验箱(lab2000P)四、实验内容1、利用实验上的液晶显示屏电路,编写程序控制显示,输出汉字。2、 本实验仪采

2、用的液晶显示屏内置控制器为SED1520,点阵为122x32,需要两片SED1520组成,由E1、E2分别选通,以控制显示屏的左右两半屏。图形液晶显示模块有两 种连接方式。一种为直接访问方式,一种为间接控制方式。本实验仪采用直接控制方式。3、直接控制方式就是将液晶显示模块的接口作为存储器或I / O设备直接挂在计算机总线上计算机通过地址译码控制E1和E2的选通;读/写操作信号R/ W由地址线 A1控制;命令/数据寄存器选择信号 AO由地址线 A0控制。实际电路如上图所示地址映射如 下(地址中的X由LCD CS决定,可参见地址译码部分说明)五、思考题1、显示自己的班级和姓名;2、可以动态显示,上

3、下或者左右移动;六、源程序修改原理及其仿真结果CWADD1EQU08000HDWADD1EQU08001HCRADD1EQU08002HDRADD1EQU08003HCWADD2EQU08004HDWADD2EQU08005HCRADD2EQU08006HDRADD2EQU08007HPD1EQU3DHCOLUMNEQU30HPAGE_EQU31HCODE_EQU32HCOUNTEQU33HDIRequ 34hdtp1equ 35h;写指令代码地址(E1);写显示数据地址(E1);读状态字地址(E1);读显示数据地址(E1);写指令代码地址(E2);写显示数进地址(E2);读状态字地址(E2)

4、;读显示数据地址(E2);122/2分成左右两半屏 122x32;页地址寄存器 D1, DO:页地址;字符代码寄存器;计数器dtp2equ36h.dtp3equ37hCTEMPEQU38HCOMEQU20HDATEQU21HORG0jmpmai nmovdptr, # 0f002hmova, #56hmovx dptr, amova, #0movxa, dptrJMPMAIN;指令寄存器;数据寄存器;初始化程序INIT :MOV COM, # 0E2HLCALL PROLCALL PR3MOV COM, # 0A4H LCALL PROLCALL PR3MOV COM,#0A9HLCALL P

5、ROLCALL PR3MOV COM, # 0A0H LCALL PROLCALL PR3MOV COM, #0C0H LCALL PROLCALL PR3MOV COM ,# 0AFHLCALL PROLCALL PR3RET;清屏CLEAR:MOVR4, #00HCLEAR1 :MOVA, R4ORL A, # 0B8HMOV COM,ALCALL PRO;复位;关闭休闭状态;设置1/32占空比;正向排序设置;设置显示起始行为第一行;开显示设置;页面地址暂存器设置;取页地址值;”或”页面地址设置代码;页面地址设置LCALL PR3个人收集整理勿做商业用途MOV COM,井 00H;列地址设

6、置为"0 ” LCALL PROLCALL PR3MOV R3, # 50H;一页清80个字节CLEAR2: MOV DAT ,# 00H;显示数据为” 0"LCALL PR1LCALL PR4DJNZ R3, CLEAR2;页内字节清零循环INC R4;页地址暂存器加一CJNE R4,# 04H,CLEAR1;RAM区清零循环RET;1 写指令代码子程序(E1)PRO:PUSHDPLPUSHDPHMOVDPTR, # CRADD1;设置读状态字地址PR01:MOVX A , DPTR;读状态字JBACC.7, PR01;判”忙”标志为句"0”,否再读MOVDPT

7、R,#CWADD1;设置写指令代码地址MOVA, COM;取指令代码MOVXDPTR,A;写指令代码POP DPHPOP DPLRET;2写显示数据子程序(E1)PR1:PUSH DPLPUSHDPHMOVDPTR,#CRADD1;设置读状态字地址PR11:MOVXA, DPTR;读状态宇JBACC.7,PR11;判"忙”标志为” 0",否再读MOVDPTR, # DWADD1;设置写显示数据地址MOVA,DAT;取数据MOVX DPTR,A;写数据POP DPHPOP DPLRET;3.读显示数据子程序(E1)PR2:PUSHDPLPUSHDPHMOVDPTR,#CRAD

8、D1;设置读状态字地址PR21:MOVXA , DPTR;读状态字JBACC。7,PR21;判”忙"标志为"0;MOV>DPTR,#DRADD1;设置读显示数据地址MOVXA,DPTR;读数据MOVDAT,A;存数据POPDPHPOPDPLRET;4.写指令代码子程序(E2)PR3:PUSHDPLPUSHDPHMOVDPTR,#CRADD2;设置读状态字地址PR31:MOVXA,DPTR;读状态字JBACC。7,PR31;判"忙”陈志为"0"否,否再读MOVDPTR,#CWADD2;设置写指令代码地址MOVA,COM;取指令代码MOVX

9、DPTR,A;写指令代码POP DPHPOP DPLRET;5。写显示数据子程序(E2)PR4:PUSHDPLPUSHDPHMOVDPTR, #CRADD2;设置读状态字地址PR41:MOVXA, DPTR;读状态字JBACC。7, PR41;判"忙”标志为” 0"否,否再读MOVDPTR, # DWADD2;设置写显示数据地址MOVA, DAT;取数据MOVXDPTR,A;写数据POP DPHPOP DPLRET;6。读显示数据子程序(E2)PR5:PUSHDPLPUSHDPHMOVDPTR, #CRADD2;设置读状态字地址PR51:MOVX A , DPTR;读状态字

10、JBACC.7,PR51;判”忙”标志为” 0”,否再读MOVDPTR, # DRADD2;设置写显示数据地址MOVXA , DPTR;读数据MOVDAT,A;存数据POPDPHPOPDPLRET中文显示子程序CCW_PR:MOVDPTR,#CCTAB;确定字符字模块首地址MOVA,CODE_;取代码MOVB,井 20H;字模块宽度为32个字节MULAB;代码X 32ADDA, DPL;字符字模块首地址MOVDPL, A;字模库首地址+代码X 32MOVA, BADDCA,DPHMOVDPH, APUSHCOLUMN;列地址入栈PUSHCOLUMN;列地址入栈MOVCODE_, # 00H;代

11、码寄存器借用为间址寄存器CCW_1:MOVCOUNT,#1OH;计数器设置为16MOVA,PAGE_;读页地址寄存器ANLA,#03H;取页地址有效值ORLA, #0B8H或"页地址设置代码MOVCOM , A;设置页地址LCALL PRoLCALL PR3POPCOLUMN;取列地址值MOVA, COLUMN;读列地址寄存器CLRCSUBBA,#PD1;列地址一模块参数JCCCW_2;v 0为左半屏显示区域(E1)MOVCOLUMN,A;> 0为右半屏显示区域(E2)MOVA,PAGE_SETBACC。3;设置区域标志位。MOVPAGE_, A0” 为 E1,” 1 ”为 E

12、2CCW_2:MOVCOM , COLUMN;设置列地址值MOVA, PAGE_;判区域标志以确定设置哪个控制器JNBACC。3, CCW_3LCALL PR3;区域E2LJMPCCW_4CCW_3:LCALL PRO;区域E1CCW_4:MOVA, CODE_;取间址寄存器值MOVCA , A+DPTR;取汉字字模数据MOVDAT, A;写数据MOVA, PAGE_JNBACC.3, CCW_5LCALL PR4;区域E2LJMPCCW_6CCW_5:LCALL PR1;区域E1CCW_6:INCCODE_;间址寄存器加一INCCOLUMN;列地址寄存器加一MOVA,COLUMN;判列地址是

13、否超出区域范围、CJNEA,#PD1 , CCW_7CCW_7:JCCCW_8;未超出则继续MOVA , PAGE_;超出则判是否在区域E2JBACC.3 , CCW_8;在区域E2则退出SETBACC.3;在区域E1则修改成区域E2MOVPAGE_ , AMOVCOM, # 00H;设置区域E2列地址为” 0"LCALL PR3CCW_8:DJNZCOUNT , CCW_4;当页循环MOVA , PAGE_;读页地址寄存器JBACC.7 , CCW_9;判完成标志D7位,"1 ”则完成退出INCA;否则页地址加一SETBACC。7;置完成位为” 1"CLRACC

14、。3MOVPAGE_,AMOVCODE_ , #10H;间址寄存器设置为16LJMPCCW_1;大循环CCW_9:RET;中文字符库CCTAB:DB 0, 0,31,17, 145,209, 191, 145,145, 159,145,145, 145,31, 0,0,罗”DB 0, 32 , 33 , 33,32,17, 18, 20, 8,8,4, 2, 1 , 0, 0, 0DB 0C0H 70H 0FCH OFFH 03H 60H 6CH 6CH0,DB 0 , 32 , 170,170,255,170 170,128,170, 170 , 255 , 170,170, 34,0 ,D

15、B 0 , 32,24 , 10,26, 42 , 42,58, 42 , 42 , 58,10 , 31,32, 0 , 0DB 0 , 0 , 255,137,137, 137 , 137 , 137,249, 137,137,137,143 128,0,0,DB0 , 0,63 , 16 , 8,0,0,0,0,3 , 4 , 8 ,16 ,60 , 0,0DB0 , 224,16 , 8,8,16, 224 ,0,0,112,136 ,136 , 136,136,112,0, 08”DB 0 , 7,8 , 16 , 16,8 , 7,0, 0,14,17 , 16,16,17, 14

16、,0DB 0,48,8,8, 8,136,112,0,0,48 8,8, 8,136,112, 0,22”DB 0, 24,20,18, 17, 16, 24, 0, 0, 24,20,18,17,16, 24, 0DB 0,16,16,248, 0,0,0,0, 0,16,16,248,0,0,0,0,1TDB 0,16,16, 31, 16,16,0, 0,0, 16,16,31,16, 16,0, 0中文演示显示程序段MAIN:LCALLINITLCALLCLEARMOVCTEMP,# 0MOVDIR , #0AAA :MOVPAGE_, #02HMOVCOLUMN,CTEMPMOVCO

17、DE_,# 00HLCALLCCW_PRMOVPAGE_, #02HMOVA, CTEMPADDA , #10HMOVCOLUMN,AMOVCODE_,#01HLCALLCCW_PRMOVPAGE_,#02HMOVA,CTEMPADDA , #20HMOVCOLUMN , AMOVCODE_,# 02HLCALLCCW_PRMOVPAGE_, # 02HMOVA,CTEMPADDA, #30H;顺次向后显示,30H表示显示在第四个位置MOVCOLUMN , AMOVCODE_ , # 03H;取对应的字模03H代表中文字库表中的第四组数据在此对应"8 ”LCALLCCW_PRMOVP

18、AGE_ , # 02H个人收集整理勿做商业用途MOV"A,CTEMPADDA,#40HMOVCOLUMN,AMOVCODE_,# 04HLCALLCCW_PRMOVPAGE_,# 02HMOVA,CTEMPADDA,#50HMOVCOLUMN , AMOVCODE_ , #04HLCALLCCW_PRLJMPS_DOWN;选用此句可实现文字循环向下滚动显示;LJMPS_UP;选用此句可实现文字循环向上滚动显示;LJMPLEFT;选用此句可实现文字循环向左滚动显示;SJMP$;选用此句文字呈现静态显示LCALLDELAY;若删去上述跳转直接执行以下程序可实现文字循环向右滚动显示LCALLDELAYLCALLDELAYMOVA, DIRCJNEA,#0, LEFTINCCTEMPMOVA,CTEMPCJNEA, #58, AAAMOVDIR, # 1LJMPAAALEFT:DECCTEMPMOVA,CTEMPCJNEA, #0, AAAMOVDIR,#0LJMPAAA;LC

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论