§9-1 人-机通道配置与接口技术 §9-2 前向通道A/D转换器及接口技术 §9-3 后向通道配置及接口技术 前向通道 温度、压力、流量、速度等物理量 连续的变化的模拟量,需要通过传感器转换成电信号并加以放大 电压、电流等电信号 模拟信号需要转换成数字量才能进入计算机处理 该过程称为“量化”,也称为模/数转换 实现模/数转换的设备称为模/数转换器(A/D) 各种开关量 采用MCU的I/O端口或扩展的I/O端口输入 后向通道 经过计算机处理的数据需要转换成模拟信号驱动执行机构,或者进行开关量的直接控制 将数字量转换成模拟量的设备称为数/模转换器(D/A) 各种开关量 采用MCU的I/O端口或扩展的I/O端口输出 人机通道 人机通道 计算机与人进行交互的设备如键盘、显示器、音响装置、打印机、绘图仪等称为人机通道 系统配置 9.1 人机通道配置与接口技术 单片机应用系统通常都需要进行人机对话 人对应用系统的状态干预与数据输入 应用系统向人显示运行状态与运行结果 如键盘、 显示器就是用来完成人机对话活动的人机通道 9.1.1 键盘接口及处理程序 键盘分编码键盘和非编码键盘 键盘上闭合键的识别由专用的硬件译码器实现,并产生键编号或键值的称为编码键盘,如BCD码键盘、ASCII码键盘等 靠软件识别的称为非编码键盘 键盘按键 当按键K未被按下时,P1.0输入为高电平 当K闭合时,P1.0输入为低电平 按键抖动 由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定地接通,在断开时也不会一下子断开 在闭合及断开的瞬间均伴随有一连串的抖动, 抖动时间的长短由按键的机械特性决定,一般为5~10 ms 消除按键抖动 键抖动会引起一次按键被误读多次 为确保CPU对一次按键仅做一次处理,必须去除键抖动 在键闭合稳定时,读取键的状态 在键释放稳定后,再作处理 按键抖动方法: 软件 硬件 消除按键抖动 如果按键较多,常用软件方法去抖动 即检测出键闭合后执行一个延时程序,产生5~10 ms的延时 让前沿抖动消失后,再一次检测键的状态,如果仍保持闭合状态电平,则确认为真正有键按下 当检测到按键释放后,也要给5~10 ms的延时,待后沿抖动消失后,才能转入该键的处理程序 按键较少时,采用硬件消除抖动 硬件去抖动电路 键盘可以分为 独立连接式 行列式(矩阵式) 每一类按其译码方法又都可分为编码及非编码两种类型 本课程只介绍非编码键盘 独立式键盘是指各按键相互独立地接通一条输入数据线 当任何一个键按下时,与之相连的输入数据线即被置0,而平时该线为1 优点 电路简单 缺点 当键数较多时,要占用较多的I/O口线 按键处理程序 START: MOV A,#0FFH ;输入时先置P1口为全1 MOV P1,A MOV A,P1 ;键状态输入 PL1: JNB ACC.0 , P0F ;0号键按下转P0F标号地址 JNB ACC.1,P1F ;1号键按下转P1F标号地址 JNB ACC.2,P2F ;2号键按下转P2F标号地址 JNB ACC.3,P3F ;3号键按下转P3F标号地址 JNB ACC.4,P4F ;4号键按下转P4F标号地址 JNB ACC.5,P5F ;5号键按下转P5F标号地址 JNB ACC.6,P6F ;6号键按下转P6F标号地址 JNB ACC.7,P7F ;7号键按下转P7F标号地址 LJMP START ;无键按下返回,继续扫描 按键处理程序(续) P0F: LJMP PROM0P1F: LJMP PROM1 ;入口地址表 ┊P7F: LJMP PROM7PROM0:… ;0号键功能程序 LJMP START ;0号键执行完返回PROM1:… LJMP START ┊PROM7:… LJMP START 由程序可以看出,各按键由软件设置了优先级,优先级顺序依次为0~7 例9-1:设计一个有4个独立式按键的键盘接口,并编写键扫描程序 解:电路原理图如图9-5所示 源程序 KEY:MOV P1,#0FFH ;P1口输入之前先写1 MOV A,P1 ;读取按键状态 CPL A ;取正逻辑,高电平表示有键按下 ANL A,#0FH JZ KEY ;A=0时无键按下,重新扫描键盘 LCALL D10ms ;有键按下延时去抖动 MOV A,P1 ;读取按键状态 CPL A ;取正逻辑,高电平表示有键按下 ANL A,#0FH ;再判别是否有键按下 JZ KEY ;A=0时无键按下重新扫描键盘 MOV B,A ;有
原创力文档

文档评论(0)