您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 上课用的led显示器
第七章第一节LED显示接口技术一、独立LED与单片机的接口LED显示器用于显示工业控制参数、过程状态。7406P1.0AT89C51+5VRLEDP1.0AT89C51+5VRLED独立LED多用于信号指示,它实际是一个压降为1.5~2.5V,电流为5~20mA的发光二极管,通过LED的电流决定它的发光强度。输出高电平点亮LED输出低电平点亮LED直接驱动时单个位线最大20mA。限流电阻怎么计算?注:Led在使用时需要接限流电阻1、LED数码管结构和显示原理显示原理:通常用的7段LED数码管是由8个发光二极管组成的(a,b,c,d,e,f,g,dp),当发光二极管导通时,相应的点或线段发光,将这些二极管排成一定图形,控制不同组合的二极管导通,就可以显示出不同的字形。二、LED数码管的结构和工作原理7段LED数码管的结构:共阳与共阴(1)单片机系统扩展LED数码管时多用共阳LED:共阳数码管每个段笔画是用低电平(“0”)点亮的,要求驱动功率很小;而共阴数码管段笔画是用高电平(“1”)点亮的,要求驱动功率较大(实际上是取决于io口的驱动能力)。(2)通常每个段笔画要串一个数百欧姆的限流电阻。abcdefgdpcomabfgcomcdpdecomabfgcdpdecomabfgcdpde共阴结构共阳结构2、数码管字段码(段控码):8段(a-dp)正好是一个字节,单片机可用一个8位的并行IO口与其字段线连接来实现对其的控制,连接时单片机IO口线的D0..D7分别和数码管的a、b、c、…dp对应相连(如图所示),这样要想让LED显示器显示某个字符,就需要由这个IO口输出某个特定的数据-----字段码(段控码)最高位最低位D7D6D5D4D3D2D1D0Dpgfedcba单片机IO口和数码管的简单连接P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7U180511234567abcdefg8dp9GNDabfcgdedpLEDGND330*8P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7U18051VCC330*8abfcgdeVCC1234567abcdefg8dpdp9LED共阴数码管共阳数码管LED显示器字段码显示字符字型共阳极共阴极dpgfedcba字型码dpGfedcba字型码0011000000C0H001111113FH1111111001F9H0000011006H2210100100A4H010110115BH3310110000B0H010011114FH441001100199H0110011066H551001001092H011011016DH661000001082H011111017DH7711111000F8H0000011107H881000000080H011111117FH991001000090H011011116FHAA1000100088H0111011177HBB1000001183H011111007CHCC11000110C6H0011100139H续表显示字符字型共阳极共阴极dpgfedcba字型码dpGfedcba字型码DD10100001A1H010111105EHEE1000011086H0111100179HFF100011108EH0111000171HHH1000100189H0111011076HLL11000111C7H0011100038HPP100011008CH0111001173Hrr11001110CEH0011000131HUU11000001C1H001111103EHyy1001000191H011011106EH10111111BFH0100000040H..011111117FH1000000080H熄灭灭11111111FFH0000000000H3.N位LED数码管显示需解决问题(1)控制哪一位LED数码管点亮----位控(控制公共端--位控线);(2)控制点亮的LED数码管显示相应字符:段控。LED的段控线和位控线的接法不同,对应的两种不同的LED显示方式:三、静态显示接口各个LED数码管均处于选通显示状态,数码管相应段一直处于点亮状态,各个数码管位选始终有效,每个数码管的字段线相互独立,由单片机的IO口分别送出相应的字段码。连接情况:(1)各位数码管的位控线连在一起,恒定接地(共阴极)或接正电源(共阳极)。(2)每位数码管的8段控线独立,分别接在一个8位的并行IO口上,获取相应的字段码特点:显示稳定,无闪烁,系统运行过程中,在需要更新显示内容时,CPU才去执行显示更新子程序,节省CPU时间,提高CPU的工作效率,编程简单。用元器件多,占I/O线多,适用于显示器位数较少的场合。举例:p167页例71,p168页例72通过单片机P2口并经74LS245驱动以后,让一位数码管循环显示0-9,其电路如下:ORG0030HMOVSP,#60hMOVR0,#00hMOVDPTR,#SEGTAB;字段码首地址DISP1:MOVA,R0;从0开始显示DISP3:MOVCA,@A+DPTR;查字符段选码MOVP2,A;从P2口输出显示DISP4:ACALLD1S;停留1sINCR0CJNER0,#10,DISP1MOVR0,#0AJMPDISP1;又从0开始显示延时程序和表格省略。四、动态显示接口动态显示是一位一位地轮流点亮各位数码管,各数码管分时轮流选通,要使其稳定显示,看起来像在同时显示,必须采用扫描方式,即在某一时刻只选通一位数码管,并送出相应的段码,在另一时刻选通另一位数码管,并送出相应的段码。依此规律循环,即可使各位数码管显示将要显示的字符。虽然这些字符是在不同的时刻分别显示,但由于人眼存在视觉暂留效应,只要每位显示间隔足够短(10ms?1ms,2ms?)就可以给人以同时显示的感觉。各位数码管的段选线相应并联在一起,由一个8位的I/O口控制;各位的位选线(公共阴极或阳极)由另外的I/O口线控制。单片机在控制时需要输出:段控码和位控码在程序编写时要体现出:段控码的输出:查表获取位控码的输出:根据电路连接及显示要求获取延时显示缓冲区的设置:用来存放要显示的字符;一段内部连续RAM区;缓冲区内包含的存储单元个数=的LED数码管位数;该区首地址给指针r0或r1实例:p171第二节键盘接口技术键盘:单片机系统中完成控制参数输入及修改的基本输入设备,是人工干预系统的重要手段。键盘的分类:按编码方式可分为编码键盘与非编码键盘。按键组连接方式可分为独立式键盘与矩阵式键盘。编码键盘与非编码键盘的主要区别是识别键符及给出相应键码的方法不同。编码键盘主要是用硬件来实现对键的识别,非编码键盘主要是由软件来实现键盘的识别。编码键盘除按键以外,一般还具有去抖动和多键、窜键保护电路。这种键盘使用方便,但需要较多的硬件,价格较贵,一般的单片机应用系统较少采用。非编码键盘仅由键开关组成,其它工作如键识别、键代码的产生、去抖动等,是由软件完成的。简化了硬件电路,降低成本,目前单片机控制系统中大多数采用非编码键盘。一、非编码键盘类型(独立式按键和行列式按键)1、独立式按键每个按键单独占有一根I/O接口引线,当键未被按下时,与此键相连的I/O线获得高电平;当键被按下时,与此键相连的I/O线获得低电平,单片机只要读取I/O口状态,就可以获取按键信息,识别有无键按下和哪个键被按下I/O。配置灵活,结构简单,编程容易。口线浪费大,按键较少时采用这种形式独立式键盘就是各按键相互独立,每个按键各接一根I/O口线,每根I/O口线上的按键都不会影响其它的I/O口线。GNDVCCGNDVCC与(b)查询方式工作的独立式键盘的结构形式8051(a)中断方式工作的独立式键盘的结构形式INT08051P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7下面是针对图7.4(b)图查询方式的汇编语言形式的键盘程序。总共有8个键位,KEY0~KEY7为8个键的功能程序。START:MOVA,#0FFH;MOVP1,A;置P1口为输入状态MOVA,P1;键状态输入CPLAJZSTART;没有键按下,则转开始JBACC.0,K0;检测0号键是否按下,按下转JBACC.1,K1;检测1号键是否按下,按下转JBACC.2,K2;检测2号键是否按下,按下转JBACC.3,K3;检测3号键是否按下,按下转JBACC.4,K4;检测4号键是否按下,按下转JBACC.5,K5;检测5号键是否按下,按下转JBACC.6,K6;检测6号键是否按下,按下转JBACC.7,K7;检测7号键是否按下,按下转JMPSTART;无键按下返回,再顺次检测K0:AJMPKEY0K1:AJMPKEY1……K7:AJIMPKEY7KEY0:……;0号键功能程序JMPSTART;0号键功能程序执行完返回KEY1:……;1号键功能程序JMPSTART;1号键功能程序执行完返回……KEY7:……;7号键功能程序JMPSTART;7号键功能程序执行完返回2.矩阵(行列)式键盘矩阵式键盘由若干按键按行、列排成矩阵形式组成,按键位于行、列线的交叉点上,行线和列线在没有按键按下时不接通,其结构下图所示。由图可知,一个4×4的行、列结构可以构成一个含有16个按键的键盘,显然,在按键数量较多时,矩阵式键盘较之独立式按键键盘要节省很多I/O口。矩阵键盘的连接方法有多种:可直接连接于单片机的I/O口线;可利用扩展的并行I/O口(8255、8155等)连接;也可利用可编程的键盘、显示专用接口芯片(8279等)进行连接等等。其中,利用扩展的并行I/O口连接方便灵活,在单片机应用系统中比较常用。连接情况:行线一端接单片机输入口,另一端通过电阻接+5V列线一端悬空,另一端接单片机输出口没有按键按下时,读取行线状态应该是什么状态?有按键按下时,再读行线状态?二、键盘接口主要任务以行列式键盘为例进行说明,键盘接口主要任务就是确定被按键的行、列位置,据此产生键码,根据键码转至相应的服务程序去,具体是:(1)判断是否有按键按下;(2)消抖处理:硬件消抖和软件消抖;(3)确定被按按键的物理位置(行、列位置);(4)计算键码;(5)等待键释放;(6)根据所获取的键盘,执行相应服务程序;&I/O接口&+5v+5v消除抖动电路开关单片机PA7PA6PA5PA4PA3PA2PA1PA0PC0PC1PC2PC3012345678910111213141516171819202122232425262728293031CS74LS373WRRDA1A0P2.7WRRDALEP0.0~P0.7D0~D7RESET1K20F+5V+5V82555.1K48051编码值=行首编码值X+列号Y键码=行首键号+列号(键号必须依次是从左至右书写)或键码=列首键号+行号(键号必须依次是从上至下书写)1.查询工作方式这种方式是直接在主程序中插入键盘检测子程序,主程序每执行一次则键盘检测子程序被执行一次,对键盘进行检测一次,如果没有键按下,则跳过键识别,直接执行主程序;如果有键按下,则通过键盘扫描子程序识别按键,得到按键的编码值,然后根据编码值进行相应的处理,处理完后再回到主程序执行。键盘扫描子程序流程如图。二.矩阵键盘的工作方式开始有键按下否?调用6ms延时子程序调用12ms延时子程序有键按下否?判闭合键,编码入栈保护闭合键释放否?编码A返回否否否是是是(2)矩阵式键盘接口——行反转法矩阵式键盘按键识别方法有行反转法和扫描法等。行反转法需要两个双向I/O口分别接行、列线。步骤如下:(1)由行线输出全“0”,读入列线,判有无键按下。(2)若有键按下,再将读入的列线值输出,读入行线的值。(3)第一步读进的列线值与第二步读进的行线值运算,从而得到代表此键的唯一的特征值。行反转法因输入与输出线反过
本文标题:上课用的led显示器
链接地址:https://www.777doc.com/doc-3916081 .html