




已阅读5页,还剩30页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
0 基于单片机的视力保护器电路的设计 摘要 如今这个时代被人们称为信息时代 这些年 计算机技术以不可阻挡之 势迅猛发展 在工业 农业 国防 医疗 科研等众多领域发挥着重要的作用 成为各国衡量其国际竞争力的重要标准之一 单片机有着优越的控制能力 在 工业控制 医疗控制 只能仪表等领域有着广泛的应用 更以有着无比的优越 性从而成了微型的计算机的一个非常重要的分支 本文主要介绍了单片机的发展概况和视力保护器的发展历程 利用单片机 AT89C51 设计一款性能优越的视力保护器 在 AT89C51 型单片机的硬件设施基 础上实现测距 感光 定时 报警四大功能 其中测距模块和感光模块主要是 由相应的传感器组成 实现对使用者距离和周围环境光线强度的检测和报警功 能 定时模块是由单片机的运行程序构成 实现对使用者学习时间的监测和提 示功能 介绍了利用 Keil 平台实现定时汇编语言的方法 同时也简单介绍了该 技术的应用现状和发展前景 关键词 单片机 传感器 定时器 Keil 1 Vision protector circuit design based on single chip microcomputer Abstract Now this era known as the information age these years the technology of the computer to the irresistible trend of rapid development and plays an important role in many fields of industry agriculture national defense medical scientific research become one of the most important standards to measure the international competitiveness of the countries Single chip microcomputer as an important branch of microcomputer with its superior control function in the industrial control intelligent instrument system is showing its superiority This paper mainly describes the present situation of the development of the single chip microcomputer and the development of vision protector using single chip microcomputer AT89C51 design a superior performance vision protector On the basis of type AT89C51 single chip microcomputer hardware implementation ranging photographic timing alarm four big functions The ranging module and photosensitive module is mainly composed of the corresponding sensor realize the user distance and ambient light intensity detection and alarm function Timing module is made up of single chip microcomputer to run the program implementation of the user study time monitoring and prompt functions Introduced the method of using Keil platform implementation timing assembly language At the same time also simply introduces the present situation of the application of the technology and development prospects Key words Single chip microcomputer transducer timer keil 目录 1 绪论 1 1 1 选题背景 1 1 2 视力保护器的现状及其展望 2 1 3 主要研究内容 2 2 系统硬件设计 4 2 1 8051 单片机简介 4 2 2 传感器辅助坐直报警电路 7 2 3 8051 单片机的中断系统 8 2 3 1 中断的概念 8 2 3 2 中断系统结构以及中断控制 9 2 3 3 中断响应及中断处理过程 12 2 4 光线报警电路 13 2 4 1 光敏电阻控制电路 13 2 4 2 光线发声报警电路 13 2 5 定时报警电路 14 2 5 1 单片机控制电路 14 2 5 2 定时器报警发声电路 15 3 开发系统软件设计 16 3 1 Keil C51 软件简介 16 3 2 程序的模块化划分 16 3 3 程序模块 18 3 3 1 超声波测距模块 18 3 3 2 外部中断模块 19 3 3 3 定时模块 20 4 结论及展望 22 参考文献 23 附录 24 I 0 第一章 绪论 1 1 选题背景 随着改革开放的发展 现如今社会对于广大社会人群要求其知识水平越来 越高 特别是学生 故而现在是学生学习的高峰期 对他们的造成的学习压力 也是特别繁重的 根据有关的报告显示 我国现在的盲人人数以百万计 更甚 的是低度近视的以千万计 近视眼这种疾病在儿童及青少年时期极易发生 因 其不注意保护自己视力 各种的坐姿和作业方式不正确 根据近年全国学生体 质健康调查报告结论如下所示 更让人震惊的是 约有三十多万的人因高度近 视而导致眼盲 图 1 1 视力调查表 我国因人口基数众多也因对对视力保护不够重视 故而近视眼的人数据世 界第一位 同时近视眼发病的概率也是全世界最高的 学生因需经常用眼 故 而在广大的近视眼人群中占据了巨大部分 有着相当多的人数 中国广大学生 的近视度数还是较为偏高的 而且人数呈现出逐年递增的趋势 且递增的比例 相当大 这种趋势使得社会人群普遍的关注和担忧 他们作业阅读姿势不正确 和作业阅读的时间过长是导致近视眼病的主要原因 因此设计一款人性化的视 小学生 22 78 中学生 55 22 大学生 70 34 1 力保护器对于广大学生保护眼睛来说意义重大 1 2 视力保护器的现状及其展望 就目前的状况来说 国内外均业已有许多电子科技公司自己都在生产本公 司的视力保护器 就国内目前发展状况方面来说 比如说 有乌鲁木齐市旭之 龙科技有限公司 该公司生产的 学生 1 5 视力保护器 也被称之为 坐视宝 当使用者的坐姿不正确时 它能及时而有效的发出语音提醒 也还有深圳市 华恒电子有限公司的 MS 3032 坐姿矫正器 矫正作业和阅读时的不良坐姿 然而 从总体状况来说 国内生产的视力保护器的功能不够丰富 甚至可以说 是单一 但人们多视力保护器的多样化和个性化要求是日益增长的 故而相矛 盾 从国外方面来说 他们也十分地重视对视力保护的研究 然而 他们更加 倾向于对产生近视原因的思考和研究 他们普遍认为可以通过合理的饮食营养 搭配 例如多吃鱼和新鲜蔬菜 和正确的学习习惯 能降低近视发生的概率 经市场的调研表明 真正功能丰富视力保护器在广大的销售市场上是不存 在的 现有的视力保护器只能实现多功能视力保护器的三大目标 定时 感光 测距 的某一个方面 功能不全面 不突出 基于以上的因素 视力保护器存 在着大量的市场需求 对于视力保护器的研究和开发才处于刚刚起步的阶段 还有着很大的发展空间 在经过广大市场需求的刺激和国家大力支持此项研究 的前提下 多视力保护器的发展将是十分巨大的 同时也即将为广大学子的视 力问题作出很好的预防效果 1 3 主要研究内容 因单片机普遍地具有智能处理的功能 能满足人们基础的设计需求 故而本次的设计以单片机芯片为核心 结合了理论指导和实验验证两方面 的优点 首先是各个电路模块和所需的元器件的选择 同时也需对电路模 块的元器件的电阻值 电容量进行大致范围的估算 进行了初步的范围的 筛选后再进行进一步的精确的选择 最后确定使用 接着对各个单元电路 进行调整组合 使之形成完整的电路模式 且在计算机上进行调试和仿真 单片机选择 C51 型 以光敏电阻来判定光照值是否达到国家标准来实现对 光线强弱的警报 以水银滚珠型重力传感器来实现垂直电路从而达到对使 用者坐姿的检验 以 C51 单片机的定时和汇编功能来实现对使用者使用时 2 间的判定 以编程的方式来实现电路的自动复位 本次设计的多功能视力保 护器主要能实现以下几种功能 1 自动检测使用者的头部与书桌的距离 当使用者的头部与书桌的距离 过近即小于 25cm 时 报警闪光 提醒使用者调整坐姿 2 自动检测光线强度 当光线强度小于国家标准 1001X 报警闪光 提醒使用者调整光线强度 3 自动检测学习时间 当使用者使用的时间达到了本设计初始设定的 45 分钟 报警发生电路报警闪光 提醒使用者需要进行适当的休息 比如向远处 眺望 来保护视力 3 第二章 系统硬件设计 本设计的硬件设计系统是以 8051 单片机为核心 同时由定时报警电路 系统 光线报警电路系统 传感器辅助坐直报警电路系统 报警发声电 路系统这四个局部的电路系统而共同组成了视力保护器的硬件设计部分 设计基本框图如下所示 图 2 1 系统设计基本框图 2 1 AT89C51 简介 89C51 型单片机是一种八位单片机 优点较多 例如 体积小 功能 较为完善 同时能面向控制 且开发应用十分方便 不论是在测控理论或 者是应用方面 都是较为理想的 是一种不错的选择 中央处理器 储存 器 并串行口 定时器 计数器 中断系统构成了 C51 的主要组成部分 数 据总线 控制总线以及地址总线是 C51 单片机的三条总线 具有很好的完 整性 4 图 2 2 89C581 单片机内部结构 上图为 89C51 内部结构 由以下几个部分组成 1 1 个 8 位中央处理器 CPU 运算器和控制器是 CPU 的核心 构 成了其组成部分的主要器件 同时其内部的运算器有个一个布尔处理器 能进行位数据操作 同时面向控制的能力大幅的增强 因此既能对字节数 据进行处理 也能对位变量进行处理 2 程序存储器 片内 ROM 其主要的功能是储存程序和表格以及常数 等 多见的是采用的是只读储存器 且类型多种多样 3 数据存储器 片内 RAM 可以快速的储存数据 工作时的变量 中 间结果 简而言之就是数据暂存 缓冲 标志位等 4 并行输入 输出接口 主要是由四个八位并行输入 输出口组成 主要功能是实现数据的并行输入和输出 5 串行输入 输出接口 该接口是全双工串行口 主要是用来实现单 片机与其他的微机之间的串行通信 形成多台计算机互联系统 6 定时器 计数器 是由两个定时器 计数器 T0 与 T1 组成 可以实现 精确的定时控制和外部事件的计数 5 7 中断系统 主要是由 5 个中断源系统 2 个可编程优先级的中断 系统组成的 主要是用来各种实现中断申请 8 时钟电路 该电路可以产生单片机工作时所需要的时钟脉冲序列 89C51 目前比较常见的主要有两种封装的方式 PLCC 封装形式 有 44 个引 脚 DIP 封装形式 有 40 个引脚 以下分别是 PLCC 和 DIP 封装形式 图 2 3 两种常见的封装形式 为缩减体积 减少引脚数 很多的引脚采用复用方式 40 个引脚大致 分为以下四类 1 电源 该引脚用来提供单片机工作时所需要的电源 1 Vcc 正常运行时的电源 接 5V 2 Vss 电源地线 接地端 2 时钟 XTAL1 和 XTAL2 是该时钟的两个时钟引脚 能与单片机片内的放大器 构成一个振荡器 主要可以用来提供时钟控制信号 3 控制引脚 1 ALE 为地址锁存允许信号 同时与地址锁存器相互ALEPROG 配合形成一个控制信号 输出一正脉冲 是该控制引脚的第二功能 PROG 当由单片机编程写入时 为编程脉冲输入端 6 2 该控制引脚在低电平时有效 主要是作为外部程序存储PSEN 器的选通信号 输入到数据总线上 3 RST VPD 该控制引脚在高电平时有效 可以实现单片机的复位操 作 仅需加上高电平信号 持续时间大于两个机器周期 VDP 是用作备用 电源输入端 在掉电的情况下 自动引入一个电源 使得片内 RAM 数据不 会丢失 4 VPP 该控制引脚是程序存储器的选择控制端 当引脚 EA 为EA 高电平时 CPU 执行的顺序是从片内到片外 当引脚 EA 为低电平时 CPU 只执行片外 无视片内 4 I O 口引脚 89C51 有四个并行 I O 口 每个端口均为 8 位且均有 8 个引脚 因此 共有 32 个引脚 2 2 传感器辅助坐直报警电路 以下是传感器的结构和工作原理 当使用者的坐姿正确时 水银滚珠位于传感器的底端 与上面的电路处于 分离状态 电路处于断路状态 若使用者坐姿不正确时 水银滚珠慢慢向上滚 动 则电路导通 喇叭发声提醒使用者调整坐姿 传感器初始状态是竖直的 若使用者坐姿正确且保持不变 传感器的电路时处于短路状态的 喇叭不发声 无提示音 若使用者的坐姿有所变化 不正确 传感器的电路处于导通状态 喇叭发出提示音 提醒使用者调整坐姿 进而达到保护使用者视力的最终目的 若 Y0 输出为高电平时 VT1 导通时 VT1 的集电极电压是非常低的 VT2 处于关闭状态时 输出为高电平时 芯片集成 TM 801 的发出声音提示 集成 芯片 TM 801 的一种语言集成电路存储器是有多种语音信号的 本设计选择的 是芯片 MSS0283 53 集成块口哨声 一旦触发 然后广播语音信号播出储存在 在内存中语音信号 VT3 放大 扬声器 B 组的声音 7 图 2 4 坐直电路原理图 SENSOR 5 VT3 9013 VT29012 B SPEAKER R 51K R1 5 1K R2 2 4K C1 0 1u VT1 9011 VS S TG1 VDDOS C O PTM 801A 1M 3V BATTER Y Y0 2 3 8051 单片机的中断系统 今天的计算机具有实时处理能力 能对外部发生的突发事件进行及时 而有效处理 这就是靠中断技术来实现该功能的 2 3 1 中断的概念 当 CPU 正在处理一个事件 一个事件从外部突发需要 CPU 及时的处理 CPU 暂时中断当前的工作 转向事件的处理 中断服务处理完事件后 然后返 回到被中止 继续到原来的地方进行原来的工作 这个过程称为中断 中断系 统就是能实现中断功能的部件 中断源就是能产生中断的请求源 中断请求就 是中断源向 CPU 发出的处理请求 中断响应就是 CPU 中断了自身的事件处理 转向去处理请求事件的过程 中断服务就是对请求事件的整个的处理过程 中 断返回就是在请求事件处理完成后 再返回到原来中断的地方 8 图 2 5 中断流程 2 3 2 中断系统结构以及中断控制 图 2 6 中断系统结构 中断对于单片机而言是一项不可或缺的功能 特别是对于事件处理方面 能极大的提高单片机的的工作效率 中断技术可以实现分时操作 实时处理 故障处理等功能 1 89C51 中断源 中断源一般有 I O 设备 硬件故障 实时时钟 为调试程序而设置的 中断源 8 89C51 中断系统的 5 个中断源为 1 INT0 外部中断 0 请求 在输入低电平时才有效 可以通过 P3 2 引脚引入 2 INT1 外部中断 1 请求 在输入低电平时才有效 可以通过 P3 3 引脚引入 3 T0 定时器计数器 0 溢出中断请求 4 T1 定时器计数器 1 溢出中断请求 5 TXD RXD 串行口中断请求 当该串行端口 完成了发送数据或接受 就会要求中断 每个中断源都与一个中断请求标志位相对应 当中断源发出中 9 断请求后 与之一一对应的标志位的锁存是通过 TCON 和 SCON 来实现的 2 中断控制 89C51 中断系统中有 4 个功能比较特殊的寄存器 TCON 定时器控制寄存器 SCON 串行口寄存器 IE 中断允许寄存器 IP 中断优先级寄存器 8 2 1 两个特殊寄存器 TCON 和 SCON 的中断标志位 1 TCON 中的中断标志位 8FH 8EH 8DH 8CH 8BH 8AH 89H 88H 1 TF1 定时器计数器 T1 溢出中断请求标志 当单片机开始工作后 T1 开始计数 从初值开始加 1 一直到最高位产生溢出 TF1 置一 且向 CPU 发 出中断 响应以后 自动将 TF1 置 0 2 TF0 定时器计数器 T0 溢出中断请求标志 作用与 TF1 相同 3 IE1 中断请求标志位 外部中断 1 当外部中断引脚上有中断请求 时 IE1 为 1 当 CPU 响应了中断请求后 IE1 为 0 4 IT1 中断触发控制位 外部中断 1 当 IT1 为 0 时 外部中断为电 平触发 若外部输入为低电平 IE1 为 1 若外部输入为高电平 IE1 为 0 当 IT1 为 1 时 外部中断为边沿触发 若在两个机器周期内电平以高低的方式呈 现 IE1 为 0 当 CPU 响应了该中断 IE1 为 0 5 IE0 外部中断 0 的中断标志位 作用与 IE1 相同 6 IT0 外部中断 0 的中断触发方式控制位 作用与 IT1 相同 2 SCON 中的中断标志位 99H 98H 1 TI 串行口发送中断请求标志位 CPU 使得一个数据写入发送缓 冲器 SBUF 时 就启动发送 在每发送完一阵串行数据后 硬件置位 TI 但在 CPU 响应中断时 不清除 TI 必须在中断服务程序中由软件使得 TI 清 0 2 RI 串行口接受中断请求标志位 当串行口允许接受时 每接受 IT0TF1TF0IT1IE1IE0 RITI 10 完一个串行帧 硬件置位 RI 在 CPU 响应中断时不清除 RI 必须实用软件 对其清 0 在中断服务程序中有软件使得 TI 清 0 2 2 中断允许控制位 AFH AEH ADH ACH ABH AAH A9H A8H 1 EA 中断允许总控制位 EA 0 时 屏蔽所有中断请求 EA 1 时 CPU 开放中断 对个中断源的中断请求是否被允许 还需取决于个中断 源的中断允许控制位的状态 2 ES 串行口中断允许位 当 ES 0 时 禁止串行口中断 当 ES 1 时 允许串行口中断 3 ET1 定时器 计数器 T1 的溢出中断允许位 当 ET1 0 时 禁止 T1 中断 当 ET1 1 时 允许 T1 中断 4 EX1 外部中断 1 中断允许位 当 EX1 0 时 禁止外部中断 1 中断 当 EX1 1 时 允许外部中断 1 中断 5 ET0 定时器 计数器 T0 的溢出中断允许位 当 ET0 0 时 禁止 T0 中断 当 ET0 1 时 允许 T0 中断 6 EX0 外部中断 0 中断允许位 当 EX0 0 时 禁止外部中断 0 中断 当 EX0 1 时 允许外部中断 0 中断 2 3 中断优先级控制 89C51 有两个中断优先级 每一个中断请求源都可以编程为高优先级 中断或低优先级中断 在中断系统中有两个不可寻址的 优先级生效 触 发器 其中一个指出 CPU 是否正在执行高优先级的中断服务程序 另一个 指出 CPU 是否正在执行低优先级中断服务程序 当这两个触发器为 1 时 则分别屏蔽所有的中断请求 89C51 内有一个中断优先级寄存器 IP IP 中 的低 5 位为个中断源优先级的控制位 可以使用软件来设定 各位的含义 如下所示 BCH BBH BAH B9H B8H 1 PS 串行口中断优先级控制位 EX0EAESEX1ET1ET0 PX0PSPX1PT1PT0 11 2 PT1 定时器 计数器 T1 中断优先级控制位 3 PX1 外部中断 1 中断优先级控制位 4 PT0 定时器 计数器 T0 中断优先级控制位 5 PX0 外部中断 0 中断优先级控制位 2 3 3 中断响应及中断处理过程 1 中断响应 1 中断响应条件 CPU 响应中断条件有 1 有中断源发出中断请求 2 中断总允许位 EA 为 1 3 申请中断的中断源的中断允许为 1 4 无同级或更高级中断正在被响应 5 当前的指令周期已经结束 2 中断响应的自主操作过程 89C51 单片机 CPU 在每一个机器周期才分别采样每一个中断源 按照优先 级顺序查询中断标志位 若一些中断的中断允许位都在在允许状态 即为 1 在接下来的某时间段内按其优先级进行中断处理 这就表现为 CPU 的自主操作 3 中断响应时间 CPU 地不同情况下的中断请求的响应时间是不一样的 甚至也不是响应所 有情况下的中断请求的 同时在中断请求处理过程中若是受到了阻碍 中断请 求的时间也是会有所延长的 2 中断处理 中断处理就是从中断服务程序的第一条指令开始到返回指令结束 其中包 括 保护现场 中断源服务 中断服务子程序流程为 关闭之后中断请求 保 护现场 开启现在响应的中断 开始中断服务 关闭处理好的中断 恢复现场 开启中断请求允许位 中断返回 10 3 中断返回 当一个中断源发出中断请求 CPU 对该请求响应与否能自主决定 若响应 12 就需要在某条指令完成后 需要把中断地址放入堆栈中保护起来 即为中断保 护 当中断处理完以后 再将之前仿佛堆栈中的指令的后面的指令地址返回 PC 中 这被称之为恢复断点 程序返回到之前中止的地方 继续原来的工作 中 断返回也表现为 CPU 的自主操作 2 4 光线报警电路 该电路是由光敏电阻控制电路和声光报警电路组成 主要的作用是 在满 足了光敏脉冲控制条件时 由声光报警电路发出提示音 告知使用者周围的光 线不足 需要更好的光照条件 保护使用者的视力 2 4 1 光敏电阻控制电路 当光照条件良好时 光敏电阻较小时 三极管 B 级电压较低 处于截止状 态 经过模数转换器转换成数字信号 通过反相器传送给单片机 传送信号 为低电平 则输出的信号也为低电平 若光照条件不好时 光敏电阻较大 三 极光 B 级电压很高 处于导通状态 输出为低电平 经反相器则为 1 图 2 7 光敏控制电路原理图 NO T 4 5 312 2 A LM 339 5 V R1 5 1 K 光光光光 R5 5 1 K R 12K 181 5 5 V R 5 1 K 光光光光 R 5 1 K R6 12K 181 5 Ur 4v VC C 2 4 2 光线发声报警电路 图 2 9 显示了一个声光报警电路 IC2 采用的 KD 56028 的语言 其为 COMS 大规模集成电路 储存有 注意近视 调亮灯光 的语言信号 经过高电 平信号这个平台 立即广播发声 放大器放大 扬声器发音 以此同时 灯光 闪烁 13 图 2 8 光线报警发声电路原理图 VD 1 DIO DE VT1 NPN SB LED1 LED VT2 PN P B SPEAKER VS S OS C R4 KD 56028 VD 3 VD 2 300K GB 6V 2 5 定时报警电路 当在定时器 计数器定时器模式下 计数器在 12 分频信号振荡器于 1 的信 号里产生的 即每个机器周期 加 1 计数 直到计满溢出 每个单片机的计数 时间是与该单片机的计数系统振荡频率有关 众所周知 一个机器周期等于十 二个振荡周期 即 fcount 1 12osc 也即 如果晶振为 12MHZ 则技术周期为 T 1 12x106 HZx1 12 1us 此为最短的定时周期 若想在实际的设计应用中延长时间 则需改变定时 器的初始值 也需根据设计的需要选择定时器的长度 2 5 1 单片机控制电路 单片机的控制电路是由单片机的 P3 4 口和 P3 5 口 也即是定时器 计 数器通过汇编语言平台来加以实现的 在本次的视力保护器的设计中需要 定时时间为 45 分钟 有公式可以计算初值 得之如下 45min 60 2700s 27000 100ms 由上可知计数初值需要分两次可获得 100ms 设置为定时 T0 27000 设置 为计数 T1 其中定时的工作方式需为方式 1 计数的工作方式需为 11 14 T0 的定时初值为 216 100ms 2us 15536 C3B0H T1 的计数初值为 65536 27000 38536 96A3H 2 5 2 定时器报警发声电路 如图 2 9 所示 振荡脉冲的方波脉冲产生了单片机的定时功能 同时在该 脉冲开启的高水平下也能 IC2 提供工作所需的电压 IC2 采用语言电路且内存 有 时间已到 注意休息 的语音信号 一旦电平触发 通过扬声器播出语音 信号 同时 灯光闪烁 图 2 9 定时器报警发声原理图 R2 R3 1K VT5 9012 VT6 VS S TG1 VDDOS C O PHF C5219 GB 4 5V 1M LED SB VT3 9013 B 15 第三章 开发系统软件设计 对于使用单片机系统而言 系统程序的主要任务是通过有限的硬件资源 供应管理系统内合理分布设计 设计出最直接 最有效的程序设计语言 实现 了微控制器外围设备的控制 从而通过这些外围的设备实现设计者最初的设计 目的 系统的软件设计通常是对于系统的可靠性和效率性在较大的部分在系统 设计任务量极显著影响 3 1 Keil C51 软件简介 Keil C51 软件内置了非常丰富的库函数 而且还允许使用者自定义函数 同时能够调用的开发调试工具也是非常实用和强大的 而且所有的界面都是以 windows 方式呈现 还有很重要的一点是 只要看看编译器生成的汇编代码 你可以知道用 Keil C51 生成的目标代码效率非常高 大部分生成的汇编代码的 陈述是很紧凑 很容易理解 在开发大型软件系统更能反映其高级语言的优点 Keil C51 工具包的整体结构主要包括 uVision 和 Ishell 它们分别是 C51 for Windows 与 for Dos 的集成开发环境 IDE 要完成编辑 编译 调试 仿真 连接整个开发过程 开发人员可以使用简易浏览装置或其他编辑 器编辑 C 或汇编源文件 然后由 C51 和 C51 的编辑器编译的目标文件 OBJ 目标文件不仅可以生成库文件 也可以生成绝对目标文件 ABS 但需 要通过 LIB51 和 L51 创建 同时绝对目标文件可以生成 Hex 需文件在 OH51 创建 下 达到调试器进行源代码级调试的目的 同时也能通过仿真器使得目标板调 试 3 2 程序的模块化划分 程序的模块化的中心理念就是化整为零 这种思想在程序设计中是十分常 用的 也即是将一个能实现完整功能的程序 划分成若干个较小的程序 这些 程序只能完成整个功能中的某一小部分的功能 但他们完整的组织起来就可以 实现整个的程序功能 同时这些较小模块的程序自身也能进行设计 编译 调 试 它们互不影响干扰对方 这样的做法优点很多 例如 能完成这个程序设 计的优化 程序的可读性大大提高 同时也因为每个较小的程序模块的功能是 16 独立的 这样十分便利于整个程序模块功能的扩充和升级 也能使得对于经常 需要调用子程序的实际设计能够得到极大程度上的简化 图 3 1 系统软件设计总流程图 在本章节的系统硬件的设计中 根据最初设计视力保护器的最初目的 保护使用者的视力 以程序模块的设计思想 达到系统的实用性和可靠性的同 时 也能极大改善简化本设计的设计步骤 减少设计的难度 本章节的软件设 计的目的就是令单片机能够加载附录中的程序 使之运行 达到测距 定时 光检的三个能够保护视力的基础手段 在整体设计中 当系统开始工作 首先初始化 然后再确定照度 如果周 围环境光强度太弱 报警发声电路发出的提示音 如果对光照进行判定以达到 国家标准给定值 则需要开始对定时部分开始计数 如定时时间到了最初给定 的时间 45 分钟 报警发声电路发出提示音 若定时时间没有达到最初设定值 就直接进行距离的测定 若果测得的使用者眼睛距离书桌小于 25cm 则报警发 声电路发出提示音 反之 如果测得使用者眼睛距离书桌大于 25cm 则返回对 光照值的判定 有上述可知 感光 定时 测距这三个部分的检测是没有固定 17 的顺序的 需要重复进行的 3 3 程序模块 整个控制程序可以分为测光照 测距以及定时三个子模块 光照检测模块程序在可以在主程序中完成 因此在此主要阐述测距模 块和定时模块 因为在定时这个模块中 需要用到中断这个概念 故而需 要对中断流程有一定的了解 3 3 1 超声波测距模块 在测距模块的功能开始启动后 在这里需要一个位置标志位 故而选择了 定时计数达到 1s 的位置 在达到这个位置的时间时 开始发射超声波 同时也 要开启定时器 T1 和外部中断 0 如果时间没有到 1s 就返回继续计数 定时 如果外部中断被触发 表示发出的超声波返回了 定时器 T1 停止 计算所测距离 反之 若没有外部中断触发 则需返回 继续发射超声波 在 计算所测距离时 若距离小于 25cm 报警发声电路发出提示音 反之 距离若 大于 25cm 返回主程序 进行下一个功能 超声波测距模块流程图如下图所示 18 图 3 2 测距模块流程图 3 3 2 定时模块 定时子模块可提供定时功能 在单片机控制系统中实现定时 通常 有以下几种方法可供选择 1 软件定时 软件定时也就是累加单片机中的软件运行指令所需要耗费 的时间 从而达到所需的定时效果 这种方法一般是运用循环程序嵌套来实现 的 也可以是循环一个程序 该办法优缺点并存 优点主要有定时时间较精确 也不需要附加新的一个电路 缺点是需要占用 CPU 内存 故而在定时时间长度 较长的情况下不能采用 2 硬件定时 硬件定时主要是附加一个硬件电路来完成所需的定时 该 方法不占用 CPU 运行时间 故而可以用来完成较长时间的定时 但是需要调节 电路元件参数 在实际的运用中不够灵活 3 可编程定时器定时 通过单片机内部时钟脉冲的计数是该方法的主要 手段 本定时方法可以修改计数值从而改变定时时间 使用方便灵活 19 本设计主要是通过定时器 T0 工作方式为方式 1 来实现视力保护器 的定时模块的 先设置两个变量 秒变量 S 分钟变量 M 单片机的初始定时时 间为 45 分钟 使用定时器 T0 定时 3ms 然后通过变量递增 20 次后中断为 1s 然后秒变量 S 递增 递增 60 次后 分钟变量递增 直至递增 45 次 然后 设置标志位 报警发声电路发出提示音 提示学习时间已达 45 分钟 可以休息 了 使用者关闭电源 休息片刻 若再次使用视力保护器时 就开启电源 T0 流程图如图 3 3 所示 20 图 3 3 定时模块流程图 3 3 3 外部中断模块定时模块 当中断开启后 检测的超声波的个数加 1 如果超声波的个数到 2 则 允许定时器 1 中断 同时开启定时器 1 并且允许中断 0 此时回波的标志 位置 1 超声波的个数赋值为 0 然后返回主程序 若超声波的个数不到 2 则直接返回主程序以进行其他功能的检测 中断流程图如图 3 4 所示 21 图 3 4 外部中断模块流程图 22 第四章 结论与展望 本人此次的毕业设计完成了一个以 C51 为核心同时包括了光敏电阻 传感 器等的多功能视力保护器的硬件设计 同时以 Keil C51 为软件设计的平台 完 成了其软件设计 再经过多次的使用实际检测后 发现能基本满足设计目标 使用者也能完成事先设定的基本功能 在本次的系统实际开发过程中遇到了许多的困难 不过在刘言林老师的知 道下一一的解决了 在此次的毕设中 获益良多 学习到了许多的知识 了解 了传感器的基本运用 当然由于本人的知识水平有限 不能很好的了解传感器和单片机进一步的 知识 同时加上需要实习 时间有限 所以在本次的设计中存在也不完善的地 方 1 在使用传感器测距时 因周围环境的干扰和使用的方法不是十分的 准确 故而不能精确测得使用者头部距离书桌的距离 2 定时功能不完善 只要一通电就自动的开始计时 3 在检测周遭环境强度时 也存在着干扰 不能很好的对周围的环境 的光线强度进行精确的检测 通过本次的设计可以看出 只要进行一些完善 视力保护器的应用前景是 非常广泛的 它可以很好的预防和缓解使用者的视力问题 同时也利于预防使 用者坐姿不正确的学习习惯 减少驼背的人数 但由于现在视力保护器的研发 投入少 市场宣传少 并未大量进入市场 所以有着很好的市场前景 加大对 视力保护器的研究和开发 是十分有必要的 不管是从解决视力问题 造福人 类方面 还是在市场需求的调研方面都是如此 23 参考文献 1 于永 戴佳 常江 51 单片机 C 语言常用模块与综合系统设计 电子工业出版社 2007 2 苏凯 刘国庆 陈国平 MCS 51 系列单片机系统原理与设计 冶金工业出版社 2003 3 刘卫国 C 语言程序设计 M 中国铁道出版社 2008 4 王煜东 传感器应用电路 400 例 M 中国电力出版社 2008 5 杨素行 模拟电子技术基础简明教程 第三版 M 高等教育出版社 2008 6 余孟尝 数字电子技术基础简明教程 第三版 M 高等教育出版社 2008 7 张淑清 姜万录 单片微型计算机接口技术及应用 北京 国防工业出版社 2001 8 张振荣 晋明武 王毅平 单片机原理及实用技术 北京 人民邮电出版社 2001 9 王幸之 王雷等 单片机应用系统抗干扰技术 北京 北京航空航天大学出版社 2000 10 孙涵芳 徐爱卿 MCS 51 96 系统单片机原理及应用 北京 北京航空航天大学 出版社 1988 11 Philips Semiconductors THE I2C BUS SPCIFICATION VERSION 2 1 JANU ARY 2000 12 Martin Abreu J M Ceres R And Freire T Ultrasonic Ranging Envelope Analysis GivesImproved Accuracy Sensor Review Vol 12 No 1 1992 13 Martin Abreu J M Ceres R and Freire T Ultrasonic Ranging Envelope Analysis Gives Improved Accuracy Sensor Review Vol 12No 1 1992 24 附录 附录 A 原理图 25 附录 B 程序 P1 0 LED1 输出 光照太弱报警 P1 1 LED1 输出 时间到闪烁灯及声音 P1 2 P1 7 其它 LED 不可使用 P0 7 输出 距离太近声音报警 P3 0 使能超声波发射 P3 2 输入 中断方式取得返回来的距离 P3 1 P3 7 4X4 矩阵键盘 P2 0 光照输入 查询 使用了 1 个中断 两个定时器 定时器 T0 计算时间 中断 0 返回来的超声波 include include 调用库函数 define uchar unsigned char define uint unsigned int define SOUNDSPEED 340 define DISBOUND 8 设置更改的距离 函数声明 void delayms uint ms 延时子程序 void Init void 初始化 void SendSound uchar nums 发射超声波 接口位定义 sbit ASoundTime P0 7 时间到声音报警部分 sbit ATime P1 1 时间到 LED 报警部分 sbit ALight P1 0 光照弱 LED 报警部分 sbit ADistance P1 2 距离 LED 报警部分 26 sbit GetLight P2 0 光照输入 sbit GetDis P3 2 测距中断
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年精神科心理评估与干预技术考核答案及解析
- 实践对新质生产力的重要性
- 2025年放射肿瘤科学科放射肿瘤治疗计划考核答案及解析
- 2025年内分泌代谢疾病诊断与治疗方案考核测试卷答案及解析
- 2025年肾脏疾病患者营养支持方案设计考试卷答案及解析
- 2025年口腔颌面外科手术规范操作实践答案及解析
- 2025年全科医生对高血压病患者的常规检查简述答案及解析
- 2025年职业病防治学职业健康检测实操考核答案及解析
- 县域新质生产力:发展路径与研究课题
- 工会推动新质生产力实践
- 2025年监理工程师继续教育试卷及答案
- 2020-2025年注册土木工程师(水利水电)之专业基础知识通关考试题库带答案解析
- 2025年物流师(初级)物流企业物流信息化信息安全认证员培训鉴定试卷
- 2.1人的社会化 教案 2025-2026学年统编版道德与法治八年级上册
- 2025入团考试题库(完整版)附答案详解
- 2025年北京市中考物理真题(含答案)
- 外科手术抗生素使用原则
- 2025年环卫清扫职称考试题及答案
- 《酒店营销与数字化实务》课件5模块五课件
- 2025年秋期新课标人教版六年级上册数学全册教案(核心素养教案)
- 《“忆峥嵘岁月传红色抗战精神”党课教育主题活动》课件
评论
0/150
提交评论