毕业设计论文基于单片机的直流数字电压表

上传人:仙*** 文档编号:34970245 上传时间:2021-10-24 格式:DOC 页数:37 大小:858.50KB
收藏 版权申诉 举报 下载
毕业设计论文基于单片机的直流数字电压表_第1页
第1页 / 共37页
毕业设计论文基于单片机的直流数字电压表_第2页
第2页 / 共37页
毕业设计论文基于单片机的直流数字电压表_第3页
第3页 / 共37页
资源描述:

《毕业设计论文基于单片机的直流数字电压表》由会员分享,可在线阅读,更多相关《毕业设计论文基于单片机的直流数字电压表(37页珍藏版)》请在装配图网上搜索。

1、河北大学工商学院装订线 本科生毕业论文(设计) 题目: 基于单片机的直流数字电压表 学 部 信息科学与工程学部 学科门类 工学 专 业 电气工程及其自动化 学 号 2008480358 姓 名 指导教师 2012年5月21日基于单片机的直流数字电压表摘要本文介绍一种基于AT89C51单片机为主要控制器件,采用ADC0809高精度、逐次逼近式A/D转换器的8路直流式数字电压表。主要包括硬件电路设计和软件设计两部分。硬件电路主要由四个模块组成:通路选择模块、A/D转换模块、数据处理模块以及显示模块。通路选择模块主要由按键选择电路组成,负责8路模拟通道的选择。A/D转换模块采用ADC0809完成,负

2、责把采集到的模拟量转换为相应的数字量再传送到数据处理模块。数据处理模块则由AT89C51完成,其对ADC0809传送来的数字量进行一定的数据处理,产生相应的显示码送到显示模块进行显示,并负责控制ADC0809和读取按键的工作。输出显示模块采用4位一体的7段LED数码管,负责将所选通道数以及该通道电压值显示在数码管上。软件设计部分主要包括主程序以及初始化程序,按键读取程序,中断程序,显示程序等几个子程序模块。通过按键的选择,该数字电压表可以测量8路模拟电压值,在多点巡回检测和过程控制、运动控制中应用十分广泛。关键词:单片机;数字电压表;A/D转换;ADC0809Design of DC Digi

3、tal Voltmeter Based on Single-chip MicrocontrollerAbstractThis paper introduces a kind of new method about DC digital voltmeter which takes the Micro Controller Unit AT89C51 as the primary control component and uses the high-precision, successive approximation A/D converter ADC0809. It mainly includ

4、ed hardware circuit design and software design. The hardware circuit is mainly composed by four modules: path selection module, A/D conversion module, data processing module and display module. Channel selection module composed of a key selection circuit, which is used for the selection of 8 analog

5、channels. A/D conversion module uses ADC0809 to finish. It puts the analog conversion for the digital quantity, and then the result is transmitted to the data processing module. The data processing module is completed by the AT89C51. On one hand, the ADC0809 sends the digital quantity to certain dat

6、a processing to produce a corresponding display codes which are sent to the display module for the show of voltage. On the other hand the AT89C51 is responsible for the control of ADC0809 and reading the key. Output display module is composed of a LED digital tube, which is used for displaying the s

7、elected channel and the voltage value of this channel. While the software system consists of main procedure, initialization procedure, key reading program, interrupt program, display program and subroutine module. This digital voltmeter can measure the voltage value of 8 ways by the choice of a key.

8、 It is widely used in the multi-circuit detection and process control, motion control.Key words: Single-chip microcontroller; Digital voltmeter; A/D converter; ADC0809目录1前言12总体设计22.1系统设计任务22.2系统总体设计思路23硬件电路设计33.1A/D转换模块设计33.2数据处理模块简介53.3输出显示模块83.4按键选择电路94系统软件程序设计104.1主程序104.2初始化程序104.3A/D转换子程序104.4L

9、ED显示子程序114.5中断按键查询程序125仿真电路设计145.1仿真环境简介145.2仿真设计结构与思路145.3仿真电路测试与性能分析156系统设计的实现186.1开发环境简介186.2原理图设计186.3印刷电路板设计196.4系统的安装与调试216.5实际电路测试与性能分析217结论23参考文献24致谢25附录261前言在现代测量技术中电压测量有着非常重要的意义。不论是在科学研究还是生产生活中,我们都离不开电压测量。电压、电流、功率是电气测量的三个基本参数,而电流和功率的测量通常又需要借助电压测量来转换得到1。即使是很多非电测量,如质量、压力、温度、速度等的测量,往往也需要转换为电压

10、的测量。作为电测量和非电测量的基础,电压测量技术一直备受关注。数字式电压表(Digital Voltmeter)简称DVM,是指把被测电压的数值通过数字技术变换成数字量,然后用数码管以十进制数字显示被测量电压值。数字电压表最早由美国NLS公司研制成功。高速数字信号处理的需求对电压测量提出了更高的要求,传统的模拟电压表已经不能满足其要求。现代数字电压表具有更高的分辨率,更快的响应速度,更精湛的制造工艺,这些往往是模拟电压表所不能比拟的。在抗电磁干扰、可扩展性和可集成性上数字式电压表也有很大的优越性,现代生产生活中,数字式电压表正在不断的取代模拟指针式电压表。目前,数字式电压表已经广泛应用于电力电

11、子测量、工业自动化仪表、自动测试系统等智能化测量领域,并显示出强大的生命力。因此,对于数字电压表的研究具有重要的现实意义。本设计主要研究以51系列单片机为核心的电压测量系统,通过对ADC0809进行控制将模拟量转换为数字量,并加以显示。通过按键的选择可以实现一个电压表测量多路电压的目的,大大节省了资源,在多点巡回检测和过程控制、运动控制中应用十分广泛。2总体设计2.1系统设计任务(1) 可以测量8路0-5V范围的直流输入电压值;(2) 通过按键选择模拟量输入通道;(3) 测量结果显示在4位7段LED数码管上,测量结果包括通道数以及该通道测量的电压值,其中1位LED数码管显示通道数,3位LED数

12、码管显示电压值;2.2系统总体设计思路根据设计要求,选择AT89C51单片机作为核心控制器。A/D转换器采用ADC0809完成,ADC0809的数字量输出端与单片机的接口为P0。为了方便布线,本设计采用4位一体7段LED数码管进行显示,高1位显示通道数,低3位显示该通道的电压值。单片机在没有外接存储器的情况下,ALE产生振荡频率为1/6晶振频率的方波。因此,本设计中ADC0809的CLK由单片机的ALE经过7474四分频后得到500kHz的方波。首先通过按键选择8路模拟通道中的一路,将模拟电压送入ADC0809,ADC0809将采集来的模拟信号转换为数字信号,然后传给单片机。单片机将转换后的结

13、果保存到片内存储区,并对数据进行处理转换为LED数码管显示所需要的数据,最后将结果以十进制形式显示在LED数码管上。总体系统框图如图2-1所示。模拟信号ADC0809单片机数码管显示通道选择模块图2-1系统框图硬件电路设计3.1A/D转换模块设计3.1.1ADC0809芯片简介ADC0809是一种典型的8位逐次逼近型A/D转换器,由一个8路模拟开关、一个地址锁存译码器、一个A/D转换器和一个三态输出锁存器组成2。其内部结构如图3-1所示。多路开关可以选通8路模拟量通道,允许8路模拟量分时输入。三态输出锁存器用来锁A/D转换完成的数字量,OE为高电平时才能取走转换完的数据。ADC0809需要5V

14、单电源供电,转换时间为100us左右,由于其内部没有时钟电路,需要在外部提供500kHz的时钟信号。图3-1ADC0809内部结构3.1.2ADC0809引脚结构(1) VCC:+5V工作电压。(2) GND:地。(3) IN0-IN7:8路模拟量输入端,通过3根地址译码线A、B、C选通其中的一路。(4) D0-D7:8位数字量输出端口,为三态可控输出,可以直接和微处理器数据线连接。D7为高位,D0为低位。(5) REF(+)、REF(-):正、负参考电压输入端,为片内ADC电阻网络的基准电压。(6) ALE:地址锁存允许信号输入端,高电平有效。(7) EOC:转换结束信号输出端,当EOC为高

15、电平时表明A/D转换结束,否则,表明正在进行A/D转换。(8) A、B、C:模拟通道选择地址信号输入端,A为低位,C为高位。地址信号与所选择通道的对应关系如表3-1所示。表3-1地址信号与选中通道的对应关系地 址选中通道ADDCADDBADDA000011110011001101010101IN0IN1IN2IN3IN4IN5IN6IN7(9) START:A/D转换启动信号输入端,ST为上升沿时内部寄存器清零,为下降沿时,进行A/D转换,转换时ST应保持低电平。(10) OE:输出允许控制引脚,为高电平时输出转换得到的数据,为低电平时输出数据线呈现高阻状态。(11) CLK:时钟信号输入端,

16、通常使用频率为500KHZ。ADC0809引脚结构如图3-2所示。图3-2ADC0809引脚结构3.1.3ADC0809的转换原理ADC0809进行A/D转换时,可以采用查询或者中断的方式判断A/D转换是否完成。本设计采用查询EOC的标志信号来检测A/D转换是否结束,如果转换结束则把数据送给单片机,经过数据处理现实在数码管上。A/D转换之前首先选择通道数,锁定地址,令ST=0,ST=1,ST=0产生启动转换的正脉冲信号,开始转换。EOC信号为低电平时表示转换正在进行中,等到转换结束后EOC变为高电平。单片机检测到EOC为高电平后,置位OE输出允许,打开三态门,读取转换结果。其转换时序图如图3-

17、3所示。图3-3ADC0809工作时序图3.2数据处理模块简介3.2.1AT89C51单片机简介AT89C51是美国ATMEL公司生产,低电压、高性能CMOS8位微处理器,片内含有4K字节FLASH存储器(FPEROMFlash Programmable and Erasable Read Only Memory),128字节随机存储器。该器件采用ATMEL高密度非易失存储技术制造,与MCS-51指令集和输出引脚相兼容3。作为本设计中的核心部件之一,AT89C51负责检查通道选择按键,控制ADC0809芯片,以及对A/D转换结果进行数据处理,使转换结果和通道数显示在四位七段LED数码管上。下图

18、3-4为双列直插型AT98C51单片机的实物图图3-4双列直插型AT89C513.2.2AT89C51的引脚介绍本设计中采用ATMEL89C51单片机,采用40引脚双列直插封装(DIP)方式。(1) 电源引脚VCC(40引脚):接+5V电源。GND(20引脚):接地。(2) 时钟电路XTAL1(19引脚)和XTAL2(20引脚):片内振荡器输入线,应用中常见的连接方式有内部方式和外部方式,如图3-5所示。本设计采用的是内部方式,即这两个引脚用来外接石英晶体和微调电容。图3-5电源接入方式(3) RST(9引脚)复位信号引脚,当此引脚上出现至少两个机器周期的高电平脉冲时单片机复位。复位电路通常可

19、以分为上电复位和按键复位两种方式,为了方便调试,本设计中采用的是按键复位。(4) /(31引脚) 外部程序存储器访问允许控制端。EA=1时,先访问内部程序存储器,超过容量再自动转向外部程序存储器。EA=0时,不管是否有内部程序存储器,都只访问外部程序存储器。(5) /(30引脚)地址锁存允许信号端。当访问外部存储器时,用于锁存地址低位字节(P0口输出)。在平时,ALE不断的以振荡器频率1/6的频率周期输出固定的脉冲信号,可以用作对外输出的脉冲。本设计中正式利用这一点,将ALE产生的脉冲信号经过7474进行四分频得到ADC0809所需要的500KHZ脉冲。分频电路将在下面介绍7474芯片时介绍。

20、(6) (29引脚)片外程序存储器选通信号。由外部程序存储器取指令(或常数)时,每个机器周期两次低电平有效。由于本设计中并没有应用外部存储器,所以该引脚做悬空处理。(7) P0.0-P0.7输入输出引脚,即P0口。P0是一个8位漏极开路型双向I/O口。由于P0口内部没有上拉电阻,是开漏的,不管它的驱动能力多大,相当于它是没有电源的,需要外部电路提供,绝大多数情况下读P0口时必须加上拉电阻。在访问外部程序和外部数据存储器时,P0口作为地址/数据复用,不需要外接上拉电阻。(8) P1.0-P1.7输入输出引脚,即P1口,是一个普通8位双向I/0口,内部含有上拉电阻,用于传送用户数据和输出数据。(9

21、) P2.0-P2.7输入输出引脚,即P2口。P2口是一个带内部上拉电阻的8位双向I/O口。扩展外部存储器时,当做地址总线使用,做一般I/O口时,内部有上拉电阻。它的第一功能可以和P0口引脚的第二功能配合使用,用于输出片外存储器的高8位地址,共同选中片外存储器单元。(10) P3.0-P3.7输入输出引脚,即P3口。P3口第一功能和上面介绍的三个端口的第一功能相同,除了第一功能这8个引脚还有专门的控制功能。各个引脚的第二功能如表3-2所示。表3-2P3口各引脚第二功能P3口各位第二功能P3.0 RXT(串行口输入)P3.1 TXD(串行口输出)P3.2/INT0(外部中断0输入)P3.3/IN

22、T1(外部中断1输入)P3.4T0(定时器/计数器0的外部输入)P3.5T1(定时器/计数器1的外部输入)P3.6/WR(片外数据存储器写允许)P3.7/RD(片外数据存储器读允许)3.3输出显示模块3.3.1LED数码管的模型为了方便布线,本设计中采用4位一体共阴7段LED数码管,型号为LG5641AH,模型如图3-6所示。其中a、b、c、d、e、f分别为LED各段的公共输出端,1、2、3、4分别为LED每一位的位选端,dp为小数点引出端。由于4位LED阴极的各段已经在内部连接在一起,所以必须采用动态扫描方式显示。LG5641的第一位显示所测量模拟量的通道数,后三位显示电压值,其中前一位显示

23、电压的整数位,后两位显示电压的小数位。图3-6LED数码管模型3.3.2LED数码管接口及驱动简介由于AT89C51没有足够的驱动能力直接驱动LED数码管,所以,通常需要采用专门的驱动芯片产生足够的电流,使数码管正常工作。本设计中LED数码管段选端口A-G分别与AT89C51的P1.1-P1.7口连接,为了提供足够的驱动,本设计中P1口加上拉电阻,位选端口分别通过驱动芯片7404连接至P2.0-P2.3口。如图3-7所示。图3-7LED与AT89C51接口及驱动电路3.4按键选择电路由于ADC0809提供一个8通道的模拟多路开关和通道寻址逻辑,本设计充分利用这一点,通过按键控制可以对8个端口的

24、模拟信号分时进行A/D转换。该设计在多点巡回检测和过程控制、运动控制中得到十分广泛的应用。按键选择电路如图3-8所示。图3-8按键选择电路4系统软件程序设计本设计中软件程序设计采用C语言编写,主要由主程序、A/D转换子程序、LED显示子程序、中断按键查询子程序、初始化子程序和延时子程序组成。系统软件的代码见附录1所示。4.1主程序结束开始初始化A/D转换子程序LED显示子程序主程序包含初始化子程序、A/D转换子程序、LED显示子程序。主程序流程图如图4-1所示。图4-1主程序流程图4.2初始化程序初始化即对将要用到的AT89C51单片机内部部件进行初始工作状态设定。初始化子程序主要的工作是设置

25、定时器工作方式,初始值设置,打开中断,打开定时器等。4.3A/D转换子程序A/D转换子程序用来对ADC0809的8路通道模拟量进行A/D转换,将转换结果保存到含8元素的数组中,供显示模块使用。程序流程图如图4-2所示。开始结束设置转换通道保存A/D转换值输出允许OE=1START下降沿启动A/D转换ALE 上升沿读入通道地址,START 上升沿清内部寄存器输出禁止OE=0A/D是否转换结束否是图4-2A/D转换子程序流程图4.4LED显示子程序本设计采用动态显示方式,LED显示器每一位数码管的8根段选线并联在一起,由8位I/O口P1控制,位选线由P2的低四位分别控制。由于段选线并联,所以各位显

26、示器的位选线分时轮流选通,否则,各位数码管就会显示相同的字符。为了稳定,在某一个时刻只能选通显示器的某一位,并送出相应的段码,另一时刻选通另一位,再送出其相应的段码,依次循环。由于人眼存在视觉暂留效应,每位数码管显示的时间间隔需要足够短就可以给人以多为数码管同时显示的假象。但是,这个时间间隔也不能太短,太短就会使发光二极管导通时间不够,从而显示不清楚。由于51系列单片机不擅长于处理浮点运算,该模块中进行了一定的数据处理。LED数码管显示子程序流程图如图4-3所示。开始数据处理点亮数码管1点亮数码管2点亮数码管4点亮数码管3结束向P1口送段码向P2口送位选码关数码管,消重影延时图4-3LED显示

27、程序流程图4.5中断按键查询程序本设计采用机械式弹性按键,因而存在机械触点的弹性作用,使得按键在闭合和断开的瞬间有一连串的抖动。抖动时间由按键的机械特性决定,一般为5ms至10ms。在抖动的过程中引起电平信号的波动,从而导致CPU误判为多个按键操作,带来不必要的麻烦。因此消除按键抖动的影响十分有必要。按键的消抖通常分为硬件消抖和软件消抖,本设计采用采用软件消抖的方式。当检测到有按键按下时延时10ms,然后再确认电平是否仍然保持闭合状态电平,如果保持闭合状态电平,则确认为真正有按键按下。当按键释放时,同样也要延时10ms,然后再判断按键是否是真正的释放了按键。为了提高系统的实时性和效是是否否开始

28、结束按键是否按下开中断关中断通道数number=0通道数number+1通道数是否大于7设置波特率率本设计采用中断方式判断按键状态,程序流程图如图4-4所示。图4-4中断按键查询程序流程图5仿真电路设计5.1仿真环境简介Proteus是由英国Labcenter electronics公司出版发行的EDA工具软件,不仅具有其它EDA工具软件所具有的一般仿真功能,还能仿真单片机及其外围器件,是目前最好的单片机及外围器件的仿真工具之一4。Proteus具有其它EDA工具软件(如multisim),可以实现原理布图、PCB自动或人工布线 、SPICE电路仿真 。此外,Proteus还具有其独特的优点。

29、它可以实现互动的电路仿真 ,用户甚至可以实时采用诸如RAM,ROM,键盘,马达,LED,LCD,AD/DA,部分SPI器件,部分IIC器件。可以仿真51系列、AVR、PIC、ARM、等常用主流单片机,2010年又增加了Cortex和DSP系列处理器,并持续增加其他系列处理器模型。而且能够直接在虚拟原型上编程,配合显示及输出,可以观察运行后输入输出的效果。在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。由于其功能丰富且易于操作,受到广大单片机爱好者以及从事单片机开发的科技工作者的青睐。作为一款世界著名的EDA工具,Proteus可以做到从原理图布图、代码调试到单片机与外围电路协同仿

30、真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。随着科技的发展,“计算机仿真技术”已成为许多设计部门重要的前期设计手段。它不但设计灵活,结果和过程统一,而且大大缩短了设计时间,减少了开发耗资,同时还可以降低工程制造的风险。Proteus主要分为四大功能模块,智能原理图设计(ISIS),完善的电路仿真功能(Prospice),独特的单片机协同仿真功能(VSM),实用的PCB设计平台5。Proteus包含丰富的器件库,有超过27000种元器件。拥有智能的器件搜索功能,可以通过模糊搜索实现快速定位所需器件。能够智能化连线,使连接导线简单快捷,大大缩短了绘图时间。使用总线器件和总线布线可以

31、使电路设计简明清晰。通过个性化设置,可以生成可供WORD、POWERPOINT等使用的BMP图纸。包含多样的激励源,包括直流、正弦、脉冲、音频、FM、数字时钟等。具有丰富的模拟仪器,如示波器、逻辑分析仪、信号发生器、直流电压/电流表、交流电压/电流表、频率计数器等。此外还包含高级图形仿真功能,可以精确分析电路的多项指标,如频率特性、噪声、失真、傅里叶频谱分析等。支持通用外设模型,如LCD模块、LED七段数码管、按键、电动机、电子温度计等。支持单片机汇编语言的仿真,内带8051、AVR、PIC的汇编编译器,也可以与第三方编译环境结合,进行高级语言的仿真调试。本设计采用第二种方式,结合Keil集成

32、编译环境,采用C语言进行仿真调试。由于本设计的PCB设计部分在Protes99SE环境中设计完成,Proteus的PCB设计平台不作详细说明。5.2仿真设计结构与思路本数字电压表应用系统硬件部分由单片机、分频器、A/D转换器、按键处理电路、数码管显示电路组成。由于ADC0809进行A/D转换需要合适的CLK信号,为充分利用已有资源,本设计将单片机ALE产生的方波经7474四分频得到500kHz的方波。本设计中ADC0809的参考电压VREF为5V,转换后的数据要由单片机进行处理,然后将结果显示在数码管上。显示的电压值应为D*5/255*Vin,ADC0809把模拟量转换成16进制的D,Vin为

33、模拟通道的输入电压。由于单片机不擅长于处理浮点运算,本设计将Vin扩大100倍。本设计的数字电压表可以测量0-5V的电压值,ADC0809为8位模数转换器,最大分辨率为0.0196V,若需要更高的精度,可以采用12位或者更高位的A/D转换器。系统由A/D转换模块、数据处理模块、通道选择模块以及显示模块组成,电路简单,性能稳定。为了方便演示,设计采用8个可调变阻器输出8路可调模拟电压作为A/D转换模块的输入量,通过按键的选择可以方便地对其中的任意一路进行A/D转换,并将所选通道数与该通道电压值显示在数码管上。电路图如图5-1所示由于Protues7.7中没有ADC0809,用ADC0808代替。

34、图5-1系统仿真图5.3 仿真电路测试与性能分析 运行仿真电路,依次点击按键8次,记录实际电压与测量电压,验证按键选择通道的功能,并验证电路对每一路通道的电压测量功能。仿真电路中8路模拟电压量的显示结果如下图5-2所示。图5-2仿真测试结果通过对测试电压与真实电压的对比,对仿真电路进行误差分析,验证该仿真简易直流数字电压表的精确度。为了方便,本部分只列出其中第2通道电压的误差分析结果,仿真电路误差分析见表5-1所示。表5-1仿真电路2通道误差分析表标准电压值/V简易电压表2通道测量值/V绝对误差/V0.000.000.000.510.510.001.271.260.011.561.560.00

35、2.332.330.002.852.850.003.193.190.003.503.500.004.004.000.004.995.000.01由于单片机AT89C51为8位处理器,当输入电压为5.00V时,ADC0809的输出数据值为255(FFH),因此其最高分辨率为0.0196V(5/255)。由此可知电压表的最高分辨率只能到0.0196V,从上表可看到,仿真测试电压一般都是以0.01V的幅度变化。该设计误差范围在合理范围之内,符合预期设计要求。6系统设计的实现6.1开发环境简介本设计采用Protel99SE进行单片机系统的硬件原理图和PCB板的设计。Protel99SE是一款由Alti

36、um公司推出应用于Windows操作系统的EDA(Electronic Design Automation)设计开发工具,采用设计库管理模式,可以进行联网设计,具有很强的数据交换能力和开放性。所有Protel99设计文件都被存储在唯一的综合设计数据库中,并显示在编辑窗口。按系统功能划分,Protel99SE主要包含两大部分,电路工程设计部分和电路仿真与PLD部分。其中电路工程设计部分包括电路原理设计部分(Advanced Schematic 99)、印刷电路板设计系统(Advanced PCB 99)、自动布线系统(Advanced Route 99),电路仿真与PLD部分包括电路模拟仿真系统

37、(Advanced SIM 99)、可编程逻辑设计系统(Advanced PLD 99)、高级信号完整性分析系统(Advanced Integrity 99)6。电路原理设计部分主要负责绘制、编辑和修改电路原理图,查看和编辑电路图和零件库的各种报表,更新和修改电路图零件库。印刷电路板设计系统主要负责绘制、编辑和修改电路板,更新和修改零件封装,管理电路板组件7。自动布线系统主要用于印刷电路板的自动布线,以实现PCB设计的自动化。本设计中只用到了其中的电路工程设计部分,电路仿真在Protues中完成,因此不在详细介绍Protel99SE的电路仿真与PLD部分。6.2原理图设计在印刷电路板的设计过程

38、中,电路原理图的设计是整个设计的基础,因而必须保证原理图设计的正确和合理,才能使后面的各项工作顺利进行。原理图的设计可以按下面的过程来完成。(1) 启动原理图编辑器:启动Protel99SE设计系统后,新建一个原理图文件,进入原理图编辑器环境,开始原理图的设计工作。(2) 设计图纸尺寸和设置系统参数:打开Protel99SE后,首先要设计好图纸尺寸,图纸大小根据电路图的规模和复杂程度而定。为了准确方便地绘图,保证导线和元器件引脚之间的平滑连接,应该设置好系统参数。包括设置栅格大小和类型,光标类型等。本设计采用系统默认值。(3) 放置元器件:根据设计电路图的需要,将元器件从元器件库中取出放置在图

39、纸的适当位置。对元器件的属性进行修改,包括元器件的序号、封装等。(4) 原理图布局布线:电路连线是正确表示电路连接关系的重要环节。利用Protel99SE提供的布线工具,将图纸上的元器件用具有电气意义的导线、符号链接,构成一个完整的原理图。合理地安排布局,使原理图清晰明确,为以后生成PCB图奠定基础。布线时避免线路交叉和重复,并尽量保持布线简洁美观。(5) 检查原理图的电气参数:电气检查在原理图和PCB设计中有非常重要的作用,利用电气检查可以迅速找出原理图中的电气连接错误,以防影响后续PCB图的设计。(6) 生成电路设计报表:通过Protel99SE提供报表文件生成工具可以生成各种报表,其中最

40、重要的是网络报表。网络报表以文本格式集成了电路原理图的所有信息,不仅包括了各元器件引脚定义和连接信息,还包括了各元器件的封装信息。它是电路原理图与印制电路板设计之间的一座桥梁,是电路板设计的灵魂,为后续的电路板设计做准备。(7) 文件保存及输出:最后的步骤是原理图设计结果的保存及输出。结束 设置图纸尺寸 设置系统环境 放置元器件 原理图布线 输出报表 启动原理图编辑器 存盘打印原理图的设计流程图如下图6-1所示。原理图见附录2。图6-1原理图设计流程图6.3印刷电路板设计完成原理图设计,以及生成网络表格后开始印制电路板设计。电路系统设计最终目的是为了设计出电子产品,而电子产品的设计就是通过印刷

41、电路板的设计完成的,因此印刷电路板的设计在整个设计中最为重要。印刷电路板设计流程步骤如下。(1) 启动Protel99SE的PCB编辑器:新建一个PCB文件启动PCB编辑器,然后进行PCB设计。(2) 规划印刷电路板和设置参数:在设计电路板之前,首先应根据电路系统的规模和复杂程度设置电路板的物理尺寸、电路板的层数(单面板、双面板还是多层板)、接口形式等,然后设置电路板的参数,如布置参数、板层参数和布线参数等。(3) 元器件封装库的加载:原理图中元器件所需要的所有封装都需要载入,一些常用元件,如电阻、电容、二极管等元件的封装装入比较简单,但对于一些不常用或尺寸不统一的器件,需要在元件封装库编辑器

42、中自己绘制元件的封装。绘制时应注意,根据具体用到的元器件尺寸、引脚粗细、引脚间距等调整焊盘的尺寸、焊盘间距。(4) 装入网络报表:网络报表是电路原理图与印制电路板设计之间的一座桥梁,是电路板设计的灵魂。载入网络报表后元件的封装会自动放置在印刷电路板图的电气边界之外。正确装入网络报表对应实现印刷电路板自动布线非常关键。(5) 元器件的布局:元件的布局分为自动布局和手动布局两种方法,但是自动布局的效果比较差,往往会产生一些不符合设计要求的地方,因而可以直接采用手动布线的方式。对元件进行布局时应遵守一定的布局原则,以保证布局的合理性。(6) 布线:布线同样可以分为两种方式,即自动布线和手动布线。不管

43、是哪一种方式,布线之前首先要设置好布线参数和布线规则,如电源线和地线应该设置的宽一些,焊盘的尺寸应该合适等。(7) 文件的保持及输出:保存并打印PCB图。 规划电路板和设置参数 元件封装库加载 装入网络报表及 元件封装 元件的布局 布线 启动PCB编辑器 DRC检查文件保存及输出印刷电路板的设计流程图如下图6-2所示。PCB电路图见附录3。图6-2印刷电路板设计流程图需要说明的是,本设计为了便于演示,采用3个变阻器产生可以调节的模拟电压作为A/D转换模块的输入信号。而为了节约电路板空间以及成本,本设计只添加了3个变阻器。其它模拟电压均由外部提供,通过导线的连接将其送人A/D转换模块的各个通道。

44、6.4系统的安装与调试设计好单片机系统的PCB图后,即可开始电路板的制作。本设计采用双面铺铜板进行手工制板。首先将PCB图打印在双面铺铜的印制板上,然后利用蚀刻液将电路板上没用被油墨覆盖的铜箔腐蚀掉,只保留所设计的电路部分,最后在焊盘上根据设计要求打孔,完成印制电路板制作。制作完成系统的印刷电路板后,把系统中所需的元器件依次焊接到电路板上。由于在进行系统仿真时,系统的软件部分已经调试过,仿真结果也证实了系统软件部分的可行性,因此本部分只介绍系统的硬件调试。首先用数字万用表检查电路板上的短路、断路、线路粘连等现象。由于本设计中印板质量不好,短路和断路的检查尤为重要。在系统调试期间,遇到了不少问题

45、。例如,向板子上烧写程序的过程中发现程序无法下载,经过对电路板上MAX232相关电路的认真检查,并未发现短路或断路等情况,始终未能找出问题。后来在指导老师的建议下更换了一片MAX232芯片,问题得到解决。给电路板烧写程序完成后发现LED数码管显示非常模糊不亮,经过检查断定是P1口驱动能力太弱引起的。但是,这时电路板已经焊接完成,经老师的指导在电路板的背面P1口处焊接上了一个上拉排阻,从而使P1口的驱动加大,解决了数码管不太亮的问题。经过细心调试,基于单片机的数字电压表制作成功。安装调试好的电路板下图6-3 所示。图6-3电路板图6.5实际电路测试与性能分析为了更好的分析本设计的性能,对实际电路

46、测试结果和仿真电路测试结果进行比较。通过对该简易数字电压表与“标准”数字电压表测试结果对比,对实际电路进行误差分析。为了与前面仿真测试部分对应,本部分同样只列出其中第2通道电压的误差分析结果。实际电路的误差分析见表6-1所示。表6-1实际电路2通道误差分析表标准电压值/V简易电压表2通道测量值/V绝对误差/V0.000.010.010.510.510.001.271.270.001.561.560.002.332.330.002.852.860.013.193.190.003.503.510.014.004.000.004.994.990.00结合仿真分析部分的表5-1,对比可知,不管是仿真电

47、路还是实际电路,它们的测试电压一般都是以0.01V的幅度变化。但是实际电路中的测量值比实际值偏大0-0.01,这是因为本数字电压表设计时直接采用5V供电电源作为ADC0809的基准电压,存在一定的误差。经实际测量,供电电源平均为5.02V,故而引起测量电压比实际电压偏大0-0.01V。这个问题可以通过校正ADC0809的基准电压来解决。7结论经过一段时间的努力基于单片机的数字电压表设计成功。根据实际测试,本设计误差小,性价比高,可以用于实际应用中。本设计的一大亮点是可以通过按键的选择测量8通道模拟电压,在多点巡回检测和过程控制、运动控制领域应用十分广泛。在软件设计的过程中,通过对本设计功能模块

48、的划分,将软件编程划分为主程序、A/D转换子程序、LED显示子程序、中断按键查询子程序、初始化子程序和延时子程序,充分体现了C语言编程自顶向下的模块化设计理念,加深了我对结构化语言设计的认识。在系统调试期间,给电路板烧写程序完成后发现LED数码管显示不太亮,经过检查断定是P1口驱动能力太弱引起的。经老师的指导,在P1口处焊接上了一个上拉排阻,问题得以解决。经过细心调试,基于单片机的数字电压表制作成功。通过该毕业设计我对电子设计流程有了更深刻的理解。从软件仿真、印制电路板制作到系统的安装调试遇到了不少问题,对这些问题的解决不仅锻炼了我独立思考的能力,更是一次所学理论与实践相结合的经历,使我受益匪

49、浅。参考文献1古天祥,王厚军,习友宝等.电子测量原理M.北京:机械工业出版社,2006:1811832黄钊李.光强实时监测系统的设计与实现J.东莞理工学院学报,2009,16(1):47503吴戈.案例学单片机C语言开发M.北京:人民邮电出版社,2008:66694周美娟.单片机技术及系统设计M.北京:清华大学出版社,2007:1901925徐爱钧.智能化测量控制仪表原理与设计M.北京:北京航空航天大学出版社,2004:1181216邓涛.Y41冲床安全保护装置的研究设计D.武汉:华中科技大学,2009:1207吴金戌,沈庆阳,郭庭吉等.单片机实践与应用M.北京:清华大学出版社,2002:59

50、638 李光飞,楼然苗等单片机课程设计实例指导M.北京:北京航空航天大学出版社:2004:9129 余永权.ATMEL89系列单片机应用技术M.北京:北京航空航天大学出版社,2002:10711010杨文龙.单片机原理及应用M.西安:西安电子科技大学出版社,1998:7880致谢本论文是在我的指导教师李梅老师的悉心指导下完成的,本文的完成与李老师的辛勤劳动是分不开的,在毕业设计和论文的完成工作中无不倾注着李老师辛勤的汗水和心血。导师渊博的知识、丰富的实践经验、严谨的科研态度、无私奉献的精神使我深受启迪。从尊敬的导师身上,我不仅学到了扎实的专业知识、丰富的实践经验、严谨的科研态度,而且学到了做人

51、的道理。在毕业设计的过程中,李老师对我的细致指导使我少走了很多弯路,为我今后的工作和学习积累了很多宝贵的经验。值此论文完成之际,谨向李老师致以衷心的感谢和崇高的敬意!在我的毕业设计期间,还得到了很多同学的帮助,在与他们的交流和探讨中我学到了很多知识,受到很多启发。在毕业设计的过程中,他们对我提出了很多宝贵的建议和意见,无法一一提及,在此一并向他们表示感谢!对在我多年的学习生涯中给予我关心、理解和支持的父母表示深深的感谢!正是他们无私的付出,才使我得以完成学业,他们的关心和支持给了我极大的信心。最后,我要感谢所有参加论文评审和答辩的各位专家,谢谢你们提出的宝贵意见!附录附录1:系统软件程序代码#

52、include /由于当时实验室有现成的STC89C52芯片,所以本设计采用/该芯片代替AT89C51,头文件用“REGX52.H”#define uchar unsigned char#define uint unsigned intsbit st=P32;sbit oe=P36;sbit eoc=P37;sbit dot=P17;sbit button=P24;uchar code tab=0X3F,0X06,0X5B,0X4F,0X66,0X6D,0X7D,0X07,0X7F,0X6F;/数码管显示段码uint ad_0809,ad_data1,ad_data2,ad_data3,ad_

53、data0;uchar number;/选通的通道数uchar press_flag=0;/按键标志“0”代表未按下,“1”代表按下,“2”代表松开uchar x8=0,0,0,0,0,0,0,0;/八通道数据待存数组void delaynms(uint x);/nms延时程序void display();/显示程序void ad0809();/芯片启动程序/void key();/键扫描程序void init();/初始化程序main()init();while(1)ad0809();/调AD0809 启动子程序/key();/调按键子程序ad_0809=xnumber;/把相关通道数据给a

54、d_0809display();/调显示/初始化子程序void init()number=0;P1=0x00;TMOD=0X01;TH0=(65536-5000)/256;TL0=(65536-5000)%256;EA=1;ET0=1;TR0=1;/nms 延时程序void delaynms(uint x)uchar i;while(x-0)for(i=0;i125;i+);/显示子程序void display()uchar a;ad_0809=ad_0809*100/51;ad_data1=ad_0809/100;/百位ad_data2=ad_0809%100;ad_data2=ad_dat

55、a2/10;/十位ad_data3=ad_0809%10;/个位for(a=0;a10;a+)P1=tabad_data3;/送小数点后第二位显示P2|=0x0e;P2&=0xf7;/选通第四个数码管delaynms(1);P2|=0x0f;P1=tabad_data2;/送小数点后第一位显示P2|=0x0d;P2=0xfb;/选通第三个数码管delaynms(1);P2|=0x0f;P1=tabad_data1;/送整数显示dot=1;/点亮第三个数码管小数点P2|=0x0b;P2&=0xfd;/ 选通第二个数码管delaynms(1);P2|=0x0f; P1=tabnumber;/送通道号显示P2|=0x07;P2&=0xfe;/选通第一个数码管delaynms(1);P2|=0x0f; /模数转换子程序void ad0809()P2&=0x1f;P2=(number7)number=0;press_flag=2; else if(press_flag=2) if(button=1)press_flag=0; ET0=1; TR0=1;附录2:系统原理图附录3:系统PCB图

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!