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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

数字电压表报告Word下载.docx

1、2、精度误差0.3以内;3、采用595芯片实现静态显示;4、用0809进行模数转换; 1.2 方案论证1、主控芯片 方案1:选用专用电压转化芯片INC7107实现电压的测量和实现。用四位数码管显示出最后的转换电压结果。缺点是精度比较低,且内部电压转换和控制部分不可控制。优点是价格低廉。 方案2:选用单片机AT89S52和A/D转换芯片ADC0809实现电压的转换和控制,用四位数码管显示出最后的转换电压结果。缺点是价格稍贵;优点是转换精度高,且转换的过程和控制、显示部分可以控制。 基于要求,我们优先选用了:方案22、显示部分选用4个单体的共阳数码管。优点是价格比较便宜;缺点是焊接时比较麻烦,容易

2、出错。选用一个四联的共阳数码管,外加四个三极管驱动。这个电路几乎没有缺点;优点是便于控制,价格低廉,焊接简单。 第二章 硬件 2、1 原理图设计与分析单片机硬件系统的设计一般要注意以下几个问题:1、尽可能选择标准化、模块化的典型电路、提高系统的灵活性;2、尽可能选择功能强、集成度高、标准化的集成电路芯片,提高系统的可靠性,降低制作成本;3、选择通用性强、市场货源充足的元器件,增强系统的可维护性;4、在系统设计中,应留有一定的余量,尤其是在进行存储器扩展和I/O接口扩展时,为后期系统的升级和维护打下基础;5、在系统设计的工艺上,要考虑整个系统的安装、调试和维护的方便性;6、在硬件系统设计中,还要

3、针对系统的运行的可靠性,在硬件上考虑系统的抗干扰设计。结合以上几点以及设计内容的要求,我们设计的数字电压表用到了一下几块芯片:STC 89C52、ADC0809、共阴数码管、74HC595。下面对这三个模块进行分析。1、STC 89C52数据处理模块:这一模块主要是程序,硬件没有多少内容,只是单片机必备的时钟电路和复位电路。其复位电路有两种:1、上电复位;2、按键复位。我们采用的是上电复位,电路图如下: 图一2、ADC0809数模转换: ADC0809 是8位逐次逼近型A/D转换器。它由一个8路模拟开关、一个地址锁存译码器、一个A/D 转换器和一个三态输出锁存器组成。多路开关可选通8个模拟通道

4、,允许8 路模拟量分时输入,共用A/D 转换器进行转换。三态输出锁器用于锁存A/D 转换完的数字量,当OE 端为高电平时,才可以从三态输出锁存器取走转换完的数据。各个引脚的功能如下:v IN0IN7:8 条模拟量输入通道 v ADDAC:8路模拟开关的地址选通信号输入端,作为地 址线选通某一路通道 v ALE:作为地址锁存允许输入线,高电平有效 v ST ART :启动A/D转换控制信号输入端。当START 上跳沿时,所有内部寄存器清零;下跳沿时,开始进行A/D 转换;在转换期间,START应保持低电平。 v EOC:转换结束信号输出端。当EOC 为高电平时,表明转换结束;否则,表明正在进行A

5、/D 转换。v OE:输出允许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。OE1,输出转换得到的数据;OE0,输出数据线呈高阻状态。D7D0 为数字量输出线。v CLK:时钟输入信号线 v VREF(),VREF()为参考电压输入,一端接+5V,另一端接地。我选用的是0通道,其电路图如下:图二3、显示模块; 1、共阴极数码管我选用的是SM4205,我用了四个数码管,第一个用来显示是电压整数部分及小数点,其他三个数码管用来显示小数点部分。 2、74HC595是一款漏极开路输出的CMOS移位寄存器,输出端口为可空控的三态输出端,亦能串行输出控制下一级级联芯片。特点: 1.高速移位时钟频

6、率Fmax25MHz 2.标准串行(SPI)接口 3.CMOS 串行输出,可用于多个设备的级联 4.低功耗:TA =25时,Icc=4A(MAX)管脚图: 图三(1)QAQH:三态输出管脚,即并行输出口;(2)SQH:串行数据输出口;(3)SCLK:移位寄存器清零端;(4)SCK:数据输入时钟线;(5)RCK:输出存储器锁存时钟线;(6)OE:输出使能;(7)SI:串行数据输入口;3、电路图如下: 图四其工作设置如下:SCKRCK OE SCLRSISQH Qn L L NC MR为低电平时紧紧影响移位寄存器 L L 空移位寄存器到输出寄存器 H Z 清空移位寄存器并行输出为高阻状态 H Q6

7、 NC 逻辑高电平移入移位寄存器状态0,包含所有的移位寄存器状态移入。例如以前的状态6(内部Q6”)出现在串行输出位 L NC Qn 移位寄存器的内容到达保持寄存器并从并口输出 H Qn 移位寄存器内容移入先前的移位寄存器的内容到达保持寄存器并输出 2、2 PCB的制作与腐蚀一、PCB的制作:1、在prote绘制原理图如下图2、绘制PCB图: 先返回到Document文件夹,单击右键选择New,创建电压表.pcb文件,双击此文件,将其打开;在KeepOutLayer层上描画PCB的边缘线;然后选择Design|Netlist命令导入前面生成的网络表,单击Excute按钮,将网络表中的所有元件装

8、载入PCB图中;换到底层对其进行布局;将线的宽度设为0.8mm,对布局好后的图进行连接即可。2、电路板的腐蚀: PCB画好后,操作如下:(1)1、FilePrint/Preview; 2、右击Multilayer composite Print选Propertise; 3、选中show Holes和Black&White,单击OK; 4、右击Topverlay点Delet即可; 图五 5、选择打印。 (2)1、将打印出来的图纸覆盖在电路板上,用高温将纸上的碳转 印到电路板的覆铜面; 2、将板子放在氯化铜的腐蚀液中,将多余的铜腐蚀掉后,取 出板子; 3、再有焊盘的地方打上孔,再讲打印的图纸进行镜

9、像处理后 打印出来,用相同的方法将图纸覆盖在电路板的未覆铜面; 4、在板子上把器件焊接即可。第3章 软件设计 3、1程序设计与流程图单片机软件系统的设计一般要注意以下几个问题:(1)采用模块化设计方法,将系统软件分成若干相对独立的部分, 各功能程序实行模块化、子程序化,使软件总体结构清晰、简洁,流程合理,既便于调试、链接,又便于修改;(2)合理分配系统的资源,包括存储器、定时器、计数器、中断源等;(3)在编写程序的过程中,应养成添加注释的习惯,提高程序的可读性;(4)在软件设计中也要进行抗干扰程序设计,增强系统工作的可靠性。软件部分设计主要是程序的设计,数字电压表程序的设计主要分为这么几个模块

10、:选通ADC808哪一路进行数据采集、启动ADC808工作、数据处理、扫描选通、显示。主程序如下:void main()uchar temp;TMOD=0x21;/设置定时器0为方式1,定时器1为方式2 TH0=(65536-10000)/256;/T0设置为10ms TL0=(65536-10000)%256; TH1=256-2; TL1=256-2; ET0=1;/开中断 ET1=1; EA=1; TR0=1;/启动定时器T0 TR1=1; START=0;/ADC0809初始化 START=1; OE=1;/将单片机的引脚设置成输入状态 while(1) temp=ADC0809();

11、 covert(temp);/每1s读一次数据并转换为显示的数据 display();/调用显示子函数 采用的是中断定时,产生脉冲来驱动ADC0809,其驱动程序如下:void time0() interrupt 1 using 1TH0=(65536-10000)/256;/重赋初值void time1() interrupt 3 using 3CLK=CLK;ADC0809的驱动设置程序如下:uchar ADC0809()uchar d; _nop_();/启动ADC089,开始A/D转换 while(EOC=0);/等待A/D转换结束 OE=1;/允许ADC0809输出 d=data_p

12、oint;/读入数据 OE=0;/禁止ADC0809输出 return d;/返回A/D转换数据74HC595的串口转并口的静态输出程序如下:void write_595(uchar d)uchar i; for(i=0;i8;i+) d=d1; dsin=CY; sh_cp=1; sh_cp=0;void out_595()uchar m; for(m=0;m32;m+) st_cp=0; st_cp=1;void display() sh_cp=0; write_595(tableq); write_595(tablep); write_595(tablen); write_595(tab

13、le1k); out_595();数据处理的计算程序如下:void covert (uchar y)k=y/51;/获得整数部分 o=(y%51)*10;/小数部分 n=o/51;/第一位小数 o=o*10; p=o/51;/第二位小数 o=0*10; q=o/51;/第三位小数其设计流程图如下: N Y 图六 3.2 程序仿真 一、仿真在proteus中画出仿真原理图,把编好的程序,生成HEX文件加载到仿真图中,仿真如下图七第4章 调试(故障分析与解决方法)1、ADC0808不工作,仿真时clock端一直显示高电平: 开始时clock我接的单片机的ALE端,用ALE作为时钟源,同时把单片机的

14、晶振改成3Mhz,这样输入ADC808的频率就是500Khz,这样符合ADC0808工作的条件,但是我在仿真时发现clock端的输入电压一直是高电平,并且仿真时ADC808不工作,所以我把clock输入端直接接数字时钟,并将其频率设置为500khz,这时仿真时问题得以解决。2、仿真时读数没有按预期的显示:在检查几遍程序后,确定程序是完全没有出错的,所以把视线注意到连线上,由于读数的值并没有出现不在0-9范围内的,所以确定显示部分的连线没有出错,为什么读数是错误的,所以只能是ADC808的连线问题,仔细对照ADC808的说明书,发现原来自己把ADC0808的数据输出端的高低端接错了,改变后数据显

15、示是正确的。3、把程序下载到电路板时数码管不全亮:因仿真时显示正确,所以问题不会出现在软件上。在对硬件进行检查后,发现是第三个595芯片10和16的电源管脚没有接在一起,在两管脚接上飞线后,显示正常。4、再下载程序的过程中找不到串口: 在下载程序时无法下载,因是接口找不到,所以应是硬件问题。检查后,是时钟电路的晶振一个管脚没有焊接,接好后,程序顺利下载,显示正常,此次设计成功。第五章 附件 附件一原理图:附件二PCB图:附件三仿真图:附件四程序:#includeintrins.h#define uchar unsigned char#define uint unsigned int#defin

16、e data_point P0/定义数据读入口sbit sh_cp=P16;/移位寄存器时钟输入sbit dsin=P15;/数据串行输入sbit st_cp=P17;/存储寄存器时钟输入/*定义ADC0809的控制引脚*/sbit EOC=P22;sbit OE=P21;sbit START=P23;sbit CLK=P20;uchar table1=0xbf,0x86,0xdb,0xcf,0xe6,0xed;uchar table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;uchar k,n,p,q,o;/*74HC595的显示程序*/*定义ADC0809读入数据子函数,并通过函数返回*/*显示数据转换子函数*/*主函数*/*T0中断程序*/

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

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