1、Beijing Institute of Petro-chemical Technology7.1 概述图7-1 人机通道配置串行口MCS-51单片机及其扩展电路按键键盘拨码盘语音输入遥控按键远程开关CRT打印机LED/LCD报警指示通用计算机系统人机对话外部设备Beijing Institute of Petro-chemical Technology7.2 显示及显示接口发光二极管显示器:简称LED(Light Emitting diode);液晶显示器:简称LCD(Liquid crystal Display);荧光管显示器。分:段显示(7段、“米”字型等)和点阵显示(57、58、88点
2、阵等)。近年来也开始使用简易的CRT,显示一些汉字及图形。Beijing Institute of Petro-chemical Technology7.2.1 发光二极管及其应用图7-2 LEDa)外形 b)电气符号 发光二极管是由半导体发光材料做成的PN节,只要在发光二极管两端通过正向电流5-20mA就能达到正常发光。LED发光颜色通常有红、绿、黄、白,它的外形和电气符号如图7-2所示。单个LED通常是通过用亮、灭来指示系统运行状态和用快速闪烁来报警。Beijing Institute of Petro-chemical Technology例1 通过MCS-51的P1.0驱动一个LED每
3、隔一秒闪烁发光来指示系统运行正常。(晶振12MHz)7.2.1 发光二极管及其应用解解(1)硬件接口 因为MCS-51的I/O口的高电平输出电流在1mA左右,所以不能采用直接驱动LED;而MCS-51的I/O口的低电平输出电流在5-10mA左右,所以可以采用上拉电阻接法,P1.0口为低电平时,LED亮。如图7-3所示(选用8051单片机,不必外扩ROM)。(2)软件编程 利用DJNZ可在一段程序中插入某些指令来实现软件延时。DJNZ指令执行时间为两个机器周期。因晶振频率为12MHz,则下面的子程序段可实现998s的延时,用子程序调用指令(ACALL、LCALL)调用,正好是1ms。Beijin
4、g Institute of Petro-chemical Technology7.2.1 发光二极管及其应用ORG 0000HORG 0000HSTART:START:CPL P1.0CPL P1.0 LCALL DELAYLCALL DELAYLJMP STARTLJMP STARTDELAY:MOV R1DELAY:MOV R1,#0AH#0AH ;1s1s AGAIN:MOV R2 AGAIN:MOV R2,#30H#30H ;1s1s DJNZ R2 DJNZ R2,$;2s2s48 48 1010 DJNZ R1 DJNZ R1,AGAIN AGAIN ;2s2s NOP NOP
5、;1s1s NOP NOP ;1s1s NOP NOP ;1s1s NOP NOP ;1s1s NOP NOP ;1s1s RET RET ;2s 2s END ENDBeijing Institute of Petro-chemical Technology7.2.2 LED数码管及其应用共阳极共阳极共阴极共阴极外形图外形图Beijing Institute of Petro-chemical TechnologyLEDLED显示器用于显示工业控制参数、显示器用于显示工业控制参数、过程状态。过程状态。共阴极共阴极LEDLED和共阳极和共阳极LEDLED当当LEDLED字段引线与数据线连接,每
6、字段引线与数据线连接,每个显示字形对应一个字形码。个显示字形对应一个字形码。COM P1.01.7 MCS-51a f b g e c d habha b hCOMD D7 7 D D6 6 D D5 5 D D4 4 D D3 3 D D2 2 D D1 1 D D0 0h g f e d c b ah g f e d c b a 7.2.2 LED数码管及其应用Beijing Institute of Petro-chemical Technology7.2.2 LED数码管及其应用显示程序任务:显示程序任务:(1 1)设置显示缓冲区:)设置显示缓冲区:存放待显示数存放待显示数据和字符(位
7、置码)。据和字符(位置码)。(2 2)显示译码:)显示译码:程序存储器中建立字程序存储器中建立字形码常数表,查表得出对应数据和字符的形码常数表,查表得出对应数据和字符的字形码。字形码。(3 3)输出显示:)输出显示:输出字形码到显示端输出字形码到显示端口。口。例:例:MOV DPTR,#WTAB;指向字形码表首地址;指向字形码表首地址MOV A,R0 ;取显示缓冲区中数据;取显示缓冲区中数据MOVC A,A+DPTR;查表显示译码;查表显示译码MOV P1,A ;输出显示;输出显示WTAB:DB3FH,06H,5BH ;字形码表;字形码表COM P1.01.7 MCS-51a f b g e
8、c d habhBeijing Institute of Petro-chemical Technology7.2.2 LED数码管及其应用Beijing Institute of Petro-chemical Technology显示红黄绿灯程序RED EQU P2.0YELLOW EQU P2.4GREEN EQU P2.7 ORG 0000HMAIN:CLR RED SETB YELLOW SETB GREEN ACALL DELAY SETB RED CLR YELLOW SETB GREEN ACALL DELAY SETB RED SETB YELLOW CLR GREEN ACA
9、LL DELAY AJMP MAINDELAY:MOV R7,#10 DEL0:MOV R6,#200 DEL1:MOV R5,#250 DEL2:DJNZ R5,DEL2 DJNZ R6,DEL1 DJNZ R7,DEL0 RET END7.2.2 LED数码管及其应用Beijing Institute of Petro-chemical Technology显示显示09程序程序n ORG 0000HMAIN:MOV R0,#0 ;存要显示的数存要显示的数 MOV R4,#10 ;存循环次数存循环次数LOOP:MOV A,R0 MOV DPTR,#TAB ;段码表首地址段码表首地址 MOVC
10、 A,A+DPTR;查表查表 MOV P0,A ;段码送段码送P0,显示数字显示数字 INC R0 ;显示数加显示数加1 ACALL DELAY ;延时延时1秒秒 DJNZ R4,LOOP ;循环次数减循环次数减1 AJMP MAIN DELAY:MOV R7,#10 DEL0:MOV R6,#200 DEL1:MOV R5,#250 DEL2:DJNZ R5,DEL2 DJNZ R6,DEL1 DJNZ R7,DEL0 RETORG 0100H ;段码表首地址段码表首地址TAB:DB 3Fh,06h,5Bh,4Fh,66h DB 6Dh,7Dh,07h,7Fh,6Fh END7.2.2 LE
11、D数码管及其应用Beijing Institute of Petro-chemical Technology7.2.3 多位数码管显示1.1.静态显示静态显示所谓静态显示,就是每一个显示器都所谓静态显示,就是每一个显示器都要占用单独的具有锁存功能的要占用单独的具有锁存功能的I/OI/O接口用接口用于笔划段字形代码。单片机只要把要显于笔划段字形代码。单片机只要把要显示的字形代码发送到接口电路,直到要示的字形代码发送到接口电路,直到要显示新的数据时,再发送新的字形码,显示新的数据时,再发送新的字形码,因此,使用这种方法单片机中因此,使用这种方法单片机中CPUCPU的开销的开销小。可以提供单独锁存的
12、小。可以提供单独锁存的I/OI/O接口电路很接口电路很多,这里以常用的串并转换电路多,这里以常用的串并转换电路74LS16474LS164为例,介绍一种常用静态显示电路。为例,介绍一种常用静态显示电路。a b hCOMa f b g e c d h a b hCOM a b hCOM每个每个LEDLED需要一个需要一个8 8位并行口位并行口Beijing Institute of Petro-chemical Technology2.2.动态显示动态显示 与静态显示不同,动态显示技术让不同的数码管分与静态显示不同,动态显示技术让不同的数码管分时点亮。即:某一个数码管的字段码从单片机的一时点亮。
13、即:某一个数码管的字段码从单片机的一个个I/OI/O口输出,通过单片机选通该数码管,让这个数口输出,通过单片机选通该数码管,让这个数码管显示自己的字符几个毫秒,然后将下一个数码码管显示自己的字符几个毫秒,然后将下一个数码管的字段码从单片机的同一个管的字段码从单片机的同一个I/OI/O口输出,通过单片口输出,通过单片机选通下一个数码管,让下一个数码管显示自己的机选通下一个数码管,让下一个数码管显示自己的字符几个毫秒机,依次循环。由于人眼响应较慢,字符几个毫秒机,依次循环。由于人眼响应较慢,最后的效果是每一个数码管都在显示各自的字符。最后的效果是每一个数码管都在显示各自的字符。7.2.3 多位数码
14、管显示COMhCOMD7D1D0D0D1D2hbbhCOMa f b g e c d haaba 对应字位线:对应字位线:D0 D1 D2 D3 D4 D5多位多位LEDLED共用一个共用一个8 8位字段位字段口,各位口,各位LEDLED公共端用字位公共端用字位口控制,扫描输出显示不同口控制,扫描输出显示不同字形。字形。显示缓冲区与多位显示缓冲区与多位LED对应关系:对应关系:显显 示示 缓缓 冲冲 区区地地 址址内内 容容7AH7BH7CH7DH7EH7FH显示程序:显示程序:DIS:MOV R0,#7AH ;指向显示缓冲区起始单元;指向显示缓冲区起始单元MOV R3,#01H ;字位码初值
15、;字位码初值R3MOV A,R3 ;取字位码;取字位码DLP:MOV DPTR,#PAAR;指向字位口;指向字位口(PA口口)MOVX DPTR,A ;输出字位码,显示其中;输出字位码,显示其中1位位MOV A,R0 ;取一个显示数据;取一个显示数据ADD A,#0CH ;查表偏移量;查表偏移量MOVC A,A+PC ;取出字形码;取出字形码INC DPTR ;指向字段口;指向字段口(PB口口)MOVX DPTR,A ;输出字形码;输出字形码ACALL DLY1MS ;延时;延时1msINC R0 ;指向显缓区下一单元;指向显缓区下一单元MOV A,R3 ;修改字位码;修改字位码RL A ;显
16、示下一位;显示下一位MOV R3,AJNB ACC.6,DLP ;未显示到最右边;未显示到最右边LED,继续显示,继续显示RET ;全部扫描一遍,结束;全部扫描一遍,结束DTAB:DB 0C0H,0F9H,0A4H;字形表;字形表 DB 0B0H,99H,DLY1MS:;延时;延时1ms子程序子程序Beijing Institute of Petro-chemical Technology动态显示基本原理AD012PA021AD113PA122AD214PA223AD315PA324AD416PA425AD517PA526AD618PA627AD719PA728PB 029C E8PB 130
17、R D9PB 231W R10PB 332IO/M7PB 433AL E11PB 534PB 635PB 736T M R OUT6PC 037PC 138T M R IN3PC 239PC 31PC 42R E SE T4PC 558155edcdpbafg70123456PB0PB7PA 0PA 72008Beijing Institute of Petro-chemical Technology动态显示程序流程图 采用动态扫描方式依次循环点亮各位数码管,构成多位动态数码管显示电路。开 始显示缓冲区首地址送R0显示位数送R2起始显示位送R3禁止所有位(关显示)从缓冲区取要显示的数查表得字型
18、码指向段选口,送字型码指向位选口,送位选码延时指向显示缓冲区下一个单元位选码左移结束11扫描完一遍吗?YNBeijing Institute of Petro-chemical Technology例例3 3 片内RAM的30H中存放着温度采集的数字值,用3个数码管显示其对应的数值(0-255)。解解 通过MCS-51的P1口输出三个数码管的字段码,由P3.2,P3.1,P3.0控制LED数码管的电源选通(高电平有效)。7.2.3 多位数码管显示7.2.3 多位数码管显示ORG 00HSTART:MOV DPTR,#TABLE ;指针指向表头地址S1:MOVA,#00H ;设置地址偏移量MOV
19、CA,A+DPTR ;查表取得段码,送A存储CJNEA,#01H,S2;判断段码是否为结束符LJMPSTARTS2:MOVP0,A;段码送LED显示LCALLDELAY;指针加1INCDPTRLJMPS1DELAY:MOV R5,#20 ;延时子程序D2:MOV R6,#20D1:MOV R7,#248DJNZ R7,$DJNZ R6,D1DJNZ R5,D2RET TABLE:DB 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h DB01H ;结束符ENDBeijing Institute of Petro-chemical Technology7.
20、2.3 多位数码管显示 ORGORG0100H0100HSHUZISHUZI EQUEQU030H030HBAIWEIBAIWEIEQUEQU072H072HSHIWEISHIWEIEQUEQU071H071HGEWEIGEWEI EQUEQU070H070HMOVMOVDPTRDPTR,#Zxm#ZxmMAINMAIN:LCALLLCALLADCONADCONLCALLLCALLZHHZHHLCALLLCALLDISPLAYDISPLAYLJMPLJMPMAINMAINZHH:ZHH:MOVMOVA A,SHUZISHUZIMOVMOVB B,#064H#064HDIVDIVABABMOVM
21、OVBAIWEIBAIWEI,A ASWAPSWAPA A,B BMOVMOVB B,#0AH#0AHDIVDIVABABMOVMOVSHIWESHIWE,A AMOVMOVGEWEIGEWEI,B BRETRETDISPLAYDISPLAY:SETBSETBP3.2P3.2CLRCLRP3.1P3.1CLRCLRP3.0P3.0MOVMOVA A,BAIWEIBAIWEIMOVMOVP1P1,A ALCALLLCALLDELAY1MSDELAY1MSCLRCLRP3.2P3.2SETBSETBP3.1P3.1CLRCLRP3.0P3.0MOVMOVA A,SHIWEISHIWEIMOVMOV
22、P1P1,A ALCALLLCALLDELAY1DELAY1CLRCLRP3.2P3.2CLRCLRP3.1P3.1SETBSETBP3.0P3.0MOVMOVA A,GEWEIGEWEIMOVMOVP1P1,A ALCALLLCALLDELAY1DELAY1RETRETDELAY1:DELAY1:MOVMOVR5R5,#0FFH#0FFHDJNZDJNZR5R5,$RETRETZxm:Zxm:DB 0C0HDB 0C0H,0F9H0F9H,0A4H0A4H,0B0H0B0H,099H099H,092H092H,082H082H,0F8H0F8H,080H080H,090H090H ENDEN
23、D7.3 键盘及其接口技术7.3.17.3.1键盘处理程序任务键盘处理程序任务1)1)键输入键输入检查键盘是否有键被按下,检查键盘是否有键被按下,消除按键抖动。确定被按键的消除按键抖动。确定被按键的键号,获取键号。键号,获取键号。硬件电路消除抖动或软件消硬件电路消除抖动或软件消除抖动。除抖动。2)2)键译码键译码键号为键盘位置码,根据键号查表得出键号为键盘位置码,根据键号查表得出被按键的键值。键值:数字键被按键的键值。键值:数字键0 09 9、字符键、字符键0AH0AH0FH0FH、功能键、功能键10H10H 。延时等待延时等待10ms 仍有按键信号?仍有按键信号?Y 有按键信号?有按键信号?
24、NYN键盘处理键盘处理 按键释放?按键释放?NY3 3)键处理键处理根据键值转移到不同程序段。根据键值转移到不同程序段。若键值属于数字、字符键,则调用显示若键值属于数字、字符键,则调用显示数字和字符的子程序。数字和字符的子程序。若键值属于功能键,则进行多分支转移,若键值属于功能键,则进行多分支转移,执行各个功能程序段。执行各个功能程序段。抖动时间抖动时间10ms开关动作时间开关动作时间100ms“1”“0”10msI/O接接口口+5v+5v消除抖动电路开关开关单片机单片机Beijing Institute of Petro-chemical Technology7.3.2 按键开关在单片机应用
25、系统中,常用按键开关在单片机应用系统中,常用按键开关有自锁式和非自锁式两种。有自锁式和非自锁式两种。如图如图7-97-9所示。自锁式按键开关:当所示。自锁式按键开关:当按一下按键,开关闭合,按键不会抬按一下按键,开关闭合,按键不会抬起;直到再次按一下按键,按键会抬起;直到再次按一下按键,按键会抬起,开关断开。非自锁式按键开关:起,开关断开。非自锁式按键开关:当按一下按键,开关瞬间闭合,然后当按一下按键,开关瞬间闭合,然后自动抬起,开关断开;如想一直保持自动抬起,开关断开;如想一直保持开关闭合,就得一直按住按键。开关闭合,就得一直按住按键。图7-9 按键a)自锁式 b)非自锁Beijing In
26、stitute of Petro-chemical Technology7.3.3 独立按键接口P1.0P1.1P1.7+5v在单片机应用系统中按键数量较少,多采用独立按键式键盘。此种键盘结构简单,每只按键按单片机的一条I/O线,通过对输入线的查询即可识别每只按键的状态。每个按键单独占有一根每个按键单独占有一根I/O接口引线。接口引线。Beijing Institute of Petro-chemical Technology7.3.4 行列式键盘接口 0 1+5v C0 C1 R0 R1键盘键盘I/O接口接口1.1.扫描法扫描法列线输出,行线输入。列线输出,行线输入。列线逐行输出列线逐行输出
27、0 0,某行有按键,行线输入有,某行有按键,行线输入有0 0,若无按键,行线,若无按键,行线输入全部为输入全部为1 1。2.2.反转法反转法行列线交换输入、输出,两步获取按键键号。行列线交换输入、输出,两步获取按键键号。在单片机应用系统中需要安排较多在单片机应用系统中需要安排较多的按时,通常把键排成行列形式,的按时,通常把键排成行列形式,这样可以合理地利用硬件资源。例这样可以合理地利用硬件资源。例如,可把如,可把1616只键排成只键排成4 44 4行列形式,行列形式,用一个用一个8 8位位I/OI/O口控制。口控制。按键处理程序:按键处理程序:延时消抖延时消抖键扫描求键号键扫描求键号延时等待延
28、时等待键译码求键值键译码求键值修改显示缓冲区修改显示缓冲区跳转各功能程序跳转各功能程序有按键输入?有按键输入?确有按键?确有按键?按键释放?按键释放?是数字键?是数字键?Beijing Institute of Petro-chemical Technology关键:如何关键:如何判断键号?判断键号?3210476511109815141312+5VP1.4P1.3P1.0MCS-51P1.7P1.6P1.5P1.2P1.1接口电路:7.3.4 行列式键盘接口Beijing Institute of Petro-chemical Technology键盘扫描子程序一般包括以下内容:1.判别有无
29、键按下;2.扫描获取闭合键的行、列值;3.用计算法或查表法得到键值;4.判断闭合键释放否,如没释放则继续等待;5.保存闭合键号。7.3.4 行列式键盘接口Beijing Institute of Petro-chemical Technology键按下键按下/释放判释放判断断 KS:MOV A,#00H MOV P1,A ;全扫描字#00H送P1口 MOV P1,#0FH MOV A,P1 ;读入P1口状态 CPL A ;变正逻辑,高电平表示有键按下 ANL A,#0FH ;取低4位 RET ;返回,A0表示有键按下 Beijing Institute of Petro-chemical Te
30、chnology按键识别扫描法 流程:当第当第0 0列处于低电平时,列处于低电平时,逐行逐行查找是否有行线变低,查找是否有行线变低,若有,则若有,则第第0 0列与该行的交叉点列与该行的交叉点按键按下;若无,则表示按键按下;若无,则表示第第0 0列无键按下,再让下一列处在低电平,依此循环,这列无键按下,再让下一列处在低电平,依此循环,这种方式称为种方式称为键盘扫描键盘扫描。键号键号=行首键号(行首键号(0 0、4 4、8 8、1212)+列号(列号(0 0、1 1、2 2、3 3)原理:在某一时刻只让在某一时刻只让一条列线一条列线处于处于低低电平,其余列线均电平,其余列线均处于高电平,则当这一列
31、有键按下时,该键所在的行处于高电平,则当这一列有键按下时,该键所在的行电平将会由高电平变为低电平,可判定该列相应的行电平将会由高电平变为低电平,可判定该列相应的行有键按下。有键按下。Beijing Institute of Petro-chemical Technology例2:键盘扫描程序SERCH:MOV R2,#0EFH MOV R3,#00H LINE0:MOV A,R2 MOV P1,A MOV A,P1 JB ACC.3,LINE1 MOV A,#00H AJMP TRYKLINE1:JB ACC.2,LINE2 MOV A,#04H AJMP TRYK LINE2:JB ACC.
32、1,LINE3 MOV A,#08HBeijing Institute of Petro-chemical Technology AJMP TRYKLINE3:JB ACC.3,LINE4 MOV A,#0CH AJMP TRYKLINE4:INC R3 MOV A,R2 RL A JNB ACC.0,BACK MOV R2,A AJMP LINE0 TRYK:ADD A,R3BACK:RET7.3.4 行列式键盘接口Beijing Institute of Petro-chemical Technology定时扫描方式 定时扫描方式就是每隔一段时间对键盘扫描一次,它利用单片机内部的定时器产生
33、一定时间(例如10 ms)的定时,当定时时间到就产生定时器溢出中断。CPU响应中断后对键盘进行扫描,并在有键按下时识别出该键,再执行该键的功能程序。7.3.4 行列式键盘接口Beijing Institute of Petro-chemical Technology中断扫描方式 为提高CPU工作效率,可采用中断扫描工作方式。其工作过程如下:当无键按下时,CPU处理自己的工作,当有键按下时,产生中断请求,CPU转去执行键盘扫描子程序,并识别键号。P1.0P1.1P1.3P1.2P1.4P1.5P1.6P1.7INT08031&7.3.4 行列式键盘接口Beijing Institute of P
34、etro-chemical Technology作 业认真阅读例认真阅读例4 4、例、例5,5,理解程序设计思路和硬件接口,分析解理解程序设计思路和硬件接口,分析解题过程,画出流程图,详细说明硬件资源的利用、分配情题过程,画出流程图,详细说明硬件资源的利用、分配情况(如缓冲区、数码管接口等),并解释显示子程序。况(如缓冲区、数码管接口等),并解释显示子程序。Beijing Institute of Petro-chemical Technology7.4 通用键盘显示板通用键盘显示采用8279(通用键盘/显示接口芯片),能与Z80、8031、8039、8098等数据总线直接连接,不占用CPU时
35、间,自动完成扫描显示,编程方便,如图7-12所示。本板上配备8位LED数码管,20个键,其中一个是复位键,另几个出厂时定义为0-F,16个数字键,1个LAST(读写上一个RAM单元)键,1个NEXT(读写下一个RAM单元)键,1个EXEC(连续执行键).Beijing Institute of Petro-chemical Technology7.5 其它人机接口技术简介1液晶显示器液晶显示器,简称LCD,是一种功耗很低的显示器。有数码液晶显示器和点阵液晶显示器。其应用领域特别广泛,从电子表到计算机,从袖珍仪表到便携式微型计算机,几乎随处可见。LCD是由背板和一定数量的段或点构成的,这些段和点
36、用以形成各种显示形象。在任何段与背板间施加一电压,通常为4V或5V,即可使段呈现出黑色。唯一困难的问题是,所施加的电压必须是周期性改变极性,否则LCD中就要发生化学反应,并最终导致液晶的损坏。2 2微型打印机微型打印机在单片机应用系统中,微型打印机是主要硬拷贝输出设备,如在单片机应用系统中,微型打印机是主要硬拷贝输出设备,如超级市场、书店的收银机,出租车票打印机。超级市场、书店的收银机,出租车票打印机。Beijing Institute of Petro-chemical Technology 7.5.1 单片机与LCD 接 口 设 计Beijing Institute of Petro-ch
37、emical Technology任务1:如何在LCD的指定位置显示出 指定的字符。2行16列Ab7.5.1 单片机与LCDBeijing Institute of Petro-chemical Technology任务2:如何在LCD的指定位置显示字符串。2行16列Shenzhen Polytechnic7.5.1 单片机与LCDBeijing Institute of Petro-chemical Technology基本内容v LCD接口程序设计程序设计*v 字符型LCD模块的使用方法 v 单片机与字符型LCD模块接口电路接口电路NOTICENOTICELCD:Liquid Crysta
38、l Display7.5.1 单片机与LCDBeijing Institute of Petro-chemical Technology一、字符型LCD模块Shenzhen PolytechnicvLCD实验模块的连接管脚1 2 3 4 5 6 7 8 9101112131415167.5.1 单片机与LCDBeijing Institute of Petro-chemical Technology 12345678910111213141516VSS VDD VORS R/WEDB0 DB1ADB3DB2DB5DB4DB7DB6KLCD模块模块Vss:+5V电源管脚(Vcc)VDD:地管脚(
39、GND)Vo:液晶显示驱动电源(0V5V)7.5.1 单片机与LCDBeijing Institute of Petro-chemical Technology 12345678910111213141516VSS VDD VORS R/WEDB0 DB1ADB3DB2DB5DB4DB7DB6KLCD模块DB0DB7:数据线,可以用8位连接,也可以只用高4位连接,节约单片机资源,本实验中采用的是八位连接方法。7.5.1 单片机与LCDBeijing Institute of Petro-chemical Technology 12345678910111213141516VSS VDD VOR
40、S R/WEDB0 DB1ADB3DB2DB5DB4DB7DB6KLCD模块A:背光控制正电源K:背光控制地7.5.1 单片机与LCDBeijing Institute of Petro-chemical Technology 12345678910111213141516VSS VDD VORS R/WEDB0 DB1ADB3DB2DB5DB4DB7DB6KLCD模块单片机与LCD模块之间有四种基本操作:写命令写命令 读状态读状态 写显示数据写显示数据 读显示数据读显示数据7.5.1 单片机与LCDBeijing Institute of Petro-chemical Technology
41、12345678910111213141516VSS VDD VORS R/WEDB0 DB1ADB3DB2DB5DB4DB7DB6KLCD模块RSR/W操作操作00写命令写命令操作(初始化、光标定操作(初始化、光标定位等)位等)01读状态读状态操作(读忙标志)操作(读忙标志)10写数据写数据操作(要显示内容)操作(要显示内容)11读数据读数据操作(可以把显示存储操作(可以把显示存储区中的数据反读出来)区中的数据反读出来)7.5.1 单片机与LCDBeijing Institute of Petro-chemical Technology 12345678910111213141516VSS
42、VDD VORS R/WEDB0 DB1ADB3DB2DB5DB4DB7DB6KLCD模块RS:数据和指令选择控制端,RS=0:命令/状态;RS=1:数据R/W:读写控制线,R/W=0:写操作;R/W=1:读操作E:数据读写操作控制位,E线向LCD模块发送一个脉冲,LCD模块与单片机之间将进行一次数据交换7.5.1 单片机与LCD二、单片机与字符型LCD模块接口数据线:数据线:DB7DB0接接单片机的单片机的P1.7 P1.0控制端:控制端:RS P3.0 R/W P3.1 E P3.2Beijing Institute of Petro-chemical Technology 单片机与LCD
43、模块硬件连接v 实验模块:A01、A07v 连线表:动手做动手做 A01A07连接1+5V/GND+5V/GND连接2P1.0-P1.7DB0-DB7连接3P3.0RS连接4P3.1RW连接5P3.2E注意:连接时,需要将跳线设置与E端接通 Beijing Institute of Petro-chemical Technology三、LCD接口程序设计v 程序设计程序设计 功能设置 写命令写命令子程序子程序 LCD初始化:初始化:按一定顺序写命令字 如:写清屏命令字、写DDRAM光标定位地址命令字 显示数据 写数据写数据子程序子程序 读入状态字读状态读状态子程序子程序 Beijing Ins
44、titute of Petro-chemical Technology1.读状态字RSR/W操作操作00写命令操作(初始化、光标定位等)01读状态操作(读忙标志)读状态操作(读忙标志)10写数据操作(要显示的内容)11读数据操作(可以把显示存储区中的数据反读出来)v E (P3.2):v RS (P3.0)=0;v R/W(P3.1)=1;RSEQUP3.0RWEQUP3.1EEQUP3.2vE(P3.2):vR/W(P3.1)=1;vRS(P3.0)=0;SETB RW ;RW=1NOP ;3条CLR RS ;RS=0NOP ;3条SETB E ;E=1NOP ;3条MOV A,P1 ;读入
45、状态字读入状态字 NOP ;3条CLR E ;E=0NOP ;3条 CLR RW ;RW=0STAT:RETBeijing Institute of Petro-chemical Technology2.写命令字RSR/W操作操作00写命令操作(初始化、光标写命令操作(初始化、光标定位等)定位等)01读状态操作(读忙标志)读状态操作(读忙标志)10写数据操作(要显示的内容)11读数据操作(可以把显示存储区中的数据反读出来)v E:v RS=0;R/W=0;v 采用查询方式:读入状态字读入状态字,再判断忙标志ACC.7。RW=0RS=1E=1命令字A,A P1E=0RS=0返回写数据读入状态字A
46、ACC.7=0?不忙吗?延时YN动手做动手做假定显示数据已存放到内部RAM的 21H单元3.命令字指令名称指令名称控制信号控制信号控制代码控制代码RS RWD7 D6 D5 D4 D3 D2 D1 D0清屏清屏0 00 0 0 0 0 0 0 1归归home位位0 00 0 0 0 0 0 1 *输入方式设置输入方式设置0 00 0 0 0 0 1 I/D S显示状态设置显示状态设置0 00 0 0 0 1 D C B光标画面滚动光标画面滚动0 00 0 0 1 S/C R/L *功能设置功能设置0 00 0 1 DL N F *CGRAM地址设置地址设置0 00 1 A5 A4 A3 A2
47、A1 A0DDRAM地址设置地址设置0 01 A6 A5 A4 A3 A2 A1 A0读读BF和和AC0 1BF AC6 AC5 AC4 AC3 AC2 AC1 AC0写数据写数据1 0数数 据据读数据读数据1 1数数 据据清除屏幕,置AC为零01H指令名称指令名称控制信号控制信号控制代码控制代码RS RWD7 D6 D5 D4 D3 D2 D1 D0清屏清屏0 00 0 0 0 0 0 0 1归归home位位0 00 0 0 0 0 0 1 *输入方式设置输入方式设置0 00 0 0 0 0 1 I/D S显示状态设置显示状态设置0 00 0 0 0 1 D C B光标画面滚动光标画面滚动0
48、 00 0 0 1 S/C R/L *功能设置功能设置0 00 0 1 DL N F *CGRAM地址设置地址设置0 00 1 A5 A4 A3 A2 A1 A0DDRAM地址设置地址设置0 01 A6 A5 A4 A3 A2 A1 A0读读BF和和AC0 1BF AC6 AC5 AC4 AC3 AC2 AC1 AC0写数据写数据1 0数数 据据读数据读数据1 1数数 据据设光标移动方向并指定整体显示是否移动。I/D=1:增量方式I/D=0:减量方式S=1:移位S=0:不移位0000011006H设整体显示开关(D),光标显示开关(C),光标位的字符闪耀(B)D=1;C=0;B=0000011
49、000cH指令名称指令名称控制信号控制信号控制代码控制代码RS RWD7 D6 D5 D4 D3 D2 D1 D0清屏清屏0 00 0 0 0 0 0 0 1归归home位位0 00 0 0 0 0 0 1 *输入方式设置输入方式设置0 00 0 0 0 0 1 I/D S显示开关控制显示开关控制0 00 0 0 0 1 D C B光标画面滚动光标画面滚动0 00 0 0 1 S/C R/L *功能设置功能设置0 00 0 1 DL N F *CGRAM地址设置地址设置0 00 1 A5 A4 A3 A2 A1 A0DDRAM地址设置地址设置0 01 A6 A5 A4 A3 A2 A1 A0读
50、读BF和和AC0 1BF AC6 AC5 AC4 AC3 AC2 AC1 AC0写数据写数据1 0数数 据据读数据读数据1 1数数 据据设接口数据位数(DL),显示行数(L),及字型(F)DL=1,8位 =0:4位N=1:2行 =0:1行F=1:510 =0:570011100038H指令名称指令名称控制信号控制信号控制代码控制代码RS RWD7 D6 D5 D4 D3 D2 D1 D0清屏清屏0 00 0 0 0 0 0 0 1归归home位位0 00 0 0 0 0 0 1 *输入方式设置输入方式设置0 00 0 0 0 0 1 I/D S显示开关控制显示开关控制0 00 0 0 0 1