资源描述:
《第8章 单片机的人机接口技术.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第8章单片机的人机接口技术8.1LED显示器及其接口8.2键盘及其接口8.3可编程键盘/显示器接口—INTEL82798.1LED显示器及其接口8.1.1LED的结构与原理LED显示是由若干个发光二极管组成的,控制不同组合的二极管导通,就能显示出各种字符。在单片机应用系统中通常使用的是七段LED。七段LED中7个发光二极管构成字形“8”,一个发光二极管构成小数点。8.1.1LED的结构与原理显示字符共阴极段选码共阳极段选码显示字符共阴极段选码共阳极段选码03FHC0HA77H88H106HF9HB7CH83H25BHA4HC39HC
2、6H34FHB0HD5EHA1H466H99HE79H86H56DH92HF71H8EH67DH82HP73H8CH707HF8HU3EHC1H87FH80Hr31HCEH96FH90Hy6EH91H“灭”00HFFHH76H89HN位LED显示器有N根位选线和8*N根段选线。根据显示方式不同,位选线与段选线的连接方法不同。段选线控制要显示什么样的字符。位选线则控制要在哪一位上显示这个字符。8.1.2静态与动态显示1.静态显示原理静态显示是当显示某一字符时,相应的发光二极管恒定地导通或截止。I/O口只要有段码输出,相应字符即显示出来
3、,并保持不变,直到I/O口输出新的段码。较小的电流即可获得较高的亮度,且占用CPU时间少,编程简单。每一个显示位都需要一个8位输出口控制,N位静态显示器就要求有N*8根I/O口线,硬件电路复杂,占用较多资源,只适合于显示位数较少的场合。8.1.2静态与动态显示8.1.2静态与动态显示2.动态显示接口原理动态显示是一位一位地轮流点亮各位数码管,对于每一位数码管来说,每隔一段时间点亮一次。8.1.2静态与动态显示8.1.2静态与动态显示3.动态显示程序设计设在8031内部RAM的79H~7eH为显示缓冲区,依次存放6个要显示的数据。81
4、55的A口输出的字位总是有一位为高电平,8155的B口输出相应位(共阴极)的显示数据的七段代码,使某一位显示一个字符,其它位为暗,依次地改变A口输出的高电平的位,B口输出对应的七段代码,8位显示器就显示出缓冲器中显示数据所确定的字符。程序清单如下:DIR:MOVR0,#79H;显示缓冲区首址送R0MOVR3,#01H;使显示器最右边位亮MOVA,R3LD0:MOVDPTR,#0101H;扫描值送PA口MOVX@DPTR,AINCDPTR;指向PB口MOVA,@R0;取显示数据ADDA,#12H;加上偏移量MOVXA,@
5、A+PC;取出字形MOVX@DPTR,A;送出显示ACALLDL1;延时INCR0;缓冲区地址加1MOVA,R3;JBACC.5,LD1;扫到第6个显示位了吗?RLA;没有,R3左移一位,扫描下一位MOVR3,AAJMPLD0LD1:RETDSEG:DB3FH,06H,5BH,4FH,66H,6DHDSEG1:DB7DH,07H,7FH,6FH,77H,7CHDSEG2:DB39H,5EH,79H,71H,73H,3EHDSEG3:DB31H,61H,1CH,23H,40H,03HDSEG4:DB18H,00
6、H,00H,00H;延时子程序DL1:MOVR7,#02HDL:MOVR6,#0FFHDL6:DJNZR6,DL6DJNZR7,DLRET8.2键盘及其接口8.2.1键盘的结构与原理1.键盘的结构独立式按键:直接用I/O口线构成的单个按键电路,其特点是每个按键单独占用一根I/O口线,每个按键的工作不会影响其它I/O口线的状态。独立式按键电路、软件简单,但每个按键占用一根I/O口线,因此,在按键较多时,I/O口线浪费较大。8.2.1键盘的结构与原理矩阵式键盘:由行线和列线组成,按键位于行、列线的交叉点上。矩阵式键盘行线通过上
7、拉电阻接到+5V上。当无键按下时,行线处于高电平状态;当有键按下时,行、列线将导通,此时,行线电平将由与此行线相连的列线电平决定。2.键盘的工作原理与方式单片机系统中普遍使用非编码式键盘,这类键盘采用软件编/译码的方式,通过扫描,对每个被按下的键判别输出相应的键码。主要需要解决以下几个问题:①键的识别:是否有键按下以及识别哪个键按下。②防抖动:由于机械开关在转换状态时有信号的抖动,故必须考虑防抖动的问题。抖动时间长短与开关的机械特性有关,一般为5~10ms之间。③键的保护:当键盘中同时有两个或两个以上的键被按下时产生保护作用,此时任
8、何一个键的编码信息都不进入单片机,直至仅剩下一个键保持闭合时,该键的编码信息方能进入,这样可以避免误操作信号进入单片机。非编码式键盘识别按键的方法有两种:一是行扫描法,二是线反转法。1)行扫描法键位与行列线关系表2)线反转法8.2.1