第7章 显示与开关键盘输入.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《第7章 显示与开关键盘输入.ppt》由会员分享,可在线阅读,更多相关《第7章 显示与开关键盘输入.ppt(151页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、课程主讲人:第第7章章 显示与开关键盘输入显示与开关键盘输入2 2 第第7章章 显示与开关显示与开关/键盘输入及微型键盘输入及微型 打印机接口设计打印机接口设计 3 3第第7章章 显示、开关显示、开关/键盘及微型打印机接口设计键盘及微型打印机接口设计7.1 单片机控制发光二极管的显示单片机控制发光二极管的显示 7.1.1 单片机与发光二极管的连接单片机与发光二极管的连接 7.1.2 单片机单片机I/O端口控制发光二极管的编程端口控制发光二极管的编程7.2 开关状态检测开关状态检测7.3 单片机控制单片机控制LED数码管的显示数码管的显示 7.3.1 LED数码管显示原理数码管显示原理 7.3.
2、2 LED数码管的显示方式数码管的显示方式 7.3.3 LED数码管静态显示设计数码管静态显示设计 7.3.4 LED数码管动态显示设计数码管动态显示设计4 47.4 单片机控制单片机控制LED点阵显示器显示点阵显示器显示 7.4.1 LED点阵显示器结构与显示原理点阵显示器结构与显示原理 7.4.2 控制控制1616 LED点阵显示屏的设计点阵显示屏的设计7.5 单片机控制单片机控制LCD 1602液晶显示器的显示液晶显示器的显示 7.5.1 LCD 1602液晶显示模块简介液晶显示模块简介 7.5.2 单片机控制字符型单片机控制字符型LCD 1602的显示案例的显示案例7.6 键盘接口设计
3、键盘接口设计 7.6.1 键盘接口设计应解决的问题键盘接口设计应解决的问题 7.6.2 独立式键盘的设计独立式键盘的设计 7.6.3 矩阵式键盘的设计矩阵式键盘的设计 7.6.4 单片机与专用键盘单片机与专用键盘/显示器芯片显示器芯片HD7279的接口设计的接口设计5 57.7 AT89S52单片机与微型打印机单片机与微型打印机TPP-40A/16A的接口的接口 7.7.1 TPP-40A/16A微型打印机简介微型打印机简介 7.7.2 AT89S52单片机与单片机与TPP-40A/16A的接口设计的接口设计7.8 单片机与单片机与BCD码拨盘的接口设计码拨盘的接口设计6 6内容概要内容概要
4、作为片内作为片内I/O口的基本应用,本章介绍单片机片内口的基本应用,本章介绍单片机片内I/O口与常见的输入器件口与常见的输入器件(开关、键盘以及拨盘开关等)以及常见的显示输出器件(发光二极管、(开关、键盘以及拨盘开关等)以及常见的显示输出器件(发光二极管、LED数码管、数码管、LCD液晶显示器和微型打印机)的接口设计与编程。液晶显示器和微型打印机)的接口设计与编程。7 77.1 单片机控制发光二极管显示单片机控制发光二极管显示 第第2章章介绍了单片机片内介绍了单片机片内4个个I/O端口端口P0口口P3口的内部电路以及外部引口的内部电路以及外部引脚特性。如果脚特性。如果P0口作为通用口作为通用I
5、/O使用,由于漏极开路,需要外接上拉电阻。使用,由于漏极开路,需要外接上拉电阻。而而P1P3口内部已有口内部已有30k左右的上拉电阻。下面讨论左右的上拉电阻。下面讨论P1P3口如何与口如何与LED发光二极管连接。发光二极管连接。 发光二极管常用来指示系统工作状态,制作节日彩灯、广告牌匾等。发光二极管常用来指示系统工作状态,制作节日彩灯、广告牌匾等。 大部分发光二极管工作电流大部分发光二极管工作电流15mA,其内阻为,其内阻为20100。电流越大,亮。电流越大,亮度也越高。度也越高。 为保证发光二极管正常工作,同时减少功耗,限流电阻选择十分重要,为保证发光二极管正常工作,同时减少功耗,限流电阻选
6、择十分重要,若供电电压为若供电电压为+5V,则限流电阻可选,则限流电阻可选13k。8 87.1.1 7.1.1 单片机与发光二极管的连接单片机与发光二极管的连接 单片机通过并行端口单片机通过并行端口P1P1P3P3驱动发光二极管,电路如驱动发光二极管,电路如图图7-17-1所示。所示。 P0 P0口与口与 P1P1、P2P2、P3P3口相比,口相比,P0P0口每位可驱动口每位可驱动8 8个个LSTTLLSTTL输入,而输入,而P1P1P3P3口口每一位的驱动能力,只有每一位的驱动能力,只有P0P0口的一半。当口的一半。当P0P0口的某位为高电平时,可提供口的某位为高电平时,可提供400A400
7、A的拉电流的拉电流, ,见见图图7-17-1(a a);当;当P0P0口某位为低电平(口某位为低电平(0.45V0.45V)时,可提供)时,可提供3.2mA3.2mA的灌电流的灌电流, ,见见图图7-17-1(b b), ,而而P1P1P3P3口内部有口内部有30k30k左右的上拉电阻,左右的上拉电阻,如果高电平输出,则从如果高电平输出,则从P1P1、P2P2和和P3P3口输出的拉电流口输出的拉电流IdId仅为几百仅为几百AA,驱动能,驱动能力较弱,亮度较差,如力较弱,亮度较差,如图图7-17-1(a a)所示。所示。 9 9图图7-1 发光二极管与单片机并行口的连接发光二极管与单片机并行口的
8、连接(a)不恰当的连接:高电平驱动)不恰当的连接:高电平驱动 (b)恰当的连接:低电平驱动)恰当的连接:低电平驱动1010 如果端口引脚为低电平,能使灌电流如果端口引脚为低电平,能使灌电流Id从单片机的外部流入内部,则将大从单片机的外部流入内部,则将大大增加流过的灌电流值,如大增加流过的灌电流值,如图图7-1(b)所示。所以,所示。所以,AT89S52单片机任何单片机任何一个端口要想获得较大的驱动能力,要采用低电平输出。一个端口要想获得较大的驱动能力,要采用低电平输出。 如果一定要高电平驱动,可在单片机与发光二极管之间加驱动电路,如如果一定要高电平驱动,可在单片机与发光二极管之间加驱动电路,如
9、74LS04、74LS244等。等。7.1.2 单片机单片机I/O端口控制发光二极管的编程端口控制发光二极管的编程 发光二极管与单片机发光二极管与单片机I/O端口的连接,见图端口的连接,见图7-1(b)。如要点亮某发光二)。如要点亮某发光二极管,只需该极管,只需该I/O端口位写入端口位写入“0”即可。下面介绍如何对即可。下面介绍如何对I/O端口编程实现对端口编程实现对发光二极管亮灭的控制。发光二极管亮灭的控制。1111 【例例7-1】制作一个单片机控制的流水灯,原理电路见制作一个单片机控制的流水灯,原理电路见图图7-2,8个发光二极个发光二极管管LED0LED7经限流电阻分别接至经限流电阻分别
10、接至P1口的口的P1.0P1.7引脚上,阳极共同引脚上,阳极共同接高电平。编写程序,每次点亮一个发光二极管,控制发光二极管由上至接高电平。编写程序,每次点亮一个发光二极管,控制发光二极管由上至下的反复循环流水点亮。下的反复循环流水点亮。 说明:说明:本例采用了本例采用了Proteus环境下的虚拟仿真,环境下的虚拟仿真,7.5版本元件库中没有版本元件库中没有AT89S52单片机,采用单片机,采用AT89C51来代替来代替AT89S52,以下同。,以下同。 参考程序如下:参考程序如下: 1212图图7-2 单片机控制的流水灯单片机控制的流水灯131314147.2 开关状态检测开关状态检测 检测开
11、关处于闭合状态还是打开状态,只需把开关一端接到检测开关处于闭合状态还是打开状态,只需把开关一端接到I/O端口的端口的引脚上,另一端接地,然后通过检测引脚上,另一端接地,然后通过检测I/O端口引脚的电平来实现。端口引脚的电平来实现。 【例例7-2】 如如图图7-3,利用单片机、,利用单片机、1个开关个开关k和和1个发光二极管个发光二极管LED,构,构成一个简单的检测开关成一个简单的检测开关k是否闭合的系统。是否闭合的系统。 图图7-3中,开关中,开关k的一端接到单片机的一端接到单片机P3.0引脚上,并通过上拉电阻接到引脚上,并通过上拉电阻接到+5V上,开关的另一端接地,当开关打开时,上,开关的另
12、一端接地,当开关打开时,P3.0引脚为高电平,当开关引脚为高电平,当开关闭合时,闭合时,P3.0引脚为低电平。单片机对开关状态的检测是由程序检测引脚为低电平。单片机对开关状态的检测是由程序检测1515图图7-3 开关、开关、LED发光二极管与发光二极管与P1口的连接口的连接 1616 P3.0引脚的输入电平是高还是低。当开关闭合,即引脚的输入电平是高还是低。当开关闭合,即P3.0脚为低电平;当开脚为低电平;当开关打开,关打开,P3.0引脚为高电平。引脚为高电平。 P1.0引脚接发光二极管的阴极引脚接发光二极管的阴极LED,当开关,当开关k闭合时,闭合时,LED点亮;开关打点亮;开关打开时,开时
13、,LED熄灭。开关熄灭。开关k与与LED没有任何电气上的联系。没有任何电气上的联系。 参考程序如下:参考程序如下: 17177.3 单片机控制单片机控制LED数码管的显示数码管的显示7.3.1 LED数码管显示原理数码管显示原理 LED数码管是常见的显示器件。数码管是常见的显示器件。LED数码管为数码管为“8”字型的,共计字型的,共计8段(段(包括小数点段在内)或包括小数点段在内)或7段(不包括小数点段),每一段对应一个发光二极段(不包括小数点段),每一段对应一个发光二极管,有共阳极和共阴极两种,如管,有共阳极和共阴极两种,如图图7-4所示。共阳极数码管的阳极连接在一所示。共阳极数码管的阳极连
14、接在一起,公共阳极接到起,公共阳极接到+5V上;共阴极数码管的阴极连接在一起,通常此公共上;共阴极数码管的阴极连接在一起,通常此公共阴极接地。阴极接地。 对于共阴极数码管,当某发光二极管的阳极为高电平时,发光二极管点对于共阴极数码管,当某发光二极管的阳极为高电平时,发光二极管点亮,相应的段被显示。同样,共阳极数码管的阳极连接在一起接亮,相应的段被显示。同样,共阳极数码管的阳极连接在一起接+5V,当,当某个发光二极管的阴极接低电平时,该发光二极管被点亮,相应的段被显某个发光二极管的阴极接低电平时,该发光二极管被点亮,相应的段被显示。示。1818图图7-4 8段段LED数码管结构及外形数码管结构及
15、外形 1919 为使为使LED数码管显示不同的字符数码管显示不同的字符,要把某些段点亮,就要为数码管的各段,要把某些段点亮,就要为数码管的各段提供一个字节的二进制代码,即提供一个字节的二进制代码,即段码段码。习惯上以。习惯上以“a”段对应字型码字节的最段对应字型码字节的最低位。各种字符的段码见低位。各种字符的段码见表表7-1。 如要在数码管上显示某一字符,只需将该字符的段码加到各段上即可。如要在数码管上显示某一字符,只需将该字符的段码加到各段上即可。 例如例如某存储单元中的数为某存储单元中的数为“02H”,想在共阳极数码管上显示,想在共阳极数码管上显示“2”,需要,需要把把“2”的段码的段码“
16、A4H”加到数码管各段。通常采用的方法是将欲显示的字符加到数码管各段。通常采用的方法是将欲显示的字符的段码作成一个表,根据显示的字符从表中查找到相应的段码,然后单片机的段码作成一个表,根据显示的字符从表中查找到相应的段码,然后单片机把该段码输出到数码管的各个段上,同时数码管的公共端接把该段码输出到数码管的各个段上,同时数码管的公共端接+5V,此时在数,此时在数码管上显示出字符码管上显示出字符“2”。 20202121 下面介绍单片机如何控制下面介绍单片机如何控制LED数码管显示字符的设计。数码管显示字符的设计。【例例7-3】用单片机控制一个用单片机控制一个8段段LED数码管,如数码管,如图图7
17、-5所示。要求数码管所示。要求数码管反复循环显示单个数字:反复循环显示单个数字:09。图图7-5 控制数码管循环显示单个数字控制数码管循环显示单个数字 2222 图图7-5中,采用了共阳极数码管,中,采用了共阳极数码管,R1R7为限流电阻。单片机为限流电阻。单片机P0口输出口输出段码,数码管的公共段接段码,数码管的公共段接+5v。欲显示的数字。欲显示的数字09的字型码由于无规律可循的字型码由于无规律可循,只能采用查表的方式来完成要求,这样可按着数字,只能采用查表的方式来完成要求,这样可按着数字09的顺序,把每个数的顺序,把每个数字的字型码按顺序排好,形成一个段码表。根据要显示的数字,查找到相字
18、的字型码按顺序排好,形成一个段码表。根据要显示的数字,查找到相应的段码,从而控制应的段码,从而控制LED数码管显示相应的字符。读者通过本例应掌握段数码管显示相应的字符。读者通过本例应掌握段码查表程序的编写。码查表程序的编写。 参考程序如下:参考程序如下: 2323 2424 程序设计中,为达到反复循环显示数字程序设计中,为达到反复循环显示数字09的目的,在段码表中设置了的目的,在段码表中设置了一个结束符一个结束符01H,来控制反复循环显示。,来控制反复循环显示。7.3.2 LED数码管的显示方式数码管的显示方式 单片机控制单片机控制LED数码管有两种显示方式:静态显示和动态扫描显示。数码管有两
19、种显示方式:静态显示和动态扫描显示。1. 静态显示方式静态显示方式 静态显示就是指无论多少位静态显示就是指无论多少位LED数码管,都同时处于显示状态。数码管,都同时处于显示状态。 多位多位LED数码管工作于静态显示方式时,各位的共阴极(或共阳极)连数码管工作于静态显示方式时,各位的共阴极(或共阳极)连接在一起并接地(或接接在一起并接地(或接+5V);每位数码管的);每位数码管的 2525段码线(段码线(adp)分别与一个单片机控制的)分别与一个单片机控制的8位位I/O口锁存器输出相连。如果口锁存器输出相连。如果送往各个送往各个LED数码管所显示字符的段码一经确定,则相应数码管所显示字符的段码一
20、经确定,则相应I/O口锁存器锁存口锁存器锁存的段码输出将维持不变,直到送入下一个显示字符的段码。因此,静态显的段码输出将维持不变,直到送入下一个显示字符的段码。因此,静态显示方式的显示无闪烁,亮度较高,软件控制比较容易。示方式的显示无闪烁,亮度较高,软件控制比较容易。 图图7-6所示为所示为4位位LED数码管静态显示电路,各个数码管可独立显示,只数码管静态显示电路,各个数码管可独立显示,只要向控制各位要向控制各位I/O口锁存器写入相应的显示段码,该位就能保持相应的显示口锁存器写入相应的显示段码,该位就能保持相应的显示字符。这样在同一时间,每一位显示的字符可以各不相同。但是,静态显字符。这样在同
21、一时间,每一位显示的字符可以各不相同。但是,静态显示方式占用示方式占用I/O口线较多。口线较多。2626图图7-6 4位位LED静态显示的示意图静态显示的示意图2727 对于对于图图7-6所示电路,要占用所示电路,要占用4个个8位位I/O口(或锁存器)。如果数码管数口(或锁存器)。如果数码管数目增多,则还需要增加目增多,则还需要增加I/O口的数目。在实际的系统设计中,如果显示位数口的数目。在实际的系统设计中,如果显示位数较少,可采用静态显示方式。但显示位数较多时,为了降低成本,一般采较少,可采用静态显示方式。但显示位数较多时,为了降低成本,一般采用动态显示方式。用动态显示方式。2. 动态扫描显
22、示方式动态扫描显示方式 显示位数较多时,静态显示所占用的显示位数较多时,静态显示所占用的I/O口多,为节省口多,为节省I/O口与驱动电路口与驱动电路的数目,常采用动态扫描显示方式。将所有的数目,常采用动态扫描显示方式。将所有LED数码管显示器的段码线的数码管显示器的段码线的相应段并联在一起,由一个相应段并联在一起,由一个8位位I/O端口控制,而各显示位的公共端分别由端口控制,而各显示位的公共端分别由另一单独的另一单独的I/O端口线控制。端口线控制。 图图7-7所示为一个所示为一个4位位8段段LED数码管动态扫描显示电路的示意图。数码管动态扫描显示电路的示意图。2828图图7-7 4位位LED数
23、码管动态显示示意图数码管动态显示示意图 2929其中单片机向其中单片机向I/O(1)端口发出欲显示字符的段码,而显示器的位点)端口发出欲显示字符的段码,而显示器的位点亮控制使用亮控制使用I/O(2)端口中的)端口中的4位口线,来控制数码管公共端的电平,每位口线,来控制数码管公共端的电平,每一时刻,只有一时刻,只有1位位选线有效,即选中某一位显示,其他各位位选线都无位位选线有效,即选中某一位显示,其他各位位选线都无效,不显示。效,不显示。每隔一定时间逐位地轮流点亮各数码管(扫描),由于数码管的余辉每隔一定时间逐位地轮流点亮各数码管(扫描),由于数码管的余辉和人眼的和人眼的“视觉暂留视觉暂留”作用
24、,只要控制好每位数码管点亮显示的时间和间作用,只要控制好每位数码管点亮显示的时间和间隔,则可造成隔,则可造成“多位同时亮多位同时亮”的假象,达到的假象,达到4位同时显示的效果。位同时显示的效果。3030 各位数码管轮流点亮的时间间隔(扫描间隔)应根据实际情况而定。各位数码管轮流点亮的时间间隔(扫描间隔)应根据实际情况而定。发光二极管从导通到发光有一定的延时,如果点亮时间太短,发光太弱,发光二极管从导通到发光有一定的延时,如果点亮时间太短,发光太弱,人眼无法看清;时间太长,产生闪烁现象,而且此时间越长,占用单片机人眼无法看清;时间太长,产生闪烁现象,而且此时间越长,占用单片机时间也越多。另外,显
25、示位数增多,也将占用单片机的大量时间,因此时间也越多。另外,显示位数增多,也将占用单片机的大量时间,因此动动态显示的实质是以执行程序的时间来换取态显示的实质是以执行程序的时间来换取I/O端口数目的减少端口数目的减少。 为克服动态显示的弊病,可采用为克服动态显示的弊病,可采用7.6.4小节小节介绍的专用的键盘介绍的专用的键盘/显示器芯显示器芯片,由芯片内部硬件扫描电路自动完成显示数据的扫描刷新。片,由芯片内部硬件扫描电路自动完成显示数据的扫描刷新。 31317.3.3 LED数码管静态显示设计数码管静态显示设计 【例例7-4】 用用AT89S52设计一个设计一个2位位LED数码管显示的数码管显示
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第7章 显示与开关键盘输入 显示 开关 键盘输入
![提示](https://www.deliwenku.com/images/bang_tan.gif)
限制150内