版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、单片机原理与应用实验 信通学院12单片机驱动液晶显示器LCD模块1、Lcd分类 Lcd可分为两种类型,一种是字符模式lcd,另一种是图形模式lcd。其中,字符模式lcd是点阵型液晶显示器,专门用来显示字母,数字,符号。 由于lcd的控制需专用的驱动电路,一般不会单独使用,而是将lcd面板,驱动与控制电路组合成模块一起使用,简称lcm。23 目前,常用的有16*1,16*2,20*2,40*2等字符模块。这些lcm虽然显示数字不同,但都有相同的输入输出界面。 Lcm模块34 2.lcd模块的引脚 下面介绍常用的20*2字符模块,外型如图13.1所示,引脚如图所示。 20*2lcd每行可以显示20
2、个字,可显示的行数为两行,有16只引脚,其中数据线db0-db7与控制信号线rs,r/w,e用来连接单片机,另外3只信号线vss,vdd,v0,其各脚功能如表45563、寄存器选择及显示器地址 Lcd内部有两个寄存器,一个是指令寄存器IR,另一个是数据寄存器DR。 IR用来存放由微控制器送来的指令代码,如光标归位,清除显示等,dr用来存放显示的数据。 显示的次序是先把欲存放数据地址写入ir,再将欲显示的数据写入dr,dr就会自动的把数据送至相应的ddram和cgram地址, ddram是显示数据的存储器,存放lcd的显示数据;cgram是字符产生器,用来存放自己设计的5*7点图形的显示数据。6
3、7782.显示器地址 20*2显示器地址3.Lcm控制指令Lcm提供了11项指令89910一、简单液晶显示程序 单片机接有lcd液晶显示器,开机以后在液晶显示屏第一行显示“ok”。 硬件设计 单片机p1.0p1.7分别于lcd模块的db0-db7数据线连接,p3.5p3.7接到lcd模块控制信号引脚rs、r/w和e,lcd模块的vdd引脚接电源+5v,vss和v0引脚接地。1011硬件连接图1112 程序设计 本程序是由主程序、初始化子程序、写指令子程序、判断lcm是否忙碌子程序和写数据子程序组成。12131314RS bit P3.5RW bit P3.6E bit P3.7LCD EQU
4、P1MAIN: ;主程序MOV LCD,#00000001B ;清屏并光标复位ACALL WR_COMM ;调用写入命令子程序 ACALL INIT_LCD ;调用初始化子程序MOV LCD,#82H ;写入显示起始地址ACALL WR_COMM ;调用写入命令子程序MOV LCD,#o ;显示o一、简单液晶显示参考程序11415ACALL WR_DATA ;调用写入数据子程序MOV LCD,#k ;显示kACALL WR_DATA ;调用写入数据子程序JMP $ ;维持当前输出状态INIT_LCD: ;LCD初始化设定MOV LCD,#00111000B ;设置8位、2行、5x7点阵 ACA
5、LL WR_COMM ;调用写入命令子程序 MOV LCD,#00001111B ;显示器开,光标允许闪烁ACALL WR_COMM ;调用写入命令子程序MOV LCD,#00000110B ;文字不动,光标自动右移 ACALL WR_COMM ;调用写入命令子程RET一、简单液晶显示参考程序21516WR_COMM: ;写入命令子程序CLR RS ;RS=0,选择指令寄存器CLR RW ;RW=0,选择写模式CLR E ;E=0,禁止读/写LCMACALL CHECK_BF ;调用判LCM忙碌子程序SETB E ;E=1,允许读/写LCMRET CHECK_BF: ;判断是否忙碌子程序MOV
6、 LCD,#0FFH ;此时不接受外来指令CLR RS ;RS=0,选择指令寄存器SETB RW ;RW=1,选择读模式CLR E ;E=0,禁止读/写LCMNOP ;延时1微秒SETB E ;E=1,允许读/写LCMJB LCD.7,CHECK_BF ;忙碌循环等待 RET一、简单液晶显示参考程序31617WR_DATA: ;写入数据子程序SETB RS ;RS=1,选择数据寄存器CLR RW ;RW=0,选择写模式CLR E ;E=0,禁止读/写LCMACALL CHECK_BF ;调用判断忙碌子程序SETB E ;E=1,允许读/写LCMRETEND一、简单液晶显示参考程序41718 任
7、务分析 Lcd循环显示字符串。首先在第一行显示hello!,2s后在第二行显示welcome to lcd!,再过2s后第一行改为nice to meet you,再过2s后将第二行改为good luck!。二、液晶循环显示 硬件设计 单片机p1.0p1.7分别于lcd模块的db0-db7数据线连接,p3.5p3.7接到lcd模块控制信号引脚rs、r/w和e,lcd模块的vdd引脚接电源+5v,vss和v0引脚接地。1819硬件连接图1920 程序设计 在主程序中进行4次在取字符串操作,每次显示字符串时停留2s,更换屏幕时清屏,如此循环。, 2021 RS bit P3.5 RW bit P3
8、.6 E bit P3.7 LCD EQU P1 MAIN: ;主程序 ACALL INIT_LCD ;调用初始化子程序 LOOP1: ;循环 MOV LCD,#81H ;写入显示起始地址 ACALL WR_COMM ;调用写指令子程序 MOV DPTR,#LINE1 ;字符串地址送入DPTR MOV R0,#6 ;字符串的字符数 ACALL DISP_LCD ;调用查表子程序 ACALL DELAY ;调用延时子程序二、液晶循环显示12122 MOV LCD,#0C0H ;写入显示起始地址 ACALL WR_COMM ;调用写指令子程序 MOV DPTR,#LINE2 ;字符串地址送入DPT
9、R MOV R0,#14 ;字符串的字符数 ACALL DISP_LCD ;调用查表子程序 ACALL DELAY ;调用延时子程序 ACALL CLS ;调用清屏子程序 MOV LCD,#80H ;写入显示起始地址 ACALL WR_COMM ;调用写指令子程序 MOV DPTR,#LINE3 ;字符串地址送入DPTR MOV R0,#16 ;字符串的字符数 ACALL DISP_LCD ;调用查表子程序 ACALL DELAY ;调用延时子程序二、液晶循环显示22223 MOV LCD,#0C0H ;写入显示起始地址 ACALL WR_COMM ;调用写指令子程序 MOV DPTR,#LI
10、NE4 ;字符串地址送入DPTR MOV R0,#10 ;字符串的字符数 ACALL DISP_LCD ;调用查表子程序 ACALL DELAY ;调用延时子程序 ACALL CLS ;调用清屏子程序 JMP LOOP1 ;无限循环 INIT_LCD: ;LCM初始化设定 MOV LCD,#00000001B ;清屏并光标复位 ACALL WR_COMM ;调用写指令子程序 MOV LCD,#00111000B;设置8位、2行、5x7点阵 ACALL WR_COMM ;调用写指令子程序 MOV LCD,#00001111B ;显示器开,光标允许闪烁 ACALL WR_COMM ;调用写指令子程
11、序 MOV LCD,#00000110B ;文字不动,光标自动右移 ACALL WR_COMM ;调用写指令子程序 RET二、液晶循环显示32324 WR_COMM: ;写指令子程序 CLR RS ;RS=0,选择指令寄存器 CLR RW ;RW=0,选择写模式 CLR E ;E=0,禁止读/写LCM ACALL CHECK_BF ;调用判LCM忙碌子程序 SETB E ;E=1,允许读/写LCM RET CHECK_BF: ;判断是否忙碌子程序 MOV LCD, #0FFH ;此时不接受外来指令 CLR RS ;RS=0,选择指令寄存器 SETB RW ;RW=1,选择读模式 CLR E ;
12、E=0,禁止读/写LCM NOP ;延时1微秒 SETB E ;E=1,允许读/写LCM JB LCD.7,CHECK_BF ;忙碌循环等待 RET二、液晶循环显示42425 WR_DATA: ;写数据子程序 SETB RS ;RS=1,选择数据寄存器 CLR RW ;RW=0,选择写模式 CLR E ;E=0,禁止读/写LCM ACALL CHECK_BF ;调用判断忙碌子程序 SETB E ;E=1,允许读/写LCM RET DISP_LCD: ;查表显示子程序 MOV R1,#0 ;查表地址初始值 LOOP: MOV A,R1 ;将表地址初值赋予A MOVC A,A+DPTR ;查表将字
13、符串内容送入A MOV LCD,A ;将字符串内容送入LCD INC R1 ;地址值加1 ACALL WR_DATA ;调用写入数据子程序 mov r5,#25 acall d1 DJNZ R0,LOOP ;判断查表是否6次? RET ;子程序返回二、液晶循环显示52526 CLS: ;清显示屏 MOV LCD,#00000001B ACALL WR_COMM RET DELAY: ;延时时间为3秒 MOV R5,#100 D1:MOV R6,#100 D2:MOV R7,#100 DJNZ R7,$ DJNZ R6,D2 DJNZ R5,D1 RET LINE1: DB Hello! LIN
14、E2: DB Welcome to LCD! LINE3: DB Nice to meet you! LINE4: DB Good luck! END ; 程序结束二、液晶循环显示626一、实验目的二、实验说明三、实验仪器四、实验内容六、实验报告要求第八次实验单片机液晶显示实验 五、思考题27一、实验目的1、了解液晶显示屏的控制原理及方法。2、了解点阵汉字的显示原理。28二、实验说明 1、 利用实验上的液晶显示屏电路,编写程序控制显示,输出汉字。 2、本实验仪采用的液晶显示屏内置控制器为SED1520,点阵为122x32,需要两片SED1520组成,由E1、E2分别选通,以控制显示屏的左右两半
15、屏。图形液晶显示模块有两种连接方式。一种为直接访问方式,一种为间接控制方式。本实验仪采用直接控制方式。 29三、实验仪器和条件计算机伟福实验箱( lab2000P ) 30四、实验内容 1、利用实验上的液晶显示屏电路,编写程序控制显示,输出汉字。 2、本实验仪采用的液晶显示屏内置控制器为SED1520,点阵为122x32,需要两片SED1520组成,由E1、E2分别选通,以控制显示屏的左右两半屏。图形液晶显示模块有两种连接方式。一种为直接访问方式,一种为间接控制方式。本实验仪采用直接控制方式。 31 3、直接控制方式就是将液晶显示模块的接口作为存储器或IO设备直接挂在计算机总线上。计算机通过地
16、址译码控制 E1和 E2的选通;读写操作信号 RW由地址线 A1控制;命令/数据寄存器选择信号 AO由地址线 A0控制。实际电路如上图所示。地址映射如下(地址中的X由LCD CS决定,可参见地址译码部分说明) 32 程序参考流程框图33实验电路及连线 34参考源程序1CWADD1 EQU 08000H ;写指令代码地址(E1)DWADD1 EQU 08001H ;写显示数据地址(E1)CRADD1 EQU 08002H ;读状态字地址(E1)DRADD1 EQU 08003H ;读显示数据地址(E1)CWADD2 EQU 08004H ;写指令代码地址(E2)DWADD2 EQU 08005H
17、 ;写显示数进地址(E2)CRADD2 EQU 08006H ;读状态字地址(E2)DRADD2 EQU 08007H ;读显示数据地址(E2)PD1 EQU 3DH ;122/2 分成左右两半屏 122x32COLUMN EQU 30HPAGE_ EQU 31H ;页地址寄存器 D1,DO:页地址CODE_ EQU 32H ;字符代码寄存器COUNT EQU 33H ;计数器DIR equ 34hdtp1 equ 35hdtp2 equ 36hdtp3 equ 37hCTEMP EQU 38HCOM EQU 20H ;指令寄存器DAT EQU 21H ;数据寄存器35参考源程序2 ORG 0
18、 jmp main mov dptr, #0f002h mov a,#56h movx dptr,a mov a,#0 movx a,dptr JMP MAIN36参考源程序3 ; 初始化程序INIT: MOV COM, #0E2H ;复位 LCALL PRO LCALL PR3 MOV COM, #0A4H ;关闭休闭状态 LCALL PRO LCALL PR3 MOV COM, #0A9H ;设置 132占空比 LCALL PRO LCALL PR3 MOV COM, #0A0H ;正向排序设置 LCALL PRO LCALL PR3 MOV COM, #0C0H ;设置显示起始行为第一行
19、 LCALL PRO LCALL PR3 MOV COM, #0AFH ;开显示设置 LCALL PRO LCALL PR3 RET37参考源程序4 ; 清屏CLEAR: MOV R4,#00H ;页面地址暂存器设置CLEAR1: MOV A,R4 ;取页地址值 ORL A,#0B8H ;或页面地址设置代码 MOV COM,A ;页面地址设置 LCALL PRO LCALL PR3 MOV COM,#00H ;列地址设置为0 LCALL PRO LCALL PR3 MOV R3,#50H ;一页清 80个字节CLEAR2: MOV DAT,#00H ;显示数据为0 LCALL PR1 LCAL
20、L PR4 DJNZ R3,CLEAR2 ;页内字节清零循环 INC R4 ;页地址暂存器加一 CJNE R4,#04H,CLEAR1 ;RAM区清零循环 RET38参考源程序5PRO: PUSH DPL ;1写指令代码子程序(E1) PUSH DPH MOV DPTR,#CRADD1 ;设置读状态字地址PR01: MOVX A,DPTR ;读状态字 JB ACC.7,PR01 ;判忙标志为句0,否再读 MOV DPTR,#CWADD1 ;设置写指令代码地址 MOV A,COM ;取指令代码 MOVX DPTR,A ;写指令代码 POP DPH POP DPL RETPR1: PUSH DPL
21、 ;2.写显示数据子程序(E1) PUSH DPH MOV DPTR,#CRADD1 ;设置读状态字地址PR11: MOVX A,DPTR ;读状态宇 JB ACC.7,PR11 ;判忙标志为0,否再读 MOV DPTR,#DWADD1 ;设置写显示数据地址 MOV A,DAT ;取数据 MOVX DPTR,A ;写数据 POP DPH POP DPL RET39参考源程序6PR2: PUSH DPL ;3.读显示数据子程序(E1) PUSH DPH MOV DPTR,#CRADD1 ;设置读状态字地址PR21: MOVX A,DPTR ;读状态字 JB ACC.7,PR21 ;判忙标志为0否
22、,否再读 MOV DPTR,#DRADD1 ;设置读显示数据地址 MOVX A,DPTR ;读数据 MOV DAT,A ;存数据 POP DPH POP DPL RETPR3: PUSH DPL ;4.写指令代码子程序(E2) PUSH DPH MOV DPTR,#CRADD2 ;设置读状态字地址PR31: MOVX A,DPTR ;读状态字 JB ACC.7,PR31 ;判忙陈志为0否,否再读 MOV DPTR,#CWADD2 ;设置写指令代码地址 MOV A,COM ;取指令代码 MOVX DPTR,A ;写指令代码 POP DPH POP DPL RET40参考源程序7PR4: PUSH
23、 DPL ; 5.写显示数据子程序(E2) PUSH DPH MOV DPTR,#CRADD2 ;设置读状态字地址PR41: MOVX A,DPTR ;读状态字 JB ACC.7,PR41 ;判忙标志为0否,否再读 MOV DPTR, #DWADD2 ;设置写显示数据地址 MOV A,DAT ;取数据 MOVX DPTR,A ;写数据 POP DPH POP DPL RETPR5: PUSH DPL ; 6.读显示数据子程序(E2) PUSH DPH MOV DPTR,#CRADD2 ;设置读状态字地址PR51: MOVX A,DPTR ;读状态字 JB ACC.7,PR51 ;判忙标志为0,
24、否再读 MOV DPTR,#DRADD2 ;设置写显示数据地址 MOVX A,DPTR ;读数据 MOV DAT,A ;存数据 POP DPH POP DPL RET41参考源程序8 ; 中文显示子程序CCW_PR: MOV DPTR,#CCTAB ;确定字符字模块首地址 MOV A,CODE_ ;取代码 MOV B,#20H ;字模块宽度为 32个字节 MUL AB ;代码32 ADD A,DPL ;字符字模块首地址 MOV DPL,A ;字模库首地址代码32 MOV A,B ADDC A,DPH MOV DPH,A PUSH COLUMN ;列地址入栈 PUSH COLUMN ;列地址入栈
25、 MOV CODE_,#00H ;代码寄存器借用为间址寄存器42参考源程序9CCW_1: MOV COUNT,#10H ;计数器设置为 16 MOV A,PAGE_ ;读页地址寄存器 ANL A,#03H ;取页地址有效值 ORL A,#0B8H ;或页地址设置代码 MOV COM,A ;设置页地址 LCALL PRo LCALL PR3 POP COLUMN ;取列地址值 MOV A,COLUMN ;读列地址寄存器 CLR C SUBB A,#PD1 ;列地址-模块参数 JC CCW_2 ;0为左半屏显示区域(E1) MOV COLUMN,A ;0为右半屏显示区域(E2) MOV A,PAG
26、E_ SETB ACC.3 ;设置区域标志位。 MOV PAGE_,A ;0为E1,1为E243参考源程序10 CCW_2: MOV COM,COLUMN ;设置列地址值 MOV A,PAGE_ ;判区域标志以确定设置哪个控制器 JNB ACC.3,CCW_3 LCALL PR3 ;区域E2 LJMP CCW_4CCW_3: LCALL PRO ;区域E1CCW_4: MOV A,CODE_ ;取间址寄存器值 MOVC A,A+DPTR ;取汉字字模数据 MOV DAT,A ;写数据 MOV A,PAGE_ JNB ACC.3,CCW_5 LCALL PR4 ;区域E2 LJMP CCW_6C
27、CW_5: LCALL PR1 ;区域E1CCW_6: INC CODE_ ;间址寄存器加一 INC COLUMN ;列地址寄存器加一 MOV A,COLUMN ;判列地址是否超出区域范围、 CJNE A,#PD1,CCW_744参考源程序11 CCW_7: JC CCW_8 ;未超出则继续 MOV A,PAGE_ ;超出则判是否在区域E2 JB ACC.3,CCW_8 ;在区域E2则退出 SETB ACC.3 ;在区域E1则修改成区域E2 MOV PAGE_,A MOV COM,#00H ;设置区域E2列地址为0 LCALL PR3CCW_8: DJNZ COUNT,CCW_4 ;当页循环
28、MOV A,PAGE_ ;读页地址寄存器 JB ACC.7,CCW_9;判完成标志D7位,1则完成退出 INC A ;否则页地址加一 SETB ACC.7 ;置完成位为1 CLR ACC.3 MOV PAGE_,A MOV CODE_,#10H ;间址寄存器设置为 16 LJMP CCW_1 ;大循环CCW_9: RET45参考源程序12 CCTAB: ;中文字符库 DB 000H,004H,0e4H,024H,024H,064H,0b4H,02fH ; 南 DB 024H,0a4H,064H,024H,024H,0e6H,004H,000H DB 000H,000H,07fH,004H,00
29、5H,005H,005H,07fH DB 005H,005H,005H,025H,044H,03fH,000H,000H DB 000H,004H,004H,0e4H,024H,024H,025H,026H ; 京 DB 024H,024H,024H,0e4H,006H,004H,000H,000H DB 000H,020H,010H,019H,00DH,041H,081H,07fH DB 001H,001H,005H,00dH,038H,010H,000H,000H DB 000H,080H,060H,0f8H,007H,00aH,028H,028H ; 伟 DB 028H,0ffH,028
30、H,028H,028H,028H,000H,000H DB 001H,000H,000H,0fFH,000H,001H,001H,001H DB 001H,0ffH,001H,021H,041H,03fH,000H,000H DB 008H,008H,089H,0ceH,028H,018H,002H,07aH ; 福 DB 04aH,04aH,04aH,04aH,04aH,07aH,002H,000H DB 002H,001H,000H,0ffH,001H,002H,0ffH,049H DB 049H,049H,07fH,049H,049H,049H,0ffH,000H46参考源程序13MAIN: ; 中文演示显示程序段 LCALL INIT LCALL CLEAR MOV CTEMP,#0 MOV DIR,#0AAA: MOV PAGE_,#02H MOV COLUMN,CTEMP MOV CODE_,#00H LCALL CCW_PR MOV PAGE_,#02H MOV A,CTEMP ADD A,#10H MOV COLUMN,A MOV CODE_,#01H LCALL CCW_PR MOV PAGE_,#
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 进阶式教学指向深度学习的小学数学概念教学策略研究公开课案例试卷题教案
- 护理质量评估的伦理考量
- 帕金森病患者的体位管理与皮肤护理
- 急性胸痛患者的病情观察
- 护理技能:口腔护理操作
- 护理领导力培养图
- 2025 七年级数学下册方程组解的检验方法详解课件
- 2025 七年级数学下册代入法消元变量选择策略课件
- 2025 七年级数学上册追及问题速度差应用课件
- 头发护理的日常步骤
- 社区警务工作复习测试附答案
- 《民航法律法规》课件-7-2 民用航空器不安全事件的处置
- 2024秋期国家开放大学《西方行政学说》一平台在线形考(任务一至四)试题及答案
- 2024秋国家开放大学《交通工程》形考任务1-4答案
- 创新设计前沿智慧树知到期末考试答案章节答案2024年浙江大学
- 股东合作合同模板
- 中国书法艺术智慧树知到期末考试答案章节答案2024年中国美术学院
- 小学生古诗词大赛备考题库(300题)
- DB14-T 2644-2023旅游气候舒适度等级划分与评价方法
- 药店食品安全管理制度目录
- GB/T 25085.3-2020道路车辆汽车电缆第3部分:交流30 V或直流60 V单芯铜导体电缆的尺寸和要求
评论
0/150
提交评论