ImageVerifierCode 换一换
格式:DOCX , 页数:26 ,大小:855.96KB ,
资源ID:10330671      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10330671.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数字电压表.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数字电压表.docx

1、数字电压表 单片机原理与应用课程设计说明书 题 目: 基于单片机的数字电压表的设计 系 部: 信息与控制工程学院 专 业: 测控技术与仪器 班 级: 2012级一班 学生姓名: 杨广才 学 号: 12031240122 指导教师: 吴萍 2014年 12 月12日目 录1 设计任务与要求 111 课程设计目的 112 课程设计任务 113 设计要求 12 设计方案 221 设计思路 222 器件选择 223 主要器件(芯片)简介 3231 ADC0832简介 3232 74LS164简介 3233 STC89C51RD简介 4234 MAX232简介 5235 MAX813简介 53 硬件电路

2、设计 7图3-1 硬件设计框图 731 模块连接图 7311 A/D转换模块 7312 显示控制模块 8313 串口模块 9314 “看门狗”模块 932 硬件电路总体设计 94 软件设计 1141 软件流程图 1142 源程序清单与注释 11421 ADC0832驱动转换程序 11422 位选(取位)程序 13423 74LS164驱动程序 13425 延时程序 14426 主程序 145 系统调试 1551 软件调试 1552 硬件调试 176 结论 18参考文献 191 设计任务与要求本次课程设计主要是以增强型MCS-51系列单片机STC12C5A60S2的定向课题设计,我们小组的设计题

3、目为:基于单片机的数字电压表的设计。下面将针对我们的设计进行详细介绍。11 课程设计目的根据单片机课程所学内容,结合其他相关课程知识,设计数字电压表,以加深对单片机知识的理解,锻炼实践动手能力,为以后的毕业设计和工作打下坚实的基础;熟悉汇编语言或C语言的程序设计方法,熟悉51系列单片机的使用方法;掌握单片机内部功能模块的应用,如定时器/计数器、中断、I/0口、串行口通讯等功能。12 课程设计任务本课题实验主要采用STC89C51单片机和ADC0832芯片来完成一个简易的数字电压表,该电压表的测量电路主要有三个模块组成:A/D转换模块、数据处理模块及显示控制模块。A/D转换主要由芯片ADC083

4、2来完成,它负责把采集到的模拟量转换为相应的数字量再传送到数据处理模块;数据处理则由STC89C51单片机来完成,其负责把ADC0832传送来的数据量经一定的数据处理,产生相应的显示码送到显示模块进行显示,另外它还控制着ADC0832芯片的工作,另外,在模拟仿真的时候,可使用AT89C51代替;显示模块主要由七段数码管及相应的驱动芯片(74LS164串入并出芯片)组成,显示测量到的电压值。13 设计要求设计一个以单片机为核心的电压测量系统,可实现功能:实现对输入电压值的测量,能够测量电压05.00V;精度达到0.01V;使用单片机STC12C5A60S2内部自带A/D实现对电位器上的0-5V范

5、围内变化的直流电压进行测量,用一个LCD1602显示测量结果。2 设计方案首先进行设计方案的确定,设计方案的确定主要包括以下几部分:设计思路、器件选择、主要器件(芯片)简介三部分。21 设计思路我们针对相应的设计要求,制定相应的设计方案,我们的设计方案采用“总分总”的思维模式。首先对整个项目设计有一个整体的把握:本课程设计,主要是对数字电压表的一个实现。然后对整个设计进行解析:在设计的过程中,需要有硬件的设计和软件的设计。要实现数字电压表的硬件设计,就需要确定每个模块负责实现的任务及相关元器件的选择;软件的设计就是要在了解清楚所选元器件的特性后,对其分部分进行相应的程序编写。最后整合在一起,形

6、成整体规划:制作实物模型,并烧录程序进行调试。实际的设计思路的确定,可参考图2-1所示框图:图2-1 设计思路框图22 器件选择本设计运用了五个模块,并将其组合形成最终的实物模版。这五个模块分别为:A/D转换模块、数据处理模块、显示控制模块、串口模块以及“看门狗”模块。下面分别对这五个模块所选用的主要器件进行简单的介绍:1、A/D转换模块:选用ADC0832芯片作为模/数转换芯片。本模块的主要作用是:将输入进来的模拟信号通过模/数转换芯片,换成数字信号。2、数据处理模块:选用STC89C51单片机来充当核心数据处理模块,本模块的主要作用是:处理来自各个芯片的数据,并将其输出。3、显示控制模块:

7、本模块选用74LS164以及LED数码管共同构成。74LS164的主要作用是:数据以串行的方式进入,以并行的方式输出。LED数码管的主要作用是:显示数据。4、串口模块:选用MAX232芯片作为控制串口模块的主要芯片。该模块的作用是:在程序烧录的过程中,为数据提供通道。5、“看门狗”模块:选用MAX813芯片。“看门狗”模块的主要功能是:使“跑飞”或进入“死循环”的程序自动恢复,重新正常工作,若程序发生“死机”,则看门狗产生复位信号,引导单片机程序重新进入正常运行。23 主要器件(芯片)简介231 ADC0832简介图2-2 ADC0832示意图ADC0832是美国国家半导体公司生产的一种8位分

8、辨率、双通道A/D转换芯片。由于它体积小,兼容性强,性价比高而深受单片机爱好者及企业欢迎,其目前已经有很高的普及率。学习并使用ADC0832可是使我们了解A/D转换器的原理,有助于我们单片机技术水平的提高。管脚功能介绍: CS_片选使能,低电平芯片使能。 CH0模拟输入通道0,或作为IN+/-使用。 CH1模拟输入通道1,或作为IN+/-使用。 GND芯片参考0 电位(地)。 DI数据信号输入,选择通道控制。 DO数据信号输出,转换数据输出。 CLK芯片时钟输入。 VCC/REF电源输入及参考电压输入(复用)。232 74LS164简介74LS164是高速硅门CMOS器件,与低功耗肖特基型TT

9、L(LSTTL)器件的引脚兼容。74LS164是 8 位边沿触发式移位寄存器,串行输入数据,然后并行输出。数据通过两个输入端之一串行输入;任一输入端可以用作高电平使能端,控制另一输入端的数据输入。两个输入端或者连接在一起,或者把不用的输入端接高电平,一定不要悬空。下面为其管脚介绍:CLOCK:时钟输入端CLEAR:同步清除输入端(低电平有效)A1、A2:串行数据输入端QAQH:输出端 图2-3 74LS164示意图233 STC89C51RD简介图2-4 STC89C51示意图STC89C51单片机中包含中央处理器、程序存储器、数据存储器、定时/计数器、UART串口、I/O接口、EEPROM、

10、看门狗等模块。它几乎包含了数据采集和控制中所需的所有单元模块,可称得上一个片上系统。234 MAX232简介MAX232芯片是美信(MAXIM)公司专为RS-232标准串口设计的单电源电平转换芯片,使用+5v单电源供电。图2-5 MAX232示意图引脚功能介绍:第一部分是电荷泵电路。由1、2、3、4、5、6脚和4只电容构成。功能是产生+12v和-12v两个电源,提供给RS-232串口电平的需要。第二部分是数据转换通道。由7、8、9、10、11、12、13、14脚构成两个数据通道。其中13脚(R1IN)、12脚(R1OUT)、11脚(T1IN)、14脚(T1OUT)为第一数据通道。8脚(R2IN

11、)、9脚(R2OUT)、10脚(T2IN)、7脚(T2OUT)为第二数据通道。TTL/CMOS数据从11引脚(T1IN)、10引脚(T2IN)输入转换成RS-232数据从14脚(T1OUT)、7脚(T2OUT)送到电脑DB9插头;DB9插头的RS-232数据从13引脚(R1IN)、8引脚(R2IN)输入转换成TTL/CMOS数据后从12引脚(R1OUT)、9引脚(R2OUT)输出。第三部分是供电。15脚GND、16脚VCC(+5v)。235 MAX813简介MAX813是具有监控电路的微处理芯片,它具有4个功能:具有独立的看门狗计时器;掉电或电源电压低于1.25V时,产生掉电输出;上电时能自动

12、产生200ms宽的复位脉冲;具有人工复位功能。图2-6 MAX813示意图1脚MR:手动复位输入端,当该端输入低电平保持140ms以上,MAX813就输出复位信号。该输入端的最小输入脉宽要求可以有效地消除开关的抖动,MR与TTL/CMOS兼容。2脚VCC:5V电源。3脚GND:电源地。4脚PFI:电源检测输入端。可将需要检测的电源连接于此,不用时接地或电源。5脚PFO:电源检测输出端。被检测电源正常时,输出高电平,否则输出低电平。6脚WDI:看门狗输入端,俗称“喂狗”信号。程序正常运行时,必须在小于1.6s的时间间隔内向该输入端发送一个脉冲信号,以清除芯片内部的看门狗定时器。若超过1.6s该输

13、入端收到脉冲信号,则内部定时器溢出,8脚由高电平变为低电平。7脚RESET:上电时自动产生200ms的复位脉冲;手动复位端输入低电平时,该端也产生复位信号输出。8脚WDO:看门狗输出端喂狗信号在1.6s内能及时送入时,该脚即产生1个低电平信号。3 硬件电路设计根据拟定的设计方案,在proteus中对相关模块进行连接。本课程设计的硬件设计主要采用的方式是:框图法,根据相应芯片、器件的特性,以单片机为中心分别进行发散的整理,最后综合形成流程图。再根据各个芯片管脚所代表的特性,与单片机的相应管脚进行匹配,得出最后的硬件原理图。相对应的硬件框图如下所示:图3-1 硬件设计框图31 模块连接图311 A

14、/D转换模块本数字电压表课程设计的A/D转换部分,主要是由ADC0832来完成的,在数据处理及控制模块中,通过89C51将A/D 转换后的串行信号处理后,送到单片机的中,连接LED用于显示。同时单片机控制模拟开关进行自动换档。在输出显示模块中,采用LED显示输入电压值,连接线较少,控制方便,显示简洁且可控性强。在进行A/D转换时,通道地址先发送到输入端。然后在输入端加一个正跳变脉冲,将通道地址锁存到ADC0832的内部地址锁存器中,这样对应的模拟输入就和内部变换电路接通。为了启动A/D转换,必须在开始端加一个负的跳变信号,此后变换开始进行,标志ADC0832正在工作状态的信号由高电平变为低电平

15、。变换结束,正在工作状态的信号又由低电平变为高电平,此时加一个高电平,即可打开数据线的三态缓冲器从D0-D7读得变换后的数据。ADC0832的连接图如下所示:图3-2 A/D转换模块接线图312 显示控制模块本数字电压表课程设计的显示控制模块,主要有74LS164和七段数码显示器(三个)构成。74LS164的主要任务是减少数码管占用单片机管脚,很好的起到了一个中转作用,它的输入输出方式是串入并出,提高了单片机的工作效率。而显示的责任则交给七段数码显示器来完成。具体的实现过程见下图:图3-3 显示控制模块接线示意图313 串口模块串口模块主要的任务是在电路连接完毕,将要进行程序烧录的过程中起作用

16、的部分。其硬件链接如下图所示:图3-4 串口模块接线示意图314 “看门狗”模块“看门狗”模块主要由MAX813来控制,它的主要目的是对电路来进行复位。其硬件连接如下所示:图3-5 “看门狗”模块接线示意图32 硬件电路总体设计在对各个模块分别进行设计后,将各个模块的特性进行整合,结合单片机的引脚,并以单片机为中心进行模块组合。整合后的电路整体效果,如图3-6所示:图3-6 硬件电路总体设计图4 软件设计41 软件流程图 否 是图4-1 软件设计流程图42 源程序清单与注释421 ADC0832驱动转换程序unsigned char ADconv(void) unsigned char i=0

17、,x =0,y = 0; unsigned int temp=0; do /时钟12Mhz,整个转换时间为224us AD0832_CLK=0;/时钟置低平 AD0832_DI=1;/开始信号为高电平 AD0832_CS=0;/片选信号置低,启动AD转换芯片 /输入开始信号(构成一个正脉冲) _nop_(); AD0832_CLK=1;/时钟上升沿,输入开始信号 _nop_(); AD0832_CLK=0;/时钟下降沿 /模拟信号输入选择(1:单模信号,0:双模差分信号) AD0832_DI=1; _nop_(); AD0832_CLK=1;/时钟上升沿,输入开始信号 _nop_(); AD0

18、832_CLK=0;/时钟下降沿 /模拟信号输入通道选择(1:通道CH1,0:通道CH0) AD0832_DI=0;/选择通道0 _nop_(); AD0832_CLK=1;/时钟上升沿,输入开始信号 _nop_(); AD0832_CLK=0;/时钟下降沿 AD0832_DI=1;/数据线置高,准备接收数据 for(i=0;i8;i+)/从高位移入数据 AD0832_CLK=1; _nop_(); AD0832_CLK=0;/时钟下降沿,AD0832输出数据,高位(MSB)先 x=x1;/数据左移位,补0 if(AD0832_DI=1) x=x|0x01;/如果数据为1,移入1, /如果数据

19、为0,移入0, for(i=0;i1;/数据左移位,补0 if(AD0832_DI=1) y=y|0x80;/如果数据为1,移入1,如果数据为0,移入0 AD0832_CLK=1; _nop_(); AD0832_CLK=0;/时钟下降沿,AD0832输出数据,高位(MSB)先 /数据线置高,释放总线,完成一次转换 AD0832_CLK=1; AD0832_DI=1; AD0832_CS=1; while(x-y!=0);/判断取值,若X=Y,跳出do return x;422 位选(取位)程序void show_value(uchar ad_data) Uint temp=0x00; tem

20、p=temp|ad_data; temp=ad_data*1.9607843; /(参考电压为5V,8位。5/255*100=1.96(取2) dis2=temp/100;/取最高位 dis1=temp%100/10;/取中间位 dis0=temp%10;/取最低位 423 74LS164驱动程序void out_simuseri(uchar data_buf)uchar i;i=8;ACC=data_buf;do simuseri_CLK=0; simuseri_DATA=a0; simuseri_CLK=1; ACC=ACC1; while(-i!=0);424 段码输出程序void Se

21、gDisplay( ) out_simuseri(dis_codedis0);/输出段码 P0=SEG0;/输出位码 delay1(5); P0=SEGo0; out_simuseri(dis_codedis1); P0=SEG1; delay1(5); P0=SEGo1; out_simuseri(dis_codedis2|0x80); P0=SEG2; delay1(5); P0=SEGo2;425 延时程序void delay1(uint z)uint x;while(z0) z-; for(x=110;x0;x-); 426 主程序void main(void) unsigned ch

22、ar data_temp; while(1) data_temp=ADconv(); show_value(data_temp);/按位分开 SegDisplay();/显示5 系统调试51 软件调试软件调试是利用KEIL C51软件进行调试,新建工程后新建文件,写好程序后进行编译,最后生成HEX文件,通过烧录机将程序烧入单片机即可。KEIL C51软件简介:支持8051微控制器体系结构的KEIL开发工具,产业标准的KEIL C编译器、宏汇编器、调试器、实时内核、单板计算机和仿真器,支持所有的251系列微控制器。软件调试的过程并不是一帆风顺的,我们总共进行了5次调试,分别出现以下现象,针对相应

23、的现象进行了修改:1、由于仿真电路图出现错误,使得程序无法加载运行;2、修改电路图后,加载程序,无法正常运行,经检查得出是74LS164的程序出错;3、对出错的程序进行修改后,再次进行仿真,发现LED显示不正常;4、对显示程序进行检查后,没有出现错误,再次检测定义字符串程序,发现错误,对其进行修改;5、LED正常显示后,却发现精度达不到理论值,返回程序,搜集资料、重新计算;6、仿真成功,并且达到仿真要求。最终仿真结果如图5-1、5-2、5-3所示:图5-1 电路起始仿真图图5-2 电路中值仿真图 图5-3 电路终止仿真图 52 硬件调试将源程序编译生成HEX文件用STC-ISP烧录器写入STC

24、89C51单片机中,按照调整好的电路图焊接好万能板,将ADC0832的输入通道接上5V电压,调整电压值可以看见LED上显示出相应的数字量,如表5-1所示。输入信号(VP-P)输出信号(测量值)理论值绝对误差相对误差0.40v0.41v0.41v0.01v0.32%0.63v0.64v0.01v0.01v0.18%0.91v0.91v0.91v0v01.00v1.04v1.04v0.01v0.1%1.68v1.67v16.6v0.01v0.1%2.22v2.21v2.22v0.01v0.45%2.82v2.81v2.82v0.01v0.37%3.07v3.07v3.06v00.25%3.67v3

25、.67v3.67v004.35v4.36v4.35v0.01v0.23%4.76v4.76v4.76v005.00v4.99v5.00v0.18%表5-1 调试数据表绝对误差=|输出信号-输入信号| 相对误差=绝对误差/理论值100%测试结果分析:精度是偏移误差、增益误差、积分线性误差、微分线性误差、温度漂移等综合因素引起的总误差。因量化误差是模拟输入量在量化取整过程中引起的,因此,分辨率直接影响量化误差的大小。量化误差是一种原理性误差,只与分辨率有关,与信号的幅度,采样速率无关,它只能减小而无法完全消除,只能使其控制在一定的范围之内,一般在12LSB范围内。除此之外,影响该转换系统的因素还有

26、数字万用表精度以及参考电源精度等。6 结论通过本次的单片机课程设计,我体会到了一个真理,那就是:无论做什么事情都是靠日积月累的努力积累起来的。单片机是一门比较难的课程,它的难度不仅在于知识点复杂,更进一步说,它真正难的是对于知识点的理解和应用。在平时的日子里,我们总是过分注重书本上知识的学习,而忽略了动手能力时间以及知识点的应用。本次课程设计进行了改革,感觉我们真的进入了大四,进行毕业设计的时候。其实,我们离毕业这个词已经不远了,这次的课程设计在我看来恰巧是一个很好的机会,让我能够清楚的认清自己的位置和价值,看到自己的不足之处,及时进行补救,这是我最大的收获。当然,在进行课程设的时候遇到了很多

27、的问题,比如程序错误、绘图不仔细等,如果是我自己一个人来解决所有问题肯定是不会做的这么快、这么精美的。这就显现出了团队协作的重要性。人无法自己生存在世界上,而每一个人都有自己的长处,我很荣幸的担任我们小组的组长,我们组的成员在行动的过程中,与我平时所认识的他们完全不同,这让我有了很大的感触:别人总是有我看不到的一面,在自己懒惰的时候,别人没准就在你看不见的地方努力着。因此,我也要改掉我的坏习惯,多多的向别人学习请教,吸取别人的长处,多多的给予别人正确的意见,达到互利共赢的效果是最令人高兴的!参考文献1 吴金戌.8051单片机实践与应用.北京:清华大学出版社2002.23-602 李建中.单片机

28、原理及应用.西安电子科技大学出版社.2002.10-903 房小翠.王金凤.单片机实用系统设计技术.国防工业出版社.1999.5-194 王松武.电子创新设计与实践.国防工业出版社.2005.7-485 彭为.单片机典型系统设计实例精讲.电子工业出版社.2002.1:14-1006 朱定华.单片机原理及接口技术实验.北方交通大学出版社.2002.45-557 王维俭.电气主设备继电保护原理与应用.中国电力出版社2002.11-34潍坊学院信息与控制工程学院单片机课程设计成绩评定表专业班级: 姓名: 学号: 设计项目内容得分备注平时表现工作态度、遵守纪律、独立完成设计任务5分独立查阅文献、收集资料、制定课程设计方案和日程安排5分设计报告电路设计 、程序设计10分测试方案及条件、测试结果完整性、测试结果分析10分摘要、设计报告正文的结构、图表规范性10分仿真与实物制作按照设计任务要求的功能仿真15分按照设计任务要求的实物制作10分按照设计任务要求的实物功能15分设计任务工作量、难度15分设计亮点5分综合成绩指导教师签名指导老师签名: 年 月 日

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1