51单片机的接口与应用.ppt
《51单片机的接口与应用.ppt》由会员分享,可在线阅读,更多相关《51单片机的接口与应用.ppt(164页珍藏版)》请在三一办公上搜索。
1、第6章 MCS51单片机的接口与应用,6.1 按键、键盘及其接口6.2 显示及显示器接口6.3 A/D转换器接口6.4 D/A转换器接口6.5 行程开关、晶闸管、继电器与单片机的接口,6.1 按键、键盘及其接口,6.1.1 键输入过程与软件结构,图6.1 MCS51单片机键输入过程,6.1.2 键盘接口和键输入软件中应解决的几个问题 1消除键抖动,图6.3 消除键抖动电路,2键编码及键值,(1)用键盘连接的I/O线的二进制组合表示键码。例如用4行、4列线构成的16个键的键盘,可使用一个8位I/O口线的高、低4位口线的二进制数的组合表示16个键的编码,如图6.4(a)所示。各键相应的键值为88H
2、、84H、82H、81H、48H、44H、42H、41H、28H、24H、22H、21H、18H、14H、12H、11H。这种键值编码软件较为简单直观,但离散性大,不便安排散转程序的入口地址。,(2)顺序排列键编码。如图6.4(b)所示。这种方法,键值的形成要根据I/O线的状态作相应处理。键码可按下式形成:键码=行首键码+列号,图6.4 行列式键盘的编码与键值,(a)二进制组合编码;(b)顺序排列编码,3键盘的监测方法 对于计算机应用系统,键盘扫描只是CPU工作的一部分,键盘处理只是在有键按下时才有意义。对是否有键按下的信息输入方式有中断方式与查询方式两种。,6.1.3 独立式按键1独立式按键
3、接口结构,图6.5 独立式按键的接口电路示意图(a)中断方式;(b)查询方式,2独立式按键的软件结构 下面是查询方式的键盘程序。K0K7为功能程序入口地址标号,其地址间隔应能容纳JMP指令字节,PROM0PROM7分别为每个按键的功能程序。设I/O为P1口。,START:MOV A,#0FFH;MOV P1,A;置P1口为输入状态 MOV A,P1;键状态输入 JNB ACC.0,K0;检测0号键是否按下,按下转 JNB ACC.1,K1;检测1号键是否按下,按下转,JNB ACC.2,K2;检测2号键是否按下,按下转 JNB ACC.3,K3;检测3号键是否按下,按下转 JNB ACC.4,
4、K4;检测4号键是否按下,按下转 JNB ACC.5,K5;检测5号键是否按下,按下转 JNB ACC.6,K6;检测6号键是否按下,按下转 JNB ACC.7,K7;检测7号键是否按下,按下转 JMP START;无键按下返回,再顺次检测K0:AJMP PROM0K1:AJMP PROM1 K7:AJIMP PROM7,;入口地址表,6.1.4 行列式键盘 行列式键盘又叫矩阵式键盘。用I/O口线组成行、列结构,按键设置在行列的交点上。例如44的行列结构可组成16个键的键盘。因此,在按键数量较多时,可以节省I/O口线。1行列式键盘的接口 行列式键盘的接口方法有许多,例如直接接口于单片机的I/O
5、口上;利用扩展的并行I/O接口;用串行口扩展并行I/O口接口;利用一种可编程的键盘、显示接口芯片8279进行接口等。其中,利用扩展的并行I/O接口方法方便灵活,在单片机应用系统中比较常用。,图6.6 8155扩展I/O口组成的行列式键盘,2键盘工作原理 按键设置在行、列线的交点上,行、列线分别连接到按键开关的两端。行线通过上拉电阻接+5 V,被箝位在高电平状态。对键盘的工作过程可分两步:第一步是CPU首先检测键盘上是否有键按下;第二步是再识别是哪一个键按下。检测键盘上有无键按下可采用查询工作方式、定时扫描工作方式和中断工作方式。,1)查询工作方式 键盘中有无键按下是由列线送入全扫描字,读入行线
6、状态来判别的。其方法是:PA口输出00H,即所有列线置成低电平,然后将行线电平状态读入累加器A中。如果有键按下,总会有一根行线电平被拉至低电平,从而使行输入状态不全为1。键盘中哪一个键按下是由列线逐列置低电平后,检查行输入状态,称为逐列扫描。其方法是:从PA0开始,依次输出0,置对应的列线为低电平,然后从PC口读入行线状态,如果全为1,则所按下之键不在此列;如果不全为1,则所按下的键必在此列,而且是与0电平行线相交的交点上的那个键。为求取键码,在逐列扫描时,可用计数器记录下当前扫描列的列号,然后用行线值为0的行首键码加列号的办法计算。,键盘扫描子程序如下:KEY1:ACALL KS1;调用判断
7、有无键按下子程序 JNZ LK1;有键按下时,(A)0转消抖延时 AJMP KEY1;无键按下返回 LK1:ACALL TM12S;调12 ms延时子程序 ACALL KS1;查有无键按下,若有则真有键按下 JNZ LK2;键(A)0逐列扫描 AJMP KEY1;不是真有键按下,返回 LK2:MOV R2,#0FEH;初始列扫描字(0列)送入R2 MOV R4,#00H;初始列(0列)号送入R4,LK4:MOV DPTR,#7F01H;DPTR指向8155PA口 MOV A,R2;列扫描字送至8155PA口 MOVX DPTR,A INC DPTR;DPTR指向8155PC口 INC DPTR
8、 MOVX A,DPTR;从8155 PC口读入行状态 JB ACC.0,LONE;查第0行无键按下,转查第1行 MOV A,#00H;第0行有键按下,行首键码#00HA AJMP LKP;转求键码LONE:JB ACC.1,LTWO;查第1行无键按下,转查第2行 MOV A,#08H;第1行有键按下,行首键码#08HA AJMP LKP;转求键码,LTWO:JB ACC.2,LTHR;查第2行无键按下,转查第3行 MOV A,#10H;第2行有键按下,行首键码#10HA AJMP LKP;转求键码LTHR:JB ACC.3,NEXT;查第3行无键按下,转该查下一列 MOV A,#18H;第3
9、行有键按下,行首键码#18HALKP:ADD A,R4;求键码,键码=行首键码+列号 PUSH ACC;键码进栈保护LK3:ACALL KS1;等待键释放 JNZ LK3;键未释放,等待 POP ACC;键释放,键码A RET;键扫描结束,出口状态(A)=键码,NEXT:INC R4;准备扫描下一列,列号加1 MOV A,R2;取列号送累加器A JNB ACC.7,KEND;判断8列扫描否?扫描完返回 RL A;扫描字左移一位,变为下一列扫描字 MOV R2,A;扫描字送入R2 AJMP LK4;转下一列扫描KEND:AJMP KEY1 KS1:MOV DPTR,#7F01H;DPTR指向81
10、55PA口 MOV A,#00H;全扫描字A MOVX DPTR,A;全扫描字送往8155PA口,INC DPTR;DPTR指向8155PC口INC DPTR MOVX A,DPTR;读入PC口行状态CPL A;变正逻辑,以高电平表示有键按下ANL A,#0FH;屏蔽高4位,只保留低4位行线值RET;出口状态:(A)0时有键按下TM12ms:MOV R7,#18H;延时12 ms子程序TM:MOV R6,#0FFHTM6:DJNZ R6,TM6 DJNZ R7,TM RET,2)定时扫描工作方式,定时10ms,KM:消抖标志;KP:键处理标志。,3)中断工作方式 计算机应用系统工作时,并不经常
11、需要键输入。但无论是查询工作方式还是定时扫描工作方式,CPU经常处于空扫描状态。为了提高CPU的效率,可采用中断工作方式。这种工作方式是当键盘上有键按下时,向CPU发一个中断请求信号,CPU响应中断后,在中断服务程序中扫描键盘,执行键功能程序。中断请求信号的接口电路可参考图6.5(a)。中断服务程序中应完成键识别、消除抖动、排除多次执行键功能操作等功能,可参考查询工作方式键盘程序。,6.2 显示及显示器接口,6.2.1 LED显示器结构与原理,图6.9 七段显示块管脚与结构图,表6.1 七段LED的段选码,6.2.2 LED显示器与显示方式,图6.10 N位LED显示器静态显示方式电路,1LE
12、D静态显示方式,LED工作在静态显示方式下,共阴极接地或共阳极接+5 V;每一位的段选线(ag、dp)与一个8位并行I/O口相连,如图6.10所示。该图表示了一个4位静态LED显示器电路,显示器的每一位可独立显示,只要在该位的段选线上保持段选码电平,该位就能保持相应的显示字符。由于每一位由一个8位输出口控制段选码,故在同一时刻各位可以显示不同的字符。N位静态显示器要求有N8根I/O口线,占用I/O口线较多。故在位数较多时往往采用动态显示方式。,2LED动态显示方式,图6.11 8位LED动态显示器电路,6.2.3 LED显示器接口,1硬件译码显示器接口,图6.12 MC14495内部逻辑与引脚
13、图,图6.13 使用MC14495的多位LED静态显示接口,2软件译码显示器接口,图6.14 通过扩展8155 I/O口控制的8位LED动态显示接口,3动态显示程序设计,DISPLAY:MOV A,#00000011B;8155初始化 MOV DPTR,#7F00H;使DPTR指向8155控制寄存器端口 MOVX DPTR,A MOV R0,#78H;动态显示初始化,使R0指向缓冲区首址 MOV R3,#7FH;首位位选字送R3 MOV A,R3;LD0:MOV DPTR,#7F01H;使DPTR指向PA口 MOVX DPTR,A;选通显示器低位(最右端一位)INC DPTR;使DPTR指向P
14、B口,MOV A,R0;读要显示数 ADD A,#0DH;调整距段选码表首的偏移量 MOVC A,A+PC;查表取得段选码 MOVX DPTR,A;段选码从PB口输出 ACALL DL1;调用1 ms延时子程序 INC R0;指向缓冲区下一单元 MOV A,R3;位选码送累加器A JNB ACC.0,LD1;判断8位是否显示完毕,显示完返回 RR A;未显示完,把位选字变为下一位选字 MOV R3,A;修改后的位选字送R3 AJMP LD0;循环实现按位序依次显示,LD1:RETDSEG:DB 3FH,06H,5BH;4FH,66H,6DH,7DH;段码表 DB 07H,7FH,6FH,77H
15、,7CH,39H,5EH,79HDL1:MOV R7,#02H;延时子程序DL:MOV R6,#0FFHDL0:DJNZ R6,DL6 DJNZ R7,DL RET,6.2.4 键盘、显示器组合接口,1键盘、显示器组合接口电路,图6.15是一个采用8155并行扩展口构成的键盘、显示器组合接口电路。图中设置了32个键。如果多使用PC口线,可以增加按键,最多可达88=64个键。可根据需要进行设置。LED显示器采用共阴极。段选码由8155 PB口提供,位选码由PA口提供。键盘的列输出由PA口提供,与显示器的位选输出公用,行输入由PC0PC3提供。显然,因为键盘与显示器公用了PA口,比单独接口节省了一
16、个I/O口。,图6.15 8155扩展I/O口的键盘、显示器组合接口,2软件设计 LED采用动态显示、软件译码,键盘采用逐列扫描查询工作方式。由于键盘与显示做成一个接口电路,因此在软件中合并考虑键盘查询与动态显示,键盘消抖的延时子程序可用显示子程序替代。相应的程序如下:,KD1:MOV A,#03H;初始化8155PA、PB口为基本输出,PC口为输入 MOV DPTR,#7F00H MOVX DPTR,A,KEY1:ACALL KS1 JNZ LK1 ACALL DISPLAY;调用显示子程序实现延时,防止抖动引起按键拒认 AJMP KEY1;延时后再检测键盘 LK1:ACALL DISPLA
17、Y;调用两次显示实现延时,防止抖动引起误处理 ACALL DISPLAY ACALL KS1 JNZ LK2 ACALL DISPLAY AJMP KEY1,LK2:MOV R2,#0FEH MOV R4,#00H LK4:MOV DPTR,#7F01H MOV A,R2 MOVX DPTR,A INC DPTR INC DPTR MOVX A,DPTR JB ACC.0,LONE MOV A,#00H AJMP LKP,LONE:JB ACC.1,LTWO MOV A,#08H AJMP LKPLTWO:JB ACC.2,LTHR MOV A,#10H AJMP LKPLHR:JB ACC.
18、3,NEXT MOV A,#18HLKP:ADD A,R4 PUSH ACC,LK3:ACALL DISPLAY ACALL KS1 JNZ LK3 POP ACC RETNEXT:INC R4 MOV A,R2 JNB ACC.7,KEND RL A MOV R2,A AJMP LK4 KEND:AJMP KEY1,KS1:MOV DPTR,#7F01H MOV A,#00H MOVX DPTR,A INC DPTR INC DPTR MOVX A,DPTR CPL A ANL A,#0FH RETDISPLAY:见6.2.3节8155扩展动态扫描子程序。,6.2.5液晶显示器概述液晶显示器
19、是一种低功耗显示器件,具有显示内容丰富、体积小、重量轻、寿命长、使用方便、安全省电等优点,在计算器、万用表、袖珍式仪表和低功耗微机应用系统中得到广泛使用。,1.液晶显示器的工作原理 2.液晶显示器的主要技术参数 3.液晶显示器的分类,6.2.6字符型液晶显示模块LCM的组成与原理 1.液晶显示模块LCM简介液晶显示器件是一种高新技术的基础元器件。虽然其应用已很广泛,但对许多人来说,使用、装配时仍感到困难,特别是点阵液晶显示器件,更是让使用者无从下手,而特殊的连接方式和所需的专用设备也非人人了解和具备。因此,将液晶显示器件与控制、驱动集成电路装在一起,形成一个功能部件,用户只需用传统工艺即可将其
20、装配成一个整体系统,这样就形成了实际应用中的液晶显示模块。,2.通用液晶显示模块LCM的分类实际使用中的通用液晶显示模块主要有通用段式液晶显示模块、通用段式液晶显示屏、点阵字符型液晶显示模块、点阵图形液晶显示模块等几种。通用段式液晶显示模块一般做成多个8段数码位和一些通用的提示符,使用比较简单,成本较低,一般用于数字化仪表。,通用段式液晶显示屏本身不带控制器和驱动电路,显示内容做成比较简单的数码位,相对成本较低,必须使用具有液晶驱动能力的电路,一般用于电子产品,如电话机、计算器等。点阵字符型液晶显示模块可显示西文字符、数字、符号等,显示内容比较丰富,字符是由57或511点阵块实现的,但无法显示
21、汉字和复杂图形。点阵字符型液晶显示模块的通用性好,一方面是它能适用各种领域,另一方面是不同厂家、不同型号的模块所用控制器相同或相互兼容,主要区别仅是可显示字符数、屏幕大小、点阵大小不同,使用方法和软件基本相同。,点阵图形液晶显示模块可以混合显示西文字符、符号、汉字、图形等,灵活性好,一般用于要求显示汉字、图形、人机交互界面等内容复杂的仪器设备。不同厂家、不同型号的点阵图形液晶显示模块所使用的控制器可能不同,因而相应的接口电路、接口特性、指令系统也有所不同,使用时除需选择点阵数、尺寸外,还要注意所选控制器的型号。从上面的介绍可看出,不同的液晶显示模块其显示性能和显示控制是有较大区别的,应用中应根
22、据不同的显示要求进行灵活选取。本书仅以点阵字符型液晶显示模块为例,介绍其原理、组成和应用。,3.字符型液晶显示模块LCM的组成与工作原理1)字符型液晶显示模块LCM的组成点阵字符型液晶显示模块包括液晶显示器件、控制器、字符发生器、译码驱动器等部分,可以直接与单片机接口或者挂接在其总线上,接口电路设计较为简单。控制器和译码驱动器对液晶显示模块进行显示驱动控制,一般将二者组合在一起,做成专用集成电路。字符发生器可提供常见的192个字符库,包括英文大小写字母、阿拉伯数字、特殊字符或符号,固化在其内部ROM中,有时还可根据用户需要内置RAM,由用户自行设计字符和符号,进行字符扩充。,2)字符型液晶显示
23、模块LCM的工作原理在字符型液晶显示模块中,字符发生器产生的点阵字符模块是由57、58或511的一组组点阵像素排列而成的,相邻位间有一定的间隔,相邻行间也有一定的间隔,所以不能显示图形。在点阵图形液晶显示模块中,其点阵像素连续排列,行和列在排布中均没有空隔,因而可以显示连续、完整的图形和汉字。,字符型液晶显示模块在显示字符时,被显示的每个字符都有一个对应的十六进制代码,液晶显示模块从处理器得到此代码,并把它存储到显示数据RAM中,字符发生器根据此代码产生相应的点阵图形。代表字符在液晶显示屏上位置的地址是通过数据总线,由微处理器送到液晶显示模块的指令寄存器中,每个字符代码送入液晶显示模块以后,液
24、晶显示模块将显示地址自动加1或减1。使用一些指令,可以使液晶显示模块实现清除显示,光标恢复初始位置,开/关显示及光标、闪烁字符、移动光标等功能。液晶显示模块可以采用上电复位,也可以采用软件编程的方法来复位。,6.2.7字符型液晶显示模块LCM的引脚及说明字符型液晶显示模块的应用很广泛,在电子表、单片机应用系统、传真机、电动玩具中经常使用这类液晶显示器。在实际使用中,字符型液晶显示模块上常采用内置式HD44780驱动控制器的集成电路。下面先对HD44780驱动控制器的特点和电路特性进行介绍,然后介绍内置该控制器的字符型液晶显示模块的应用。,1.HD44780驱动控制器的电路特性和设计特点1)电路
25、特性HD44780集成电路是集驱动器和控制器于一体,专门用于字符型液晶显示模块的显示控制驱动的集成电路,它是字符型液晶显示模块控制器的典型集成电路。该集成电路对外引出80个引脚,采用FP 80扁平塑料外壳形式的封装,使用时通常已组装在相应的液晶显示模块内部。因此,用户可以不考虑其各个引脚的名称、功能、用法和相应的电路连接,但必须了解其指令系统、主要设计特点、内部结构及工作原理。,2)主要设计特点(1)HD44780集成电路具有驱动4016点阵液晶像素的能力,还可通过外接驱动电路扩展成360列驱动。(2)其显示缓冲区与用户自定义的字符发生器RAM 全部内置在集成电路中。(3)接口可选择8位数据传
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 51 单片机 接口 应用
链接地址:https://www.31ppt.com/p-5368451.html