智能化仪器课程设计报告_第1页
智能化仪器课程设计报告_第2页
智能化仪器课程设计报告_第3页
智能化仪器课程设计报告_第4页
智能化仪器课程设计报告_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

智能化仪器课程设计总结报告 测控 071 方晶晶 1 课程设计的目的和任务 本次课程设计是以 AT89C51 单片机为核心 设计一个具有实时时钟 功能和直流电压测量功能的智能化测量仪器 要求具有实时时钟显示和校 时功能 电压测量显示功能等 可作为通用的二次仪表使用 根据电压与 被测物理量的关系显示被测物理量 应用于多种测量场合 通过课程设计 进一步熟悉并掌握单片机的编程 对智能化仪器的设计思路和步骤等有一 定的了解 并为将来的毕业设计打下扎实的基础 硬件部分主要包括 DS12887 实时时钟电路 AD 转换器 ICL7135 8 只共阴 LED 数码管及相应的显示控制和驱动电路 键盘电路等 要求掌 握电路的原理和各部分功能的实现过程 重点是与单片机的连接上 软件部分要求编写相关汇编程序 实现对 ICL7135 的控制和读数 经运算后得到测量电压值 编程并控制 DS12887 芯片 获得日期和时间 值 利用按键可实现日期和时间初值的设置 以及时间 日期和测量值的 显示切换功能 根据输入电压与被测物理量的关系显示被测物理量 并完 成软硬件的联机调试 开始 确定任务 功能 软硬件功能划分 硬件逻辑框图设计软件结构设计 程序流程设计电路设计 编写程序硬件制作 程序编译 功能调试硬件静态调试 软硬件联合调试 完成 图 1 系统设计结构图 2 系统设计的基本原理结构 整个系统以 AT89C51 单片机为核心 实现一个能显示和设置时间日 期值 测量电压值的小型系统 整个系统的设计结构如图 1 所示 3 硬件电路设计及组成 该系统的硬件电路主要包含了 89C51 单片机 ICL7135 四位半 A D 转换器 DS12887 实时时钟芯片 8 个共阴 LED 数码管显示器和按键等 其硬件组成框图如图 2 89C51 单片机 LED数码管显示器 DS12887 时钟芯片 ICL7135 ADC 键盘 Vx Vx 图 2 硬件组成框图 在目前的大多数智能仪器设计中 往往需要记录测量的日期和时间信 息 以及自动完成设定时间的自动测量和控制等 这就要求在仪器中带有 实时时钟 由于利用单片机直接编程实现实时时钟 编程复杂而且还要考 虑后备电源供电等问题 因此 选用自带后备电池的实时时钟芯片 应用 它 可以自动实现时间和日期的处理 单片机只要利用 DS12887 的秒更 新 每秒读一次时钟数据即可 为了实现电压测量功能 选用了 A D 转换器 ICL7135 该芯片集成了一 个四位半的双斜积分式 A D 转换器 精度高 抗干扰能力强 能满足一 般测量的精度要求 器件在双极性输入的情况下 测量速度可达 3 次 S 以上 在单极性输入的情况下 测量速度可达 25 次 S 左右 适用于一般 的直流信号和慢速变化信号的测量 根据 ICL7135 的积分特性及其与 BUSY 信号之间的时序关系 利用 89C51 单片机的计数器 通过对 BUSY 信号高电平期间的时钟脉冲进行计数的方法实现电压测量 以简化电路连 接 时序关系图如图 3 积分器输出 自动校零 10001计数值 信号积分 10000计数值 反向积分 最大计数值20001 满度测量计数值40002 BUSY信号 图 3 ICL7135 积分输出与 BUSY 信号的关系图 设计中应用了 8 个 LED 共阴数码管作为输出结果的显示 利用 2 个 扩展 I O 口 控制段码和位码输出 实现动态扫描显示 设置了 4 个按键 用于时间显示 日期显示和测量值显示的切换 时间和日期的设置等 4 软件设计 4 1 软件的总体设计思路方法和流程图 主程序 初始化DS12887 定时器T0 T1 按键标示符初始化设置 中断初始化 允许INT0 INT1和T0溢出中断 有键按下吗 按键功能处理 N Y 图 4 程序的总体流程图 该仪器的主要功能是实现电压测量和时间日期的显示 结合硬件电路 设计 软件实现的主要任务是 控制 A D 转换器 ICL7135 并读取转换结 果 经运算处理后 显示电压值 设置和读取实时时钟芯片 DS12887 中 的时间和日期信息并输出显示等 系统软件主要由 1 个主程序和 3 个中断服务子程序及若干辅助功能子 程序组成 程序的总体流程图如图 4 主程序完成对 DS12887 芯片的初始设置 定时器 T0 T1 的初始化 中断系统的初始化设置等功能 4 2 各主要功能模块的设计方法和流程图 1 时钟芯片 DS12887 的设计 由于时钟芯片 DS12887 的中断请求信号与 89C51 的 INT0 相连 在 主程序中对 DS12887 进行初始化设置 写入初始状态的时间和日期值 再设置秒更新中断允许 CPU 每秒响应一次中断 读取当前的时钟和日 期信息 经拆字处理后放入缓存地址中 再根据切换状态要求显示的内容 在显示中断中可直接调用相关的处理函数输出时间或日期显示 时钟流程 图如图 5 所示 INT0中断 压栈保护 读DS12887的日期和时间值到30H 36H 读寄存器C D 出栈恢复 RETI 图 5 时钟流程图 2 ICL7135 的设计 将 ICL7135 的 BUSY 信号口与 89C51 的 INT1 相连 根据 ICL7135 的积分特性及其与 BUSY 信号之间的时序关系 利用 89C51 单片机的计 数器 T1 计数 记录 BUSY 信号高电平期间 ICL7135 的时钟脉冲个数 N 将 N 减去 10000 后即可获得测量电压值 由于获得的电压值是十六进制 形式的 在这过程中必须转化成十进制 所以调用一个十六进制转十进制 的函数 将得到的值转换成五位的十进制 在万位加小数点后经拆字处理 后放入缓存地址等待显示 最后得到的结果是 1 9999 到 1 9999 的电压值 A D 流程图如图 6 所示 INT1中断 压栈保护 读T1计数值并减10000 十六进制转十进制 出栈恢复 RETI 图 6 A D 流程图 3 显示的设计 8 个 LED 数码管显示器采用动态扫描显示方式 段码和位码分别由 一个扩展的输出口控制 其中段码口地址为 0BFFFH 位码口地址为 0DFFFH 由于在显示中要切换显示的内容 在程序中采用定时器 T0 进 行定时中断 每隔一段时间中断一次更新显示的内容 在中断的最开始判 断显示的内容 再根据要求调用不同的显示内容 读取缓存地址用于显示 另外在显示程序中加了一个闪烁位的判断 在键盘设置中需要在设置的位 上进行闪烁方便于观看 原理是针对要求闪烁的位置减少动态显示的次数 以区别于其它位 显示流程图如图 7 所示 T0溢出中断 压栈保护 根据当前显示状态调用相应数据处理函数 动态扫描显示刷新 出栈恢复 RETI 图 7 显示流程图 4 按键的设计 4 个按键直接连到 P1 口的低 4 位 功能如下 S1 显示切换键 用于切换当前显示的内容为测量值或日期或时 间 S2 设置键 用于进入 退出日期设置 时间设置或仪表常数等的 设置状态 S3 右移键 用于右移选择当前设置数据的位置 S4 加 1 键 用于当前设置内容加 1 在具体的设计中 先判断是否有键按下 延时去抖动 再进行一次判 断 如果确实有键按下 判断键是否弹起 在键弹起之后执行相应的键功 能 切换键是所有中最简单的一个键 建立一个显示标志符就行 根据标 志符判断要显示的内容 设置键按下之后停止时钟芯片工作 进入设置状 态 使当前显示内容的第一个低位闪烁 右移键使闪烁位右移三位 使当 前显示内容的第二个低位闪烁 加 1 键是最烦琐的键 首先要判断当前显 示内容为时间还是日期 再判断闪烁位的位置 读取闪烁位进行相应内容 加 1 处理 将加 1 后的内容重新保存到时间日期的显示缓存区 特别注意 的是日的设置中大小月的处理 在加 1 的过程中 大月可以加到 31 日 而小月只是 30 日 所以在这过程中 对日的加 1 处理我对十二个月分开 进行判断处理 对于闰年 我这里就没再考虑 5 个人总结 通过两个多星期的学习 并学到了很多实际操作的知识 提高了动手 能力 并在老师的帮助下顺利完成了整个课程设计的任务 在功能模块中 我实现了时间日期值的显示和设置 电压量的测量 并能切换三者的显示 基本上达到了课程的要求 此次设计性实验 将汇编及单片机等已学课程进行一次在学习的良好 机会 通过这次再学习 无疑进一步提高了自己的专业技能 为今后踏足 社会 在该领域上发挥自己的特长 以及就业打下了坚实的基础 在上个学期单片机课程的基础

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论