




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单片机原理及应用技术单片机原理及显示器接口设计与编程任务一LED显示器接口设计任务二LCD显示器接口设计Project8显示器接口设计与编程任务一LED显示器接口设计任务二任务1LED显示器接口设计任务1LED显示器接口设计目前LED显示器的种类有很多,按颜色来划分可以分为单基色显示屏(单一颜色,红色或绿色)、双基色显示屏(红和绿双基色,可以显示65536种颜色)和全彩色显示屏(红、绿、蓝三基色,可以显示一千六百多万种颜色)。目前LED显示器的种类有很多,按颜色来划分可以分为单基色显示米字型数码管按外观来划分,可以分为七段数码管、米字型数码管、点阵块等。如图所示为各种不同形状的数码管。七段数码管点阵块米字型数码管按外观来划分,可以分为七段数码管、米字型数码管、1.数码管的结构及工作原理七段数码管由8个发光二极管(以下简称字段)构成,如图所示(注:由于小数点字段不常用,所以一般称为七段),通过不同的组合可以显示数字0~9、字符A~F、H、L、P、U、符号“-”及小数点“.”。数码管基础知识one1.数码管的结构及工作原理七段数码管由8个发光二极管(以下简根据发光二极管物理连接的不同,七段数码管可以分为共阴极和共阳极两种结构。共阴极型数码管如左图所示,所有字段的阴极均连接低电平,因此在使用共阴极数码时,需要在相应字段上加高电平,才会使其发光。共阳极数码管如右图所示,所有字段的阳极均连接高电平,在使用时,需要在相应字段上加低电平。根据发光二极管物理连接的不同,七段数码管可以分为共阴极和共阳2.数码管的字形编码在单片机控制系统中要使数码管显示出相应的数字或字符,单片机需要输出相应的字形编码。在项目五中,我们已经介绍了共阳极数码管的数字编码,这里我们介绍共阴极数码管的编码,如表所示。引脚P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0码值段名称DPGFEDCBA数字0001111113FH数字10000011006H数字2010110115BH数字3010011114FH数字40110011066H段名称DPGFEDCBA2.数码管的字形编码在单片机控制系统中要使数码管显示出相应的引脚P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0码值数字5011011016DH数字6011111017DH数字70000011107H数字8011111117FH数字9011011116FH字母A0111011177H字母B011111007CH字母C0011100139H字母D010111105EH字母E0111100179H字母F0111000171H续上表引脚P0.7P0.6P0.5P0.4P0.3P0.2P0.1引脚P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0码值字母H0111011076H字母L0011100038H字母P0111001173H字母U001111103EH字符—0100000040H字符.1000000080H续上表引脚P0.7P0.6P0.5P0.4P0.3P0.2P0.1LED静态显示方法two1.静态显示原理静态显示方式是指当显示器显示某一字符时,发光二极管的位选始终被选中。在这种显示方式下,每一个LED数码管显示器都需要一个8位输出口进行控制,如图所示。LED静态显示方法two1.静态显示原理静态显示方式是指当显静态显示主要的优点是电路设计简单,显示稳定,编程简单,而且LED的亮度控制容易(只需在驱动端增加相应的电流调节电阻即可方便地调节LED的亮度)。其不足之处是占用硬件资源较多,每个LED数码管需要独占8条输出线,随着显示器位数的增加,需要的I/O口线也将增加。静态显示主要的优点是电路设计简单,显示稳定,编程简单,而且L2.接口设计在实际应用静态显示方式时,通常通过扩展I/O口的形式解决输出口数量不足的问题。如图所示,这里通过使用锁存器74LS377将单片机的并行I/O口进行扩展,三个数码管可以在同时显示不同的字符。2.接口设计在实际应用静态显示方式时,通常通过扩展I/O口的3.软件设计将片内存储器中以40H单元为首址的数据区内容输出,经数码管显示(假设数据区的数据最高位没有超过百位)。程序如下ORG 0000HLJMP MAINORG 0100HMAIN:MOV DPTR,#TAB ;将字段编码表首地址送DPTRMOV A,40H ;将数据区首址送A3.软件设计将片内存储器中以40H单元为首址的数据区内容输出;<-------------------------处理百位数据------------------------->MOV B,#100 ;除数100送BDIV AB ;计算显示数据的百位值MOVC A,@A+DPTR ;将百位值的编码送入A中MOV DPTR,#0DFFFH ;将百位数码管地址送DPTRMOVX @DPTR,A ;显示百位数据;<-------------------------处理十位数据------------------------->MOV A,B ;将计算百位后的余数送AMOV B,#10 ;除数10送BDIV AB ;计算显示数据的十位值MOV DPTR,#TAB ;将字段编码表首地址送DPTRMOVC A,@A+DPTR ;将十位值的编码送入A中;<-------------------------处理百MOV DPTR,#0BFFFH ;将十位数码管地址送DPTRMOVX @DPTR,A ;显示十位数据;<-------------------------处理个位数据------------------------->MOV A,B ;将计算十位后的余数送AMOV DPTR,#TAB ;将字段编码表首地址送DPTRMOVC A,@A+DPTR ;将个位值的编码送入A中MOV DPTR,#7FFFH ;将个位数码管地址送DPTRMOVX @DPTR,A ;显示个位数据SJMP $;<-------------------------共阴极字段数码表------------------------->TAB:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FHENDMOV DPTR,#0BFFFH ;将十位数码管地址送问题既然硬件结构中的数码管是共阴极结构的,为什么软件设计中的字段表需要使用共阳极型的?问题既然硬件结构中的数码管是共阴极结构的,为什么软件设计中的任务2LCD显示器接口设计任务2LCD显示器接口设计LCD显示器基础知识one提示液晶是在1888年,由奥地利植物学家Reinitzer发现的,一种介于固体与液体之间,具有规则性分子排列的有机化合物。一般最常用的液晶型态为向列型液晶,分子形状为细长棒形,长宽约1~10nm。在不同电流电场作用下,液晶分子会做规则旋转90度排列,产生透光度的差别。1.LCD显示器的工作原理LCD显示器是LiquidCrystalDisplay的简称,LCD的构造是在两片平行的玻璃当中放置液态的晶体,通过电场来控制杆状水晶分子改变方向,将光线折射出来产生画面。除液晶电脑、液晶电视的显示屏外,我们常见到的手机、计算器的屏幕也都属于液晶产品。LCD显示器基础知识one提示液晶是在1888年,由奥地利植2.LCD显示器的种类液晶显示器的分类方法有很多种,按显示方式可以分为段式(如计算器屏)、字符式(如仪器的表盘)和点阵式(如MP3、手机屏)等;按显示颜色可以分为黑白显示、多灰度、彩色显示等;按照控制方式不同可分为被动矩阵式LCD和主动矩阵式LCD两种。生活中各种常见的LCD显示屏如图所示。电脑液晶屏单片机实验中常用的液晶屏计算器中的液晶显示屏空调遥控器上的液晶显示屏2.LCD显示器的种类液晶显示器的分类方法有很多种,按显示3.LCD显示器的技术参数液晶显示器所标示的可视面积尺寸与实际可以使用的屏幕范围一致。可视面积可视角度是指在观看屏幕不失真的情况下,左右或上下视线之间的夹角。它又分为水平可视角度和垂直可视角度,其中,水平可视角度对称,而垂直可视角度不一定上下对称。目前,一般液晶显示器的水平和垂直可视角度都在160°上下。可视角度一般14英寸LCD的可视面积为285.7mm×214.3mm,它的最大分辨率为1024×768,那么点距就等于:可视宽度/水平像素(或者可视高度/垂直像素),即285.7mm/1024=0.279mm(或214.3mm/768=0.279mm)。点距3.LCD显示器的技术参数液晶显示器所标示的可视面积尺寸与LCD面板是由多个像素点组成显像的,每个独立的像素点色彩是由红、绿、蓝(R、G、B)三种基本色来控制。大部分液晶显示器的每个基本色(R、G、B)为6位,可表现64(26)种颜色,那么每个独立的像素就有64×64×64=262144种色彩。现在有些厂商使用FRC(FrameRateControl)技术以仿真方式来表现全彩画面,每个基本色能达到8位,那么每个独立的像素可以达到28×28×28=16777216种色彩。色彩度对比值是指最大亮度值(全白)与最小亮度值(全黑)的比值。一般来说,人眼可以接受的对比值约为250:1,而目前LCD显示器的对比值通常高达1000:1。对比值响应时间是指液晶显示器各像素点对输入信号反应的时间。响应时间越小越好。若响应时间太长,液晶显示器在显示动态图像时就有可能出现拖尾现象。一般的液晶显示器的响应时间为20~30ms。响应时间LCD面板是由多个像素点组成显像的,每个独立的像素点色彩是由基于HD44780的字符型芯片的功能及使用方法three在单片机实验中我们常用到的是字符型液晶显示模块,此种类型的模块一般都由字符型液晶显示屏LCD,主控制驱动芯片HD44780及其扩展驱动电路,以及少量阻、容元件和结构件等装配在电路板上而成。如图所示显示了1602型液晶显示模块。1602型LCD显示模块(a)显示模块的前面(b)显示模块的后面基于HD44780的字符型芯片的功能及使用方法three在单主控制驱动芯片HD44780是字符型液晶显示模块中至关重要的部件,它拥有80字节的显示存储器(DDRAM),保存常用字符点阵定义的字符发生器(CGROM)用于保存自定义特殊字符点阵的字符发生器(CGRAM),并且自身拥有一组可执行的指令。下面将详细讲述该芯片的功能和使用方法。主控制驱动芯片HD44780是字符型液晶显示模块中至关重要的1.HD44780的引脚与时序(1)HD44780的引脚HD44780的外部引脚一般有16个,其中包括8条数据线DB0~DB7、3条控制线RS、R/W、E,各引脚功能如表所示。引脚号引脚名电平状态作用1Vss0V电源地2VDD5V±10%电源(+5V)3V00~5V液晶驱动电压4RS0/1输入0:输入指令;1:输入数据5R/W0/1输入0:写入指令或数据1:读取数据1.HD44780的引脚与时序(1)HD44780的引脚HD引脚号引脚名电平状态作用6E1,1→0输入使能信号,1:读取信息1→0:执行指令7DB00/1三态数据总线8DB10/1三态数据总线9DB20/1三态数据总线10DB30/1三态数据总线11DB40/1三态数据总线12DB50/1三态数据总线13DB60/1三态数据总线14DB70/1三态数据总线15LED++VccLED背光电源正极16LED-接地LED背光电源负极续上表引脚号引脚名电平状态作用6E1,1→0输入使能信号,1:读取(2)HD44780的时序RS、R/W与E信号相互配合,进行HD44780的读写操作,逻辑信号功能如表所示RSR/WEDB7~DB0功能001→0输入将指令代码写入HD44780011输出读忙标志BF及AC值101→0输入写数据到DDRAM或CGRAM111输出从DDRAM或CGRAM读数据(2)HD44780的时序RS、R/W与E信号相互配合,进行读、写时序如图所示读操作时序图写操作时序图读、写时序如图所示读操作时序图写操作时序图tR:E上升沿时间tSP1:地址建立时间tHD2:数据保持时间(读操作)tF:E下降沿时间tHD1:地址保持时间tHD2:数据保持时间(写操作)
tC:E信号周期tPW:E脉冲宽度tSP2:数据建立时间(写操作)tSP2:数据延迟时间(读操作)读写时序参数说明tR:E上升沿时间tSP1:地址建立时间tHD2:数据保持时2、HD44780的可编程结构HD44780内部主要由指令寄存器(IR)、地址计数器(AC)、数据寄存器(DR)、忙标志(BF)、显示数据存储器(DDRAM)、字符发生器RAM(CGRAM)、字符发生器ROM(CGROM)及时序发生电路等构成,如图所示。HD44780原理结构图2、HD44780的可编程结构HD44780内部主要由指令寄AIR用于单片机向HD44780写入指令码,IR只能写入,不能读出。当RS=0、R/W=0时,数据线DB7~DB0上的数据写入指令寄存器IR。
指令寄存器(IR)C当RS=0、R/W=1,E=1时,BF信号输出到总线的DB7上。BF=1时表示正在进行内部操作,不能接收外部指令或数据。忙标志(BF)BDR用于寄存数据。当RS=1、R/W=0时,数据线DB7~DB0上的数据写入数据寄存器DR,同时DR的数据由内部操作自动写入DDRAM或CGRAM。当RS=1、R/W=1时,内部操作将DDRAM或CGRAM送到DR中,通过DR送到数据总线DB7~DB0上。数据寄存器(DR)AIR用于单片机向HD44780写入指令码,IR只能写入,不DDDRAM用于存储显示数据,共有80个字节。
显示数据存储器(DDRAM)FCGRAM供用户自造特殊字符时使用,容量为64字节,可自定义8个5×8点阵或4个5×11点阵,其编址为00~3FH。字符发生器RAM(CGRAM)EAC是DDRAM或CGRAM的地址指针。若地址码随指令写入IR,则IR的地址码部分自动装入地址计数器AC之中,同时选择相应的DDRAM或CGRAM单元。另外,AC具有自动加1和自动减1功能。当数据从DR送到DDRAM(或CGRAM)时,AC自动加1。当数据从DDRAM(或CGRAM)送到DR时,AC自动减1。当RS=0、R/W=l、E=1时,AC的内容送到DB7~DB0。地址计数器(AC)FCGROM可显示5×7点阵字符160种和5×10点阵字符32种。字符发生器ROM(CGROM)DDDRAM用于存储显示数据,共有80个字节。
显示数据存储3、HD44780的指令集1602字符型液晶模块内部的控制器共有11条控制指令。清屏指令,如表所示指令功能指令编码执行时间/μsRSR/WDB7DB6DB5DB4DB3DB2DB1DB0清屏00000000011.64功能:①清除液晶显示器,即将DDRAM的内容全部填入“空白”的ASCII码20H;②光标归位,即将光标撤回液晶显示屏的左上方;
③将地址计数器(AC)的值设为0。3、HD44780的指令集1602字符型液晶模块内部的控制器光标归位指令,如表所示功能:①把光标撤回到显示器的左上方;②把地址计数器(AC)的值设置为0;③保持DDRAM的内容不变。指令功能指令编码执行时间/μsRSR/WDB7DB6DB5DB4DB3DB2DB1DB0光标归位000000001x1.64光标归位指令,如表所示功能:①把光标撤回到显示器的左上方;输入模式设置指令,如表所示功能:设定每次写数据后光标与画面的移动方式。各参数的意义如下所示: I/D 0:写数据后光标左移 1:写数据后光标右移 S 0:写数据后画面不移动 1:写数据后画面整体右移1个字符指令功能指令编码执行时间/μsRSR/WDB7DB6DB5DB4DB3DB2DB1DB0输入模式设置00000001I/DS40输入模式设置指令,如表所示功能:设定每次写数据后光标与画面的显示开关控制指令,如表所示功能:控制显示器开/关、光标显示/关闭以及光标是否闪烁。参数的意义如下: D 0:显示功能关 1:显示功能开 C 0:无光标 1:有光标 B 0:光标闪烁 1:光标不闪烁指令功能指令编码执行时间/μsRSR/WDB7DB6DB5DB4DB3DB2DB1DB0显示开关控制0000001DCB40显示开关控制指令,如表所示功能:控制显示器开/关、光标显示/画面与光标移动设置指令,如表所示功能:使光标或整个画面移位。参数的意义如下: S/C R/L 设定情况 0 0 光标左移1格,且AC值减1 0 1 光标右移1格,且AC值加1 1 0 画面上字符全部左移一格,但光标不动 1 1 画面上字符全部右移一格,但光标不动指令功能指令编码执行时间/μsRSR/WDB7DB6DB5DB4DB3DB2DB1DB0设定显示屏或光标移动方向000001S/CR/Lxx40画面与光标移动设置指令,如表所示功能:使光标或整个画面移位。功能设定指令,如表所示功能:设定数据总线位数、显示的行数及字型。参数的意义如下: DL 0:数据总线为4位 1:数据总线为8位 N 0:显示1行 1:显示2行 F 0:5×7点阵/每字符 1:5×10点阵/每字符指令功能指令编码执行时间/μsRSR/WDB7DB6DB5DB4DB3DB2DB1DB0功能设定00001DLNFxx40功能设定指令,如表所示功能:设定数据总线位数、显示的行数及字CGRAM地址设置指令,如表所示功能:设置下一个要存入数据的CGRAM地址,范围为0~3FH指令功能指令编码执行时间/μsRSR/WDB7DB6DB5DB4DB3DB2DB1DB0设定CGRAM地址0001CGRAM的地址(6位)40CGRAM地址设置指令,如表所示功能:设置下一个要存入数据的DDRAM地址设置指令,如表所示功能:设置下一个要存入数据的DDRAM地址。(一行显示时地址范围为04FH;两行显示时地址范围为:首行:00~27H,次行:40~67H。)指令功能指令编码执行时间/μsRSR/WDB7DB6DB5DB4DB3DB2DB1DB0设定DDRAM地址001DDRAM的地址(7位)40DDRAM地址设置指令,如表所示功能:设置下一个要存入数据的读取BF或AC值指令,如表所示功能:①读取BF,BF=1表示HD44780忙,暂时无法接收单片机送来的数据或指令;当BF=0时,HD44780可以
接收单片机送来的数据或指令;
②读取地址计数器(AC)的内容。指令功能指令编码执行时间/μsRSR/WDB7DB6DB5DB4DB3DB2DB1DB0读取忙信号或AC地址01BFAC内容(7位)40读取BF或AC值指令,如表所示功能:①读取BF,BF=1表数据写入DDRAM或CGRAM指令(取决于最近设置的地址性质),如表所示功能:①将字符码写入DDRAM,以使液晶显示屏显示出相对应的字符;②将使用者自己设计的图形存入CGRAM。指令功能指令编码执行时间/μsRSR/WDB7DB6DB5DB4DB3DB2DB1DB0数据写入DDRAM或CGRAM10要写入的数据D7~D040数据写入DDRAM或CGRAM指令(取决于最近设置的地址性质从DDRAM或CGRAM读出数据指令(取决于最近设置的地址性质)如表所示指令功能指令编码执行时间/μsRSR/WDB7DB6DB5DB4DB3DB2DB1DB0数据写入DDRAM或CGRAM11要读出的数据D7~D040从DDRAM或CGRAM读出数据指令(取决于最近设置的地址性接口设计three1.直接驱动方式直接驱动方式又称为总线方式,在该方式中,液晶显示模块以存储器或I/O设备的形式连接在系统总线上,如图所示。图中液晶模块的数据总线与单片机的数据总线相连;使能信号E由单片机的读信号和写信号进行逻辑与非后产生,并由地址信号P2.7进行选通控制;R/W、RS信号由单片机的地址线P2.1、P2.0控制。接口设计three1.直接驱动方式直接驱动方式又称为总线方式2.间接驱动方式间接驱动方式又称为模拟口线方式,在该方式中,液晶显示模块作为终端与单片机的并行口相连,如图所示。图中液晶模块的部分数据总线与单片机的P1口相连;使能信号E、R/W和RS信号与单片机的P3口相连,此时需通过软件方式对液晶模块的读写时序进行控制。2.间接驱动方式间接驱动方式又称为模拟口线方式,在该方式中,软件设计four1.直接访问方式下的驱动子程序COM EQU 20H ;指令寄存器DAT EQU 21H ;数据寄存器CW_Add EQU 8000H ;指令口写地址CR_Add EQU 8200H ;指令口读地址DW_Add EQU 8100H ;数据口写地址DR_Add EQU 8300H ;数据口读地址软件设计four1.直接访问方式下的驱动子程序COM EQ(1)读BF和AC值PR0:PUSH DPHPUSH DPLPUSH ACCMOV DPTR,#CR_Add ;设置指令口读地址MOVX A,@DPTR ;读BF和AC值MOV COM,A ;存入COM单元POP ACCPOP DPLPOP DPHRET(1)读BF和AC值PR0:(2)写指令代码子程序PR1:PUSH DPHPUSH DPLPUSH ACCMOV DPTR,#CR_Add ;设置指令口读地址PR11:MOVX A,@DPTRJB ACC.7,PR11 ;判断BF=0?若是,则继续MOV A,COMMOV DPTR,#CW_Add ;设置指令口写地址MOVX @DPTR,A ;写指令代码POP ACCPOP DPLPOP DPHRET(2)写指令代码子程序PR1:(3)写显示数据子程序PR2:PUSH DPHPUSH DPLPUSH ACCMOV DPTR,#CR_Add ;设置指令口读地址PR21:MOVX A,@DPTRJB ACC.7,PR21 ;判断BF=0?若是,则继续MOV A,DATMOV DPTR,#DW_Add ;设置数据口写地址MOVX @DPTR,A ;写数据POP ACCPOP DPLPOP DPHRET(3)写显示数据子程序PR2:(4)读显示数据子程序PR3:PUSH DPHPUSH DPLPUSH ACCMOV DPTR,#CR_Add ;设置指令口读地址PR31:MOVX A,@DPTRJB ACC.7,PR31 ;判断BF=0?若是,则继续MOV DPTR,#DR_Add ;设置数据口读地址MOVX A,@DPTR ;读数据MOV DAT,A ;存入DAT单元POP ACCPOP DPLPOP DPHRET(4)读显示数据子程序PR3:2.间接控制方式下的驱动子程序COM EQU 20H ;指令寄存器DAT EQU 21H ;数据寄存器RS EQU P3.0 ;寄存器选择信号R/W EQU P3.1 ;读/写选择信号E EQU P3.5 ;使能信号2.间接控制方式下的驱动子程序COM EQU 20H (1)读BF和AC值PR0:PUSH ACCMOV P1,#0FFH ;P1置位,准备读CLR RS ;RS=0SETB R/W ;R/W=1SETB E ;E=1MOV COM,P1 ;读BF和AC4~6的值CLR E ;E=0MOV P1,#0FFH ;P1置位,准备读SETB E ;E=1(1)读BF和AC值PR0:MOV A,P1 ;读AC3~0的值CLR E ;E=0SWAP A ;转换成8为数据ANL A,#0FHANL COM,#0F0HORL A,COMMOV COM,A ;送入COM单元POP ACCRETMOV A,P1 ;读AC3~0的值(2)写指令代码子程序PR1:PUSH ACCCLR RS ;RS=0SETB R/W ;R/W=1PR11:MOV P1,#0FFH ;P1置位,准备读SETB E ;E=1MOV A,P1 ;读BF和AC6~4的值CLR E ;E=0MOV C,ACC.7 ;BF值存入进位位CSETB E ;E=1CLR E ;E=0(2)写指令代码子程序PR1:JC PR11 ;判断BF=1?若是,则跳转CLR R/W ;R/W=0MOV P1,COM ;写入指令代码高4位SETB E ;E=1CLR E ;E=0MOV A,COM ;写入指令代码低4位SWAP AMOV P1,ASETB E ;E=1CLR E ;E=0POP ACCRETJC PR11 ;判断BF=1?若是,则跳转(3)写显示数据子程序PR2:PUSH ACCCLR RS ;RS=0SETB R/W ;R/W=1PR21:MOV P1,#0FFH ;P1置位,准备读SETB E ;E=1MOV A,P1 ;读BF和AC6~4的值CLR E ;E=0MOV C,ACC.7 ;BF值存入进位位CSETB E ;E=1CLR E ;E=0(3)写显示数据子程序PR2:JC PR21 ;判断BF=1?若是,则跳转SETB RS ;RS=1CLR R/W ;R/W=0MOV P1,DAT ;写入数据高4位SETB E ;E=1CLR E ;E=0MOV A,DAT ;写入数据低4位SWAP AMOV P1,ASETB E ;E=1CLR E ;E=0POP ACCRETJC PR21 ;判断BF=1?若是,则跳转(4)读显示数据子程序PR3:PUSH ACCCLR RS ;RS=0SETB R/W ;R/W=1PR31:MOV P1,#0FFH ;P1置位,准备读SETB E ;E=1MOV A,P1 ;读BF和AC6~4的值CLR E ;E=0MOV C,ACC.7 ;BF值存入进位位CSETB E ;E=1CLR E ;E=0JC PR31 ;判断BF=1?若是,则跳转(4)读显示数据子程序PR3:SETB RS ;RS=1SETB R/W ;R/W=1MOV P1,#0FFH ;P1置位,准备读SETB E ;E=1MOV COM,P1 ;读数据高4位CLR E ;E=0MOV P1,#0FFH ;P1置位,准备读SETB E ;E=1MOV A,P1 ;读数据低4位
CLR E ;E=0SWAP A ;转换成8位ANL A,#0FHANL DAT,#0F0HORL A,DATMOV DAT,A ;数据送入DAT单元POP ACCRETSETB RS ;RS=1显示器接口设计与编程项目总结本项目中介绍了单片机的显示器接口设计与编程。目前的显示器分为LED显示器和LCD显示器,其中,任务一详细讲述了LED显示器的基本知识,静态显示方法及动态显示方法的原理、接口设计和软件设计;任务二详细讲述了LCD显示器的基本知识,目前常见的LCD控制器HD44780的功能及使用方法。显示器接口设计与编程项目总结本项目中介绍了单片机的显示器接口THANKSFORWATCHING谢谢收看THANKSFORWATCHING谢谢收看单片机原理及应用技术单片机原理及显示器接口设计与编程任务一LED显示器接口设计任务二LCD显示器接口设计Project8显示器接口设计与编程任务一LED显示器接口设计任务二任务1LED显示器接口设计任务1LED显示器接口设计目前LED显示器的种类有很多,按颜色来划分可以分为单基色显示屏(单一颜色,红色或绿色)、双基色显示屏(红和绿双基色,可以显示65536种颜色)和全彩色显示屏(红、绿、蓝三基色,可以显示一千六百多万种颜色)。目前LED显示器的种类有很多,按颜色来划分可以分为单基色显示米字型数码管按外观来划分,可以分为七段数码管、米字型数码管、点阵块等。如图所示为各种不同形状的数码管。七段数码管点阵块米字型数码管按外观来划分,可以分为七段数码管、米字型数码管、1.数码管的结构及工作原理七段数码管由8个发光二极管(以下简称字段)构成,如图所示(注:由于小数点字段不常用,所以一般称为七段),通过不同的组合可以显示数字0~9、字符A~F、H、L、P、U、符号“-”及小数点“.”。数码管基础知识one1.数码管的结构及工作原理七段数码管由8个发光二极管(以下简根据发光二极管物理连接的不同,七段数码管可以分为共阴极和共阳极两种结构。共阴极型数码管如左图所示,所有字段的阴极均连接低电平,因此在使用共阴极数码时,需要在相应字段上加高电平,才会使其发光。共阳极数码管如右图所示,所有字段的阳极均连接高电平,在使用时,需要在相应字段上加低电平。根据发光二极管物理连接的不同,七段数码管可以分为共阴极和共阳2.数码管的字形编码在单片机控制系统中要使数码管显示出相应的数字或字符,单片机需要输出相应的字形编码。在项目五中,我们已经介绍了共阳极数码管的数字编码,这里我们介绍共阴极数码管的编码,如表所示。引脚P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0码值段名称DPGFEDCBA数字0001111113FH数字10000011006H数字2010110115BH数字3010011114FH数字40110011066H段名称DPGFEDCBA2.数码管的字形编码在单片机控制系统中要使数码管显示出相应的引脚P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0码值数字5011011016DH数字6011111017DH数字70000011107H数字8011111117FH数字9011011116FH字母A0111011177H字母B011111007CH字母C0011100139H字母D010111105EH字母E0111100179H字母F0111000171H续上表引脚P0.7P0.6P0.5P0.4P0.3P0.2P0.1引脚P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0码值字母H0111011076H字母L0011100038H字母P0111001173H字母U001111103EH字符—0100000040H字符.1000000080H续上表引脚P0.7P0.6P0.5P0.4P0.3P0.2P0.1LED静态显示方法two1.静态显示原理静态显示方式是指当显示器显示某一字符时,发光二极管的位选始终被选中。在这种显示方式下,每一个LED数码管显示器都需要一个8位输出口进行控制,如图所示。LED静态显示方法two1.静态显示原理静态显示方式是指当显静态显示主要的优点是电路设计简单,显示稳定,编程简单,而且LED的亮度控制容易(只需在驱动端增加相应的电流调节电阻即可方便地调节LED的亮度)。其不足之处是占用硬件资源较多,每个LED数码管需要独占8条输出线,随着显示器位数的增加,需要的I/O口线也将增加。静态显示主要的优点是电路设计简单,显示稳定,编程简单,而且L2.接口设计在实际应用静态显示方式时,通常通过扩展I/O口的形式解决输出口数量不足的问题。如图所示,这里通过使用锁存器74LS377将单片机的并行I/O口进行扩展,三个数码管可以在同时显示不同的字符。2.接口设计在实际应用静态显示方式时,通常通过扩展I/O口的3.软件设计将片内存储器中以40H单元为首址的数据区内容输出,经数码管显示(假设数据区的数据最高位没有超过百位)。程序如下ORG 0000HLJMP MAINORG 0100HMAIN:MOV DPTR,#TAB ;将字段编码表首地址送DPTRMOV A,40H ;将数据区首址送A3.软件设计将片内存储器中以40H单元为首址的数据区内容输出;<-------------------------处理百位数据------------------------->MOV B,#100 ;除数100送BDIV AB ;计算显示数据的百位值MOVC A,@A+DPTR ;将百位值的编码送入A中MOV DPTR,#0DFFFH ;将百位数码管地址送DPTRMOVX @DPTR,A ;显示百位数据;<-------------------------处理十位数据------------------------->MOV A,B ;将计算百位后的余数送AMOV B,#10 ;除数10送BDIV AB ;计算显示数据的十位值MOV DPTR,#TAB ;将字段编码表首地址送DPTRMOVC A,@A+DPTR ;将十位值的编码送入A中;<-------------------------处理百MOV DPTR,#0BFFFH ;将十位数码管地址送DPTRMOVX @DPTR,A ;显示十位数据;<-------------------------处理个位数据------------------------->MOV A,B ;将计算十位后的余数送AMOV DPTR,#TAB ;将字段编码表首地址送DPTRMOVC A,@A+DPTR ;将个位值的编码送入A中MOV DPTR,#7FFFH ;将个位数码管地址送DPTRMOVX @DPTR,A ;显示个位数据SJMP $;<-------------------------共阴极字段数码表------------------------->TAB:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FHENDMOV DPTR,#0BFFFH ;将十位数码管地址送问题既然硬件结构中的数码管是共阴极结构的,为什么软件设计中的字段表需要使用共阳极型的?问题既然硬件结构中的数码管是共阴极结构的,为什么软件设计中的任务2LCD显示器接口设计任务2LCD显示器接口设计LCD显示器基础知识one提示液晶是在1888年,由奥地利植物学家Reinitzer发现的,一种介于固体与液体之间,具有规则性分子排列的有机化合物。一般最常用的液晶型态为向列型液晶,分子形状为细长棒形,长宽约1~10nm。在不同电流电场作用下,液晶分子会做规则旋转90度排列,产生透光度的差别。1.LCD显示器的工作原理LCD显示器是LiquidCrystalDisplay的简称,LCD的构造是在两片平行的玻璃当中放置液态的晶体,通过电场来控制杆状水晶分子改变方向,将光线折射出来产生画面。除液晶电脑、液晶电视的显示屏外,我们常见到的手机、计算器的屏幕也都属于液晶产品。LCD显示器基础知识one提示液晶是在1888年,由奥地利植2.LCD显示器的种类液晶显示器的分类方法有很多种,按显示方式可以分为段式(如计算器屏)、字符式(如仪器的表盘)和点阵式(如MP3、手机屏)等;按显示颜色可以分为黑白显示、多灰度、彩色显示等;按照控制方式不同可分为被动矩阵式LCD和主动矩阵式LCD两种。生活中各种常见的LCD显示屏如图所示。电脑液晶屏单片机实验中常用的液晶屏计算器中的液晶显示屏空调遥控器上的液晶显示屏2.LCD显示器的种类液晶显示器的分类方法有很多种,按显示3.LCD显示器的技术参数液晶显示器所标示的可视面积尺寸与实际可以使用的屏幕范围一致。可视面积可视角度是指在观看屏幕不失真的情况下,左右或上下视线之间的夹角。它又分为水平可视角度和垂直可视角度,其中,水平可视角度对称,而垂直可视角度不一定上下对称。目前,一般液晶显示器的水平和垂直可视角度都在160°上下。可视角度一般14英寸LCD的可视面积为285.7mm×214.3mm,它的最大分辨率为1024×768,那么点距就等于:可视宽度/水平像素(或者可视高度/垂直像素),即285.7mm/1024=0.279mm(或214.3mm/768=0.279mm)。点距3.LCD显示器的技术参数液晶显示器所标示的可视面积尺寸与LCD面板是由多个像素点组成显像的,每个独立的像素点色彩是由红、绿、蓝(R、G、B)三种基本色来控制。大部分液晶显示器的每个基本色(R、G、B)为6位,可表现64(26)种颜色,那么每个独立的像素就有64×64×64=262144种色彩。现在有些厂商使用FRC(FrameRateControl)技术以仿真方式来表现全彩画面,每个基本色能达到8位,那么每个独立的像素可以达到28×28×28=16777216种色彩。色彩度对比值是指最大亮度值(全白)与最小亮度值(全黑)的比值。一般来说,人眼可以接受的对比值约为250:1,而目前LCD显示器的对比值通常高达1000:1。对比值响应时间是指液晶显示器各像素点对输入信号反应的时间。响应时间越小越好。若响应时间太长,液晶显示器在显示动态图像时就有可能出现拖尾现象。一般的液晶显示器的响应时间为20~30ms。响应时间LCD面板是由多个像素点组成显像的,每个独立的像素点色彩是由基于HD44780的字符型芯片的功能及使用方法three在单片机实验中我们常用到的是字符型液晶显示模块,此种类型的模块一般都由字符型液晶显示屏LCD,主控制驱动芯片HD44780及其扩展驱动电路,以及少量阻、容元件和结构件等装配在电路板上而成。如图所示显示了1602型液晶显示模块。1602型LCD显示模块(a)显示模块的前面(b)显示模块的后面基于HD44780的字符型芯片的功能及使用方法three在单主控制驱动芯片HD44780是字符型液晶显示模块中至关重要的部件,它拥有80字节的显示存储器(DDRAM),保存常用字符点阵定义的字符发生器(CGROM)用于保存自定义特殊字符点阵的字符发生器(CGRAM),并且自身拥有一组可执行的指令。下面将详细讲述该芯片的功能和使用方法。主控制驱动芯片HD44780是字符型液晶显示模块中至关重要的1.HD44780的引脚与时序(1)HD44780的引脚HD44780的外部引脚一般有16个,其中包括8条数据线DB0~DB7、3条控制线RS、R/W、E,各引脚功能如表所示。引脚号引脚名电平状态作用1Vss0V电源地2VDD5V±10%电源(+5V)3V00~5V液晶驱动电压4RS0/1输入0:输入指令;1:输入数据5R/W0/1输入0:写入指令或数据1:读取数据1.HD44780的引脚与时序(1)HD44780的引脚HD引脚号引脚名电平状态作用6E1,1→0输入使能信号,1:读取信息1→0:执行指令7DB00/1三态数据总线8DB10/1三态数据总线9DB20/1三态数据总线10DB30/1三态数据总线11DB40/1三态数据总线12DB50/1三态数据总线13DB60/1三态数据总线14DB70/1三态数据总线15LED++VccLED背光电源正极16LED-接地LED背光电源负极续上表引脚号引脚名电平状态作用6E1,1→0输入使能信号,1:读取(2)HD44780的时序RS、R/W与E信号相互配合,进行HD44780的读写操作,逻辑信号功能如表所示RSR/WEDB7~DB0功能001→0输入将指令代码写入HD44780011输出读忙标志BF及AC值101→0输入写数据到DDRAM或CGRAM111输出从DDRAM或CGRAM读数据(2)HD44780的时序RS、R/W与E信号相互配合,进行读、写时序如图所示读操作时序图写操作时序图读、写时序如图所示读操作时序图写操作时序图tR:E上升沿时间tSP1:地址建立时间tHD2:数据保持时间(读操作)tF:E下降沿时间tHD1:地址保持时间tHD2:数据保持时间(写操作)
tC:E信号周期tPW:E脉冲宽度tSP2:数据建立时间(写操作)tSP2:数据延迟时间(读操作)读写时序参数说明tR:E上升沿时间tSP1:地址建立时间tHD2:数据保持时2、HD44780的可编程结构HD44780内部主要由指令寄存器(IR)、地址计数器(AC)、数据寄存器(DR)、忙标志(BF)、显示数据存储器(DDRAM)、字符发生器RAM(CGRAM)、字符发生器ROM(CGROM)及时序发生电路等构成,如图所示。HD44780原理结构图2、HD44780的可编程结构HD44780内部主要由指令寄AIR用于单片机向HD44780写入指令码,IR只能写入,不能读出。当RS=0、R/W=0时,数据线DB7~DB0上的数据写入指令寄存器IR。
指令寄存器(IR)C当RS=0、R/W=1,E=1时,BF信号输出到总线的DB7上。BF=1时表示正在进行内部操作,不能接收外部指令或数据。忙标志(BF)BDR用于寄存数据。当RS=1、R/W=0时,数据线DB7~DB0上的数据写入数据寄存器DR,同时DR的数据由内部操作自动写入DDRAM或CGRAM。当RS=1、R/W=1时,内部操作将DDRAM或CGRAM送到DR中,通过DR送到数据总线DB7~DB0上。数据寄存器(DR)AIR用于单片机向HD44780写入指令码,IR只能写入,不DDDRAM用于存储显示数据,共有80个字节。
显示数据存储器(DDRAM)FCGRAM供用户自造特殊字符时使用,容量为64字节,可自定义8个5×8点阵或4个5×11点阵,其编址为00~3FH。字符发生器RAM(CGRAM)EAC是DDRAM或CGRAM的地址指针。若地址码随指令写入IR,则IR的地址码部分自动装入地址计数器AC之中,同时选择相应的DDRAM或CGRAM单元。另外,AC具有自动加1和自动减1功能。当数据从DR送到DDRAM(或CGRAM)时,AC自动加1。当数据从DDRAM(或CGRAM)送到DR时,AC自动减1。当RS=0、R/W=l、E=1时,AC的内容送到DB7~DB0。地址计数器(AC)FCGROM可显示5×7点阵字符160种和5×10点阵字符32种。字符发生器ROM(CGROM)DDDRAM用于存储显示数据,共有80个字节。
显示数据存储3、HD44780的指令集1602字符型液晶模块内部的控制器共有11条控制指令。清屏指令,如表所示指令功能指令编码执行时间/μsRSR/WDB7DB6DB5DB4DB3DB2DB1DB0清屏00000000011.64功能:①清除液晶显示器,即将DDRAM的内容全部填入“空白”的ASCII码20H;②光标归位,即将光标撤回液晶显示屏的左上方;
③将地址计数器(AC)的值设为0。3、HD44780的指令集1602字符型液晶模块内部的控制器光标归位指令,如表所示功能:①把光标撤回到显示器的左上方;②把地址计数器(AC)的值设置为0;③保持DDRAM的内容不变。指令功能指令编码执行时间/μsRSR/WDB7DB6DB5DB4DB3DB2DB1DB0光标归位000000001x1.64光标归位指令,如表所示功能:①把光标撤回到显示器的左上方;输入模式设置指令,如表所示功能:设定每次写数据后光标与画面的移动方式。各参数的意义如下所示: I/D 0:写数据后光标左移 1:写数据后光标右移 S 0:写数据后画面不移动 1:写数据后画面整体右移1个字符指令功能指令编码执行时间/μsRSR/WDB7DB6DB5DB4DB3DB2DB1DB0输入模式设置00000001I/DS40输入模式设置指令,如表所示功能:设定每次写数据后光标与画面的显示开关控制指令,如表所示功能:控制显示器开/关、光标显示/关闭以及光标是否闪烁。参数的意义如下: D 0:显示功能关 1:显示功能开 C 0:无光标 1:有光标 B 0:光标闪烁 1:光标不闪烁指令功能指令编码执行时间/μsRSR/WDB7DB6DB5DB4DB3DB2DB1DB0显示开关控制0000001DCB40显示开关控制指令,如表所示功能:控制显示器开/关、光标显示/画面与光标移动设置指令,如表所示功能:使光标或整个画面移位。参数的意义如下: S/C R/L 设定情况 0 0 光标左移1格,且AC值减1 0 1 光标右移1格,且AC值加1 1 0 画面上字符全部左移一格,但光标不动 1 1 画面上字符全部右移一格,但光标不动指令功能指令编码执行时间/μsRSR/WDB7DB6DB5DB4DB3DB2DB1DB0设定显示屏或光标移动方向000001S/CR/Lxx40画面与光标移动设置指令,如表所示功能:使光标或整个画面移位。功能设定指令,如表所示功能:设定数据总线位数、显示的行数及字型。参数的意义如下: DL 0:数据总线为4位 1:数据总线为8位 N 0:显示1行 1:显示2行 F 0:5×7点阵/每字符 1:5×10点阵/每字符指令功能指令编码执行时间/μsRSR/WDB7DB6DB5DB4DB3DB2DB1DB0功能设定00001DLNFxx40功能设定指令,如表所示功能:设定数据总线位数、显示的行数及字CGRAM地址设置指令,如表所示功能:设置下一个要存入数据的CGRAM地址,范围为0~3FH指令功能指令编码执行时间/μsRSR/WDB7DB6DB5DB4DB3DB2DB1DB0设定CGRAM地址0001CGRAM的地址(6位)40CGRAM地址设置指令,如表所示功能:设置下一个要存入数据的DDRAM地址设置指令,如表所示功能:设置下一个要存入数据的DDRAM地址。(一行显示时地址范围为04FH;两行显示时地址范围为:首行:00~27H,次行:40~67H。)指令功能指令编码执行时间/μsRSR/WDB7DB6DB5DB4DB3DB2DB1DB0设定DDRAM地址001DDRAM的地址(7位)40DDRAM地址设置指令,如表所示功能:设置下一个要存入数据的读取BF或AC值指令,如表所示功能:①读取BF,BF=1表示HD44780忙,暂时无法接收单片机送来的数据或指令;当BF=0时,HD44780可以
接收单片机送来的数据或指令;
②读取地址计数器(AC)的内容。指令功能指令编码执行时间/μsRSR/WDB7DB6DB5DB4DB3DB2DB1DB0读取忙信号或AC地址01BFAC内容(7位)40读取BF或AC值指令,如表所示功能:①读取BF,BF=1表数据写入DDRAM或CGRAM指令(取决于最近设置的地址性质),如表所示功能:①将字符码写入DDRAM,以使液晶显示屏显示出相对应的字符;②将使用者自己设计的图形存入CGRAM。指令功能指令编码执行时间/μsRSR/WDB7DB6DB5DB4DB3DB2DB1DB0数据写入DDRAM或CGRAM10要写入的数据D7~D040数据写入DDRAM或CGRAM指令(取决于最近设置的地址性质从DDRAM或CGRAM读出数据指令(取决于最近设置的地址性质)如表所示指令功能指令编码执行时间/μsRSR/WDB7DB6DB5DB4DB3DB2DB1DB0数据写入DDRAM或CGRAM11要读出的数据D7~D040从DDRAM或CGRAM读出数据指令(取决于最近设置的地址性接口设计three1.直接驱动方式直接驱动方式又称为总线方式,在该方式中,液晶显示模块以存储器或I/O设备的形式连接在系统总线上,如图所示。图中液晶模块的数据总线与单片机的数据总线相连;使能信号E由单片机的读信号和写信号进行逻辑与非后产生,并由地址信号P2.7进行选通控制;R/W、RS信号由单片机的地址线P2.1、P2.0控制。接口设计three1.直接驱动方式直接驱动方式又称为总线方式2.间接驱动方式间接驱动方式又称为模拟口线方式,在该方式中,液晶显示模块作为终端与单片机的并行口相连,如图所示。图中液晶模块的部分数据总线与单片机的P1口相连;使能信号E、R/W和RS信号与单片机的P3口相连,此时需通过软件方式对液晶模块的读写时序进行控制。2.间接驱动方式间接驱动方式又称为模拟口线方式,在该方式中,软件设计four1.直接访问方式下的驱动子程序COM EQU 20H ;指令寄存器DAT EQU 21H ;数据寄存器CW_Add EQU 8000H ;指令口写地址CR_Add EQU 8200H ;指令口读地址DW_Add EQU 8100H ;数据口写地址DR_Add EQU 8300H ;数据口读地址软件设计four1.直接访问方式下的驱动子程序COM EQ(1)读BF和AC值PR0:PUSH DPHPUSH DPLPUSH ACCMOV DPTR,#CR_Add ;设置指令口读地址MOVX A,@DPTR ;读BF和AC值MOV COM,A ;存入COM单元POP ACCPOP DPLPOP DPHRET(1)读BF和AC值PR0:(2)写指令代码子程序PR1:PUSH DPHPUSH DPLPUSH ACCMOV DPTR,#CR_Add ;设置指令口读地址PR11:MOVX A,@DPTRJB ACC.7,PR11 ;判断BF=0?若是,则继续MOV A,COMMOV DPTR,#CW_Add ;设置指令口写地址MOVX @DPTR,A ;写指令代码POP ACCPOP DPLPOP DPHRET(2)写指令代码子程序PR1:(3)写显示数据子程序PR2:PUSH DPHPUSH DPLPUSH ACCMOV DPTR,#CR_Add ;设置指令口读地址PR21:MOVX A,@DPTRJB ACC.7,PR21
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025别墅装修合同范本
- 2025园林绿化养护合同
- 2025国内贸易合同模板
- 2025标准土地租用协议合同
- 湖南省娄底市部分学校2024-2025学年高一下学期4月期中英语试卷(图片版)
- 画册平面设计合同协议
- 玻璃瓶定制合同协议
- 环保渣土车出售合同协议
- 瓦工砌墙清包合同协议
- 生病解除劳动合同协议
- 小学四年级下学期英语阅读理解
- 房地产广告围挡施工投标文件范本
- 彩色手绘卡通儿科小儿护理高热惊厥健康宣教教案PPT课件讲义
- 食品添加剂、食品污染物的本底与转化来源
- DB43∕T 498-2009 博落回叶-行业标准
- 大庆油田第五采油厂杏四聚联合站工程转油放水站二期工程施工组织设计
- 心力衰竭病人的护理查房pptppt(ppt)课件
- 大年初一没下雪 短文小说
- 中小学生守则ppt课件(18页PPT)
- 应急物资领用(返还)登记表
- 二次函数的应用——桥洞问题
评论
0/150
提交评论