




已阅读5页,还剩36页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
密密 级级 公开公开 学学 号号 100728 毕毕 业业 设设 计 论计 论 文 文 基于单片机的简易示波器的设计基于单片机的简易示波器的设计 院院 系 部系 部 信息工程学院信息工程学院 姓姓 名 名 张卓张卓 年年 级 级 自自 1010 3 3 级级 专专 业 业 自动化自动化 指 导 教 师 指 导 教 师 唐建唐建 教 师 职 称 教 师 职 称 讲师讲师 2014 年 06 月 20 日 北京 基于单片机的简易示波器的设计 北京石油化工学院 学位论文电子版授权使用协议 论文 基于单片机的简易示波器的设计 系本人在北京石油化工学院学习期 间创作完成的作品 并已通过论文答辩 本人系作品的唯一作者 即著作权人 现本人同意将本作品收录于 北京石 油化工学院学位论文全文数据库 本人承诺 已提交的学位论文电子版与印刷 版论文的内容一致 如因不同而引起学术声誉上的损失由本人自负 本人完全同意本作品在校园网上提供论文目录检索 文摘浏览以及全文部分 浏览服务 公开级学位论文全文电子版允许读者在校园网上浏览并下载全文 注 本协议书对于 非公开学位论文 在保密期限过后同样适用 院系名称 信息工程学院 作者签名 学 号 100728 2014 年 06 月20日 基于单片机的简易示波器的设计 北 京 石 油 化 工 学 院 毕 业 设 计 论 文 任 务 书 学院 系 部 信息工程学院 专业 自 动 化 班级 自 103 学生姓名 张卓 指导教师 职称 唐建 讲师 1 毕业设计 论文 题目 基于单片机的简易示波器的设计 2 任务起止日期 2013 年 12 月 16 日 至 2014 年 06 月 20 日 3 毕业设计 论文 的主要内容与要求 含原始数据及应提交的成果 具体工作任务与要求 具体工作任务与要求 翻译外文资料 不少于 25000 字符 技术调研 确定数字示波器硬件总体方案 确定数字示波器软件总体方案 绘制数字示波器电路图并制作电路板烧制软件做出成品 对数字示波器进行调试和校验 预期培养目标 预期培养目标 具备文献查阅与综合能力 具备外文阅读与翻译能力 具备数据收集 分析 计算和处理能力 具备项目调研 设计及调试能力 具备现场解决问题的能力 具备一定的科技论文写作能力 最终提交材料 最终提交材料 外文资料原文 不少于 25000 字符 及翻译稿 设计说明书 单片机及外围电路的硬件配置图 基于单片机的简易示波器的设计 基于单片机的数字示波器软件流程图 成品及校验结果 4 主要参考文献 1 晁阳 单片机 MCS 51 原理及应用开发教程 M 北京 清华大学出版社 2007 2 王文理 武晋 刘志强 基于AT89S52单片机与AD0804的数字示波器设计 J 微计算机信息 2009 25 2 114 115 3 李萍 AT89S51 单片机原理开发与应用实例 M 北京 中国电力出版社 2008 5 进度计划及指导安排 前 4 周的内容安排在第 7 学期 周次周次 日期日期 工作内容工作内容 具体要求具体要求 1 2013 12 16 2013 12 20 熟悉题目 查阅文献资料 2 2013 12 23 2013 12 27 熟悉题目 查阅文献资料 3 2013 12 30 2014 01 04 翻译本专业原文资料 4 2014 01 06 2014 01 10 翻译本专业原文资料 交译文 5 2014 01 13 2013 01 18 编写开题报告 6 2014 02 17 2014 02 22 编写开题报告 7 2014 02 25 2014 02 28 编写开题报告 交开题报告 8 岗位实习 2014 03 03 2014 04 25 穿插毕业设计 确定硬件方案 9 画硬件原理图 10 画电路板 11 2014 04 28 2014 05 02 软件编程 12 2014 05 05 2014 05 09 调试软件 基于单片机的简易示波器的设计 13 2014 05 12 2014 05 16 调试硬件 14 2014 05 19 2014 05 23 整理软件资料编写论文 15 2014 05 26 2014 05 30 整理软件资料编写论文 16 2014 06 02 2014 06 06 毕业答辩 交论文 任务书审定日期 年 月 日 系 教研室 主任 签字 任务书批准日期 年 月 日 教学院 系 部 院长 签字 任务书下达日期 2013 年 12 月 16 日 指导教师 签字 计划完成任务日期 2014 年 06 月 20 日 学生 签字 基于单片机的简易示波器的设计 I 摘摘 要要 示波器是现代测试中必不可少的电子仪器 随着现代电子技术和通信技术的飞 速进步 示波器的实现方式正在经历着深刻的变革 传统的模拟示波器由于结构和 功能上存在的缺点 正在被功能强大 使用方便的数字示波器所取代 本文完成了一种双通道简易数字示波器的设计 输入信号在经过预处理电路后 通过单片机内自带 10 位高速 A D 转换器实现信号的实时采样 以 STC12C5A60S2 单片机作为控制核心 对数据处理 让波形在液晶屏上显示 并且能够使用键盘对 波形进行调整 测试结果表明 该系统稳定可靠 具有测量频率高 波形清晰 可 靠性高 成本低等特点 有很高的实用价值 关键字 关键字 数字示波器 STC12C5A60S 预处理电路 AD 实时采样 基于单片机的简易示波器的设计 II Abstract The oscilloscope is an indispensible testing instrument With rapid development in modern electronic and communication technology its actualization technology is also experiencing a profound revolution Due to its structural and functional defects the conventional analog oscilloscope is now being replaced by the convenient digital storage oscilloscope A design proposal of simple one channel digital oscilloscope is completed in this article The input signal process the preprocessing circuit and the real time signal sampling is realized the high speed A D converter Taking the STC12C5A60S2 single chip microcomputer as the control data process and display on the LCD and functions are set by keyboard Test results show that the design of the system is stable has high frequency measurement clear waveform high reliability low cost and high practical value Keywords digital oscilloscope Single Chip Microcomputer preprocessing circuit AD real time sampling 基于单片机的简易示波器的设计 III 目目 录录 第一章 绪论 1 第二章 设计原理及方案 3 2 1 设计原理 3 2 2 设计方案 4 2 2 1 信号缩放方案 4 2 2 2 波形振幅控制方案 5 2 2 3 频率与触发方案 6 2 2 4 下载和电源方案 7 2 3 本章小结 7 第三章 硬件设计 8 3 1 单片机介绍 8 3 2 预处理电路 10 3 2 1 放大部分 11 3 2 2 触发部分 11 3 3 键盘电路 12 3 4 显示电路 12 3 5 程序下载电路 13 3 6 整体电路板 14 3 7 本章小结 15 第四章 软件部分 16 4 1 主程序 16 4 2 显示程序 16 4 2 1 液晶驱动程序 17 4 2 2 波形绘制程序 17 4 3 键盘程序 22 4 4 本章小结 25 第五章 调试 26 5 1 软件调试 26 5 2 硬件调试 27 基于单片机的简易示波器的设计 IV 5 3 本章小结 28 第六章 总结与展望 29 6 1 总结 29 6 2 展望 29 参考文献 30 致谢 31 声明 31 基于单片机的简易示波器的设计 1 第一章第一章 绪论绪论 随着电子技术的发展和变化 对电路测量的要求也变得更高 在电子制作中 会发现对很多参数的测量已不是一块万用表所能胜任的了 比如单片机某 I O 1 口的输出波形或制作放大器测其频率响应等等 所以 示波器自然而然地与万用 表一样 变成了电子工程师和爱好者的必备工具 示波器是一种用途十分广泛的电子测量仪器 它能把肉眼看不见的电信号变 换成看得见的图像 便于人们研究各种电现象的变化过程 示波器利用狭窄的 由高速电子组成的电子束 打在涂有荧光物质的屏面上 就可产生细小的光点 在被测信号的作用下 电子束就好像一支笔的笔尖 可以在屏面上描绘出被测信 号的瞬时值的变化曲线 利用示波器能观察各种不同信号幅度随时间变化的波形 曲线 还可以用它测试各种不同的电量 如电压 电流 频率 相位差 调幅度 等等 现代数字存储示波器首先对模拟信号进行高速采样获得相应的数字数据并 存储 用数字信号处理技术对采样得到的数字信号进行相关处理与运算 从而获 得所需的各种信号参数 包括可能需要使用万用表测试的一些元器件电气参数 根据得到的信号参数绘制信号波形 并可对被测信号进行实时的 瞬态的分析 以方便用户了解信号质量 快速准确地进行故障的诊断 2 测量开始时 操作者可通过中文界面选定测量类型 波形测量 元件测量 测量参数 频率 周期 有效值 电阻阻值 二极管通断等 及测量范围 可选 自动设置 由仪器自动设置最佳范围 微处理器自动将测量设置解释到采样电 路 并启动数据采集 采集完成后 由微处理器对采样数据按测量设置进行处理 提取所需要的测量参数 并将结果送显示部件 如果需要 用户可选择自动测试 方式 微处理器在分析首次采样得到的数据后会根据具体情况调整 修改测量设 置 并重新采样 在经过几次这样的 采样 分析 调整 重采样 3 循环后 示 波器即可完成即触即测功能 而无须人工调换量程 便于手持操作 显然 数字 存储示波器与传统的模拟示波器相比具有很多突出的优点 1 可以根据被测信号的特点自动确定和调整测试条件 真正实现自动 离手测试 2 能够较容易地实现对高速 瞬态信号的实时捕获 3 在波形存储与运算方面有着明显的长处 目前主要的模拟示波器的制造厂商正在呈现逐渐减少的趋势 美国从 90 年 基于单片机的简易示波器的设计 2 代中期开始就已经停止了模拟示波器的生产 日本也只剩下 2 3 家 国内尚有 10 家左右 4 目前 模拟示波器主要应用在高校的实验室 生产线 维修和部分 特殊领域的测试 由于模拟示波器具有三维显示中较重要的亮度信息 同时有高达几十万次的 刷新速率 模拟示波器具有时间上的无限分辨力 也就是模拟示波器对输入信号 的测量在时间上是连续的 因此中低档的数字示波器还不能完全取代模拟示波器 目前主要的生产厂家是美国的安捷伦公司 泰克公司和力科公司 台湾的固 维公司 还有国内的北京普源精电公司 4 由于数字示波器包含的技术指标比较 多 很多客户现在还不能在众多的技术指标中找出自己合适的需求 数字示波器一般由信号输入系统 数据存储与管理 数据处理 数据输出及 显示这四个部分组成 输入通道要实现对被测对象的检测 采样和信号转换工作 数据存储与管理要用存储器把采集到的数据存储起来 建立相应的数据库 并进 行管理和调用 5 数据处理就是从采集到的原始数据中 删除有关干扰噪声 无 关信息和必要的信息 提取出反映被测对象特征的重要信息 本设计采用单片机和全点阵液晶显示模块构成简易数字示波器 将模拟信号 转换成数字信号处理 采样的数据点在液晶显示模块上显示出来 本设计作为单 片机数字示波器的简易基础模型 系统结构简单 制作价格便宜 改用性能更高 的单片机芯片和 A D 转换芯片以及更好的显示屏 单片机数字示波器的性能将会 大幅提高 基于单片机的简易示波器的设计 3 第二章第二章 设计原理及方案设计原理及方案 单片机数字示波器涉及的原理主要有信号的采样 采样方式和分辨率 数模 转换的精度控制等 本次设计方案的核心为 STC12C5A60S2 单片机和预处理电 路 单片机负责将采集到数据进行适当处理 预处理电路负责将输入信号调节到 适合采集的范围内 2 2 1 1 设计原理设计原理 示波器的一些关键技术指标有 采样率 分辨率等 带宽 触发类型 采样 率定义了每秒从连续信号中提取并组成离散信号的采样个数 采样率的倒数是采 样周期 它表示采样之间的时间间隔 采样率可分为实时采样率和等效采样率 实时采样率指单次采样所能达到的最大采样率 等效采样率指用多次采样得到的 信号共同完成信号的重建 在数字示波器技术中 常用的采样方法有两种 实时 采样和等效采样 实时采样通常是等时间间隔的 它的最高采样频率是奈奎斯特 极限频率 等效采样是指对多个信号周期连续采样来复现一个信号波形 采样系 统能以扩展的方式复现频率大大超过奈奎斯特极限频率的信号波形 采样就是将时间连续的信号变成时间不连续的离散信号 这个过程是通过模 拟开关来实现的 模拟开关每隔一定的时间间隔 T 称为采样周期 闭合一次 一个连续信号通过这个开关 形成离散信号变量 称为采样信号 理想采样是抽取模拟信号的瞬时函数值 时间是离散的 而信号依然是离散 的 称为离散 对时间 的模拟信号 数字信号是指量化的离散模拟信号 即 V1 不仅在时间上离散的 而且在数值上也是离散的 量化精度取决于最小的量化单 位 称量化当量 它是二进制数码最低有效位所对应的模拟信号数值 例如 100mV 即数字量的最低有效位对应 100mV 时 量化取值通常采用最近的量化 电平 显然当量越小 A D 转换的精度越高 ADC 把模拟量转换为数字 模拟量输入范围可以是 5V 5V 双极性输 入 转换后的数字量一般有 8 10 12 14 16 位 ADC 的分辨率是指它能够 分辨的最小输入信号 一般用位数来表示 8 位 ADC 单极性输入 0 5V 数字 量为 0 255 它能分辨的最小输入信号是 5V 256 20mV 分辨率 256 位 12 位 ADC 双极性输入 5V 5V 数字量为 2048 2047 它能分辨的最小输 入信号是 10V 2096 2mV 分辨率 4096 位 ADC 输出的实际数字量与理想数字量之间有一定误差 这种误差由两部分 构成 基于单片机的简易示波器的设计 4 量化误差 量化误差是把连续的模拟量转换为离散的数字量 它是必然 存在的 不可避免的 例如 8 位 ADC 单极性输入 0 5V 数字量为 0 255 它能分辨的最小输入信号是 5V 256 20mV 如 4 98 5 00V 输入对应的数 字均为 55 这是不可避免的 器件误差 器件误差是由于器件制造精度 温度漂移等造成的 可以通 过提高产品质量来降低 A D 转换精度用数字量的最低有效位用 LSB 来表示 如果模拟量在 2 范围内 都产生相对应的唯一数字量 称为这个 ADC 是无误差的 或者称其精 度为 0LSB 如果模拟量在范围内 都产生相对应的唯一数字量 这个 ADC 的 精度为 1 2LSB 如果模拟量在 3 4 3 4 范围内 都产生相对应的唯 一数字量 这个 ADC 的精度为 1 4LSB 触发常见的类型有上升沿触发和下降沿触发 即通过指定的极性和电压电平 识别波形的触发 设定一个适当的触发电平以后 触发电路开始捕捉触发脉冲 完成数据采集 显示出来的波形是以信号的某个上升沿或某个下降沿为触发参考 点的 作用是保证每次采集的数据 都是从输入信号上的一个精确确定的点作为 参考点来显示 有利于显示波形重复且稳定 如果没有触发电路 在屏幕上看到 的将是杂乱无章的波形 2 2 2 2 设计方案设计方案 信号预处理电路由阻抗变换 程控放大 信号调理电路组成 输入信号先经 阻抗变换电路后进入程控放大电路 根据需要对信号进行放大 衰减 处理 然后信 号再进入信号调理电路进行电平调整成为符合 A D 转换要求的 0 5 V 电压 之 后输出的模拟信号经过高速 A D 转换器实时采样变成数字信号 单片机从存储 器中读出信号进行运算处理 将波形显示在 LCD 液晶屏上 所有功能可由键盘操 作完成 设计采用10位A D转换器 参考电压为5V A D转换分辨率V f 5 1024V 0 005V 此次设计方案核心为单片机 STC12C5A60S 芯片自带 10 位 ADC 负责数据 采集 电路控制 以及数据输出等 外围电路负责信号程放 采样触发 键盘输 入 以及波形显示等 设计原理如图 1 1 所示 2 2 1 信号缩放信号缩放方案方案 输入信号范围一般在 5V 5V 之间 负电压是不能被 ADC 采集的 本方案 采用的方法是 利用加法电路将电压整体提高 5V 使其范围变成 0 10V 然后 基于单片机的简易示波器的设计 5 利用放大电路将电压放大 0 5 倍 这样电压范围就变为可以转换的 0 5V 了 前 面这些处理电路必然带有一定的阻抗等其他电路特性 与后续电路连接是会起到 一定的分压作用 从而导致信号出现失真 为了避免这种情况 在电路后面需添 加一个电压保持器 信号输入 图 2 1 系统方框图 加法电路 放大电路和信电压保持器都需用到运算放大器 本设计在这部分 采用的运算放大器为 TL084 TL084 是四输入运算放大器与高速 J FET 结型场 效应管 的结合良好的匹配 高电压的 J FET 和双极晶体管电路在一个单片回 路范围中 这些器件具有高转换率 低输入偏置和偏置电流 低失调电压温度系 数 2 2 2 波形振幅控制波形振幅控制方案方案 波形振幅为波峰与波谷之差 为了能更清楚的显示波形 本方案设计了 4 级振幅放大方式 分别是 1x 2x 5x 10 x 振幅放大原理为将整理后信号整体 放大 放大方式采用运算放大器结合模拟选择分配器 74HC4052 74HC4052 是双路 4 通道模拟多路选择器 多路分配器 带有公共选择逻辑 每个多路选择器包含 4 个独立输入 输出端 nY0 至 nY3 和 1 个公共输入 输出 STC5A60S2 PWM 发 生 器 预 处 理 电 路 触 发 电 路 键盘 LCD 显示屏 电源 A D 基于单片机的简易示波器的设计 6 端 公用通道选择逻辑包含 2 个数字选择端 S0 和 S1 和 1 个低有效使能端 E E 为低时 4 个开关的其中之一将被 S0 和 S1 选中 低阻态 E 为高时 所有开 关都进入高阻态 直接无视 S0 和 S1 S0 和 S1 接单片机的数据口 P2 3 和 P2 4 单片机这两位数据口发送 00 01 02 03 分别控制 Y0 Y1 Y2 Y3 的闭合 选择相应阻值的电阻与运算放大器 连接从而选择不同的放大倍数 2 2 3 频率频率与触发与触发方案方案 示波器的主要功能之一就是测信号的频率 周期性的信号必然会产生固定频 率的上升沿与下降沿 通过测量信号的上升沿或下降沿的品利率即可测定信号的 固有频率 本设计采用的单片机 STC12C5A60S2 的 44 管脚可通过内部控制寄存 器设置为 PAC 上升 下降沿计数器 结合内部时钟系统即可测出信号的频率 当一个信号引进示波器 这时如果不对信号的显示做出相应的控制 那么显 示则是杂乱无章的 显示器是通过不断刷新屏幕将图像显示出来的 当第一次刷 新屏幕上波形与下一次的不同时 由于刷新速度较快 就会出现波形滚动现象 为了避免这种情况 需要添加触发电路 保证每次时基扫描或采集的时候 都从 输入信号上与定义的相同的触发条件开始 这样每一次扫描或采集的波形就同步 可以每次捕获的波形相重叠 从而显示稳定的波形 触发设置是依据信号的特征 进行的 触发时间必须是信号频率的整数倍 这样才能保证每次采集进来的数据 都相同 图 2 2 WM PCA 控制寄存器设置表 本设计菜用 PWM 方波发生器作为触发器 单片机 STC12C5A60S2 的 43 脚 可通过内部控制寄存器设置为 PWM 方波发生器 并且可以通过内部控制寄存器 设置 PCA 计数器为器时钟 这极大简化了数字示波器触发电路的设计 设置 CPS2 CPS1 CPS0 1 0 0 PCA PWM 的时钟源 Fosc PWM 的频率为 Fosc 256 基于单片机的简易示波器的设计 7 让 T0 工作在 1T 模式 此时使用内部 RC 作为系统时钟 用 T0 的溢出可对系统 时钟进行 1 256 级分频 设置 T0 的初始值即可控制显示波的个数 2 2 4 下载和电源方案下载和电源方案 因为本设计采用的是贴片式的单片机 故需要添加下载模块将上位机上编号 的程序烧到单片机中 下载芯片采用 PL2303HX 是比较通用的 USB 转串口芯 片 常用作单片机下载芯片 RXD 为数据发送口 TXD 为数据接受口 使其 RXD 单片机的 TXD 相连 其 TXD 与单片机的 RXD DP DM 分别接 USB 的 3 2 管脚 当上位机下载完驱动后即可与单片机进行通信 USB 的 1 4 管脚接入电 路的电源端和接地 可实现上位机的 USB 口对电路进行供电 外接电源采用 LM7805 外加一二极管对电路进行保护 2 3 2 3 本章本章小结小结 设计方案主要内容是各部分电路的选型 根据各部分电路性能的需求选择合 理的芯片 确定选择的芯片的实施方案等 单片机选用 STC12C5A60S2 是因为这款单片机速度快 是 51 单片机的 5 到 10 倍 兼容 51 单片机的指令 并自带 10 位 ADC PAC 和 PWM 功能 这些 都将极大简化示波器其他电路的设计 基于单片机的简易示波器的设计 8 第三章第三章 硬件设计硬件设计 硬件电路由五部分组成 单片机电路 预处理电路 键盘电路 显示控制电 路和下载电路 其中单片机电路 预处理电路和显示控制电路是主要的三部分 预处理电路是将波形幅值通过比例缩放显示在屏幕上 之后在周边加上标尺注明 将波形调整到合适的采集范围 单片机电路负责采集和触发 采样信号经过 AD 转换器 传输到单片机 RAM 由单片机处理以及显示控制电路 显示控制电路 负责按照要求的形式显示被测信号的波形 3 3 1 1 单片机单片机介绍介绍 STC12C5A60S2 AD PWM 系列单片机是宏晶科技生产的单时钟 机器周期 1T 的单片机 是高速 低功耗 超强抗干扰的新一代 8051 7 单片机 指令代码完 全兼容传统8051 但速度快8 12倍 内部集成MAX810专用复位电路 2路PWM 8 路高速 10 位 A D 转换 250K S 针对电机控制 强干扰场合 主要有以下特 性 1 增强型 8051 CPU 1T 单时钟 机器周期 指令代码完全兼容传统 8051 2 工作电压 STC12C5A60S2 系列工作电压 5 5V 3 3V 5V 单片机 3 工作频率范围 0 35MHz 相当于普通 8051 的 0 420MHz 4 用户应用程序空间 8K 16K 20K 32K 40K 48K 52K 60K 62K 字节 5 片上集成 1280 字节 RAM 6 通用 I O 口 36 40 44 个 复位后为 准双向口 弱上拉 普通 8051 传统 I O 口 可设置成四种模式 准双向口 弱上拉 推挽 强上拉 仅为输 入 高阻 开漏 每个 I O 口驱动能力均可达到 20mA 但整个芯片最大不要 超过 55mA 7 ISP 在系统可编程 IAP 在应用可编程 无需专用编程器 无需 专用仿真器 可通过串口 P3 0 P3 1 直接下载用户程序 8 有 EEPROM 功能 STC12C5A62S2 AD PWM 无内部 EEPROM 9 看门狗 10 内部集成 MAX810 专用复位电路 外部晶体 12M 以下时 复位脚可 直接 1K 电阻到地 11 外部掉电检测电路 在 P4 6 口有一个低压门槛比较器 5V 单片机为 基于单片机的简易示波器的设计 9 1 32V 误差为 5 12 时钟源 外部高精度晶体 时钟 内部 R C 振荡器 温漂为 5 到 10 以内 用户在下载用户程序时 可选择是使用内部 R C 振荡器还是外部晶 时 钟 常温下内部 R C 振荡器频率为 5 0V 单片机为 11MHz 15 5MHz 精度要求不高时 可选择使用内部时钟 但因为有制造误差和温漂 以实际 测试为准 13 共 4 个 16 位定时器 两个与传统 8051 兼容的定时器 计数器 16 位 定时器 T0 和 T1 没有定时器 2 但有独立波特率发生器做串行通讯的波特 率发生器再加上 2 路 PCA 模块可再实现 2 个 16 位定时器 14 2 个时钟输出口 可由 T0 的溢出在 P3 4 T0 输出时钟 可由 T1 的溢 出在 P3 5 T1 输出时钟 15 外部中断 I O 口 7 路 传统的下降沿中断或低电平触发中断 并新增 支持上升沿中断的 PCA 模块 Power Down 模式可由外部中断唤醒 INT0 P3 2 INT1 P3 3 T0 P3 4 T1 P3 5 RxD P3 0 CCP0 P1 3 也可通过 寄存器设置到 P4 2 CCP1 P1 4 也可通过寄存器设置到 P4 3 16 PWM 2 路 PCA 可编程计数器阵列 2 路 也可用来当 2 路 D A 使用 也可用来再实现 2 个定时器 也可用来再实现 2 个外部中断 上升沿中断 下降沿中断均可分别 或同时支持 17 A D 转换 10 位精度 ADC 共 8 路 转换速度可达 250K S 每秒 钟 25 万次 18 通用全双工异步串行口 UART 由于 STC12 系列是高速的 8051 可 再用定时器或 PCA 软件实现多串口 19 STC12C5A60S2 系列有双串口 后缀有 S2 标志的才有双串口 RxD2 P1 2 可通过寄存器设置到 P4 2 TxD2 P1 3 可通过寄存器 设置到 P4 3 20 工作温度范围 40 85 工业级 0 75 商业级 本设计采用 44 管脚贴片式 STC12C5A60S2 原理接线图如图 3 1 所示 经 预处理电路整理后的模拟信号传入 P1 1 口 单片机内部控制寄存器 P1ASF 0 7 的位操作用来控制单片机的 P1 口的各管脚 置 作 A 口使用 置 0 作数据 口使用 P1ASF 寄存器地址为 9DH 故语句 MOV 9DH 03H 即可定义 P1 0 P1 1 P1 2 作为 3 路 ADC 使用 P0 口经上拉之后作为数据输出口并驱动显示模 基于单片机的简易示波器的设计 10 块 图 3 1STC12C5A60S2 电路接线图 3 3 2 2 预处理电路预处理电路 原始信号一般为 5V 5V 交流信号 而 ADC 能接受的信号是 0 5V 模拟量 预处理电路主要将信号调整到 ADC 可以转换的信号 此外预处理电路具备测量信 号幅值 直接控制采样触发功能 控制波形复读等重要功能 其电路原理图如图 3 2 所示 图 3 2 预处理电路 基于单片机的简易示波器的设计 11 3 2 1 放大部分放大部分 本方案设置了 4 级放大 分别是 1x 2x 5x 10 x 放大部分详细电路如图 3 3 所示 74HC4053 为 4 通道开关芯片 通过 S0 S1 控制 4 路开关中的一路的连 同 从而选择不同阻值的电阻 控制放大器的放大倍数 S0 S1 的数据通过单 片机从键盘得到 VCC和 GND 是供电引脚 分别接电源和接地 74HC4052 的 VCC至 GND 范围为 2 0 V 10 0 V 74HC4052 的模拟输入 输出端 在上限 VCC 和下限 VEE之间摆动 VCC VEE应当不超过 10 0 V 作为一个数字多路选择器 多路分配器 VEE将被连接到 GND 上 图 3 3 放大部分原理图 3 2 2 触发部分触发部分 触发电路主要功能是消除滚波 使示波器能显示出稳定的波形 由于人眼分 辨速率有限 当信号频率高时 波形显示会出现多种波形叠加现象 从而导致显 示混乱 触发电路原理就是每次显示都只显示相同波形 周期信号 最终屏幕 上将显示出稳定的波形 根据原理 每显示一次波形的时间应该是信号周期的整 数倍 单片机自带的 PWM 7 方波发生器发出相应的频率的方波 控制采样时间 间隔为信号周期的整数倍 保证显示出稳定的波形 触发电路如图 3 4 所示 基于单片机的简易示波器的设计 12 图 3 4 触发电路 3 3 3 3 键盘电路键盘电路 键盘电路采用中断系统和 ADC 结合方案 如传统键盘扫描方案相比 这种 设计方案节约资源 并响应迅速 编程简单 键盘电路原理如图 3 5 所示 图 3 5 键盘电路原理图 键盘包含 16 个键位 分别由 16 个开关串联阻值不同的电阻构成 每路开关 按下将会产生一个不同的模拟量电压 传给 ADC 转换成不同的数字量 单片机 读取数字量 得到按键信息 按下键盘的同时 会触发单片机的中断 执行中断 程序 键盘操作结束后会继续执行按键之前的指令 3 3 4 4 显示电路显示电路 显示模块采用 LCD12864 显示模块 带中文字库的 128X64 是一种具 4 位 8 基于单片机的简易示波器的设计 13 位并行 2 线或 3 线串行多种接口方式 内部含有国标一级 二级简体 中文字 库的点阵图形液晶显示模块 其显示分辨率为 128 64 内置 8192 个 16 16 点汉 字 和 128 个 16 8 点 ASCII 字符集 利用该模块灵活的接口方式和简单 方 便的操作指令 可构成全中文人机交互图形界面 可以显示 8 4 行 16 16 点 阵 的汉字 也可完成图形显示 低电压低功耗是其又一显著特点 由该模块构成的 液晶显示方案与同类型的图形点阵液晶显示模块相比 不论硬件电路结构或显示 程序都要简洁得多 且该模块的价格也略低于相同点阵的图形液晶模块 电路原 理图如图 3 6 所示 图 3 6 显示电路 3 3 5 5 程序下载电路程序下载电路 程序下载采用 USB 接线方式 连接芯片为 PL2303HX 8 PL2303 是一种高 度集成的 RS232 USB 接口转换器 可提供一个 RS232 全双工异步串行通信装置 与 USB 功能接口便利连接的解决方案 该器件内置 USB 功能控制器 USB 收 发器 振荡器和带有全部调制解调器控制信号的 UART 只需外接几只电容就可 实现 USB 信号与 RS232 信号的转换 能够方便嵌入到各种设备 该器件作为 USB RS232 双向转换器 一方面从主机接收 USB 数据并将其转换为 RS232 信 息流格式发送给外设 另一方面从 RS232 外设接收数据转换为 USB 数据格式 传送回主机 这些工作全部由器件自动完成 开发者无需考虑固件设计 电路原 理如图 3 7 所示 基于单片机的简易示波器的设计 14 图 3 7 下载电路原理图 3 3 6 6 整体电路板整体电路板 各部分电路原理图做完之后 可用 DXP 生成 PCB 板 生成 PCB 半之后可 手动调节各元器件的位置 合理的进行布局 尽量节省空间 缩小 PCB 板的面 积 布局完成之后 采用自动布线合理的分布元件之间的连线 最后完成的 PCB 图如图 3 8 所示 图 3 8 电路板 基于单片机的简易示波器的设计 15 3 7 3 7 本章小结本章小结 本章主要介绍了 STC12C5A60S2 单片机机器连线图 预处理电路的实施方 案图 显示电路连线图 下载电源电路连线图以及生成电路板的过程 预处理电路和单片机电路是整个设计的难点 预处理电路为纯模拟电路 选 用元件是需考虑个元件的物理特性 最大限度降低信号失真 单片机的 PAC 和 PWM 功能简化了示波器频率读取部分和触发部分的设计 显示和下载电路则采 用了比较常用的元件和芯片 基于单片机的简易示波器的设计 16 开始 初始化 查键盘 面板 读入各项参数 采集数据 欲触发计数器计数 回读数据 数据处理 刷新显示 RAM 的数据 置一次主循环结束标志 第四章第四章 软件部分软件部分 软件部分主要是结合硬件电路 实现数据接受 运算和输出以及各种功能的 设定 4 4 1 1 主程序主程序 主程序包含数据采集程序 显示程序 中断程序和数据计算程序 程序流程 图如图 4 1 所示 图 4 1 程序主流程图 4 4 2 2 显示程序显示程序 液晶驱动程序是本软件设计的难点 要让液晶显示模块显示动态的波形 就 要求屏幕刷新速度要高 波形采用打点绘线的原理来显示 即先把 A D 转换器 采集到的数据根据其大小不同 在液晶显示器上与之对应显示 数值大的显示高 基于单片机的简易示波器的设计 17 数值小的显示低 然后再把离散的点连起来 使之变为连续的波形 图 4 2 液晶底层驱动程序 4 2 1 液晶驱动程序液晶驱动程序 为了使波形写入的方便 本设计采用软件分层的方法 最底层的是液晶的基 本驱动程序 包括写读命令 数据 然后在此基础上编写使液晶点阵与相坐标轴 对应的程序 即要在液晶屏幕上显示点 只需提供此点的坐标 x y 就可以 在液晶屏幕上对应的显示 软件流程图如图 4 2 所示 4 2 2 波形绘制程序波形绘制程序 上文介绍过 波形绘制 就是打点绘线的过程 先从内存中读出波形数据 然后经过数据处理 使每个数据都产生与之对应的坐标点 然后调用绘点程序 不过这样绘制的点时离散的 还要用补线程序把离散的点连起来 流程图如下 显示部分代码是示波器的一个难点 具体代码如下 LCD12864 映射变量定义 10 unsigned char xdata LCD12864 RAM 128 8 映射空间 unsigned char code LCD12864 BitPoint 开始 液晶模块初始化 写入 x y z 的初始值 写入 x 值及数据 结束 完成写入 N Y 基于单片机的简易示波器的设计 18 0 x01 0 x02 0 x04 0 x08 0 x10 0 x20 0 x40 0 x80 打点 bit 码 unsigned char code LCD12864 BitPointClean 0 xfe 0 xfd 0 xfb 0 xf7 0 xef 0 xdf 0 xbf 0 x7f 清除 bit 码 void LCD12864 WriteCode unsigned char dat unsigned char CS Left unsigned char CS Right 写指令到 LCM P CSl CS Left P CS2 CS Right P RS 0 P RW 0 LCM dat P EN 1 Delay 1 P EN 0 图 4 3 绘点程序 写数据到 LCD void LCD12864 WriteData unsigned char dat unsigned char CS Left unsigned char CS Right 开始 读入点坐标 数据处理 调用基本驱动程序 结束 基于单片机的简易示波器的设计 19 P CSl CS Left P CS2 CS Right P RS 1 P RW 0 LCM dat P EN 1 Delay 1 P EN 0 图 4 4 补线程序 定位 X 方向 Y 方向 void LCD12864 SetXY unsigned char x unsigned char y x x 0 x40 开始 读取相邻点差距 计算出所需要补的点的坐标 调用绘点程序 补点完成 结束 基于单片机的简易示波器的设计 20 y y 0 xb8 LCD12864 WriteCode x 1 1 LCD12864 WriteCode y 1 1 写数据到 LW void LCD12864 LW unsigned char x unsigned char y unsigned char dat if y 63 return if x 64 LCD12864 WriteData dat 0 1 else return LCM 初始化 void LCD12864 LCMInit void unsigned char x y unsigned char i j Delay 200 LCD12864 DisOnOff 0 for y 0 y 8 y for x 0 x 128 x LCD12864 LW x y 0 LCD12864 DisOnOff 1 LCD12864 SetStartLine 0 for i 0 i 128 i for j 0 j 8 j LCD12864 RAM i j 0 x00 在 LCD12864 RAM 写入一个点 void LCD12864 RAM WriteBit unsigned char x unsigned char y LCD12864 RAM x y 8 LCD12864 RAM x y 8 LCD12864 BitPoint y 8 在 LCD12864 上写 LCD12864 RAM 中的全部字节 基于单片机的简易示波器的设计 22 void LCD12864 WriteAll void unsigned char i j for i 0 i 128 i for j 0 j 8 j LCD12864 WriteByte i j 写频率 void LCD12864 RAM WriteFreq unsigned int Freq unsigned char qian bai shi ge qian Freq 10000 1000 bai Freq 1000 100 shi Freq 100 10 ge Freq 10 LCD12864 RAM DataArea WriteNumber 0 qian qian LCD12864 RAM DataArea WriteNumber 5 bai bai LCD12864 RAM DataArea WriteNumber 10 shi shi LCD12864 RAM DataArea WriteNumber 15 ge ge LCD12864 RAM DataArea WriteNumber 19 14 H LCD12864 RAM DataArea WriteNumber 26 15 z 写电压档位 void LCD12864 RAM WriteDvGear unsigned char DvGear LCD12864 RAM DataArea WriteNumber 106 DvGear 4 4 3 3 键盘程序键盘程序 键盘功能由单片机的中断系统结合 A D 转换器实现 其代码如下 unsigned char SampleValue 128 采样次数 基于单片机的简易示波器的设计 23 bit SampleCompleteFlag 0 采样完成标志位 unsigned char MAX Dv Value 最大值 unsigned char MIN Dv Value 最小值 最大值 最小值 峰峰值 void Timer0 init void 定时器 0 初始化 TMOD 0 x01 TH0 TXH TL0 TXL IP 0 x01 IPH 0 x01 TR0 1 EA 1 获取 Vpp void SampleWriteToLCD12864 RAM void MAX Dv Value 0 MIN Dv Value 255 for i 0 i MAX Dv Value MAX Dv Value ansn0 if ansn0 MIN Dv Value MIN Dv Value ansn 1 LCD12864 RAM CleanSampleArea if MAX Freq Flag 启动插值 插值倍数 5 j 0 for i 0 i 127 i LCD12864 RAM j 7 j 7 LCD12864 RAM i 7 j LCD12864 RAM j 7 j 7 LCD12864 RAM i 7 0 8 LCD12864 RAM i 1 7 0 2 j LCD12864 RAM j 7 j 7 LCD12864 RAM i 7 0 6 基于单片机的简易示波器的设计 24 图 4 6 键盘操作流程图 LCD12864 RAM i 1 7 0 4 j LCD12864 RAM j 7 j 7 LCD12864 RAM i 7 0 4 LCD12864 RAM i 1 7 0 6 j LCD12864 RAM j 7 j 7 LCD12864 RAM i 7 0 2 LCD12864 RAM i 1 7 0 8 j for i 2 i 128 break for i istart i istart 128 i 二次触发 LCD12864 RAM i istart 7 LCD12864 RAM i 7 i 7 LCD12864 RAM CleanSampleArea for i 1 i 128 i 量化 ansn 1 LCD12864 RAM i 1 7 1 9 ansn0 LCD12864 RAM i 7 1 9 if ansn 1 ansn0 for j ansn 1 j ansn0 j LCD12864 RAM WriteBit i j else for j ansn0 j ansn 1 j LCD12864 RAM WriteBit i j LCD12864 RAM CleanDataArea 4 4 4 4 本章小结本章小结 本章主要介绍了各部分的流程图及程序代码 软件部分的功能就是要将采集 进单片机的数据显示在屏幕上 所以软件每部分都与显示代码有关 而显示代码 的核心部分就是描点 即对数组 LCD12864 RAM 128 8 的操作 基于单片机的简易示波器的设计 26 第五章第五章 调试调试 调试部分分为软件调试和硬件调试 软件调试主要是检验有无语法错误 生 成目标文件并下载到单片机的 Flash 里面 硬件调试是结合调试好的软件看是否 能具备预期的相关功能 5 5 1 1 软件调试软件调试 系统软件设计 调试的流程如图 5 1 所示 Y N Y N 图 5 1 调试流程图 其过程分为以下几个步骤 第一步 建立源程序 通过计算机开发系统的编辑软件 按照所
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 气雾剂工岗位操作规程考核试卷及答案
- 中药露剂工新员工考核试卷及答案
- 版权代理服务模式分析报告
- 果蔬汁冷链物流冷链运输成本核算报告
- 松香改性反应工转正考核试卷及答案
- 小学信息技术六年级下册《第11课 手机指南辨方向》教学设计
- 冰糖加工工设备维护与保养考核试卷及答案
- 现代染整废水处理技术综述
- 第四节 二力平衡说课稿-2025-2026学年初中物理北师大版北京2024八年级全一册-北师大版北京2024
- 旅客票务个性化定制服务与实施策略
- 2024年河北石家庄交通投资发展集团有限责任公司招聘考试真题
- 公安援疆工作总结
- 湖南省益阳市2026届高三9月教学质量监测数学试题(含答案)
- 2025年大学生英语六级必考词汇表全部汇编(带音标)
- 脑干神经解剖定位
- FZ/T 52059-2021抗菌粘胶短纤维
- 医学课件-护理评估课件
- 幼儿园大班安全教育:《暴力玩具不能玩》 课件
- 26个英文字母大小写描红
- 养老院预算及成本管理制度
- DL∕T 1867-2018 电力需求响应信息交换规范
评论
0/150
提交评论