第4章_输入口应用.ppt

输入口的应用 第四章 本章内容 4.1 认识8051的输入端口 在上一章,我们绘出8051 4个输入/输出口的结构,虽然这4个输入/输出端口的结构有些不同,但就输入功能来看,这4个输入/输出端口的结构几乎完全一样。基本上,输入口都是通过一个三态的寄存器连接到CPU内部的数据总线,下面以P0口为例讲解。 PORT 0 的输入功能 在实现输入功能时,输出端的Q1、Q2两个FET必须呈开路状态才不会影响输入状态。而进行一般数据的输入/输出时,Q1就是高阻抗状态(可看作开路)。若要Q2也呈高阻抗状态,其栅极必须为低电平,而其栅极连接多任务器,再连接到锁存器的 ;若要让锁存器的 为低电平,则其输入端D必须为高电平。换言之,只要该位输出1,则内部数据总线该位为1,锁存器的输入端D为1,其输出Q=1、 =0,并由Q回送到输入端,使该锁存器保持Q状态;而当 =0时,Q2将呈高阻抗状态。 4.2 输入设备与输入电路设计 在此介绍与人们接触较为频繁的输入设备,包括电子电路常用的按钮开关、指拨开关等。 4.2.1 输入设备 对于数字电子电路而言,最基本的输入设备就是开关。开关可以分为按钮开关和闸刀开关。 四个按钮开关(Tack Switch) 8P拨码开关(DIP Switch) 8mm Tack Switch的符号、外观与尺寸 8P DIP Switch的符号、外观与尺寸 数字型拨码开关的外观(四位数)与内部结构(每一位数) 数字型拨码开关的开关状态 数字型拨码开关的实物图 电路板用数字型拨码开关的尺寸与外观(一位数) 按钮开关的输入电路(Button) 闸刀开关的输入电路(Switch) BCD拨码开关的使用 抖动现象 互锁电路 连续动作 分解动作 RC去抖动电路 按钮开关动作与去抖动函数的波形分析 动作分析 1. 按下按钮,8051检测到第一个低电平信号时,随即调用debouncer函数以延迟20ms,这段时间程序不动作。 2. debouncer函数结束后,继续检测开关是否为高电平?若检测到第一个高电平,再调用 debouncer函数以延迟20ms,这段时间程序不动作。 3. debouncer函数结束后,程序才响应按钮所要进行的动作。 实例演练4-3-1 拨码开关控制实验电路图 流程图 基本开关控制实验 (ch4-3-1.c) 思考一下! 在本实验里,有没有“抖动”的困扰? 若希望拨码开关中的S1、S3、S5三个开 关都on,则前四个LED 亮;S2 或 S4 或 S6开关 on,则后四个LED 亮;S7及 S8 开关 on, 则所有LED全亮,程序应如何 编写? 若将拨码开关换成一般家里墙壁上的开关, 而LED换成继电器(RELAY),是否可作为家里的负载控制? 实例演练4-3-2 按钮 ON-OFF控制实验电路图 流程图 基本按钮ON-OFF控制实验(ch4-3-2.c) 思考一下! 在本实验里,有没有“抖动”的困扰? 若将按钮开关当成启动电机的 ON-OFF开 关,而 LED换成继电器(RELAY),是 否可作为电机控制? 若同时按下 PB1 与 PB2按钮会怎样? 实例演练4-3-3 按钮切换式控制实验电路图 流程图 按钮切换式控制实验 (ch4-3-3.c) 思考一下! 在本实验里,改变 debouncer函数的时间 长短,看看有什么影响? 若按住 PB1不放会怎样?如何改善? 实例演练4-3-4 按钮开关应用电路图 流程图 按钮开关应用实验 (ch4-3-4.c)-1 按钮开关应用实验 (ch4-3-4.c)-2 思考一下! 在本实验里,若按钮按住不放,会怎样? 如何改善? 在本实验里,若 PB1与 PB2两个按钮同 时按,会怎样? 实例演练4-3-5 BCD数字型拨码开关实验电路图 流程图 BCD数字型拨码开关实验(ch4-3-5.c) 思考一下! 在本实验里,有没有“抖动”的困扰? 若把本单元的BCD数字型拨码开关,改为 16进位数字型拨码开关,程序应如何修改? 实例演练4-3-6 多重按钮开关实验电路图 流程图-1 自己编写的链接库 (myio.h)-1 自己编写的链接库 (myio.h)-2 自己编写的链接库 (myio.h)-3 自己编写的链接库 (myio.h)-4 多重按钮开关实验之一 (ch4-3-6a.c)-1 多重按钮开关实验之一 (ch4-3-6a.c)-2 思考一下! 在本实验里,若同时按下多个按钮会如何? 在本实验里,若按住按钮不放会如何? 在本实验里,其中debouncer函数是个延迟20毫 秒的函数,而 delay10ms函数是个延迟 10毫秒 的 函 数 , 可 否 使 用 delay10ms 函 数 取 代 debouncer函

文档评论(0)

1亿VIP精品文档

相关文档