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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

数字电压表设计报告.docx

1、数字电压表设计报告数字电压表设计报告s南 湖 学 院数字电路课程设计设计报告项目名称: 数字电压表课程设计 专业年级: 10级电信1班 二、硬件设计 2.1主控芯片本电压表采用STC89C52为主控芯片,电路如下图所接:晶振电路和复位电路略去,端口和上面各图的接口是一致的。 2.2模拟转换部分该电压表采用的ADC0804,此芯片优点是并行输出,速率快,缺点是只有8位,精度不高。下来ADC0804芯片图: 为了方便,将数字地和模拟地都直接接到了一起,DB0DB7为并行输出口,CS,RD,WR为控制芯片模数转换及读取芯片数据和写数据的引脚,ADC0804可以自己产生时钟,只要在CLKR和CLKIN

2、端接入电阻(10K)和电容(理论为150pf本人接的220pf),可产生脉冲信号。VREF为参考电压端,VIN+和VIN为电压输入端。当电压加在VIN+和VIN端时,在DB0DB7可输出八位到单片机,本处参考电压为5V,则当输入电压U时,输出数据为temp,则U/temp=5/255.在自然状态下,最多也只能测5V电压,为了扩大量程,本人加了衰减网络,见下图:接到ADC芯片上面的始终是VIN和地之前的电压,为了调精度,在上面加了滑动变阻器。此处R22选用的是470K欧的,首先选的10K,因为内阻过小,导致在5V以下的电压测量不准确,choice和GND两端为外加的电压,这样,有部分电压会在R2

3、0或者R21上分压,只在保证在R22两端不超过5V,就可实现多量程电压测量。2.3显示模块 本处用1602液晶显示,1602优点是价格便宜,可显示基本字符,对于做电压表这样的东西已足够。电路如下:三、软件设计 3.1主程序 主程序包括初始化部分 调用A/D转换子程序和调用显示程序,如下图所示:3.2 A/D转换子模块: A/D转换子程序用于对ADC0804八路输入模拟电压进行A/D转换,并将转换的数值存入八个相应的存储单元中,如下图: 四、系统调试 基于单片机的数字电压表在组装好以后,便可进入系统的在线调试,起主要任务是排除样机硬件故障并完善其硬件结构,试运行所设计的程序,排除程序错误,优化程

4、序结构,使系统达到预期的功能,进而固化软件。 4.1硬件调试单片机应用系统的硬件和软件调试时交叉进行的,但通常是先排除样机中明显的硬件故障,尤其是电源故障,才能安全和仿真器相连,进行综合调试。 4.1.1 硬件电路故障(1)错线 开路 短路;(2)元器件损坏(3)电源故障 4.1.2 硬件调试方法 本设计调试中所用的调试方法是静态测试: 在样机加电之前,首先用万用表等工具,根据硬件电器原理图和装配图仔细检查样机线路的正确性,并核对元器件的型号 规格和安装是否符合要求。第二步是加电后检查各插件上引脚的点位,仔细测量各电位是否正常。第三步是在不加电的情况下,除单片机以外,插上所有的元器件,最后用仿

5、真适配器将样机的单片机插座盒仿真器的仿真接口相连,为联机调试做准备。 4.2软件调试 4.2.1软件电路故障(1)当以断点或连续方式运行时,目标系统没有按规定的功能进行操作或什么结果也没有,这是由于程序转移到意外之外或在某处死循环所造成的。(2)结果不正确 4.2.2软件调试方法软件调试所使用的方法有:计算程序的调试方法,I/O处理程序的调试法,综合调试法。五、实验数据处理 5.1实验数据0-5V量程为 0-50V量程次数标准值电压示值满度误差次数标准值电压示值满度误差10.760.7250.70%11.341.50.52%21.111.0780.64%22.352.50.30%31.661.

6、6270.66%34.424.70.56%41.991.9600.60%47.177.10.14%52.172.1560.28%510.610.11.00%62.462.4500.20%613.012.90.20%72.702.6860.28%714.614.40.40%82.852.8430.14%816.716.11.00%93.033.0190.22%918.217.61.20%103.153.156-0.12%1019.518.91.20%113.093.098-0.16%1121.721.21.00% 5.2实验数据分析 0-5V量程精度为0.001V, 满度误差均1.00%,为一级

7、电压表 0-50V量程精度为0.1V,满度误差均2.50%,为2.5级电压表 六、设计安装及调试中的体会数字电压表作为一个实用电子系统,已经得到广泛的应用。掌握数字电压表的基本原理,研究并不断改进系统的功能。这些是我们初涉者们努力的方向。本系统采用石英晶体振荡器、分频器、计数器、显示器和校时电路组成。由LED数码管来显示译码器所输出的信号。实现了数字钟时、分、秒显示,手动较时、校分的功能。有很强的现实应用性能。而数字钟的设计开拓了我们的视野,锻炼了我们的动手能力。我想就整个制作数字电压表的过程做一些总结。如何设计原理图,如何检错,如何进行PCB单面板的布线,如何制作单面板,如何调试电路,每一环

8、节都不能忽视,而且每一环节都应为下一环节做打算,不应开始没弄好就想下面怎么做这么做就行了,这样给后期工作带来的难度更大。第一步也是最关键的一步就是原理图的设计,首先要保证原理图是正确的,否则后面做的都是无用功,画原理图虽然不难,但是绝对不能忽视。接着导入PCB板,而导入PCB板时必须确保无误。而手工布线时,摆放好元件也是很重要的,为布线提供方便。而布线时又要考虑到板子做出来的效果,将焊盘尽量调大,线尽量布粗,电源线和地线要比信号线稍微粗一点,而且尽量避免线经过焊盘,以免焊接时出现短路。布线很烦很乱很耗时间,很容易泄气,但是一定要坚持,否则前功尽弃。制作PCB板时要避免出现断线,断线给调试带来很

9、大不便,腐蚀工作也要做好。焊接器件时要使板子进尽可能的美观,并且焊好每一个结点。调试是收尾工作,却也是决定成败的关键,调试成功了便制作成功了,如果调试不成功,则看不到效果。这也是最让人遗憾的。调试最是让人头痛也是最耗时间的事情。这也是动手能力最强的工作,需要耐心,需要毅力,这个过程也能使我们更进一步熟悉电路板,并理解电路设计原理,否则是没法调试的,要一级一级地调试,其实只要前期做得好,调试工作就不难。该清楚每一级输出情形,按照这个情形去调试,直到满足要求,而要考虑到的因素很多。我觉得最先要做的是保证测量仪器是好的,否则会做很多无用功甚至陷入深渊,接着首要的是确保地线跟电源线正确输入。要检查电路

10、,要检查焊盘是否焊好,要测试元件是好是坏,要检查有没有断线等等。总之整个工作很费时,很麻烦,不过当看到自己的数字电压表实现的时候却是最高兴的一件事。而学我们这个专业的同学又必须要掌握这样难得的机会,还有老师指导,还有同学可以讨论。从这次课程设计中我获益匪浅。同时也总结了几点。首先电路设计是细致活,切不可大意,要有足够的耐心和毅力,同时这也是建立在兴趣之上的。七、参考文献1、华中科技大学电子技术课程组编,康华光主编,电子技术基础数字部分(第五版).高等教育出版社,2006年2、谢自美主编.电子线路设计实验第三版.华中科技大学出版社,2006年3、张肃文,陆兆熊.高频电子线路(第三版).北京高等教

11、育出版社,1993年附录一:源程序代码主程序:#include /头文件#include /头文件#include#include#include#include#include#include#include void main()while(1) write_com(0x01);lcd_init(); display_voltage(); 1、宏定义和定义变量:#define uchar unsigned char /宏定义#define uint unsigned intuchar table= measurement: ;uchar range5=RANGE020V: ;uchar r

12、ange50=RANGE02A: ;uchar range500=RANGE0100K:;uchar warning=Please Choice! ;/*uchar error=error!; */ uint measure10; sbit key3=P27;sbit key0=P22;sbit key1=P21;sbit key2=P20;sbit lcd_rs=P23; / 定义液晶的rs端口sbit lcd_rw=P24; / 定义液晶的rw端口sbit lcd_en=P25; sbit back=P26;sbit spk=P27; / 定义液晶的en端口sbit cs=P32; / 定

13、义AD的cs端口sbit rd=P31; /定义AD的rd端口sbit wr=P30;/sbit dula=P37;sbit INTR=P37; /定义AD的wr端口uint temp,i,A1,A2,A3,A4; /定义变量 uint date;2、延时部分:void delay(uint z) uint x,y; for(x=z;x0;x-) for(y=110;y0;y-);void delay_lcd()/1602指令之间延时 uint x=5; while(x-);3、AD转换和数据传送: void AD_init() /初始化ADC0804 cs=0; wr=1; _nop_();

14、 wr=0; _nop_(); wr=1; uint AD_switch() /AD转换部分 uint temp; P1=0xff; rd=1; _nop_(); rd=0; _nop_(); temp=P1;/将转后的原始值返给单片机P1口 return temp;uint AD_smooth()/软件滤波 uint xx,i,temp; AD_init(); for(i=0;i20;i+) measurei=AD_switch(); delay(10); /每隔10us ADC转换并采集一次数据,将得 /到的数据放到数组中,采集十个数据 for(xx=0;xx20;xx+) /将十个数据冒泡法排序 for(i=xx

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

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