欢迎来到天天文库
浏览记录
ID:39830227
大小:1.54 MB
页数:126页
时间:2019-07-12
《片机原理与应用1》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第9章应用系统配置及接口技术若输入是非电的模拟信号,还需要通过传感器转换成电信号并加以放大,把模拟量转换成数字量。该过程称为“量化”,也称为模/数转换。实现模/数转换的设备称为模/数转换器(A/D),将数字量转换成模拟量的设备称为数/模转换器(D/A)。图9-1所示为具有模拟量输入、模拟量输出以及键盘、显示器、打印机等配置的89C51应用系统框图。为节省I/O口线,89C51片外扩展应尽量采用串行外设接口芯片。8/12/20211图9-1系统前向、后向人机通道配置框图8/12/202129.1人机通道配置与接口技术单片机应用系统通常都需要进行人机对话。这包括人对应用系统的状态干预与数据输入,
2、还有应用系统向人显示运行状态与运行结果等。如键盘、显示器就是用来完成人机对话活动的人机通道。8/12/202139.1.1键盘接口及处理程序键盘分编码键盘和非编码键盘。键盘上闭合键的识别由专用的硬件译码器实现,并产生键编号或键值的称为编码键盘,如BCD码键盘、ASCII码键盘等;靠软件识别的称为非编码键盘。8/12/20214键盘中每个按键都是一个常开开关电路,如图9-2所示。当按键K未被按下时,P1.0输入为高电平;当K闭合时,P1.0输入为低电平。图9-2按键电路8/12/20215通常按键所用的开关为机械弹性开关,当机械触点断开、闭合时,电压信号波形如图9-3所示。由于机械触点的弹性作
3、用,一个按键开关在闭合时不会马上稳定地接通,在断开时也不会一下子断开。因而在闭合及断开的瞬间均伴随有一连串的抖动,如图9-3所示。抖动时间的长短由按键的机械特性决定,一般为5~10ms。这是一个很重要的时间参数,在很多场合都要用到。图9-3按键时的抖动8/12/20216键抖动会引起一次按键被误读多次。为了确保CPU对键的一次闭合仅做一次处理,必须去除键抖动。在键闭合稳定时,读取键的状态,并且必须判别;在键释放稳定后,再作处理。按键的抖动,可用硬件或软件两种方法消除。如果按键较多,常用软件方法去抖动,即检测出键闭合后执行一个延时程序,产生5~10ms的延时;让前沿抖动消失后,再一次检测键的状
4、态,如果仍保持闭合状态电平,则确认为真正有键按下。当检测到按键释放后,也要给5~10ms的延时,待后沿抖动消失后,才能转入该键的处理程序。8/12/202171.键盘结构键盘可以分为独立连接式和行列式(矩阵式)两类,每一类按其译码方法又都可分为编码及非编码两种类型。这里只介绍非编码键盘。8/12/202181)独立式非编码键盘接口及处理程序独立式按键是指各按键相互独立地接通一条输入数据线,如图9-4所示。这是最简单的键盘结构,该电路为查询方式电路。当任何一个键按下时,与之相连的输入数据线即被清0(低电平),而平时该线为1(高电平)。要判别是否有键按下,用单片机的位处理指令十分方便。这种键盘结
5、构的优点是电路简单;缺点是当键数较多时,要占用较多的I/O线。图9-4独立连接式非编码键盘8/12/20219图9-4所示查询方式键盘的处理程序比较简单。程序中没有使用散转指令,并且省略了软件去抖动措施,只包括键查询、键功能程序转移。P0F~P7F为功能程序入口地址标号,其地址间隔应能容纳JMP指令字节;PROM0~PROM7分别为每个按键的功能程序。8/12/202110程序清单(设I/O为P1口):START:MOVA,#0FFH;输入时先置P1口为全1MOVP1,AMOVA,P1;键状态输入PL1:JNBACC.0,P0F;0号键按下转P0F标号地址JNBACC.1,P1F;1号键按下
6、转P1F标号地址JNBACC.2,P2F;2号键按下转P2F标号地址JNBACC.3,P3F;3号键按下转P3F标号地址JNBACC.4,P4F;4号键按下转P4F标号地址JNBACC.5,P5F;5号键按下转P5F标号地址JNBACC.6,P6F;6号键按下转P6F标号地址JNBACC.7,P7F;7号键按下转P7F标号地址LJMPSTART;无键按下返回8/12/202111P0F:LJMPPROM0┊┊P1F:LJMPPROM1;入口地址表P7F:LJMPPROM7PROM0:…;0号键功能程序LJMPSTART;0号键执行完返回PROM1:…LJMPSTART┊PROM7:…LJ
7、MPSTART由程序可以看出,各按键由软件设置了优先级,优先级顺序依次为0~7。8/12/202112【例9-1】设计一个有4个独立式按键的键盘接口,并编写键扫描程序。解:电路原理图如图9-5所示。图9-5键盘接口电路原理图8/12/202113KEY:MOVP1,#0FFH;P1口为输入,各位应先置位为高电平MOVA,P1;读取按键状态CPLA;取正逻辑,高电平表示有键按下ANLA,#0FHJZKEY;A=
此文档下载收益归作者所有