




已阅读5页,还剩15页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
精品资料 摘 要 根据 8051 单片机的内部结构特点本文提出以 MCS 51 单片机为核心的电压 测量系统 该系统以 8051 和 ADC0809 核心内件 能够在单片机的控制下监测八 路的输入电压值 用 8 位串行 A D 转换器进行 0 5V 量程自动转换 并且测量的 电压值可通过三位数码管显示同时用一位数码管显示选择通道 整个系统的设 计过程中主要采用了模块化的设计方法 完成了硬件电路的设计及软件程序的 编写 还详细的给出了相关的硬件框图和软件流程图 通过最终硬件电路的调试 使该系统能够在要求的条件下达到正常的测量及显示功能 单片机 8051 是整个 系统的核心 实现输入端的分路选择 模数转换后数据的处理及在数码管上数据 的显示等功能 正文着重给出了软硬件系统的各部分电路 介绍了该系统的工作 原理 MCS 51 单片机特点 8051 的功能和应用 ADC0809 的功能和应用等 关关键词键词 MCS 51 单片机 8051 ADC0809 数码管 精品资料 目目 录录 1 总体设计 1 2 硬件设计及其工作原理 1 2 1 数字电压表主要器件 1 2 1 1 单片机 AT89C51 1 2 1 2 芯片 ADC0808 3 2 2 数字电压表电路设计 4 2 2 1 处理器电路 4 2 2 2 A D 转换电路 5 2 3 控制电路 6 2 4 显示电路 6 2 5 整体电路图设计 7 3 数字电压表软件设计 7 3 1 程序总体设计 7 3 2 程序各个模块设计 9 3 2 1 主程序 9 3 2 2 外部中断 0 服务程序 10 3 2 3 外部中断 1 服务程序 10 3 2 4 显示子程序和延时子程序 11 3 2 5 制表程序 12 4 PROTEUS 仿真及数据测试 12 5总结 14 附录 1 程序清单 15 精品资料 简易数字电压表设计 1总总体体设计设计 本设计主要以 ATMEL 公司生产的 AT89S51 为主控芯片来实现简易数字电 压表的基本功能 1 可以测量 0 5V 范围内的 8 路直流电压值 2 在 4 位 LED 数码管上轮流显示各路电压值或单路选择显示 其中 3 位 LED 数码管显示电压值 显示范围为 0 00V 5 00V 1 位 LED 数码管显示路数 8 路分别为 0 8 3 测量最小分辨率为 0 02V 设计中以 8 个滑动变阻器来模拟输入的电压信号 经 ADC0809 模数转换芯 片处理 通过三个路数选择开关来确定将哪路采集数据送入单片机中处理 进而 通过数码管显示出相应的电压测量值 2硬件硬件设计设计及其工作原理及其工作原理 2 1 数字数字电压电压表主要器件表主要器件 本次课程设计是以 AT89C51 单片机为控制核心 以 A D 转换器 ADC0808 为数据采样系统 实现被测电压的数据采样 用共阴数码管显示结果的简易数字 电压表 能够实现 8 路 0 00 5 00V 的直流电压 最小分辨率为 0 02V 2 1 1 单单片机片机 AT89C51 AT89C51 是一种带 4K 字节 FLASH 存储器 FPEROM Flash Programmable and Erasable Read Only Memory 的低电压 高性能 CMOS 8 位微 处理器 俗称单片机 单片机的可擦除只读存储器可以反复擦除 1000 次 该器件 采用 ATMEL 高密度非易失存储器制造技术制造 与工业标准的 MCS 51 指令集 和输出管脚相兼容 由于将多功能 8 位 CPU 和闪烁存储器组合在单个芯片中 ATMEL 的 AT89C51 是一种高效微控制器 AT89C51 单片机为很多嵌入式控制 系统提供了一种灵活性高且价廉的方案 外形及引脚排列如图 1 所示 精品资料 图图 1AT89C51 单单片机引脚片机引脚图图 AT89C51 引脚介绍 4 个 8 位的 I O 引脚 P0 P1 P2 P3 P0 口 P0 0 P0 7 8 位双向三态 I O 口线 既可作普通 I O 口 也可作数据 低 8 位地址总线 P1 口 P1 0 P1 7 8 位准双向三态 I O 口线 作普通 I O 口 P2 口 P2 0 P2 7 8 位准双向三态 I O 口线 既可作普通 I O 口 也可作数据 高 8 位地址 P3 口 P3 0 P3 7 8 位准双向三态 I O 口线 既可作普通 I O 口 另外每个引 脚还有第二个功能 如下表所示 P3 口还接收一些用于闪烁存储器编程和程序校验的控制信号 端口引脚第二功能 P3 0RXD P3 1TXD P3 2INT0 P3 3INT1 P3 4T0 P3 5T1 P3 6WR P3 7RD 表 1 P3 口引脚第二个功 能 精品资料 RST 复位输入 当震荡器工作时 RET 引脚出现两个机器周期以上的高电 平将使单片机复位 ALE PROG 当访问外部程序存储器或数据存储器时 ALE 输出脉冲用于锁 存地址的低 8 位字节 即使不访问外部存储器 ALE 以时钟震荡频率的 1 16 输 出固定的正脉冲信号 因此它可对输出时钟或用于定时目的 要注意的是 每当 访问外部数据存储器时将跳过一个 ALE 脉冲时 闪烁存储器编程时 这个引脚 还用于输入编程脉冲 如果必要 可对特殊寄存器区中的 8EH 单元的 D0 位置禁 止 ALE 操作 这个位置后只有一条 MOVX 和 MOVC 指令 ALE 才会被应用 此 外 这个引脚会微弱拉高 单片机执行外部程序时 应设置 ALE 无效 PSEN 程序储存允许输出是外部程序存储器的读选通信号 当 AT89C51 由 外部程序存储器读取指令时 每个机器周期两次 PSEN 有效 即输出两个脉冲 在此期间 当访问外部数据存储器时 这两次有效的 PSEN 信号不出现 EA VPP 外部访问允许 欲使中央处理器仅访问外部程序存储器 EA 端必 须保持低电平 需要注意的是 如果加密位 LBI 被编程 复位时内部会锁存 EA 端状态 如 EA 端为高电平 CPU 则执行内部程序存储器中的指令 闪烁存储器 编程时 该引脚加上 12V 的编程允许电压 VPP 当然这必须是该器件是使用 12V 编程电压 VPP XTAL1 震荡器反相放大器及内部时钟发生器的输入端 XTAL2 震荡器反相放大器的输出端 VCC 电源电压 GND 地 2 1 2 芯片芯片 ADC0808 本电路采用芯片 ADC0808 来进行模数转换 其引脚图如图 2 所示 图图 2 ADC0808 引脚引脚图图 精品资料 利用 ADC0808 作为 AD 数据采样器件 ADC0808 是 CMOS 单片型逐次逼 近式 A D 转换器它由 8 路模拟开关 地址锁存与译码器 比较器 8 位开关树型 D A 转换器 逐次逼近 ADC0808 的工作过程是 首先输入 3 位地址 并使 ALE 1 将地址存入地址锁存器中 此地址经译码选通 8 路模拟输入之一到比较 器 START 上升沿将逐次逼近寄存器复位 下降沿启动 A D 转换 之后 EOC 输 出信号变低 指示转换正在进行 直到 A D 转换完成 EOC 变为高电平 指示 A D 转换结束 结果数据已存入锁存器 这个信号可用作中断申请 当 OE 输入 高电平 时 输出三态门打开 转换结果的数字量输出到数据总线上 ADC0808 各个管脚功能 IN0 IN7 8 路模拟量输入端 ADDA ADDB ADDC 3 位地址输入线 用 于选通 8 路模拟输入中的一路 D0 D7 8 位数字量输出端 ALE 地址锁存允许信号 输入 高电平有效 START A D 转换启动信号 输入 高电平有效 EOC A D 转换结束信号 输出 当 A D 转换结束时 此端输出一个高电平 转换期间一直为低电平 OE 数据输出允许信号 输入 高电平有效 当 A D 转换结束时 此端输入 一个高电平 才能打开输出三态门 输出数字量 CLK 时钟脉冲输入端 要求时钟频率不高于 640KHZ REF REF 基准电压 2 2 数字数字电压电压表表电电路路设计设计 2 2 1 处处理器理器电电路路 主处理器采用 AT89C51 单片机 外接 A D 转换电路 控制电路和显示电路 其工作原理是从 ADC0808 中采集电压的数字量并把它转换为十进制量 将 其在 LED 上显示出来 单片机还接受控制电路的控制 以改变显示模式和切换 测试通道 精品资料 图图 3 单单片机系片机系统电统电路路 2 2 2 A D 转换电转换电路路 本次设计共采集八路模拟电压值 占用 IN0 IN1 IN2 IN3 IN4 IN5 IN6 IN7 单个通道 时钟为 500kHz 的矩形波 正 负基准电压分别为 5V 和 0V EOC 通过一非门与 P3 2 相连 以中断的方式通知 单片机转换完成 以 P3 6 控制 START 和 ALE 控制其开始转换和地址锁存 以 P3 7 控制模数转换器的输出 电路图如图 4 所示 图图 4 A D 转换电转换电路路 精品资料 2 3 控制控制电电路路 控制电路主要的作用是控制显示模式和切换测试通道 按键式开关接单片 机 外部中断 1 主要功能是切换通道 开关 SW1 接 P2 0 口 通过查询的方式来 间接控制 LED 是按通道循环显示电压还是只显示某一通道的值 其电路图如图 5 所示 图图 5 控制控制电电路路 2 4 显显示示电电路路 本显示电路采用共阴极 4 位 8 段数码管 段码由单片机的 P0 口控制 位码 由 P3 0 P3 1 P3 4 P3 5 四个端口控制 很明显采用的是动态显示方式 其中 第一位显示通道数 后三位显示电压值 有两位小数 电路图如图 6 所示 图图 6 显显示示电电路路 图 4 控制电路 精品资料 2 5 整体整体电电路路图设计图设计 整体电路如下图所示 左上角的八组变化电压分时输入 ADC0808 经 AT89C51 控制进行模数转换将转换的数值用数码管显示出来 控制电路控制是 否自动循环显示及手动循环显示 电路图如图 6 所示 图图 7 系系统总电统总电路路图图 3数字数字电压电压表表软软件件设计设计 3 1 程序程序总总体体设计设计 依据电路原理图 数据的采集和通道的切换是通过外部中断的方式处理的 外部中断 0 处理对 ADC08080 转换后的数据采集以及存储 外部中断 1 处理显 示的通道的切换 而显示模式是通过对 P2 7 查询来确定 故程序流程图如图 8 所示 图 9 和图 10 是外部中断 0 和外部中断 1 的的流程图 精品资料 图图 8 程序流程程序流程图图 图图 9 外部中断外部中断 0 流程流程图图 图图 10 外部中断外部中断 1 流流程程图图 外部中断 0 入 口 保护现场 将通道数放入 30H 将通道数放入 30H 将转换后的电压放入 31H 32H 33H 还原现场 中断返回 中断及其他数据初始化 P2 7 置 位 P2 7 0 下一通道 启动 A D 转换 调用显示子程序 开始 外部中断 1 入 口 保护现场 切换通道 启动 A D 转换 还原现场 中断返回 还原现场 精品资料 3 2 程序各个模程序各个模块设计块设计 3 2 1 主程序主程序 程序执行的起点 包括对两个外部中断源的初始化 初始测试通道 设置每 个通道每次显示的时间的长短 然后让程序处于循环显示中 并在每个通道显示 结束之后检查 P2 7 以决定显示模式 P2 7 为低电平时循环显示 主要程序如下 所示 ORG 0000H LJMP MAIN ORG 0003H LJMP ZD0 外部中断 0 地址 ORG 0013H LJMP ZD1 外部中断 1 地址 MAIN SETB IT0 SETB EA SETB EX0 SETB IT1 SETB EX1 中断设置 MOV R1 00H 初始测试端口地址 XH MOV R4 50H SETB P2 7 允许输入 JB P2 7 TAD 检测显示模式 循环与否 INC R1 CJNE R1 08H TAD MOV R1 00H TAD MOV A 00H MOVX R1 A 启动 A D 转换 LCALL SHOW 调用显示程序 DJNZ R4 TAD LJMP XH 精品资料 3 2 2 外部中断外部中断 0 服服务务程序程序 外部中断 0 主要完成从 ADC0808 中取转换后的二进制数 然后再将该数字 转为对应的电压数值 分别存入到 RAM 的 31H 32H 33H 单元中 通道数放在 30H 单元 PINT0 PUSH ACC 外部中断 0 MOVX A R1 主要功能是存入转换值 存在 RAM 30 31 32 33 单 元 MOV 30H R1 通道存在 30H MOV B 51 DIV AB MOV 31H A MOV A B MOV B 2 MUL AB MOV B 10 DIV AB MOV 32H A MOV A B MOV 33H A POP ACC RETI 3 2 3 外部中断外部中断 1 服服务务程序程序 外部中断 1 的功能是将通道的值加 1 并且保证其值小于 8 然后启动 A D 转换 以此完成对显示通道的切换 PINT1 PUSH ACC 外部中断 1 INC R1 完成通道数加 1 功能 CJNE R1 08H OUT MOV R1 00H OUT MOVX R1 A POP ACC RETI 精品资料 3 2 4 显显示子程序和延示子程序和延时时子程序子程序 数码管的显示为动态显示方式 即对 P1 口分时复用 每位显示后都调用延 时子程序 保证延时一定的时间以让人眼产生视觉暂留 显示时分别取出 RAM 中 30H 到 33H 中数据取表 再送出显示 SHOW MOV DPTR TAB1 显示子程序 MOV A 30H MOVC A A DPTR MOV P1 A CLR P3 0 LCALL DELAY SETB P3 0 MOV DPTR TAB2 MOV A 31H MOVC A A DPTR MOV P1 A CLR P3 1 LCALL DELAY SETB P3 1 MOV DPTR TAB1 MOV A 32H MOVC A A DPTR MOV P1 A CLR P3 4 LCALL DELAY SETB P3 4 MOV DPTR TAB1 MOV A 33H MOVC A A DPTR MOV P1 A CLR P3 5 LCALL DELAY SETB P3 5 RET 精品资料 DELAY MOV R6 5 延时子程序 D1 MOV R7 250 DJNZ R7 DJNZ R6 D1 RET 3 2 5 制表程序制表程序 本程序定义了 2 段数据 TAB1 和 TAB2 TAB1 为不带小数点 0 到 9 的数码管显示的字节 TAB2 定义的是带小数点 的 0 到 5 的显示字节 以保证在数码管第二位显示出小数点 因此只有 31H 单元 的数据在 TAB2 取值 其程序段如下 TAB1 DB 3FH 06H 5BH 4FH 66H TAB1 不带小数点 TAB2 带小数 点 DB 6DH 7DH 07H 7FH 6FH TAB2 DB 0BFH 86H 0DBH 0CFH 0E6H 0EDH 4 PROTEUS 仿真及数据仿真及数据测试测试 将汇编程序经 Keil 编译后生成的 HEX 文件装入到 AT89C51 中对其仿真 将 Switch 开关闭合 数码管将循环显示八个通道的电压值 将 Switch 开关打开 Button 按钮控制通道切换 分别将滑动变阻器位于不同位置得到不同阻值分别 在数码上显示出来 现按动 button 两次 断开 switch 开关 即始终选择显示一号通道电压值 并 将该路电压调到最大值 5V 得到如下仿真图 图图 11 仿真仿真图图 由图 11 中可看出 最左端 1 号数码管显示第 1 号通路 当前通路电压值为 5V 符合预期要求 现闭合 switch 开关 应该是有八路电压值循环显示 结果如下图 精品资料 图图 12八路八路电压值电压值循循环显环显示仿真示仿真图图 在不改变电阻值的情况下 上述数值循环显示 本数字电压表测量的误差都 在 0 02V 以内 精度高 反应快 可以完成对多路电压的测试 5总结 本次课程设计我对 AT89C51 单片机 ADC0808 芯片 数码管显示电路和模 数转换电路及相关程序的编写进行了认真的学习 也对单片机技术有了更进一 步的熟悉 实际操作和课本上的知识有很大联系 但又高于课本 一个看似很简 单的功能 要动手把它设计出来就比较困难了 但是我们学习的理论知识很多但 由于平时练习很少 所以将它们用于实际的应用比较困难 因此平时我们要把课 本上所学到的知识和实际联系起来 通过本次单片机的设计 不但巩固了所学知 识 也是我们把理论与实践从真正意义上结合起来 增强了学习的综合能力还还 锻炼了我们的团队协作精神 提高了创新能力 在此过程中 我查找了大量的资料 在不懈的努力下 培养了独立思考 动 精品资料 手操作的能力 同时学到了很多在书本上所没有学到过的知识 我对单片机编程 也有了进一步的认识和了解 比如在程序设计思想上 以前没有一个整体的概念 经过试验中的自我摸索 掌握了模块化编程的思想 将大的程序分化为小的模块 最后把各小的模块串接起来 组成大的程序 实现整体的设计功能 此次课设我 对 Protues ISIS 的丰富的电子器件和网络标号的画图方式也有了进一步的了解和 学习 同时 我真正的意识到 在以后的学习中 要理论联系实际 把我们所学的 理论知识用到实际当中 学习单片机更是如此 程序只有在经常写与读的过程中 才能提高 这就是这次课程设计的最大收获 附附录录 1程序清程序清单单 ORG 0000H LJMP MAIN ORG 0003H LJMP PINT0 外部中断 0 地址 ORG 0013H LJMP PINT1 外部中断 0 地址 MAIN SETB IT0 SETB EA SETB EX0 精品资料 SETB IT1 SETB EX1 中断设置 MOV R1 00H 初始测试端口地址 AA MOV R4 50H SETB P2 7 允许输入 JB P2 7 AAA 检测显示模式 循环与否 INC R1 CJNE R1 08H AAA MOV R1 00H AAA MOV A 00H MOVX R1 A 启动 a d 转换 LCALL SHOW 调用显示程序 DJNZ R4 AAA 每一路显示 50 次 LJMP AA PI
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 林业割草劳务合同范本
- 分期买车购车合同范本
- 合同范本模板哪个好用
- 网店外包服务合同范本
- 餐饮转租转让合同范本
- 修车的劳务合同范本
- 过敏性紫癜肾脏受累护理查房
- 会计岗位劳务合同范本
- 分红协议合同范本
- 房子租品合同范本
- 实习安全知识培训课件
- 2025年国家基本公共卫生监督协管测试题及答案
- 2025年食品安全抽样考试试题题库(含答案)
- 血液速递通道2025年冷链物流信息化建设报告
- 2025年秋季开学教师会暨师德师风会议上校长讲话:守住一颗心点亮一盏灯走好一段路
- 数字化种植牙技术
- 2025年全国教育系统师德师风知识测试题及答案
- 2025年中煤财务岗笔试题及答案
- 糖尿病性视网膜病变
- 2025年平面设计笔试题库及答案
- 2025建筑电工考试题库及答案
评论
0/150
提交评论