基于AD转换模块的C语言单片机开发与仿真详解

版权申诉
0 下载量 70 浏览量 更新于2024-07-04 收藏 247KB DOC 举报
本文档详细介绍了基于AD转换模块的单片机仿真和C语言开发过程。首先,文章从设计软件基础知识开始,介绍了C编译器Keil C51的重要性。Keil C51作为一款由Keil Software公司提供的51系列单片机C语言开发工具,它具有易学易用的特点,能提供完整的开发方案,包括C编译器、宏汇编、连接器等,并通过集成开发环境uVision整合这些功能。uVision4是一个强大的IDE,支持多种8051系列微处理器,如ADuC83x、ADuC84x和XC866,且拥有优化的启动代码生成、配置文件配置、代码导航、搜索功能和嵌入式仿真器,方便开发者进行高效开发和调试。 接着,文章深入探讨了多通道数据采集系统的构建,包括单片机电路设计,如使用51系列单片机作为核心,ADC0809作为模拟数字转换器,构建了采集电路。显示模块用于实时显示采集到的数据,总原理图展示了各个组件的连接方式。在软件设计方面,作者绘制了系统总流程图,清晰地描述了数据采集的整个工作流程,同时提供了具体的C语言程序代码示例。 实验记录与结果分析部分详述了实际操作步骤,如仿真基本流程,通过仿真器测试程序的功能性和准确性。实验结果显示,C语言程序能够有效驱动AD转换模块并处理数据,而仿真结果验证了系统的正确性。最后,作者分享了自己在开发过程中的心得体会,可能包括遇到的问题、解决方法以及对C语言和单片机应用的理解提升。 文档结尾附有参考文献,供读者进一步查阅相关研究和资料。这份文档为初学者和专业开发人员提供了一套完整、实用的基于AD转换模块的单片机C语言开发教程,对于理解和实践嵌入式硬件开发具有很高的价值。
2023-02-27 上传
东 华 大 学 机 械 工 程 学 院 实验指导书 "实验名称 "单片机应用系统设计与仿真 " "课程名称 "自选综合实验 " "专 业 "机械工程及"学 期 "第一学期 " " "自动化 " " " "姓 名 "Xin.Wei "学 号 " " "指导教师 " "实验成绩 " " 实 验 日 期 年 月 日 一、实验目的及要求 1. 实验目的: 1. 熟练掌握Proteus软件的基本应用 2. 掌握应用keil和Proteus进行单片机系统的仿真方法 (3)学会设计单片机应用系统. (4)掌握MCS51系列单片机的编程 2. 实验要求: (1) 学习Proteus的应用软件 (2) 学习消化已有典型单片机应用系统。 (3) 自行设计出单片机控制系统的软件硬件结构,并制定出其调试方案。 (4) 实验全过程应有比较详细的工作记录,其内容包括:工作日志,电路设计与分析,软件 流程图与源程序,制作、调试中的现象与失误甚至失败的记录,实验原始数据的记录, 实验器材的使用记录等。 二、实验装置 1. 计算机、单片机实验板、 2. Proteus软件 keil软件。 三、实验内容 1、学习Proteus软件,消化已有单片机应用系统 2、设计新的单片机控制的应用系统软硬件结构,并要有所创新。 3、制作出控制系统的硬件并编写控制软件。进行系统的软硬件调试。 四、实验报告要求 1、对采用单片机实现系统原理进行详尽分析与阐述。 2、说明自己设计的控制系统的工作原理和主要特点及创新点。 3、归纳整理实验记录,写出实验测试报告。 4、写出经过本次设计后的体会与收获。 五、实验进度安排 "实验内容 "学时数 " "学习Proteus软件 "6 " "学习典型的单片机应用系统 "8 " "设计新的应用系统 "6 " "软件设计及仿真调试 "8 " "撰写实验报告及验收 "4 " 六、考核方式 需提交资料 实验报告 仿真电路 控制程序 1. 设计任务 题目:基于51单片机的数字万用表设计 检测对象:交直流电压测量,电阻测量,过压自动报警 设计要求:电路系统中包含按键系统、显示系统(七段数码管显示或LCD显示屏显示 ),达到一定的精度要求 2. 设计背景 传统的电桥平衡法等方法在测试过程中不够智能而且体积笨重,价格昂贵,需要外 围环境优越,测试操作过程中需要调整很多参数,而基于单片机的智能数字式万用表价 格便宜,操作简单,显示准确,还有过压报警系统,更加人性化。目前,数字万用表已 被广泛用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领域,表现 出强大的生命力。 3. 整体设计思路 虽然数字万用表种类很多,但基本工作原理则是大同小异。都是把被测的模拟量转 化成数字量显示。所以最关键的是模数转换电路。 本数字万用表主要由直流数字电压表DVM它由阻容滤波器、前置放大器、模数转换器 A/D、发光二极管显示器LED及保护电路等组成。 在数字电压表的基础上再增加交流一直流转换器AC/DC、电阻一电压转换器Ω/V, 就构成了本数字万用表的基本部分。 设计方框图: 4. 分步设计 步骤一:电路图模块设计 电路分为电压衰减模块,电压档位自选模块,电阻档位自选模块,交直流电压判别 模块,绝对值电路模块,电压显示模块,电阻显示模块,绝对值电路模块,AD转换、电 压值处理及LCD显示模块。 各模块设计原理如下。 电压衰减模块:由于待测电压范围太大,高的可到500v,而AD只能参考输入为+- 5V,所以对于未知信号,可以先衰减再测量。 如下图,左端电压输入,在默认继电器导通的情况下经电阻R1、R2分压,将待测电压值 衰减至原来的百分之一。 电压档位自选模块:电压经衰减后的值可分为0-20v、20-200v、200- 500v三档,继电器由单片机控制通断,完成档位的自动选择(利用三极管的导通原理) 。 电阻档位自选模块:电阻按其大小可分为0-1k,1-10k,10k- 100k,大于100k四档,通过单片机控制继电器的开端进行档位的选择。 注:由于电路中继电器数目较多,将单片机的端口经74LS138译码器进行扩展后进行控制 (了解译码器输入输出真值表的对应关系)。 交直流电压判别模块:如下图所示,左端为一反向比较器通过调节变阻器R3阻值输出一 负值到比较器的负向端,而输入电压经衰减分档后的结果与其进行比较,可控制光电耦 合器中光电管的亮灭,进而控制INT_1端输出高低电平。其中,低电平代表交流电压测量 ,高电平代表直流电压测量。 绝对值电路模块:由于电压输入值的正负无法确定,为保证后续测量工作的进行, 需对电压值进行取绝对值处理,如下图所示,经左端的整流及右端的滤波处理后,输出 电压值确保为正值。 电压显示模块:利用LCD输出,选用16x1的显示屏。直流电压显示为DC:X