




已阅读5页,还剩31页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 第第 1 1 章章 绪论绪论 本章先给出了本次设计的任务书然后说明了基于单片机的数控电流源的课题背景 随后介绍了数控电流源的技术发展历程 最后提到研制基于 AT89S51 单片机的意义和本 设计所要满足课题要求 1 11 1 数控电流源的发展趋势数控电流源的发展趋势 数控电源是从 80 年代才真正的发展起来的 期间系统的电力电子理论开始建立 这 些理论为其后来的发展提供了一个良好的基础 在以后的一段时间里 数控电源技术有 了长足的发展 但其产品存在数控程度达不到要求 分辨率不高 功率密度比较低 可 靠性较差的缺点 因此数控电源主要的发展方向 是针对上述缺点不断加以改善 单片 机技术及电压转换模块的出现为精确数控电源的发展提供了有利的条件 新的变换技术 和控制理论的不断发展 各种类型专用集成电路 数字信号处理器件的研制应用 到 90 年代 已出现了数控精度达到 0 05V 的数控电源 功率密度达到每立方英寸 50W 的数控 电源 从 90 年代末起 随着对系统更高效率和更低功耗的需求 电信与数据通讯设备的 技术更新推动电源行业中直流 直流电源转换器向更高灵活性和智能化方向发展 在 80 年代的第一代分布式供电系统开始转向到 20 世纪末更为先进的第四代分布式供电结构以 及中间母线结构 直流 直流电源行业正面临着新的挑战 即如何在现有系统加入嵌入式 电源智能系统和数字控制 早在 90 年代中 半导体生产商们就开发出了数控电源管理技术 而在当时 这种方 案的性价比与当时广泛使用的模拟控制方案相比处于劣势 因而无法被广泛采用 由于板载电源管理的更广泛应用和行业能源节约和运行最优化的关注 电源行业和 半导体生产商们便开始共同开发这种名为 数控电源 的新产品 现今随着直流电源技术的飞跃发展 整流系统由以前的分立元件和集成电路控制发 展为微机控制 从而使直流电源智能化 具有遥测 遥信 遥控的三遥功能 基本实现 了直流电源的无人值守 从组成上 数控电源可分成器件 主电路与控制等三部分 目前在电力电子器件方面 几乎都为旋纽开关调节电压 调节精度不高 而且经常跳变 使用麻烦 数字化智能电源模块是针对传统智能电源模块的不足提出的 数字化能够减少生产 过程中的不确定因素和人为参与的环节数 有效地解决电源模块中诸如可靠性 智能化 2 和产品一致性等工程问题 极大地提高生产效率和产品的可维护性 1 21 2 研究背景及主要研究意义研究背景及主要研究意义 低纹波 高精度稳定直流电流源是一种重要的电源 在现代科学研究和工业生产中 得到了越来越广泛的应用 随着单片机技术的发展 数控电流源开始出现 其以控制灵 活 调节方便的特点展示了良好的应用前景 电源技术尤其是数控电源技术是一门实践 性很强的工程技术 服务于行业 当今电源技术融合了电气 电子 系统集成 控制理 论 材料等诸多学科领域 随着计算机和通讯技术发展而带来的现代信息技术革命 给 电源技术提供了广阔的发展前景 同时也给电源技术提出了更高的要求 随着数控电源 在电子装置中的普遍应用 普通电源在工作时产生误差 会影响整个系统的精确度 电 源在使用时会造成许多不良后果 世界各国纷纷对电源产品提出不同的要求并制定了一 系列产品精度标准 达标后才能够进入市场 随着经济全球化的发展 满足国际标准的 电源产品才能够获得国际通行证 数控电源是 80 年代才发展起来的产品 期间系统的电 力电子理论开始建立 这些理论为其后来的发展提供了良好的理论基础 在以后的时间 里 数控电源开始长足的发展 现在市场上数控电源存在输出精度不高 功率密度比较 低 带负载能力不强 体积大 价格较高 操作繁琐 工作状态不稳定等弊端 因此数 控电源的主要发展方向是针对上述缺点不断改善 所以 高密度的数控直流电源有很大 的发展空间 单片机技术及电压转换模块的出现为精确数控电源的发展提供了有利条件 新的变化技术和控制理论的不断发展 各种类型专用集成电路 数字信号处理器件的研 制应用 到 90 年代 以出现了数控精度达 0 05V 的数控电源 功率密度已达 50W 的数控 电源 从组成上 数控电源可分为器件 主电路和控制电路三部分 本课题主要研究的是基于微处理器的数控直流恒流源的设计 恒流源时能够向负载 提供恒定电流的电源 因此恒流源的应用范围非常广泛 并且在许多情况下是必不可少 的 例如 在通常的充电器对蓄电池充电时 随着蓄电池端电压的逐渐升高 充电电流 就会相应的减少 为了保证恒流充电 必须随时提高充电器的输出电压 但采用恒流源 充电后就可以不必调整输出电压 从而使劳动强度降低 生产效率得到了提高 恒流源 还广泛用于测量电路中 例如电阻器阻值的测量和分级 电缆电阻的测量等 且电流越 稳定 测量就越精确 它既可以为各种放大电路提供偏流以稳定其静态工作点 又可以 作为其有源负载 以提高放大倍数 并且在差动放大电路 脉冲产生电路中得到广泛应 用 3 第第 2 2 章章 方案比较及论证方案比较及论证 本章首先介绍了硬件设计中设计方案的选择 接着阐述了硬件中压控恒流模块和显 示模块的优缺点 并最终确定最终的设计方案和主要模块的选择方案 即采用 AT89S51 单片机作为系统的控制单元 2 12 1 总体方案论证总体方案论证 2 1 12 1 1 电路设计流程图电路设计流程图 要确定总的设计方案就要根据设计指标一定一个总的电路方案 在本次设计中我们 选择的是 AT89S51 为总的控制单元 其具体的设计流程图如 2 1 所示 否 否 否 否 图 2 1 总的电路设计流程图 确定设计指标 拟定电路方案 设定器件参数 进行电路仿真 通过仿真 电路安装调试 通过调试 设计实验结束 修改电路 修改电路 4 2 1 22 1 2 基本部分总体方案确定基本部分总体方案确定 方案 1 利用微处理器作为控制器 以它为中心设计外围电路 并利用 D A 转换形成 闭环回路 图 2 2 方案一设计方框图 本方案电路复杂 灵活性不高 效率低 不利于系统的扩展 对信号处理比较困难 而且 CPLD 器件普遍比较昂贵 设计成本高 数控直流电流源由键盘 控制器 显示器 数模转换 电压电流转换和模数转换等 部分组成 键盘的作用是设定电流值和确定电流步进值 控制器的作用是将设定电流值的 8 位 或 12 位 二进制输出 显示器的作用是显示设定电流值 数模转换的作用是设定电流值的 数字量转换为模拟量 电压电流转换的作用是将电压转换成恒定电流输出 模数转换的 作用是将输出的模拟量再转换为数字量反馈到控制器 使实际输出电流值与设定电流值 一致 方案 2 采用 AT89S51 单片机作为系统的控制单元 通过 D A 转换将预定值送压控恒流 源得到恒定电流 同时通过 A D 送单片机显示实际值 系统还可实现步进控制功能 此 方案各类功能易于实现 能很好的满足题目的设计要求 设计方框图如图 2 3 所示 图 2 3 方案二设计方框图 2 22 2 外围电路选择方案外围电路选择方案 2 2 12 2 1 控制器方案的选择控制器方案的选择 按键输入单片机控制D A 转换电流输出 逻辑电路信号调理电路 CPLD 器件 数码管显示 数码管驱动电路 数据锁存器 5 控制器主要有单片机和可编程器件 单片机做主控器件 由于单片机在科学计算 数据处理 过程控制 仪器仪表 辅助设计等方面有着广泛的应用 操作起来简便 而 且单片机在适时控制方面有它独特的优势 本次电流源的制作正需要步进控制 而且可 以用已经做好的单片机开发板 用在显示和控制方比较方便 但是由于单片机的I O口相 对有限 需要用8155等可编程器件进行口的扩展 我们但是对于可编程芯片 如CPLD或 FPGA等 对这些芯片的认知还不够 在学习中也很少接触 所以在这次论文中使用起来 会比较困难 而采用AT89S51作为控制模块核心 单片机最小系统简单 容易制作PCB 算术功能强 软件编程灵活 可以通过ISP方式将程序快速下载到芯片 方便的实现程序 的更新 自由度大 较好的发挥C语言的灵活性 可用编程实现各种算法和逻辑控制 同 时其具有功耗低 体积小 技术成熟和成本低等优点 基于以上分析 选择方案二 利用AT89S51单片机将电流步进值或设定值通过换算由 D A转换 驱动恒流源电路实现电流输出 输出电流经处理电路作A D转换反馈到单片机 系统 通过补偿算法调整电流的输出 以此提高输出的精度和稳定性 在器件的 D A转换 器选用8位优质D A转换芯片 DAC0832 直接输出电压值 且其输出电压能达到参考电 压的两倍 A D转换器选用高精度8位模数转换芯片AD0809 2 2 22 2 2 显示方案显示方案 方案一 使用 LCD 数码管显示 数码管采用 BCD 编码显示数字 对外界环境要求 低 易于维护 但根据题目要求 如果需要同时显示给定值和测量值 需显示的内容较 多 要使用多个数码管动态显示 使电路变得复杂 加大了编程工作量 方案二 使用 LCD 显示 LCD 具有轻薄短小 可视面积大 方便的显示汉字数字 分辨率高 抗干扰能力强 功耗小 管较多 硬件设计和实物制作将方便化 且设计简 单等特点 综上所述 选择方案二 采用 19264D 汉字图形点阵液晶显示模块同时显示电流给定 值和实测值 2 2 32 2 3 键盘模块方案键盘模块方案 方案一 采用独立式按键电路 每个按键单独占有一根 I O 接口线 每个 I O 口的工 作状态互不影响 此类键盘采用端口直接扫描方式 缺点为当按键较多时占用单片机的 I O 口数目较多 方案二 采用标准 4X4 键盘 此类键盘采用矩阵式行列扫描方式 优点是当按键较 6 多时可降低占用单片机的 I O 口数目 而且可以做到直接输入电流值而不必步进 题目要求可进行电流给定值的设置和步进调整 需要的按键比较多 综合考虑两种方 案及题目要求 采用方案二 2 2 42 2 4 电源模块方案电源模块方案 系统需要多个电源 单片机 A D D A 使用 5V 稳压电源 运放需要 12V 稳压电 源 同时题目要求最高输出电流为 2000mA 电源需为系统提供足够大的稳定电流 综上所述 采用三端稳压集成 7805 7812 7912 分别得到 5V 和 12V 的稳定电压 再外对 LM7812 加功率管构成扩流电路 达到可以提供 3A 以上的电流 利用该方法实现的 电源电路简单 工作稳定可靠 2 2 52 2 5 恒定电流源模块方案恒定电流源模块方案 方案一 采用开关电源的开关恒流源 其组成方框图如图2 4所示 图中C1 C2为滤 波电容 K是开关器件 D是续流二极管 L是扼流圈 PWM是脉宽调制电路 KF是电流反 馈电路 R0是电流取样电阻 在原理图电路上 通过精选元器件和采用合理的结构设计 可以使电路的分布参数得到有效控制 采用开关电源的开关恒流源主要特点是 振荡反 馈电容小 阻抗大 反馈电流小 K KpPWM C1 LRoIo C2D UIN 图 2 4 采用开关电源的开关恒流源组成框图 方案二 采用集成稳压器构成的开关恒流源 图2 5所示是是三端集成稳压器构成的 开关恒流源 当设定电阻R一定时 电路给负载Ro提供一恒定电流当RL发生变化时 由IC 的输入 输出压差进行自动补偿而使负载电流保持不变 7 IC C1C2R Ro Io UINUo 图2 5 采用集成稳压器构成的开关恒流源原理框图 2 2 62 2 6 设计方案设计方案 本设计以 AT89S51 单片机为中心控制器 单片机控制按键设定输出电流值 按键包 括 1 键和 1 键 用于设定电流值 该电流值通过单片机送入 D A 转化器 DAC0832 转换为模拟量输出 该输出为电流值 再通过运放转换为电压值 该电压值通 过压控恒流电路得到稳定输出的电流 同时设定的电流值还将通过数码管显示电路显示 以便于观察 系统设计框图如下图 2 6 所示 图 2 6 系统设计方框图 键盘控制 输出稳定电流 显示电路 D A 转换电路 压控恒流电路 AT89S51 8 第第 3 3 章章 硬件电路设计硬件电路设计 本章首先介绍了供电电源电路的设计 然后是介绍了硬件电路的核心部分控制电路 D A 转换电路和压控恒流源电路 其中供电电源电路是给整个硬件系统供电的 按键设定 好输出电流后单片机将电流数字量通过 P2 口送入到 D A 转换器中 D A 转换器将其转换 为数字量后输出 在由压控恒流源模块转化为恒定的电流值 单片机控制 RT19264D STN 型汉字图形点阵液晶显示模块的数据端和时钟端 且 RT19264D STN 的输出 Q0 Q7 分别对 应接到数码管的 a h 端口 从而实现单片机控制数码管显示的功能 从而完成整个硬件 电路的设计 3 1 单片机介绍单片机介绍 单片机是指一个集成在一块芯片上的完整计算机系统 尽管他的大部分功能集成在 一块小芯片上 但是它具有一个完整计算机所需要的大部分部件 CPU 内存 内部和外 部总线系统 目前大部分还会具有外存 同时集成诸如通讯接口 定时器 实时时钟等 外围设备 而现在最强大的单片机系统甚至可以将声音 图像 网络 复杂的输入输出 系统集成在一块芯片上 单片机也被称为微控制器 Microcontroler 是因为它最早被用在工业控制领域 单 片机由芯片内仅有 CPU 的专用处理器发展而来 最早的设计理念是通过将大量外围设备 和 CPU 集成在一个芯片中 使计算机系统更小 更容易集成进复杂的而对提及要求严格 的控制设备当中 INTEL 的 Z80 是最早按照这种思想设计出的处理器 从此以后 单片 机和专用处理器的发展便分道扬镳 早期的单片机都是 8 位或 4 位的 其中最成功的是 INTEL 的 8031 因为简单可靠而 性能不错获得了很大的好评 此后在 8031 上发展出了 MCS51 系列单片机系统 基于这 一系统的单片机系统直到现在还在广泛使用 随着工业控制领域要求的提高 开始出现 了 16 位单片机 但因为性价比不理想并未得到很广泛的应用 90 年代后随着消费电子产 9 品大发展 单片机技术得到了巨大的提高 随着 INTEL i960 系列特别是后来的 ARM 系 列的广泛应用 32 位单片机迅速取代 16 位单片机的高端地位 并且进入主流市场 而传 统的 8 位单片机的性能也得到了飞速提高 处理能力比起 80 年代提高了数百倍 目前 高端的 32 位单片机主频已经超过 300MHz 性能直追 90 年代中期的专用处理器 而普通 的型号出厂价格跌落至 1 美元 最高端的型号也只有 10 美元 当代单片机系统已经不再 只在裸机环境下开发和使用 大量专用的嵌入式操作系统被广泛应用在全系列的单片机 上 而在作为掌上电脑和手机核心处理的高端单片机甚至可以直接使用专用的 Windows 和 Linux 操作系统 单片机比专用处理器更适合应用于嵌入式系统 因此它得到了最多的应用 事实上 单片机是世界上数量最多的计算机 现代人类生活中所用的几乎每件电子和机械产品中 都会集成有单片机 手机 电话 计算器 家用电器 电子玩具 掌上电脑以及鼠标等 电脑配件中都配有 1 2 部单片机 而个人电脑中也会有为数不少的单片机在工作 汽车 上一般配备 40 多部单片机 复杂的工业控制系统上甚至可能有数百台单片机在同时工作 单片机的数量不仅远超过 PC 机和其他计算的综合 甚至比人类的数量还要多 单片机又称单片微控制器 它不是完成某一个逻辑功能的芯片 而是把一个计算机系 统集成到一个芯片上 概括的讲 一块芯片就成了一台计算机 它的体积小 质量轻 价格便宜 为学习 应用和开发提供了便利条件 同时 学习使用单片机是了解计算机 原理与结构的最佳选择 单片机内部也用和电脑功能类似的模块 比如 CPU 内存 并行总线 还有和硬盘作 用相同的存储器件 不同的是它的这些部件性能都相对我们的家用电脑弱很多 不过价 钱也是低的 一般不超过 10 元即可 用它来做一些控制电器一类不是很复杂的工作足矣 了 我们现在用的全自动滚筒洗衣机 排烟罩 VCD 等等的家电里面都可以看到它的身影 它主要是作为控制部分的核心部件 它是一种在线式实时控制计算机 在线式就是现场控制 需要的是有较强的抗干扰 能力 较低的成本 这也是和离线式计算机的 比如家用 PC 的主要区别 单片机是靠程序的 并且可以修改 通过不同的程序实现不同的功能 尤其是特殊 的独特的一些功能 这是别的器件需要费很大力气才能做到的 有些则是花大力气也很 难做到的 一个不是很复杂的功能要是用美国 50 年代开发的 74 系列 或者 60 年代的 CD4000 系列这些纯硬件来搞定的话 电路一定是一块大 PCB 板 但是如果要是用美国 70 10 年代成功投放市场的系列单片机 结果就会有天壤之别 只因为单片机的通过你编写的 程序可以实现高智能 高效率 以及高可靠性 由于单片机对成本是敏感的 所以目前占统治地位的软件还是最低级汇编语言 它 是除了二进制机器码以上最低级的语言了 既然这么低级为什么还要用呢 很多高级的 语言已经达到了可视化编程的水平为什么不用呢 原因很简单 就是单片机没有家用计 算机那样的 CPU 也没有像硬盘那样的海量存储设备 一个可视化高级语言编写的小程序 里面即使只有一个按钮 也会达到几十 K 的尺寸 对于家用 PC 的硬盘来讲没什么 可是 对于单片机来讲是不能接受的 单片机在硬件资源方面的利用率必须很高才行 所以汇 编虽然原始却还是在大量使用 一样的道理 如果把巨型计算机上的操作系统和应用软 件拿到家用 PC 上来运行 家用 PC 的也是承受不了的 可以说 二十世纪跨越了三个 电 的时代 即电气时代 电子时代和现已进入的 电脑时代 不过这种电脑通常是指个人计算机 简称 PC 机 它由主机 键盘 显示器等 组成 还有一类计算机 大多数人却不怎么熟悉 这种计算机就是把智能赋予各种机械 的单片机 亦称微控制器 顾名思义 这种计算机的最小系统只用了一片集成电路 即 可进行简单运算和控制 因为它体积小 通常都藏在被控机械的 肚子 里 它在整个 装置中 起着有如人类头脑的作用 它出了毛病整个装置就瘫痪了 现在这种单片机的 使用领域已十分广泛 如智能仪表 实时工控 通讯设备 导航系统 家用电器等 各 种产品一旦用上了单片机 就能起到使产品升级换代的功效 常在产品名称前冠以形容 词 智能型 如智能型洗衣机等 现在有些工厂的技术人员或其它业余电子开发者 搞出来的某些产品 不是电路太复杂 就是功能太简单且极易被仿制 究其原因 可能 就卡在产品未使用单片机或其它可编程逻辑器件上 AT89S51 是一种带 8K 字节闪烁可编程可檫除只读存储器 FPEROM Flash Programable and Erasable Read Only Memory 的低电压 高性能 COMOS8 的微处理器 俗称单片机 该器件采用 ATMEL 搞密度非易失存储器制造技术制造 与工业标准的 MCS 51 指令集和输出管脚相兼容 8051 系列的基本结构如下 8 位 CPU 1 4KB 字节掩膜 ROM 程序存储器 2 128 字节内部 RAM 数据存储器 3 两个 16 位定时 计数器 4 11 1 个全双工的异步串行口 5 5 个中断源 两个中断优先级的中断控制器 6 时钟电路 外接晶振和电容可产生 1 2MHz 12 MHz 的时钟频率 7 3 1 13 1 1 AT89S51AT89S51 的引脚介绍的引脚介绍 如图 3 1 所示 AT89S51 有四十条引脚 共分为端口线 电源线和控制线 图 3 1 AT89S51 的引脚 1 端口线 4 8 P0 0 P0 7P0 口 8 位双向口线 在引脚的 39 32 号端子 1 P1 0 P1 7P1 口 8 位双向口线 在引脚 1 8 号端子 2 P2 0 P2 7P2 口 8 位双向口线 在引脚 21 28 号端子 3 P3 0 P3 7P3 口 8 位双向口线 在引脚 10 17 号端子 4 这 4 个 I O 口 具有不完全相同的功能 P0 口有三个功能 1 外部扩展存储器时 当做数据总线 D0 D7 为数据总线接口 2 外部扩展存储器时 当做地址总线 A0 A7 为地址总线接口 3 不扩展时 可做一般的 I O 使用 但内部无上拉电阻 作为输入或输出时应在 外部接上拉电阻 P1 口只做 I O 口使用 其内部有上拉电阻 P2 口有两个功能 1 扩展外部存储器时 当做地址总线使用 12 2 做一般 I O 口使用 其内部有上拉电阻 P3 口有两个功能 除作为 I O 口使用外 其内部有上拉电阻 还有一些特殊功能 由 特殊功能寄存器来设置 上拉电阻当做输入时 上拉电阻将其电位拉高 若输入为低电 平则可提供电流源 所以如果 P0 口作为输入时 处在高阻抗状态 只有外接一个上拉 电阻才有效 2 电源 VCC 为芯片电源 接 5V VSS 为接地线 控制线 控制线共有 4 根 1 ALE PROG 地址锁存允许 片内 EPROM 编程脉冲 ALE 功能 用来锁存 P0 口送出的低 8 位地址 PROG 功能 片内有 EPROM 的芯片 在 EPROM 编程期间 此引脚输入编程脉冲 2 PSEN 外 ROM 读选通信号 3 RST VPD 复位 备用电源 RST Reset 功能 复位信号输入端 VPD 功能 在 Vcc 掉电情况下 接备用电源 4 EA Vpp 内外 ROM 选择 片内 EPROM 编程电源 EA 功能 内外 ROM 选择端 Vpp 功能 片内有 EPROM 的芯片 在 EPROM 编程期间 施加编程电源 Vpp 3 3 2 2 单片机时钟电路单片机时钟电路 单片机时钟信号通常用两种电路形式得到 内部振荡方式和外部振荡方式 1 内部振荡方式 AT89S51 单片机内部带有时钟电路 因此 只需要在片外通过 XTAL1 和 XTAL2 引脚接入定时控制元件 晶体振荡器和微调电容 即可构成一个稳定的 自激振荡器 2 外部振荡方式 把外部已有的时钟信号引入单片机内 这种方式适宜用来使单片 机的时钟与外部信号保持同步 在本设计中采用第一种方式 用晶振和电容构成谐振电路 C3 和 C4 虽然没有严格要 求 但电容的大小影响振荡器振荡的稳定性和起振的快速性 通常选择在 10 30pF 左右 而晶体振荡器一般选择 6MHz 和 12MHz 本时钟电路在 XTAL1 和 XTAL2 引脚分别接一个 22pF 的电容 两个引脚之间接入一个 12MHz 的晶振 电路如图 3 2 所示 C3 13 Y1 C412M 22p 图 3 2 时钟电路 3 3 3 3 单片机复位电路单片机复位电路 复位时单片机的初始化操作 其主要功能是 PC 初始化为 0000H 使单片机从 0000H 单元开始执行程序 除了进入系统的正常初始化之外 当由于程序运行时出错或操作错 误使系统处于死锁状态时 为使单片机正常工作 也需要按复位键以重新启动 RST 引脚是复位信号的输入端 复位信号是高电平有效 其有效时间持续 24 个振荡 脉冲周期 即两个机器周期 以上 复位操作有上电自动复位 按键电平复位 外部脉 冲复位和自动复位四种方式 在本设计中复位电路采用按键电平方式 电路如图 3 3 所示 使 RST 引脚 图中悬空脚 经过 10u 电解电容与 VCC 电源接通 同时经过电阻与地连接 而实现 5VC5 SW PB10u 10K R1 图 3 3 复位电路 3 43 4 控制电路设计控制电路设计 本电路采用 AT89S51 单片机 AT89S51 单片机应用普遍 价格便宜 MCS 51 内核结 构单片机的数据存储器分为内部数据存储器和外部数据存储器 MCS 51 单片机的外部数 据存储器 RAM IO 空间为 64KB 地址为 0000H 0FFFFH 一般通过 16 位数据指针 DPTR 来访问 且外部 RAM 和外部 I O 的地址安排是统一编址的 MCS 51 的内部数据存储 器为 128B 或 256B AT89S51 的内部数据存储器为 128B 地址空间为 00H 7FH 8032 8052 和 8752 的内部数据存储器为 256B 地址空间为 00H 0FFH AT89S51 将内部数据存储器中的不同区域从功能和用途方面来划分 可以分为 3 个区域 即工作寄存器区 00H 1FH 位寻址区 20H 2FH 堆栈和数据缓冲器区 30H 7FH 14 或 30H 0FFH 本设计中的单片机控制电路设计如图 3 4 所示 单片机的 P0 口用于控制显示单元电 路中的数码管的选定 P1 口控制按键 P2 口作为 D A 的 8 位数据线端口 单片机的 P3 0 和 P3 1 引脚控制显示电路中的 74LS164 的时钟端和数据端 按键的功能是实现输出电流 的设置 按键 1 2 3 4 的功能分别是 设定 移位 加 1 和减 1 当单片机的 P1 口检 测到有按键按下时 启动数码管显示电路开始显示数值 按下加 1 键显示数字加 1 按下 移位键时移动数码管位数调整下一位数字 输出电流设定好后单片机将电流数字量通过 P2 口送入到 D A 转换器中 D A 转换器将其转换为数字量后输出 5V 1 2 3 4 5 6 7 8 9 11 12 13 17 10 14 15 16 18 19 2021 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 5V 5V S1 S2 S3 S4 SW PB SW PB SW PB SW PB S1 SW PB C5 10u R1 10K C3 22p C4 22p Y1 12M TXD0 RXD0 U006 P1 0 P1 1 P1 2 P1 3 P1 4 P1 5 P1 6 P1 7 RST P3 0 P3 1 P3 2 P3 3 P3 4 P3 5 P3 6 P3 7 XTAL1 XTAL2 GND AT89S51 VCC P0 0 P0 1 P0 2 P0 3 P0 4 P0 5 P0 6 P0 7 VPP ALE PSE P2 7 P2 6 P2 5 P2 4 P2 3 P2 2 P2 1 P2 0 R11R12 R13 R14 10K10K10K10K 图3 4 单片机控制电路 15 3 53 5 转换电路设计转换电路设计 3 5 13 5 1 D AD A 转换电路转换电路 DAC0832 是一种 8 分辨率的典型的 D A 转换集成芯片 与微处理器完全兼容 内部 为双缓冲寄存器即输入寄存器和 DAC 寄存器 这个 DA 芯片以其价格低廉 接口简单 转 换控制容易等优点在单片机应用系统中得到广泛的应用 DA 转换器是由 8 位输入锁存器 8 位 DAC 寄存器 8 位 D A 转换电路及控制电路构成 该部分电路设计如图 3 5 所示 D A 转换器是接收数字量 输出一个与数字量相对应 的电流或电压信号的模拟量接口 本设计中 D A 转换器采用 DAC0832 芯片 AT89S51 的 P2 口作为数据端口与 DAC0832 的 8 位数据线相连 DAC0832 采用单缓冲工作方式 使芯 片的 均与地相接 由单片机的 P1 7 口控制 DAC0832 由 8 位输入CS2WRXFER1WR 锁存器 8 位 DAC 寄存器 8 位 D A 转换电路及控制电路构成 数字量从 DAC0832 的 D0 D78 个数据输入端口输入 DAC0832 与单片机的连接方式有两种 即单缓冲工作方式和双 缓冲工作方式 在单缓冲工作方式下 一个寄存器工作于直通状态 一个工作于受控锁 存器状态 在不要求多相 D A 同时输出时 可以采用单缓冲方式 此时只需要一次写操 作 就开始转换 可以提高 D A 的数据吞吐量 在双缓冲工作方式下 两个寄存器均工 作于受控锁存器状态 当要求多个模拟量同时输出时 可采用这种方式 本设计选用单 缓冲工作方式 单片机的 P1 7 引脚来控制 DAC0832 的转换工作 16 1 2 3 4 5 6 7 8 9 11 12 13 17 10 14 15 16 18 19 2021 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 U006 P1 0 P1 1 P1 2 P1 3 P1 4 P1 5 P1 6 P1 7 RST P3 0 P3 1 P3 2 P3 3 P3 4 P3 5 P3 6 P3 7 XTAL1 XTAL2 GND AT89S51 VCC P0 0 P0 1 P0 2 P0 3 P0 4 P0 5 P0 6 P0 7 VPP ALE PSE P2 7 P2 6 P2 5 P2 4 P2 3 P2 2 P2 1 P2 0 5V U007DAC0832 WR1 WR2 VCC 5V P1 7 2 18 19 17 1 13 14 15 16 4 5 6 7 8 9 12 11 Xfer Cs ILE Vref Rfb Iout2 Iout1 msbDI7 DI6 DI5 DI4 DI3 DI2 DI1 IsbDI0 图3 5 D A转换电路 3 5 23 5 2 A DA D 转换电路转换电路 ADC0809 由一个 8 路模拟开关 一个地址锁存与译码器 一个 A D 转换器和一个三 态输出锁存器组成 多路开关可选通 8 个模拟通道 允许 8 路模拟量分时输入 共用 A D 转换器进行转换 三态输出锁器用于锁存 A D 转换完的数字量 当 OE 端为高电平时 才可以从三态输出锁存器取走转换完的数据 ADC0809 对输入模拟量要求 信号单极性 电压范围是 0 5V 若信号太小 必须 进行放大 输入的模拟量在转换过程中应该保持不变 如若模拟量变化太快 则需在输 入前增加采样保持电路 17 图 3 6 ADC0809 引脚图 1 ADC0809 的内部结构 ADC0809 的内部逻辑结构图如图 3 7 所示 图 3 7 ADC0809 内部逻辑结构 图中多路开关可选通 8 个模拟通道 允许 8 路模拟量分时输入 共用一个 A D 转换 器进行转换 这是一种经济的多路数据采集方法 地址锁存与译码电路完成对 A B C 3 个地址位进行锁存和译码 其译码输出用于通道选择 其转换结果通过三态输出锁存器 存放 输出 因此可以直接与系统数据总线相连 表 3 1 为通道选择表 18 表 3 1 通道选择表 2 信号引脚 ADC0809 芯片为 28 引脚为双列直插式封装 对 ADC0809 主要信号引脚的功能说明如下 IN7 IN0 模拟量输入通道 ALE 地址锁存允许信号 对应 ALE 上跳沿 A B C 地址状态送入地址锁存器中 START 转换启动信号 START 上升沿时 复位 ADC0809 START 下降沿时启动芯片 开始进行 A D 转换 在 A D 转换期间 START 应保持 低电平 本信号有时简写为 ST A B C 地址线 通道端口选择线 A 为低地址 C 为高地址 引脚图中为 ADDA ADDB 和 ADDC 其地址状态与通道对应关系见表 9 1 CLK 时钟信号 ADC0809 的内部没有时钟电路 所需时钟信号由外界提供 因此 有时钟信号引脚 通常使用频率为 500KHz 的时钟信号 EOC 转换结束信号 EOC 0 正在进行转换 EOC 1 转换结束 使用中该状态信 号即可作为查询的状态标志 又可作为中断请求信号使用 D7 D0 数据输出线 为三态缓冲输出形式 可以和单片机的数据线直接相连 D0为最低位 D7为最高 OE 输出允许信号 用于控制三态输出锁存器向单片机输出转换得到的数据 OE 0 输出数据线呈高阻 OE 1 输出转换得到的数据 Vcc 5V 电源 Vref 参考电源参考电压用来与输入的模拟信号进行比较 作为逐次逼近的基准 其典型值为 5V Vref 5V Vref 5V C B A 被选择通道 0 0 0 IN0 0 0 1 IN1 0 1 0 IN2 0 1 1 IN3 1 0 0 IN4 1 0 1 IN5 1 1 0 IN6 1 1 1 IN7 19 3 63 6 供电电源电路供电电源电路 由前面的论述可以知道选择串联型稳压电路 由于三端式的稳压器只有三个输出端 性能稳定 价格低廉 应用方便 可以稳定输出电压 选择三端式的稳压器 电路连接 图为 图 3 8 正负 5V 电压输出 图 3 9 正负 12V 电压输出 3 7 LCD 显示器机构与原理显示器机构与原理 本设计采用 RT19264D STN 型汉字图形点阵液晶显示模块 可显示汉字及图形 内置 8192 个中文汉字 16X16 点阵 128 个字符 12X16 点阵 及 64X256 点阵显示 RAM GDRAM 可显示内容为 192 列 64 行 还带多种软件功能 光标显示 画面移位 自定义字符 睡眠模式等 RT19264D 与单片机接口 8 位或 4 位并行 3 位串行 在本设计中 采用 8 位并行接 20 法 RT19264D 与单片机 P2 口相连 用于显示设定值与当前测量值 其接口如图 3 10 所 示 DB0 DB1 DB2 DB3 DB4 DB5 DB6 DB7 R W 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 J1 CON20 GND VCC R3 PR VO VO RS E1 E2 RST PSB LEDA LEDK VCC VCC GND RESET 图 3 10 RT19264D 接口 3 83 8 键盘键盘 3 8 13 8 1 键盘的介绍键盘的介绍 1 键盘的选择及基本结构 键盘按结构的不同可分为独立式键盘和行列式键盘两类 每类按译码方式的不同又 分为编码式和非编码式两种 单片机中一般使用的都是用软件来识别和产生键代码的非 编码键盘 行列式键盘的编码方式有静态和动态两种 静态接口主要由一个行编码器和 一个列编码器构成 动态接口可采用计数器 译码器和数据选择器构成 这两种键盘由 硬件完成键的编码任务 一般在小型仪器仪表和控制系统中 使用较多的是行列式和独立式的非编码键盘 如果系统要求实现多键同时按下的处理 则用非编码独立方式较为合适 在该系统中采 用的是行列式键盘 行列式键盘中的键实际上就是一个机械开关 位于行线和列线的交点处 当键被按 下时 其交点的行线和列线接通 使相应行线或列线上的电平发生变化 根据电平变化 情况确定被按下的键 2 电路硬件说明 1 在 单片机系统 区域中 把单片机的 P3 0 P3 7 端口通过 8 联拨动拨码开关 JP3 连接到 4 4 行列式键盘 区域中的 M1 M4 N1 N4 端口上 2 在 单片机系统 区域中 把单片机的 P0 0 P0 7 端口连接到 静态数码显示模 块 区域中的任何一个 a h 端口上 要求 P0 0 对应着 a P0 1 对应着 b P0 7 对 应着 h 21 3 程序设计内容 1 4 4 矩阵键盘识别处理 2 每个按键都有它的行值和列值 行值和列值的组合就是识别这个按键的编码 矩 阵的行线和列线分别通过两并行接口和 CPU 通信 键盘的一端 列线 通过电阻接 VCC 而 接地是通过程序输出数字 0 实现的 键盘处理程序的任务是 确定有无键按下 判断 哪一个键按下 键的功能是什么 还要消除按键在闭合或断开时的抖动 两个并行口中 一个输出扫描码 使按键逐行动态接地 另一个并行口输入按键状态 由行扫描值和回馈 信号共同形成键编码而识别按键 通过软件查表 查出该键的功能 4 键盘程序流程图 所编程序首先对键盘进行识别看是否有键按下 若有键按下则对按键进行去抖动 然后根据按键的物理位置计算键码 最后按键释放 这也就完成了一次按键输入 若无 按键释放则直接返回 下图为键盘程序流程图 图 3 11 键盘程序流程图 键盘识别 有键按下 去抖动 确定案件物理位置 计算键码 按键释放 返回 22 3 8 23 8 2 键盘显示与单片机连接图键盘显示与单片机连接图 该设计采用的是 AT89C51 单片机和 4 4 的键盘 LCD 液晶显示 各器件的管教都应一 一对应连接 本次设计中 我们用到的 LCD 是 12864 总共有 20 个管脚 下图为 AT89C51 单片机和键盘 显示器的连接图 图 3 12 键盘显示与单片机的连接电路图 23 第第 4 4 章章 软件设计软件设计 一个完整的系统都是由硬件和软件构成的 在前两章介绍了课题的硬件设计的原理 和电路 这一章主要介绍课题的软件设计 本章介绍了软件设计的流程图 首先给出系 统的整体主程序流程图 然后介绍了 AT89S51 的程序设计 并叙述了按键扫描中出现触 点机械抖动的问题 采用软件延时方法去按键抖动 并阐述了 DAC0832 进行 D A 转换时 采用数据锁存方法单缓冲工作方式和程序设计的流程 最后介绍了显示模块程序设计的 流程图和采用动态送显方式来驱动数码管 整个软件部分的设计是数控恒流源的重要部 分 合理的软件设计有利于简化整体的设计 能生成符合要求的信号 最终降低成本 4 14 1 主程序设计流程主程序设计流程 单片机初始化引脚和中断 当单片机的 P1 口检测到有按键按下时 如果是 S3 键按 下电流值加 1 如果是 S4 键按下 则电流值减 1 启动数码管显示电路开始显示数值 输出电流设定好后单片机将电流数字量通过 P2 口送入到 D A 转换器中 D A 转换器将其 转换为数字量后输出 本设计主程序流程图如图 4 1 所 24 N Y Y Y N YN Y YN 图 4 1 主程序流程 4 24 2 程序设计程序设计 AT89S51 单片机内部主要由 9 个部件组成 1 个 8 位中央处理器 4KBFlash 存储器 128B 的数据存储器 32 条 I O 口线 2 个定时器 计数器 1 个具有 6 个中断源 4 个优 先级的中断嵌套结构 用于多处理机通信 I O 扩展或全双工 UART 的串行口 特殊功能 寄存器 1 个片内振荡器和时钟电路 AT89S51 系列单片机完全继承了 MCS 51 的指令系 统 共有 111 条指令 按其功能可分为五大类 数据传送类指令 算术运算类指令 逻 辑运算类指令 控制转移类指令 布尔操作 AT89S51 具有 4K 的内置 Flash 可在线编程程序存储器 对于这样内部有 4KB 的程序 开始 初始化引脚中断 是否有键按下 S3 键是否按 下 电流值增加 1 S4 键是否按下 电流值减 1 数值送 DA 转换并输出 数码管显示 25 存储器的芯片 若引脚接 VCC 5V 则 PC 的值在 0 0FFFH 4KB 之间时 EA CPU 取指令时访问内部的程序存储器 若 PC 值大于 0FFFH 时 则访问外部的数据存储 器 如果引脚接 Vss 地 则内部的程序存储器被忽略 即 CPU 只能访问外部的数EA 据存储器 程序存储器的操作完全由 PC 控制 对于内部有程序存储器 ROM 或 EPROM 的芯片 引脚可接高电平也可接低电平 而对于内部无程序存储器 如EA 8031 和 8032 的芯片 必须扩展外部程序存储器 引脚必须接地 EA 本设计中通过引脚定义设定单片机控制其他器件的引脚 4 34 3 按键扫描按键扫描 本设计中按键采用查询方式 放在主程序中 当没有按键按下的时候 单片机循环 主程序 有按键按下时 转向相应的子程序 对于每一个按键 都有一个接口电路与单 片机相连 单片机查询到哪一个键按下 然后通过跳转指令转入该按键编码子程序 根 据编码方式控制 NE555 的起振时间 按键按下或释放时 由于机械弹性作用的影响 通 常伴有一定时间的触点机械抖动 然后其触点才稳定下来 抖动时间的长短与开关的机 械特性有关 一般为 5 10ms 在触点抖动期间检测按键的通与断状态 可能导致判断出 错 即按键一次按下或释放被错误地认为是多次操作 为了克服按键触点机械抖动所致 的检测误判 必须采取去抖动措施 可从硬件 软件两方面考虑 在按键数比较少时 可采用硬件去抖动 按键数比较多时 采用软件去抖动 硬件可采取在键输出端加 R S 触发器或单稳态触发器构成去抖动电路 软件上采取的措施是 在检测到有按键按下时 执行一个 10ms 左右的延时程序后 再确认 该按键电平是否仍处于闭合状态电平 若仍 保持闭合状态电平 则确认该键处于闭合状态 同理 在检测到该键释放后 也采用相 同的步骤进行确认 从而消除抖动的影响 本设计中采用软件演示方法去按键抖动 4 44 4 D AD A 转换转换 DAC0832 进行 D A 转换 可以采用两种方法对数据进行锁存 第一种方法是使输入寄存器工作在锁存状态 而 DAC 寄存器工作在直通状态 就是 使和都为低电平 DAC 寄存器的锁存选通端得不到有效电平而直通 此外 使2WRXFER 输入寄存器的控制信号 ILE 处于高电平 处于低电平 这样当端来一个负脉冲时 CS1WR 就可以完成 1 次转换 26 第二种方法是使输入寄存器工作在直通状态 而 DAC 寄存器工作在锁存状态 使 和为低电平 ILE 为高电平 这样 输入寄存器的锁存选通信号处于无效状态而1WRCS 直通 当和端输入 1 个负脉冲时 使得 DAC 寄存器工作在锁存状态 提供锁2WRXFER 存数据进行转换 根据以上 DAC0832 的输入寄存器和 DAC 寄存器不同的控制方法 DAC0832 有如下 3 种 工作方式 单缓冲方式 单缓冲方式是控制输入寄存器和 DAC 寄存器同时接受资料 或者只用 输入寄存器而把 DAC 寄存器接成直通方式 此方式适用于只有一路模拟量输出或几路模 拟量异步输出的情形 双缓冲方式 双缓冲方式是先使输入寄存器接受资料 再控制输入寄存器的输出资 料到 DAC 寄存器 即分 两次锁存输入资料 此方式适用于多个 D A 转换同步输出的情形 直通方式 直通方式是资料不经两级锁存器锁存 即 均接1WR2WRXFERCS 地 ILE 接高电平 此方式适用于连续反馈控制线路 不过在使用时 必须通过另加 I O 接口与 MCU 连接 以匹配 MCU 与 D A 转换 本设计中选用的是第一种数据锁存方法单缓冲工作方式 将和直接接低2WRXFER 电平 接低电平 由单片机 P1 7 引脚控制 该部分子程序流程图如图 4 2 所示 CS1WR 图 4 2D A 写入数据子程序流程图 向 P2 口写数据 将 WR1 置底 延时 5us 将 WR 置为高电平 开始 结束 27 4 54 5 LCDLCD 显示显示 根据数码管的驱动方式不同 数码管送显方式有两种 静态送显和动态送显 静态显示驱动 静态驱动也称直流驱动 静态驱动是指每个数码管的每一个段码都由一 个单片机的 I O 端口进行驱动 或者使用如 BCD 码二 十进制译码器译码进行驱动 静态 驱动的优点是编程简单 显示亮度高 缺点是占用 I O 端口多 如驱动 4 个数码管 静 态显示则需要 32 根 I O 端口来驱动 实际应用时必须增加译码驱动器进行驱动 增加了 硬件电路的复杂性 动态显示驱动 数码管动态显示接口是单片机中应用最广泛的显示方式之一 动态 驱动是将所有数码管的 8
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- DB32/T 4617.4-2023电子政务外网5G平面和IPv6网络技术规范第4部分:IPv6地址及路由规划
- 2025年城市污水处理厂智能化升级改造与智能水质分析报告
- 管道行业竞争现状及应用前景预测研究报告(2025-2030版)
- 高速列车座椅舒适度企业制定与实施新质生产力项目商业计划书
- 2025年人工智能在语音通信中的降噪与语音增强技术研究报告
- 2025年中国沙漠工程车行业项目可行性研究及投资前景预测报告
- 2025年如何设计轻质普通型铝合金轮椅项目可行性研究报告技术工艺+设备选型+
- AEI综合测试仪行业深度研究分析报告(2024-2030版)
- 2025年铁制户外家具行业深度研究分析报告
- 电厂液氨改尿素改造项目可行性研究报告-2025年公用事业及环保行业重点
- 部编版高中语文必修下册文言文翻译及知识总结
- 人教版小学英语各年级重点单词、短语及句型
- 玖玖电玩城消防安全管理制度
- 烟道内喷涂施工方案
- 口腔影像学名词解释
- 水电站运维管理
- 材料的断裂(1)
- 被子植物门分科检索表
- 监理预验收表格(共11页)
- 中国电信移动终端营销策略
- 百胜餐饮HIC高效能的辅导
评论
0/150
提交评论