




已阅读5页,还剩76页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目录 1 绪论 1 1 1 单片机的说明 1 1 1 1 单片机的发展 1 1 1 2 微型计算机的特点 2 1 2 选题意义 2 2 系统的总体设计 3 2 1 系统总述 3 2 2 硬件子系统 3 2 3 软件子系统 4 3 硬件详细设计 6 3 1 中央处理器 6 3 1 1 89C51 单片机芯片简介 6 3 1 2 89C51 单片机芯片功能介绍 8 3 1 3 看门狗复位电路 9 3 1 4 时钟振荡电路设计 11 3 2 存储器的扩展 12 3 2 1 扩展电路的芯片 13 3 2 2 89C51 与数据存储器扩展 14 3 3 人机对话部分 15 3 3 1 8255A 可编程并行接口芯片 15 3 3 2 键盘设计 19 3 3 3 LED 显示部分 21 3 4 超声波测距部分 23 3 4 1 超声波测距原理 23 3 4 2 超声波传感器型号及说明 24 3 4 3 超声波发射电路 24 3 4 4 超声波接收电路 25 3 4 5 温度补偿 27 3 5 接近开关检测部分 28 3 5 1 电感式接近开关工作原理 29 3 5 2 接近开关型号及说明 29 3 5 3 接近开关连接电路 29 3 6 报警电路 30 4 软件详细设计 31 4 1 主程序 31 4 2 键盘流程图 33 4 3 LED 显示程序流程图 34 4 4 温度测量程序流程图 35 4 5 超声波主程序流程图 36 4 5 1 超声波接收中断程序流程图 36 4 6 接近开关程序流程图 37 4 7 看门狗电路喂狗程序流程图 37 4 8 系统资源分配 37 5 系统抗干扰设计 39 5 1 硬件抗干扰 39 5 2 软件抗干扰 39 6 结论 40 致谢 41 文献资料 42 附录 A 中文文献 43 附录 B 外文文献 49 附录 C 程序清单 58 附录 D 电路图纸 77 1 绪论绪论 如果说在举国上下应对国际金融危机冲击的大背景下 有一个产业调整振兴规划的 实施效果最好 复苏最快 增长率最高 同时对上下游产业发展 稳定就业以及居民消 费都产生了很好的拉动作用 相信很多人都会给出同一个答案 对 它就是汽车产业 去年 10 月 20 日 中国第 1000 万辆汽车在长春下线 再加上汽车下乡的政策出台 全年 的汽车销量近 1300 万辆 同比增速到 40 左右 中国成为全球第一大汽车市场已是板上 钉钉的事儿 网易汽车市场分析指出 在 2010 年 汽车销售极有可能再续辉煌 可想而 已 今年又将会有多少家庭增添汽车 同时 学车的人数也将大幅度增长 另一方面 大学生利用在校时间学车的人数也变得越来越多 综上所述 今年 驾校所招收的总学 员数量将会有很很大的提升空间 随着单片微型计算机技术迅速发展 单片机技术已经应用于各个领域 本控制系统 通过应用单片机实现自动控制 操作简单 大大提高了驾校教练的工作效率 减少人力 物力 1 1 单片机的说明单片机的说明 单片机的应用在现代工业控制中几乎无处不在 下面将介绍单片机的发展及其特点 1 1 1 单片机的发展 单片机即微型控制器 顾名思义 单片机有别于通用微型计算机 它是专门为控制 和智能仪器设计的一种集成度很高的微型计算机 其具有体积小 性能 价格比高 耗电 小 可靠性高 易扩展 控制功能强并且容易掌握等优点 因而 单片机的应用范围在 不断地扩大 它已经成为生产和生活中不可缺少的有力工具 单片机的应用领域广泛体 现在 1 在智能仪表中的应用 在仪器 仪表中使用单片机 可以明显增强功能 提高性能 减小重量和体积 使 仪器仪表数字化 微型化和智能化 提高它们的测量速度 测量精度和自动化程度 2 单片机在机电一体化产品中的应用 机电一体化产品是指集机械技术 微电子技术 计算机技术和控制技术为一体 具 有智能化特征的机电产品 单片机作为机电产品中的控制器 能充分发挥它的体积小 可靠性高 功能强等优点 大大提高了机器的自动化 智能化程度 1 3 单片机在计算机网络及通信中的应用 高性能单片机中集成有 SDLC 通信接口 因而使其在计算机网络及通信设备中得到 了广泛的应用 过程控制是微型机应用最多 最有效的方面之一 单片机广泛用于过程 控制 它即可以作为主机控制 也可以作为分布式控制系统的前端机 对现成的信息进 行实时的测量和控制 单片机可以用于开关量控制 顺序控制以及逻辑控制等 1 1 2 微型计算机的特点 电子计算机通常按体积 性能和价格分为巨型机 大型机 中型机 小型机和微型 机五类 从系统结构和基本工作原理上说 微型机和其他几类计算机并没有本质上的区 别 所不同的是微型机广泛采用了集成度相当高的部件 因此带来以下一系列特点 1 体积小 重量轻 2 价格低 3 可靠性高 结构灵活 4 应用面广 5 功能强 性能优越 正是这种种的特点 才使得微型计算机能够得到广泛的应用 当然 本系统也采用 这种系统 1 2 选题意义 现代社会竞争如此激烈 只有高效的工作效率才能立于不败之地 驾校在单位时间 内毕业的学员越多这就是高效 再者 近年来夏季似乎出奇的热 而冬季似乎越来越冷 在这两个时间段对教练来说都可以说是一种遭罪 学员在车内可避免 如果有这样的设 备可以代替教练来 监督 学员 当学员在倒车的过程中犯有压线 撞杆等错误的时候 提出警示来告知教练 不但可以使教练免受天气的困扰 还可以使一个教练同时 监督 多个学员 这样也能使教练腾出身子教那些刚学车的新手 达到充分利用人力资源的效 果 这不但对教练而且对驾校都会有一笔不菲的效益 倘若这种系统能普及起来 驾校 就可以格外多招学员 从而缓解人多驾校少的压力 更能够增加驾校的经济效益 2 系统的总体设计 基于单片机的驾校汽车训练辅助系统带有超声波传感器 电感式接近开关 温度传 感器 DS18B20 等元件来采集信号传递给单片机 进行处理 当学员驾车训练过程中 接 近障碍物的时候 系统可以给出提示 警告学员 从而引起学员的注意 2 1 系统总述 本控制系统以 89C51 单片机为核心 配置超声波传感器 电感式接近开关 DS18B20 温度传感器 控制电路 显示电路 距离检测电路 显示器 键盘以及外部存 储器 报警器等部件 从而实现对距离的检测来提示学员应该注意障碍物 本系统先是 利用数字式温度传感器 DS18B20 来测量空气温度 从而确定在此温度下的超声波速度 这样可以提高系统的精确度 利用超声波传感器则可以测量出离障碍物与汽车的距离 当测量出的距离比初始设定的值小的时候 则提出警告 而电感式接近开关则是检测汽 车是否接近边线 当汽车进入接近开关的检测范围时也由系统提出警告 七段显示器可 以显示超声波测量出的数值 也可以显示温度传感器所测量到的温度 键盘则是用来设 定距离障碍物多远的初始值 也可以通过键盘的输入使显示器在温度和距离两者之间相 互切换 2 2 硬件子系统 本系统的硬件子系统包括 单片机 温度测量 距离测量 温度及距离的显示 报 警和看门狗等部分 1 单片机部分 目前在国内流行的单片机中 最为用的即为 MCS 51 系列单片机 本系统选择的单片机 是 89C51 系列单片机 用来做为整个系统的中央控制 控制整个系统的工作过程 单片 机在众多领域尤其是在智能仪表 检测和自动控制系统中 单片机有着广泛的应用 2 键盘设定部分 人员可以设定车辆距离障碍物多远的初始值 当超声波检测到的距离小于此值时 则 提出警报 其次 键盘也可以对温度和距离这两者之间进行切换显示 这部分由 4 4 键 盘组成 其中数字键 0 9 共 10 个 2 个为功能键 距离 温度 其余的为扩展功能 键 键盘则是由 8255A 可编程并行输入 输出芯片作为接口 3 温度与距离的显示 这部分由两上 LED 进行温度和距离的显示 可以实时显示离障碍物的距离或者温度 此部分也是由 8255A 可编程并行输入 输出芯片作为接口 4 温度的检测与距离的测量 由数字式温度传感器 DS18B20 和超声波传感器来完成 5 金属的检测 由电感式接近开关来完成 6 报警 当汽车与障碍物的距离小于设定的初始值的时候 系统提出警报 或者当接近开关检 测到汽车马上压到边线时 也由系统提出警报 7 看门狗电路 由 MAX813L 构成 为了实现单片机死机时自动复位功能 图 2 1 系统硬件框图 Fig 2 1 system hardware diagram 单 片 机 AT89C51 报警 电路 看门 狗电路 存 储 器 可 编程 并行 接口 8255A 显示电路 键盘 温度传感器 超声波传感器 电感式接近开关 2 3 软件子系统 在结构的设计和编程上 软件设计是根据系统的功能要求 在硬件基础上进行设计 的 软件设计的结构和运行的时序直接影响到整个系统的性能 所以软件设计的好坏决 定了整个系统的好坏 本系统采用 MCS 51 单片机汇编语言指令系统来实现程序的编制 本系统程序设计具有简练 再定位 可扩展 易读写等优点 在程序中 编写了一 些子程序 当主程序执行同样的功能时就可以调用相同的子程序 这样程序的可读性高 更系统化 模块化 软件总体设计模块如图 2 2 所示 由图可知软件部分是由初始化程序 键盘程序 显 示程序 检测程序 报警 看门狗等 1 初始化程序 其中含单片机缓冲区初始化 8255 初始化 中断初始化等 2 键盘程序 该程序作用是扫描键盘进行相应的处理 如设定键盘的温 度 3 显示温度距离程序 该程序作用是实时显示温度和距离 4 温度检测程序 该程序是将温度传感器所测的温度进行处理 转换成 BCD 码 5 距离测量程序 将超声波传来的数据进行处理 得到距离值 6 探测程序 用来启动接近开关 并检测接近开关是否传递信号给单片机 7 报警程序 主要用来控制蜂鸣器和指示灯的声光指示 8 看门狗程序 该程序作用是防止系统掉进死循环及程序 飞车 键 盘 程 序 显 示 程 序 温 度 检 测 程 序 接 近 开 关 程 序 报 警 看 门 狗 距 离 检 测 程 序 初始化 图 2 2 软件总体程序模块图 Fig2 2 Overall software program modules map 3 硬件详细设计 根据系统的功能能要求 该系统硬件部分主要由单片机中央处理器 数据存储器 各个传感器 人机接口等部分组成 下面分别详细介绍本系统的各个硬件部分 3 1 中央处理器 MCS 51 系列高档 8 位单片机是由 Intel 公司推出 至今已 20 多年 51 系列单片机经 久不衰 并得到了极其广泛的应用 其中许多功能也都超过了以前的单片机 成为当前 工业测控类应用的优选单片机 它的性能好的方面主要包括 片内存储容量和外部存储 器寻址范围增大 I O 口线数增加 定时器 计数器的数量和位数增加 中断功能加强 设 置了一个全双工串行口 具有通信能力 指令系统增加了乘除等指令 并加强了位操作 的功能等 2 所以 本系统处理器部分采用 MCS 51 系列的 89C51 单片机 3 1 1 89C51 单片机芯片简介 89C51芯片引脚图如下图3 1 图 3 1 89C51 芯片引脚图 Fig 3 1 89C51 chip pin chart 89C51 单片机是 HMOS 工艺制造的采用的是双列直插式 40 脚封装 依次把引脚介绍 如下 1 XTAL1 XTAL2 时钟 XTAL1 内部振荡电路反向放大器的输入端 是外界晶体的一个引脚 当采用外部振 荡时 此引脚接地 XTAL2 内部振荡器的反向放大器输出端 是外界晶体的另一端 当 采用外部振荡时 此引脚接外部振荡源 MCS51 系列单片机内有一个高增益放大器 其 频率范围为 1 2 12MHZ XTAL1 XTAL2 分别为放大器的输入和输出端 时钟可以由内 部或外部方式产生 内部方式的定时元件通常采用石英晶体和电容组成的并联谐振电路 电容器主要起频率微调作用 一般电容可选用 30pF 左右 2 ALE 控制总线 P 正常操作时为 ALE 功能 即允许地址锁存 用来把地址的低字节锁存到外部锁存器 ALE 引脚以不变的频率 振荡器频率的 1 6 周期性地发出正脉冲信号 因此 它可以作 为对外输出的时钟信号或用于定时 但是要注意每当访问外部数据存储器时 将跳过一 个 ALE 脉冲 ALE 端可以驱动 8 个 TTL 电路 3 外部程序存储器读选通信号PSEN 在从外部程序存储器取指令或数据期间 在每个机器周期内两次有效 PSEN 可以驱动 8 个 LSTTL 电路 PSEN 4 REST 复位信号输入端 振荡器工作时 该引脚上持续两个机器周期的高电平可实现复位操作 此引脚还可 以接上备用电源 在 VCC 掉点期间 由 Vpp 向内部 RAM 提供电源 以保持内部 RAM 中的数据 5 VPP 外部程序存储器选择信号 低电平有效 EA 在复位期间 CPU 检测并锁存 VPP 引脚电平状态 当发现该引脚为高电平时 从EA 片内程序存储器取指令 只有当程序计数器 PC 超出片内程序存储器地址编码范围时 才 转到外部 ROM 中取指令 当该引脚为低电平时 一律从外部程序存储器中取指令 6 I O 线 P0 口单片机的双向数据总线和低 8 位地址总线 在访问外部存储器时实行分时操作 先用作地址总线 在 ALE 信号的下降沿 地址 被锁存 然后用作数据总线 它也可以用作双向输入输出口 P0 口可以驱动 8 个 LSTTL 负载 P1 口为双向输入输出口 P1 口可以驱动 8 个 LSTTL 负载 P2 口为双向输入输出 口 在访问外部存储器时 用作高 8 位地址总线 P2 口可以驱动 4 个 LSTTL 负载 7 其它引脚 P3 0 P3 7 P3 口是 8 位准双向 I O 端口 它是一个复用功能口 作为第一功能使用 时 为普通 I O 口 其功能和操作方法与 P1 口相同 作为第二功能使用时 各引脚的定 义如表 3 1 所示 P3 口的每一条引脚均可独立定义为第一功能的输入输出或第二功能 表 3 1 P3 口的第二功能表 Table3 1 The second function tablet of P3 P3 口引脚线号第二功能标记第二功能注释 P3 0RDX串行口数据接收输入端 P3 1TXD串行口数据发送输出端 P3 2 0INT 外部中断 0 请求输入端 P3 3 1INT 外部中断 1 请求输入端 P3 4T0定时 计数器 0 外部输入端 P3 5T1定时 计数器 1 外部输入端 P3 6 WR 片外数据存储器写选通端 P3 7 RD 片外数据存储器读选通端 3 1 2 89C51 单片机芯片功能介绍 1 89C51 单片机内部包括许多部件 具体如下 1 一个 8 位 CPU 2 一个片内振荡器及时钟电路 3 ROM 程序存储器 4 RAM 数据存储器 5 两个 16 位定时 计数器 6 可寻址 64K 外部数据存储器和 64K 外部程序存储器空间的控制电路 7 32 条可编程的 I O 线 8 一个可编程全双工串行口 9 具有 5 个中断源 2 个优先级的中断结构 2 89C51 单片机芯片工作方式简介 1 复位方式 在振荡器工作时将 RST 脚保持至少两个机器周期高电平 12 时钟模式为 24 个振荡 器周期 6 时钟 模式为 12 振荡器周期 可实现复位 为了保证上电复位的可靠 RST 保 持高电平的时间至少为振荡器启动时间 通常为几个毫秒再加上两个机器周期 复位后 振荡器以 12 时钟模式运行 当已通过并行编程器设置为 6 时钟模式时除外 3 2 定时器的工作方式 定时器的工作方式有4种 由TMOD的M1M0两位决定 这里主要讲方式1 当M1M0 01时 定时器工作于方式1 在使用定时器时 先要进行初始化编程 其内 容包括 定义TMOD 设置定时器的工作方式 对TL和TH写入时间常数 即计数器初值 设置中断系统 启动定时器 MCS 51系列单片机定时器中的计数器采用加1计数 在定时方式下 计数器的初值基 础上每来一个定时脉冲加1 一直加到计数器溢出即为定时到 假设要求的定时时间为 TC 时间常数为N 计数器为n位 由于定时脉冲的频率为振荡频率fosc的1 12 因此有 TC 2n N 12 fosc 3 1 解得 N 2n TC fosc 12 3 2 定时计数器方式1下16位计数器的计数或定时范围是各种方式中最大的 如果还不够 满足实际要求 可以用软件方法扩展 3 中断系统 MCS 51系列单片机有5个中断源 两个外部中断 两个内部定时器 计数器溢出中断 和一个串行口发送 接受中断 这些中断请求源分别由特殊功能寄存器TCON和SCON的相 应位锁存 下面只介绍前几个中断 1 外部中断0 低电平有效 有低电平触发和负跳变触发两种触发方式 0INT 由定时器 计数器控制寄存器来控制 中断信号由单片机的P3 2端口输入 2 外部中断1 低电平有效 触发方式同外部中断0 中断信号由单片机的1INT P3 3端口输入 3 定时器0溢出中断 当外部定时器 计数器T0计数溢出 TH0 TL0所有位均为 0 并向特殊功能寄存器TCON中的中断标志位TF0进位 将TF0置1 得到中断允许后 向CPU提请中断 4 3 1 3 看门狗复位电路 计算机在启动运行时都需要复位 使 CPU 和系统中的其他部件都处于一个确定的初 始状态 并从这个状态开始工作 单片机复位时 RST 输入 24 个振荡周期 两个机器周期 以上的高电平 单片机便进入复位状态 复位不影响片内 RAM 复位后 P0 P3 口输出 高电平 且使准双向口皆处于输入状态 并且将 07H 写入堆栈指针 SP 同时 PC 指向 0000H 使单片机从起始地址 0000H 开始重新执行程序 所以 如果单片机运行出错或进 入死循环 则可通过复位使 CPU 重新启动 复位电路分为上电复位和手动复位 1 上电复位是指单片机只有一上电 便自动地进入复位状态 在通电瞬间 电容 C 通过 R 充电 RST 端出现正脉冲 用于复位 其中 R 的作用是加速复位 关于参数的选 定 应保证复位高电平持续时间 即正脉冲宽度 大于 2 个机器周期 当采用的晶体频 率为 6MHZ 可取 C 22 F R 1k 当采用晶体为 12MHZ 可取 C 10 F R 8 2k 2 手动复位是指通过接通一按钮开关 使单片机进入复位状态 系统上电运行后 若需要复位 一般都通过手动复位来实现的 本系统采用的是由MAX813L芯片构成的专用复位看门狗电路 可由自动复位和随时 手动复位 现介绍一下MAX813L芯片 图 3 2 MAX813L 芯片引脚图 Fig 3 2 MAX813L chip pin chart 1 手动复位输入端 低电平有效 当该端输入低电平保持 140ms 以上 MR MAX813L 就输出复位信号 2 RESET 复位信号输出端 上电时 自动产生 200ms 的复位脉冲 高电平 手 动复位端输入低电平时 该端也产生复位信号输出 3 WDI 看门狗输入端 程序运行时 必须在小于 1 6s 的时间间隔内向该输入端 发送一个脉冲信号 以清除芯片内部的看门狗定时器 若超过 1 6s 该输入端收不到脉冲 信号 则内部定时器溢出 端输了低电平 0WD 4 看门狗信号输出端 正常工作时输出保持高电平 看门狗输出时 该端0WD 输出信号由高电平变为低电平 5 PFI 电源故障输入端 当该端输入电压低于 1 25V 时 端输出低电平 0PF 6 电源故障输出端 电源正常时输出保持高电平 电源电压变低或掉电时 0PF 输出由高电平变为低电平 7 VCC 工作电源 接 5V 8 GND 接地端 MAX813L 与单片机的连接电路如下图 3 3 所示 该电路可以实现上电复位 程序运 行出现 死机 时的自动复位和随时的手动复位 为实现单片机死机时自动复位功能 需要在软件设计中 单片机 P1 3 端口不断输出脉冲信号 时间间隔小于 1 6s 如果因某 种原因 单片机进入死循环 则 P1 3 无脉冲输出 于是 1 6s 后在 MAX813L 的端输0WD 出低电 该电平加到端 使 MAX813L 产生一个 200ms 的复位脉冲输出 使单片机有MR 效复位 系统重新开始工作 5 MR WDO VCC GND PFI PFO WDI RESET R5 1K S1 SW PB GND 1 2 3 74HC08 VCC RESET P1 3 M AX831L U8 图 3 3 看门狗电路 Fig 3 3 Watchdog circuit 3 1 4 时钟振荡电路设计 1 时钟振荡电路 MSC 51 单片机内部有一个用于构成振荡器的高增益反相放大器 引脚 XTAL1 和 XTAL2 分别是该放大器的输入和输出端 在 XTAL1 和 XTAL2 两端接一个片外石英晶体 或陶瓷谐振器就构成了稳定的自激振荡器 如图 3 4 所示 这就是单片机的时钟振荡电路 图 3 4 时钟振荡电路 Fig 3 4 Clock and oscillation circuit 时钟电路用于产生时钟信号 时钟信号是单片机内部各种微操作的时间基准 在此 基础上 控制器按照指令的功能产生一系列在时间上有一定次序的信号 控制相关的逻 辑电路工作 实现指令的功能 由于本系统中采用的是内部时钟方式震荡器 在 XTAL1 XTAL2 的两端接一个片外 石英晶体 构成了稳定的自激震荡器 一般电容 C1 和 C2 取 30PF 10PF 左右 晶体的振 荡频率范围是 1 2MHZ 12 MHZ 本设计使用振荡频率为 6MHZ 的石英晶体 通常 ALE 输出信号恒定为 1 6 振荡频率 而如果 8051 把振荡频率 1 6 分频则为 1MHz 左右 即 ALE 输出信号频率为 1MHz 左右 2 时序单位 下面简单介绍一下时序单位 时钟周期 是时钟信号频率 fosc 的倒数 时钟周期 1 fosc 3 3 机器周期 机器周期 12 时钟周期 3 4 指令周期 一条指令从被读取到被执行的整个过程所需的时间称为指令周期 已知 1s 1000ms 1 ms 1000 s 1 s 1000ns 解 本系统的时钟周期 1 6M 0 1667s 机器周期 12 0 1667 2 004s 由此知 1 秒运行了 1 2 004 500000 次 机器周期 s 3 2存储器的扩展 89C51 单片机片内含有 4KB 的程序存储器 ROM 和 128 字节的数据存储器 RAM RAM 的可以作为工作寄存器 堆栈 软件标志和数据缓冲器 CPU 对其内部 RAM 有丰富的操作指令 因此这个 RAM 存储器是十分珍贵的资源 应合理地利用片 内 RAM 存储器 充分发挥它的作用 对于简单的数据处理 用它存放运算的中间结果 容量是够用的 但对于大量数据采集处理系统 则需要在外扩展 RAM 扩展外部数据存 储器一般由 SRAM 构成 6264 是 8K 8 位的 SRAM 因为 89C51 单片机片内含有 4KB 的程序存储器 ROM 能够满足存储指令的需要 所以程序存储器不需要扩展 3 2 1 扩展电路的芯片 1 存储器 89C51 片内含有 128 字节的数据存储器 RAM 主要用作工作寄存器 堆栈 软件标 志和数据缓冲器 对于简单的 用它存放运算的中间结果 容量是够用的 但对于大量 数据采集处理系统 则需要在外扩展 RAM 扩展外部数据存储器一般由 SRAM 构成 6264 是 8K 8 位的 SRAM 6264 芯片的引脚如图 3 6 所示 单一 5 V 供电 典型读取时 间 200 ns 封装形式为 DIP28 其中 A0 A12 为 13 条地址线 D0 D7 为 8 条数据线 双向 为片选线 1 低电平有效 CE2 为片选线 2 高电平有效 为读允许信号1CEOE 线 低电平有效 为写信号线 低电平有效 WR 6264芯片引脚图如下图3 5 图 3 5 6264 芯片引脚图 Fig 3 5 6264 chip pin chart 2 锁存器 74LS373 由 89C51 单片机的 P0 口是分时复用的地址 数据线 因此必须利用锁存器将地址信 号从地址 数据总路线中分离出来 得到低 8 位地址 A0 A7 如图 3 6 所示 12345678 A B C D 87654321 D C B A Title NumberRevisionSize A2 Date 18 Nov 2002Sheet of File E 制制制制 制制制制制制制制制制 制制 DDB Drawn By D0 3 Q0 2 D1 4 Q1 5 D2 7 Q2 6 D3 8 Q3 9 D4 13 Q4 12 D5 14 Q5 15 D6 17 Q6 16 D7 18 Q7 19 OE 1 LE 11 74LS373 图 3 6 74LS373 芯片引脚图 Fig 3 6 74LS373 chip pin chart 图中 D1 D8 为 8 个输入端 Q1 Q8 为 8 个输出端 是锁存器三态门输出允许OE 端 LE 是数据锁存控制端 选通脉冲有效时 数据被锁存 Q0 Q7 是锁存数据输出端 表 3 2 74LS373 的工作状态 Table 3 2 74LS373 Working conditions 输出输出控制接数控制 高阻态10 高阻态 接数 1上升沿 Q Q000 Q D0上升沿 3 2 2 89C51 与数据存储器扩展 下面具体阐述一下数据存储器的扩展 1 外部数据存储器 6264 的扩展方法 前面已经介绍过 89C51 单片机当单片机访问扩展的 6264 数据存储器芯片时 必须要 用到 P0 口输出的低 8 位地址 而 P0 口又承担输出 输入数据的任务 所以需要接地址 锁存器 P0 口 P00 P07 与 373 锁存器的数据输入端 D0 D7 相连 地址输出端 Q0 Q7 接 6264 的低 8 位地址线 A0 A7 A8 A12 与 89C51 的 P2 口的 P20 P24 相连 6264 的 D0 D7 数据 输出与 89C51 的 P0 口 P00 P07 相连 和分别与 89C51 单片机的 相连 WROEWRRD 6264 与 373 锁存器的 Vcc GND 分别相连 数据锁存控制端 LE 与 89C51 的 ALE 相连 通过 89C51 的 ALE 可实现对外总线的扩展 在 ALE 为有效高电平期间 有效高电平边 沿作锁存信号 373 锁存器将 P0 口上输出低 8 位地址 A0 A7 信息锁存 此时 373 锁 存器将 P0 口传来的低 8 位地址通过 6264 的 A0 A7 地址线送入存储器 P2 口的 P20 P24 将高位地址通过 6264 的 A8 A12 地址线送入存储器 ALE 的下降沿将低 8 位地址打入 地址锁存器后 P0 口变为输入方式 因此 P0 口实为分时复用的地址 数据总线 P2 口上输出高位地址 A8 A12 通过 373 锁存器与 6264 相连 再通过 P3 口的第二功能扩展出读 写控制信号进行存储 6264 只是用 WR RD 扩展线而不使用 因此 储器地址空间为PESN 6000H 7FFFH 但数据存储器与 I O 端口及外部设备是统一编址的 即任何扩展的 I O 端口及外部设备均占用数据存储器的地址空间 电路连接图如下 图 3 7 6264 与 89C51 单片机的连接电路 Fig 3 7 6264 and 89C51 single chine microcontroller junction circuit 3 3 人机对话部分 人机对话通道包括 8255 可编程并行接口芯片 显示器及键盘部分 本节将从这三方 面展开 3 3 1 8255A 可编程并行接口芯片 8225A 是一个可编程外部设备接口 Programmable Peripheral Interface 其功能是使 一个通用的 I O 设备接入微型计算机的系统总线 8255A 的主要特点在于可编程 工作方 式可用软件编程的方法来实现 也就是说该接口采用软件的管理方式 因此 8225A 使用 十分灵活 应用非常广泛 8255 引脚如图 3 8 图 3 88255 引脚图 Fig 3 8 The Pins of 8255 1 8255A 的引脚的功能 PA0 PA7 A 口的输入输出信号线 该口是输入还是输出或双向 由软件决定 PB0 PB7 B 口的输入输出信号线 该口是输入还是输出 由软件决定 PC0 PC7 C 口信号线 该口可作输入 输出 控制和状态线使用 由软件决定 D0 D7 双向数据信号线 用来传送数据和控制字 片选信号 接系统设备选择线 低电平有效 C S 读信号 低电平有效 他控制 8255A 送出数据或状态信息到 CPU R D 写信号 低电平有效 他控制把 CPU 输出的数据或命令信号写到 8255A W R A0 A1 端口选择信号 这两个输入信号与和一起控制对三个端口和一个控R DW R 制寄存器的选择 因为 8255A 共有四个端口 即端口 A B C 和控制字寄存器 所 以只要两个地址线就能选择 在编程中规定用地址 A0 A1 作为端口的选择 RESET 系统复位信号 RESET 高电平时有效 其作用是清除控制寄存器 并将所 有端口 A B C 置为输入方式 片选信号线 低电平 有效 时 才选中该芯片 才能对 8255 进行操作 C SC S A0A1 口地址选择信号线 通常与系统地址总路线的 A1 和 A0 对应相连 当有C S 效时 A1 和 A0 的四种组合 00 01 10 11 分别选择 A B C 口和一个控制寄存器 所以一片 8255 共有 4 个 I O 地址 2 外部接口部分 外部接口部分是用于和外部设备进行接口 包括 24 根外部接口线 缓冲器及控制逻 辑 8255A 含有三个 8 位的端口 分别称为端口 A PA7 PA0 端口 B PB7 PB0 端口 C PC7 PC0 3 8255A 工作方式 方式 0 基本输入 输出方式 方式 1 选通输入 输出方式 方式 2 双向传送方式 a 方式 0 基本输入 输出方式 这种功能结构为三个端口的每一个都提供了简单的输入输出操作 当端口进行简单 的读或写数据时 不需要进行应答 工作在方式 0 时 8255A 构成两个 8 位端口和两个 4 位端口 任何一个端口都可用作 输入或输出 输出有锁存 输入无锁存 方式 0 通用控制字的格式如下 表 3 3 方式 1 控制字 Table 3 3 Way1 control way D7D6D5D4D3D2D1D0 100 0 b 方式 1 选通输入 输出方式 这种方式用于向特定的端口传送 I O 数据 或从指定的端口中取数 同时与一个选通 或应答信号相配合 端口 A 和端口 B 用端口 C 中相应的线产生或接收这个应答信号 在 方式 1 时 8255A 构成两组端口 A 组和 B 组 每一组中包含一个 8 位的数据端口和一 个 4 位的控制 数据端口 这 8 位的数据端口既可用作输入也可用作输出 输入和输出都 可被锁存 4 位的端口用于控制和表示 8 位端口的状态 c 方式 2 双向传送方式 这种方式提供了与外部设备进行通信方法 在 8 位的数据总线上既可以发送也可以 接收数据 也就是说是双向传送 与方式 1 相似 通信需要有一个应答信号 可以用中 断来产生 在方式 2 时 只使用 A 组 包括一个 8 位的双向总线端口 端口 A 和一个 5 位的控制端口 端口 C 输入和输出被锁存 并且有 5 位的控制端口 端口 C 可用 于控制 8 为的双向总线端口 端口 A 和放映端口 A 的状态 4 8255A 控制字 8255A 控制字用于确定各端口的工作方式及数据传送方向 1 D6D5D4D3D2D1D0 图 3 11 8255 方式控制字 Fig 3 11 8255 way controlling word 5 置位 复位控制字 端口 C 的每一位都可以按位置位 复位 其位置位 复位都是由软件完成的 不需要外 部逻辑电路控制端口 C 的各位置位 复位的控制字 8255A 位置位 复位控制字中各位的功 能如图 D7D6D5D4D3D2D1D0 无关 图 3 9 8255 置位 复位控制字 Fig 3 9 8255 setting and resetting controlling word 控制字的内容由程序设定 CPU 使用输出指令把控制字送到 8255A 的寄存器中 6 8255A 与 89C51 单片机的连接 8255A 与 89C51 单片机的连接如图 3 10 所示 方式选择 控制字 A 组方式 00 方式 0 01 方式 1 1 方式 2 端口 A 1 输入 0 输出 PC7 PC4 1 输入 0 输出 B 组方式 0 方式 0 1 方式 1 端口 B 1 输入 0 输出 PC3 PC0 1 输入 0 输出 1 置位 0 复位C 端口置位 复位控制字 EA VP 31 XTAL1 19 XTAL2 18 RESET 9 RD 17 WR 16 INT0 12 INT1 13 T0 14 T1 15 P10 1 P11 2 P12 3 P13 4 P14 5 P15 6 P16 7 P17 8 P00 39 P01 38 P02 37 P03 36 P04 35 P05 34 P06 33 P07 32 P20 21 P21 22 P22 23 P23 24 P24 25 P25 26 P26 27 P27 28 PSEN 29 ALE P 30 TXD 11 RXD 10 GND 1 U1 8051 D0 3 Q0 2 D1 4 Q1 5 D2 7 Q2 6 D3 8 Q3 9 D4 13 Q4 12 D5 14 Q5 15 D6 17 Q6 16 D7 18 Q7 19 OE 1 LE 11 U2 74LS373 A0 10 A1 9 A2 8 A3 7 A4 6 A5 5 A6 4 A7 3 A8 25 A9 24 A10 21 A11 23 A12 2 CS1 20 CS2 26 WE 27 OE 22 D0 11 D1 12 D2 13 D3 15 D4 16 D5 17 D6 18 D7 19 U3 6264 1 2 3 U3A 74LS02 D0 34 D1 33 D2 32 D3 31 D4 30 D5 29 D6 28 D7 27 PA0 4 PA1 3 PA2 2 PA3 1 PA4 40 PA5 39 PA6 38 PA7 37 PB0 18 PB1 19 PB2 20 PB3 21 PB4 22 PB5 23 PB6 24 PB7 25 PC0 14 PC1 15 PC2 16 PC3 17 PC4 13 PC5 12 PC6 11 PC7 10 RD 5 WR 36 A0 9 A1 8 RESET 35 CS 6 8255 U4 图 3 10 为 8255A 与 89C51 的连接电路 Fig 3 108255A and 89C51 single chine microcontroller junction circuit 8255A 与 MCS 51 系列单片机的连接是很方便的 由图可知 8255 的数据线 D0 D7 接 89C51 单片机的数据总线 P0 口的 8 个数据线上 读 写控制信号线和复位信号线对应 相接 端口选择信号线 A1 A0 接在 74LS373 锁存器锁存的低两位地址线上 片选线接 在 89C51 的 P2 6 上 用的是线选法 A1 A0 和片选线接法决定了 8255 的各个端口地址 因此当 89C51 的 P2 7 0 时 选中 8255 芯片 8255 口地址 1010 0000 0000 0000 即 8255 口地址从 A000H 开始 此时 PA 口地址是 A000H PB 口地址 A001H PC 口地址 A002H 控制口地址 A003H 3 3 2 键盘设计 微机所用的键盘分为编码键盘和非编码键盘两种 编码键盘采用硬件线路来实现键 盘编码 每按下一个键 键盘能自动生成按键代码 还有去抖等功能 因此使用方便 但是硬件较复杂 非编码键盘仅提供键开关状态 其它工作都是用软件来完成的 即依 靠程序来识别闭合键 去抖动 产生相应的代码 转入执行该键的功能程序 这种非编 码键盘一般键的数量少 为小键盘 硬件简单 在单片机应用系统中应用很广泛 本系 统用的主要是非编码键盘 1 键盘的去抖 由于机械触电的弹性作用 触点在闭合和断开瞬间的电接触情况不稳定 造成电压 信号的抖动现象 键的抖动时间一般为 5 10ms 这种现象会引起单片机对于一次键操作 进行多次处理 因此必须设法消除键通断电时的抖动现象 去抖的方法有硬件和软件两 种 采用软件去抖动的方法是在单片机检测到有键按下的时候 执行一个 10 20ms 的延 迟程序后再次检查该键电平是否仍保持闭合状态 如保持闭合状态 则确认为有键按下 否则从头检测 这样就能消除键的抖动现象 2 行列式键盘 行列式键盘又叫矩阵式键盘 本系统用的是 4 4 的行列式键盘 行线经线流电阻接 5V 源上 按键跨接在行线和列线上 行列式键盘用在键数较多的场合 键盘处理程序的关 键是如何识别键码 单片机对键盘控制的办法是 扫描 因此 本系统采用的是程序扫 描法 3 8255A 与键盘连接电路 如下图 3 11 为 8255A 与键盘连接电路 R11K R21K R31K R41K VCC S0S1S2S3 S4S5S6S7 S8S9S10S11 S12S13S14S15 D0 34 D1 33 D2 32 D3 31 D4 30 D5 29 D6 28 D7 27 PA0 4 PA1 3 PA2 2 PA3 1 PA4 40 PA5 39 PA6 38 PA7 37 PB0 18 PB1 19 PB2 20 PB3 21 PB4 22 PB5 23 PB6 24 PB7 25 PC0 14 PC1 15 PC2 16 PC3 17 PC4 13 PC5 12 PC6 11 PC7 10 RD 5 WR 36 A0 9 A1 8 RESET 35 CS 6 U4 8255 图 3 11 键盘与 8255A 连接电路 Fig 3 11 Keyboard and 8255A junction circuits 在上图中 8255 的端口 C 的 PC0 PC3 为行扫描口 工作于输出方式 端口 C 的 PC4 PC7 工作于输入方式 用来读入列值 在每一个行与列的交叉点均接一个按键 故 4 4 共 16 个键 为了判断到底哪一行哪一列的键按下 事先按一定顺序给每一个键编一 个号 如图中 S0 S1 S2 等分别代表数值 0 1 2 等 称其为键值 所谓键译码就是找 出每个键值 然后根据键值进而确定其是功能键还是数字键 并分别进行处理 本系统采用的是程控扫描法 其工作过程是 1 首先判断是否有键按下 其方法是使所有的行输出均为低电平 然后从端口 B 读 入列值 如果没有键按下 则读入的列值为 FFH 如杲有键按下 则读入的列值不为 FFH 2 去除键抖动 若有键按下 则延时 5 10ms 再一次判断有无键按下 如果此时 仍有键按下 则认为键盘上有一个键处于稳定闭合期 3 若有键闭合 则求出闭合键的键值 求键值的方法是对键盘逐行扫描 先对第一 行输出为低电平 其余三行为高电平 再将列值读入到累加器 A 中 根据累加器 A 中的 前四位是 0 还是 1 来确定按键是不是第一行 依次执行 例如 若是第一行第一列的 则 ACC 0 为 0 其余为 1 以此扫描下去 直到完为止 4 为保证键每闭合一次 CPU 只作一次处理 程序中需等闭合键释放后才对其进行 处理 在键盘扫描程序中 求得键值只是手段 最终目的是要使程序转到相应的地址去完 成该键的操作 一般对数字键就是送到显示缓冲区进行显示 对功能键则执行相应的程 序 在本系统中 S0 S9 为十个数字键 2 个键为功能键 其余键为以后功能扩展用 3 3 3 LED 显示部分 LED 显示器是由发光二极管作为显示字段的数码型显示器件 其中七只发光二极管 a g 七段 构成字形型 8 另外还有一只发光二极管 dp 作为小数点 因此这种 LED 显示器称为七段数码管显示器或八段数码管显示器 当显示器的某一段发光二极管通电 时 该段发光 人为控制某几段发光二极管通电 就能显示出某个数码或字符 1 共阴极 LED 显示器 在共阴极结构中 各段发光二极管的阴极连在一起 当将此公共点接地 某一段发 光二极管的阳极为高电平时 该段发光 当 LED 显示器与微机连接时 一般是将 LED 个 发光二极管的引脚 a b c d e f g dp 顺序接到微机的一个并行 I O 口 D0 D7 当从这个 I O 输出某个特定的数据时 就能使 LED 显示器显示某个字符 例如要使共阴极 LED 显示字 符 0 则要求 a b c d e f 各引脚为高电平 g 和 dp 为低电平就会显示 0 这个时候的字 段码是 3FH 本系统主要用的是共阴极 LED 显示 表 3 4 为共阴极 LED 显示的字段码 表 3 4 LED 显示器的字段码 七段码 Table 3 4 LED monitor field code seven sections of codes 显示字符共阴极字段码显示字符共阴极字段码 03FHA77H 106HB7CH 25BHC39H 34FHD5EH 466HE79H 56DHF71H 67DHP73H 707H熄灭00H 87FH 96FH 2 LED 显示方式有静态显示和动态显示两种类型 本系统用的是动态显示方式 以 下简单介绍 在动态显示方式下 想要每一位显示不同的字符 必须采用扫描显示方式 即在某 一瞬间 只让某一位的字位线处于选通状态 共阴极的为低电平 其他各位的字位线处 于开断状态 同时字段线上输出相应位要显示字符的字段码 这样在每一瞬间 各个 LED 中只有选通的那一位 LED 显示出字符 而其它几位则熄灭的 同样 在下一瞬间 只显示下一位 LED 如此继续 等所有 LED 都依次显示完毕后 循环进行 虽然这些字 符是在不同的瞬时轮流显示出来的 但由于人眼的视觉残留效应 看到的是 8 位稳定显 示的字符 LED 显示器所需要的工作电流较大 在静态方式下 一般每段需要几 mA 在动态显 示方式下 为了要达到足够的亮度 瞬时电流约为静态方式的 N 倍 N 是显示器位数 共阴极点或共阳极点处的电流因要考虑 8 段同时导通 其数值就更大 因此在 LED 接口 电路中常接有驱动器 段码驱动器为两片 74LS06 位码驱动器为 75452 本系统的显示器 显示的字符有两种 一种是来自键盘 是操作员设定状态下操作员键入的设定初始距离 的数值 另一种是系统实时检测到的温度值和所测定的距离值 LED 具体硬件电路如图 3 12 D0 34 D1 33 D2 32 D3 31 D4 30 D5 29 D6 28 D7 27 PA0 4 PA1 3 PA2 2 PA3 1 PA
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 海南施工安全培训系统课件
- 2.1.1练习使用显微镜说课稿人教版生物七年级上册
- 2024-2025学年高中语文 第三单元 对存在进行深思单元高考对接说课稿 语文版必修5
- 第6课 宝盖头教学设计-2025-2026学年小学书法练习指导五年级上册华文版
- 21杨氏之子(教学设计)-语文五年级下册统编版
- 26 走进虚拟世界教学设计小学科学四年级下册青岛版(五四制2024)
- 5.2 预防犯罪 说课稿统编版道德与法治八年级上册
- 项目计划申请书
- 职工工鉴定申请书
- 2025年保密知识竞赛考试题库及答案典型题
- JT-T-155-2021汽车举升机行业标准
- 三年级上册语文《总也倒不了的老屋》
- 楼梯-栏杆-栏板(一)等24项国家建筑标准设计
- 大型连锁医药零售企业发展模式
- 光伏发电项目设计任务书
- 站务员:站务员考点巩固(题库版)
- 大学美育(第二版) 课件 第七单元:设计艺术
- 成人高流量湿化氧疗临床应用规范专家共识2019
- 电大公共政策概论形考任务1-4答案
- 中职生安全教育PPT完整全套教学课件
- 网站信息发布审核制度
评论
0/150
提交评论