《外设及控制技术》PPT课件.ppt
第三章 智能仪器外设及控制技术,智能仪器内含CPU,能够进行一定的运算和控制,往往需要操作人员与智能仪器进行人机交互,这些都要通过智能仪器的人机界面来完成。智能仪器的人机界面由一些专用的输入/输出器件来实现,通常采用的器件有键盘、LED、LCD显示器、打印机等,本章各节将分别介绍它们的接口与控制方法。,3.1 键盘接口技术 硬件 指键盘的结构及其与主机的连接方式。软件 指对按键操作的识别与分析,称为键盘管理程序。编码键盘:按键键盘和专用键盘编码器构成。当某键被按下时,编码器自动产生相对应的按键代码并输出一选通脉冲与CPU进行信息联络。键盘处理软件简单,硬件较复杂。非编码键盘:当某键被按下时,仅送出一个简 单的闭合信号,对应按键代码的确定需借助软件来完成。软件较复杂,占用较多CPU时间。,3.1.1 非编码键盘系统,一、非编码键盘 独立式键盘 矩阵式键盘,mn矩阵键盘需m+n条检测线,一键一线,在设计键盘接口时,着重要解决以下几个问题:1.开关状态的可靠输入可设计硬件去抖动电路或设计去抖动软件。2.键盘状态的监测方法中断方式还是查询式。3.键盘编码方法。4.键盘控制程序的编制。,键盘及管理程序的基本任务(1)识键:判断是否有键按下。若有,则进行译码;若无,则等待或转做别的工作。(2)译键:识别出哪一个键被按下并确定被按下键的键值。(3)键值分析:根据键值,找出对应处理程序的入口并执行之。,二、非编码键盘的工作方式程序控制扫描方式 只有在CPU空闲时,才调用键盘扫描子程序,响应键盘的输入请求。中断扫描方式 当键盘上有键按下时产生中断请求,CPU响应中断,执行中断服务程序,判别键盘上闭合键的键号,并作相应的处理。定时扫描方式利用专门的定时器来产生定时中断请求,CPU响应定时溢出中断后对键盘进行扫描以响应键盘的输入请求。,三、非编码键盘的扫描技术,键盘接口的首要任务是按键的识别。按键的识别有两种方法:扫描法和线反转法。1、逐行扫描法 在确认有键按下后,用软件逐行输出低电平值,从扫描的行号和出现低电平值的列号,共同判断就可知是哪一键按下。步骤:判断是否有键按下有键按下,则延时10ms,再判断是否有键按下确实有键按下,则求出按下键的键值,逐行扫描法,键盘特征码每个键对应一个行号、一个列值和键值,2、线反转法 特点:不管键盘矩阵的规模大小,均进行两次读键。将两次读键信息进行组合即可得到按键的特征码,通过查表得到按键的顺序编码。,键码转换表,采用线反转法获取特征码和顺序码的程序:KEY1:MOV P1,#0FH;高四位输出低电平 MOV A,P1;从低四位读取列信息 ANL A,#0FH;分离列信息 MOV B,A;保存列信息 MOV P1,#0F0H;低四位输出低电平 MOV A,P1;从高四位读取行信息 ANL A,#0F0H;取P1高四位送入A ORL A,B;合成特征码 CJNE A,#0FFH,KEY11;按键否?RET;未按键返回,KEY11:MOV B,A;取特征码 MOV DPTR,#TABL MOV R1,#0FFH;顺序码初始化 KEY12:INC R1 MOV A,R1 MOVC A,A+DPTR CJNE A,B,KEY13;未找到,判是已查完 MOV A,R1;找到取顺序码 RET KEY13:CJNE A,#0FFH,KEY12 RET TABL:DB 0E7H,0EBH,0EDH,0EEH DB 0D7H,0DBH,0DDH,0DEH DB 0B7H,0BBH,0BDH,0BEH DB 77H,7BH,7DH,7EH DB 0FFH(空键特征码),、编码键盘,采用软件方法实现对键盘的扫描,程序较复杂,而且实时性差。要简化键盘编码所需软件和减少占用CPU的时间可采用编码器及可编程接口芯片构成编码键盘。编码键盘的基本任务是识别按键,提供按键读数,一个高质量的编码键盘还应具有消除键抖动、处理同时按键等功能。,键盘显示器接口芯片,3.1.3 键盘监控程序设计 键盘监控程序的任务是在扫描键盘后,根据键值找出对应处理程序的入口并执行之。键盘中按键可以分为单义键和多义键。单义键即一键一义,主要用于功能比较少的仪器系统中;多义键即一键具有两个或两个以上含义,多用于功能比较复杂的智能化仪表中。一个完整的命令通常不是由一次按键操作完成,而是需要按两次以上的键才能完成,且这些键的操作要遵守一定的顺序,称为按键序列。,对于单义键或双义键构成的键盘,键值分析程序一般采用直接分析法;对于由多义键构成的键盘,键盘分析程序一般采用状态分析法。,直接分析法 根据当前按键的键值,把控制直接分支到相应的处理程序入口,而无需知道在此之前的按键情况。关键:建立一张一维转换表,表内存储着各 个处理子程序的入口,根据键值查阅转换表可获得相应的处理程序入口。优点:简明直观 缺点:命令的识别和处理程序的执行交错在一起,层次不清。,状态矩阵法 把键盘监控程序看作一个时序系统,按键作为系统的输入条件,要执行的子程序作为系统的输出。每当一个按键按下时,监控程序将根据自己的现行状态和输入条件,决定产生何种相应的动作以及变迁到哪一个新状态。在每个状态下,各按键都有确定的含义,在不同的状态下,同一按键可能具有不同的含义。,3.2 显示器接口技术,3.2.1 LED数码显示技术一、LED显示器原理与结构,二、段码式LED显示器接口(1)段码的产生:硬件译码 软件译码,软件译码 通过单字节查表程序将需要显示的字符转换成七段码再输出至锁存器即可。接口器件:锁存、驱动 硬件译码:实时性好;接口器件:锁存、译码、驱动,(2)LED显示器的驱动方式 静态显示驱动 将需要显示字符的相应字段始终通以额定电流,使所显示字符的字段连续发光。动态显示驱动所有位的段选线并联起来,由一个8位I/O端口控制,而各位的共阳极或共阴极分别由相应的I/O端口控制,形成各位的轮流选通,即将需要显示字符的各字段通以矩形脉冲电流。,(3)LED显示器的接口设计,LED显示器的静态显示接口设计 在选择LED接口器件时,需考虑:器件的驱动能力显示数据的设置方式:根据CPU引脚的方便程度,可选择并行或串行数据接口,LED显示器的动态显示接口设计,进行LED动态显示控制时,要遵循的规则:任何时刻只能有一个显示器的共阴(或共阳)接通。每个显示器的显示内容要有一定的保留时间。在最长20ms内,一个显示端口所驱动的LED必须都分别刷新一次。显示端口中每个LED显示内容保持的时间为(20/n)ms。为保证足够的亮度,点亮电流应比静态显示的电流大。,例1.硬件译码、动态扫描的LED显示方式段选线并接,位选(公共端)分时选通。4511译码驱动,4位BCD 7段十六进制,例2.软件译码的LED扫描方式 采用8155扩展接口芯片,共阴极显示器。欲显示的6位数据存放在单片机的RAM单元7AH7FH中,PB口输出字型码,PA口输出位选信号。,课堂作业,1、矩阵键盘如图所示,如采用线反转法,给出图中键号4、7、A、E的键盘特征码。2、非编码键盘有哪几种工作方式?各有何特点?3、编码键盘和非编码键盘各有什么特点?,软件译码 用查表技术提供段选码 根据各显示字符与7段码的对应关系,将这些7段码依次预先存于ROM中,当需要显示某字符时,只要找出该字符在ROM中的相应地址,即可得到该字符的7段码显示码,将找到的7段码加到7段LED的驱动器上即可显示出该字符。,例3、利用串行输入译码驱动器的LED扫描显示方式,例4、键盘/显示器和8279的接口 8279同键盘、显示器接口时,能实现对显示器的自动扫描、对按键的自动识别、自动去键抖动等功能,可简化软件设计,提高CPU的效率。A0用于区别数据总线所传 递信息是数字还是命令。IRQ中断请求端 SL0SL3 扫描信号输出 RL0RL7回馈信号线 SHIFT 用来扩冲上、下挡功能 CNTL/STB 控制/选通输入端,D0D1D2D3D4 D5D6D7,P0.0P0.1P0.2P0.3P0.4 P0.5P0.6P0.7,ALE,P2.7,RD,INT1,8051,RL7RL6RL5RL4RL3RL2RL1RL0,CLK,A0,WR,RD,IRQ,74LS373,RESET,SHIFT,CNTL,20F,+5V,2K,SL0SL1SL2,8279,74LS138Y0Y7,VCC,+5V,15141312111098,76543210,BIC8708,dp,BIC8708,f,g,c,e,d,b,a,B0B1B2B3A0A1A2A3,CS,WR,8279的数据输入、显示输出及命令格式1、数据输入(P61)数据输入有三种方式:键扫描方式、传感器扫描方式、选通方式。键的编码格式扫描输出有两种方式:译码扫描:SL0SL3每一时刻只有一位为低电 平输出编码扫描:SL0SL3输出的是00001111的二进 制计数代码,2、显示输出 内部设置了168显示数据存储器,每个单元寄存一个字符的8位显示代码。D7 D6 D5 D4 D3 D2 D1 D0 显示数据经过数据总线D7D0及WR,可以分别写入显示存储器的任一单元。一旦数据写入后,8 2 7 9的硬件便自动管理显示存储器的输出及同步扫描信号。因此,对操作者仅要求完成向显示存储器写入信息的操作。,3、命令字格式及含义 8279的工作方式是由各种控制命令字决定的(1)键盘、显示器工作模式设置命令 D7 D6 D5 D4 D3 D2 D1 D0 D1、D0的定义,K2、K1、K0 的定义,(2)扫描频率设置命令 D7 D6 D5 D4 D3 D2 D1 D0 特征码 N=P4 P3 P2 P1 P0,可取N=231 外接时钟的分频系数,经分频后得到内部时钟频率,(3)读FIFO堆栈命令 D7 D6 D5 D4 D3 D2 D1 D0 特征码 地址 在读FIFO堆栈之前,CPU须先输出这条命令。8279接收到本命令后,从FIFO中读取数据,地址由A2、A1、A0决定。,(4)读显示RAM的命令 D7 D6 D5 D4 D3 D2 D1 D0 特征码 地址 8279接收到该命令后,CPU执行输入指令,从显示RAM读取数据。(5)写显示RAM的命令 D7 D6 D5 D4 D3 D2 D1 D0 特征码 地址,(6)清除命令 D7 D6 D5 D4 D3 D2 D1 D0 特征码 清除显示RAM的方式,4、状态字 D7 D6 D5 D4 D3 D2 D1 D0N2、N1、N0 表示FIFO中数据的个数 F=1时,表示FIFO已满当FIFO已置空,CPU读FIFO,则置“U”当FIFO已满,输入字符时溢出,则置“O”在清除命令执行期DU为“”,对显示RAM写操作无效。S/E用于传感器扫描方式,3.2.2 LCD显示技术 液晶是特殊的有机物质,在外加电场条件下,利用液晶材料的“电光效应”可以做成具有平面显示结构的数字及图形显示器。LCD显示器有段码显示器、字符式显示器及图形式显示器等类型。LCD显示器是一种被动式显示器件,液晶本身并不发光,而是借助自然光或外来光源显示数码。它的优点是工作电压低、耗电极省、成本低廉,但不能在黑暗中显示,工作温度范围较窄,响应速度低,在袖珍式仪表和低功耗应用系统中使用较广。,一、段码式LCD显示器,例:欲在该段码式LCD显示器上显示48.5,如何编程?MOV A,#85H;送个位、十位 MOV DPTR,#8001H MOVX DPTR,A MOV A,#0F4H;送百位,消隐千位 MOV DPTR,#8000H MOVX DPTR,A MOV A,#02H;送小数点 MOV DPTR,#8007H MOVX DPTR,A,二、点阵式LCD显示器,ACM12864A点阵字符式液晶显示模块 由行驱动器/列驱动器及12864全点阵液晶显示器组成.可完成图形显示,也可以显示84个(1616点阵)汉字.与外部CPU接口可采用串行或并行方式控制。,接口电路,3.3 打印机接口技术,一.打印机的分类和工作原理 按输出方式 串行打印机 并行打印机 按打印记录方式 击打式打印机 激光打印机 非击打式打印机 喷墨打印机 感热打印机 按字符形成方式 字轮式打印机 针式打印机,二.MP-T系列微型打印机,MP-T系列微型打印机是智能点阵式针式击打式打印机,内部有一个单片机对打印机进行控制,具有2KB的控打程序,能和主机之间实现命令、数据、状态的传递。1.特点及引脚功能,2.打印机字符、命令数码表(P81),3.并行接口时序,三.并行接口电路设计,由于微型打印机的接口输入电路中有数据锁存器,输出电路中有三态门,因此既可以通过并行接口芯片与单片机相接,也可以不通过 I/O口而直接与单片机系统的数据总线P0口相接。从并行接口时序图可见,产生STB选通信号是设计打印机接口电路的关键。可模拟单片机访问片外数据存储器的方法,利用单片机的写信号将数据总线上的打印输出数据写入微打。,89C51,+,1.0,P,WR,ALE,G,P0,BUSY,STB,DB0-DB7,D0-D7,Q7,Q0,74LS373,8,8,单片机与打印机直接接口,打印机,MOV DPTR,#7FFFH;选中打印机 LOOP:MOVX A,DPTR;查询“BUSY”JB ACC.7,LOOP MOV A,R1;送数据或命令代码 MOVX DPTR,A,微型打印机接口控制程序的设计 1.直接将所需打印的字符送打印机 2.将欲打印的字符存入片内RAM,实现逐个打印 3.采用查表法实现打印,3.4 串行总线数据通信,一、串行通信的基本概念数据通信不同设备之间进行的数字量传输或交换。并行总线 串行总线 数据传送速率每秒串行发送或接收的二进制位(bit)数 串行通信的基本工作方式:(1)异步传送,数据传送方式,(2)同步传送 速度高于异步传送,需用同一时钟实现发送端与接收端之间的同步,硬件复杂。选择接口标准时,需注意两点:通信速度和通信距离 适当地降低通信速度,可以提高通信距离抗干扰能力二、RS 232C标准串行接口总线 RS 232C是美国电子工业协会EIA于1973年提出的串行通信接口标准。,机械接口:9针、15针、25针3种类型电气特性:采用负逻辑驱动器的输出电平 接收器的输入电平 逻辑“0”:+5V+15V 逻辑“0”:+3V+15V 逻辑“1”:-5V-15V 逻辑“1”:-3V-15V 空闲状态维持逻辑“1”,RS 232C接口信号线的定义(1)数据信号线(2)联络线 RTS请求发送,数据终端设备(DTE)到数据通信设备(DCE)。CTS允许发送。当DCE准备好接收 DTE传来的数据时,响应RTS信号,通知DTE开始发送数据。用于半双工通信方式。(3)地线,RS 232C接口的连接 由RS 232C连接在两端的设备随时可进行全双工数据交换,如不需进行握手联络,可采用最简连接,适用于15m以内的串行通信。,电平转换芯片介绍,(1)驱动器的输出电平逻辑0:+5V+15V;逻辑1:-5V-15V(2)接收器的输入检测电平逻辑0:+3V;逻辑1:-3VRS-232C使用的是负逻辑。,电平转换 RS 232C标准使用 V电源,采用负逻辑,计算机及智能仪器内则采用正逻辑的TTL电平。RS 232C的逻辑电平与TTL电平不兼容,须通过专门的芯片进行电平转换。典型芯片 MC1488 传输线驱动器,TTL电平 RS-232C电平 MC1489 传输线接收器,RS-232C电平 TTL电平 新型芯片 MAX232 内部有电压倍增电路,+5V电源转+10V MAX233 可完成两路串行通信的电平转换,MAX232,MAX233,三、RS422/485标准总线 RS232存在的不足:数据传输速率低,异步传输时(低于20k bps)传输距离短(15m)单端输入、抗干扰能力差RS422A串行总线标准 RS422A标准是EIA公布的“平衡电压数字接口电路的电气特性标准。传输率最大为10Mbit/s,电缆允许长度120m,全双工,可同时发送和接收。关键不同:把单端输入改为双端差分输入,信号地不公用。通过传输线驱动器,把逻辑电平变换成电位差;通过传输线接收器,把电位差变换成逻辑电平。,RS485串行总线标准 RS485是RS422A的变形,是一种多发送器的电路标准,允许双线总线上一个发送器驱动32个负载。智能仪器配有RS485总线接口,便于连网,构成分布式系统。RS-485为半双工,在某一时刻,一个发送另一个接收。,RS-232C、RS-422A、RS485性能比较,构成RS485总线网时,需考虑以下问题:1、传输线的选择和阻抗匹配 2、隔离 将各站的串行通信接口电路与其他站进行电器隔离。MAX1408B3、抗静电放电冲击 选用带静电放电保护的接口器件 4、传输线的铺设及屏蔽,RO 接收器输出RE 接收器输出使能端DE 驱动器输出使能端A 同相接收器输入和同相驱动器输出B 反相接收器输入和反相驱动器输出,P3.3 控制MAX485的工作方式,高电平为发送状态,低电平为接收状态。不发送信息时维持接收状态。,四、通用串行总线USBUSB具有如下一些特点:USB接口统一了各种接口设备的连接头。即插即用(plug-and-play),并能自动检测与配置系统的资源。具有“热插拨“的特性。USB最多可以连接127个接口设备。USB1.1的接口设备采用两种不同的速度:12Mbps(全速)和1.5Mbps(慢速)。USB 2.0的传输速度最高可达到480Mbps,也即是480Mbit/s.,USB的电气特性和电源,USB采用四线电缆,其中两根是用来传送数据的串行通道,另两根为下游设备提供电源.,低速,高速,USB系统的基本构架可以分为三个主要的部分:USB主机控制器/根集线器;USB集线器;USB设备。,USB系统软件组成(1)主控制器驱动程序:主控制驱动程序完成对USB交换的调度,并通过根HUB或其他的USB完成对交换的初始化,在主控制器与USB 设备之间建立通信通道。(2)设备驱动程序:设备驱动程序是用来驱动USB设备的程序,通常由操作系统或USB设备制造商提供。(3)USB芯片驱动程序:USB芯片驱动程序在设备设置时读取描述寄存器以获取USB设备的特征,并根据这些特征,在请求发生时组织数据传输。,智能仪器USB接口方案采用内嵌USB接口的单片机Motorola公司的MC68HC908JB8单片机+USB接口芯片PDIUSBD12:符合USB1.1版规范,1、利用8279芯片设计一个6位LED、9个按 键和51单片机系统的接口。画出电路原理图,并编写有关8279的初始化程序。(工作方式设置为8字符显示,右入口,编码扫描键盘,双键锁定,将外部时钟分频至100KHz)2、单片机与智能微型打印机接口电路如图,设待打印的字符为NJUST存于片内RAM 60H单元开始的地址中,编写打印程序。,