基于51单片机数字电压表的设计与实现_第1页
基于51单片机数字电压表的设计与实现_第2页
基于51单片机数字电压表的设计与实现_第3页
基于51单片机数字电压表的设计与实现_第4页
基于51单片机数字电压表的设计与实现_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、大连东软信息技术职业学院高职毕业设计(论文)高职毕业设计(论文)系系 所:所: 电子工程系 专专 业:业: 嵌入式系统工程 学生姓名:学生姓名: 学生学号:学生学号: 指导教师:指导教师: 导师职称:导师职称: 论文题目论文题目:基于 51 单片机数字电压表的设计与实现完成日期:完成日期: 2013 年 04 月 22 日 大连东软信息技术职业学院Dalian Neusoft Institute of Information Technology基于 51 单片机数字电压表的设计与实现摘 要数字电压表简称 DVM,它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形

2、式并且加以显示的仪表。数字电压表自从一九五二年以来,随着电子技术的飞跃发展,尤其是目前,做成测量仪表、模拟指示仪表的数字化和自动测量的系统,而得到了很大的发展。数字电压表是从电位差计的自动化这种想法研制出来的,因此即便是最初的数字电压表,其精度也要比模拟式仪表高,而其成本比电位差计也高。以后,DVM 的发展就着眼在高精度和低成本两个方面。单片机可单独地完成工业控制所要求的智能化控制功能,这是单片机最大的特征。本电路主要采用 STC89C52RC 芯片和 ADC0832 芯片来完成一个简易的数字电压表,可以够对输入的 05 V 的模拟直流电压进行测量,并且通过一个 4 位一体的 7 段 LED数

3、码管进行显示。该电压表的测量电路由三个模块组成:A/D 转换模块、数据处理模块及显示控制模块。A/D 转换主要由芯片 ADC0832 来完成,它负责把采集到的模拟量转换成相应的数字量再传送到数据处理模块。数据处理则由芯片 STC89C52RC 来完成,其负责把 ADC0832 传送来的数字量经一定的数据处理,产生相应的显示码送到显示模块进行显示;另外它还控制着 ADC0832 芯片的工作。关键词关键词:单片机,数字电压表,A/D 转换,ADC0832Based on 51 Single Chip Microcomputer Digital Voltmeter Design and Implem

4、entationAbstractReferred to as the digital voltmeter DVM, it is the use of digital measuring technology, continuous analog (DC input voltage) is converted into a discontinuous, discrete digital form and the display of the instrument. Digital voltmeter since its inception in 1952, with the rapid deve

5、lopment of electronic technology, especially as the measuring instruments, the digitization of analog indicating instrument and automatic measurement system, and has been a great development. Digital voltmeter is developed out of this idea from the potential difference of automation, so even if the

6、initial digital voltmeter, its accuracy than analog instrumentation, and its cost is also higher than the potential difference. In the future, the development of the DVM focus on two aspects of the high accuracy and low cost. The microcontroller can be used alone to complete the requirements of mode

7、rn industrial control intelligent control function, which is the biggest features of the microcontroller. The present circuit the STC89C52RC chip and ADC0832 chip to complete a simple digital voltmeter, 05V analog input DC voltage to be measured and integrated by a four 7-segment LED display. The vo

8、ltmeter measuring circuit mainly consists of three modules: A/D converter module, the data processing module and the display control module. The A/D converter chip ADC0832 to complete, it sends it to the data processing module is responsible for the acquisition to analog conversion for the correspon

9、ding digital. STC89C52RC to complete the data processing by the chip, which is responsible for the ADC0832 transferred to digital by a certain data processing to produce the corresponding display code to the display module for display; addition, it also controls the ADC0832 chip.Key words: Singlechi

10、p, digital Display voltmeter, A/D conversion ADC0832目 录摘 要.IABSTRACT.II第 1 章项目概述.11.1 设计的目的.11.2 产品要求.11.3 各模块方案选择及论证.1第 2 章项目实施方案.32.1 概述模数转换芯片 ADC0832.32.2.1ADC0832 内部逻辑结构.32.2.2 工作原理.32.2 控制芯片 STC89C52RC.32.3 LED 数码管的控制显示.4第 3 章电压表原理.53.1 电压表的原理.53.2 电源部分.53.3A/D 转换电路 .63.4 单片机最小系统电路部分.63.5 显示电路部

11、分.6第 4 章项目成果.84.1 软件成果物.84.2 程序设计.84.2.1 主程序设计.84.2.2 中断显示程序.94.2.3 调试与测试.104.2.4 软件介绍.104.3 源程序代码.114.3 硬成果物.144.4 硬件调试.15参考文献.16致 谢.17第第 1 章章项目概述项目概述1.1 设计的目的设计的目的通过制作简易数字电压表,加深对所学专业知识的认识,提高分析、解决工程实际问题的能力,提高对单片机的应用能力,提高收集文献、资料的能力,从而达到综合运用所学的专业知识进行电子产品设计、制作与调试的能力。1.2 产品要求产品要求基本功能:1) 能用数码管显示电压值2) 测量

12、精确度达 0.5V3) 自制的直流稳压电源4) 系统应具备复位功能1.3 各模块方案选择及论证各模块方案选择及论证根据设计要求,系统可分成电压采集模块、A/D 转换模块 、主控模块、显示模块。A/D 转换模块:方案一: A/D 转换器采用 ICL7107 型三位半显示的芯片,输入信号,流经取样电路取样后送到 ICL7107 型三位半 A/D 转换器,只需要很少的简单外围元件,就可组成数字电流表模块,直接驱动三位半 LED 显示器显示,最后输入电流在显示部分显示。由于本人对此电路不熟悉,而且 ICL7107 做的 LED 数字表,最大的缺点就是数字乱跳不稳定,尤其最后一位。所以不采用此方案。方案

13、二: 采用 ADC0832 转换芯片,其中 A/D 转换器用于实现模拟量向数字量的转换,单电源供电。它是具有 8 路模拟量输入、8 位数字量输出功能的 A/D 转换器,转换时间成 100s,模拟输入电压范围为 0V+5V,不需零点和满刻度校准,功耗低,约 15mW。由于模拟转换电路的种类很多,通过对转换速度,精度和价格方面考虑,所以选择方案二采用 ADC0832 为本次设计的转换芯片。接口模块:方案一:用数字电路实现,采用译码芯片 CD4543 作为接口芯片,这种方案能实现功能,但稳定性不高,结构复杂。方案二:采用 STC89C52RC 单片机作为系统的控制单元,通过 A/D 转换将被测值转换

14、为数字量送入单片机中,再由单片机来送显。此方案各类功能易于实现,成本低、功耗低,显示稳定。通过比较,我选择方案二。 第第 2 章章项目实施方案项目实施方案2.1 概述概述模数转换芯片模数转换芯片 ADC0832ADC0832 是典型的 8 位 8 通道逐次逼近式 A/D 转换器,它能和微型计算机直接接。ADC0832 转换器的系列芯片是 ADC0808,能相互替换。2.2.1 ADC0832 内部逻辑结构内部逻辑结构如图 3.1 所示图 2.1 ADC0832 内部逻辑结构2.2.2 工作原理工作原理首先输入 3 位地址,并且使 ALE=1,将地址存入地址锁存器中。此地址经译码选通 8 路模拟

15、输入之一到比较器。START 上升沿将逐次逼近寄存器复位。下降沿启动 A/D 转换,之后 EOC 输出信号变低,指示转换正在进行。直到 A/D 转换完成,EOC变为高电平,指示 A/D 转换结束,结果数据已存入锁存器,这个信号可用作中断申请。当 OE 输入高电平时,输出三态门打开,转换结果的数字量输出到数据总线上2.2 控制芯片控制芯片 STC89C52RCSTC89C52RC 是美国 ATMEL 公司生产的低功耗、高性能 CMOS 8 位单片机。STC89C52RC 片内含有 4k 字节 Flash 闪速存储器,128 字节内部 RAM,32 个 I/O 口线,看门狗(WDT),两个数据指针

16、,两个 16 位定时/计数器,一个 5 向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。并且支持两种软件可选的节电工作模式。空闲方式停止 CPU 的工作,但允许 RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存 RAM 中的内容,但振荡器停止工作并且禁止其它所有部件工作直到下一个硬件复位。由于将多功能 8 位 CPU 和闪烁存储器组合在单个芯片中,ATMEL 的 STC89C52RC 是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。2.3 LED 数码管的控制显示数码管的控制显示LED 数码管模型如图 2.4LED 的段码端口 AG 分别接

17、至 AT89C51 的 P1.0P1.7 口,位选端 14 分别接至 P3.5、P3.4、P3.1、P3.0,如图 2.4ABCDEFGDPQ1Q2Q3Q0图 2.2 LED 数码管模型图 2.3 LED 与 AT89C51 的硬件连线第第 3 章章电压表原理电压表原理3.1 电压表的原理电压表的原理本设计采用 STC89C52RC 单片机芯片配合 ADC0832 模/数转换芯片组成一个简易的数字电压表,电路通过 ADC0832 芯片采样输入口 IN0 输入的 05 V 的模拟量电压,经过模/数转换后,产生相应的数字量经过其输出通道 D0D7 传送给 STC89C52RC 芯片的 P0 口。S

18、TC89C52RC 负责把接收到的数字量数据处理,产生正确的 7 段数码管的显示段码,并且通过其 P1 口经驱动芯片 SN74LS373 驱动,再传送给数码管。同时它还通过其三位 I/O 口 P3.0、P3.1、P3.2 产生位选信号,控制数码管的亮灭。STC89C52RC 还控制着 ADC0832 的工作。其 ALE 管脚为 ADC0832 提供了 1MHz 工作的时钟脉冲;P2.3 控制 ADC0832 的地址锁存端(ALE);P2.4 控制 ADC0832 的启动端(START);P2.5 控制 ADC0832 的输出允许端(OE);P3.7 控制 ADC0832 的转换结束信号(EOC

19、)。3.2 电源部分电源部分电源部分电路主要是要求能提供稳定可靠的电压,使整个系统能正常的工作。采用 220V 的工频交流电压,而单片机的工作电压是直流+5V,因此,先通过一个普通的变压器降低电压,再通过桥式整流,然后再通过 7805 芯片的进一步稳压,确保+5V 电源的稳定、 。而且 7805 集成稳压器是常用的固定输出+5V 电压的集成稳压器。其内部含有限流保护、过热保护和过压保护电路,采用了噪声低、温度漂移小的基准电压源,工作稳定可靠。1 脚为输入端,2 脚为接地端,3 脚为输出端,用十分方便,能在任何有交流电压的地方用,不需另带电池。通过整流滤波以后输出直流电压,为确保整个电路能正常工

20、作,考虑到不接负载或电源电压有波动时电容能承受的耐压,必须加电容。发光二极管 D2 点亮表示电源电路正常工作,其电源电路如图 3.1 所示:图 3.1 电源部分3.3 A/D 转换电路转换电路随着数字技术,尤其是信息技术的飞速发展与普及,在现代控制。通信及检测等领域,为了提高系统的性能指标,对信号的处理广泛采用了数字计算机技术。系统的实际对象往往都是一些模拟量(如温度。压力。位移。图像等),使计算机或数字仪表能识别。处理这些信号,必须首先将这些模拟信号转换成数字信号,经计算机分析。处理后输出的数字量也往往需要将其转换为相应模拟信号才能为执行机构所接受。所以就需要一种能在模拟信号与数字信号之间起

21、桥梁作用的电路-模数和数模转换器。将模拟信号转换成数字信号的电路,称为模数转换器(简称 a/d 转换器);将数字信号转换为模拟信号的电路称为数模转换器(简称 d/a 转换器或);a/d 转换器和 d/a 转换器已成为信息系统中不可缺的组成部分,为确保系统处理结果的精确,a/d 转换器和 d/a转换器必须具有足够转换精度;如果要实现快速变化信号的实时控制与检测,a/d 与d/a 转换器还要求具有较高的转换速度。转换精度与转换速度是衡量 a/d 与 d/a 转换器的重要技术指标。随着集成技术的发展,现已研制和生产出许多单片的和混合集成型的 a/d 和 d/a 转换器,它们具有愈来先进的技术指标A/

22、D 转换器是模拟量输入通道的一个环节,单片机通过 A/D 转换器把输入模拟量变成数字量再处理。随着大规模集成电路的发展,目前不同厂家已经生产出了多种型号的 A/D 转换器,以满足不同应用场合的需要。如VIN1GND2VOUT3U57805123J1POWER1234D1BRIDGE1C4104C5104C6470UF/25VC7470UF/16VC81O4R142KD2LE DVCC果按照工作原理划分,AC 主要有 4 种类型,即双积分式 A/D 转换器、逐近式 A/D 转换器和并且行式 A/D 转换器和计数比较式 A/D 转换器。目前最常用的是双积分和逐次逼近式。3.4 单片机最小系统电路部

23、分单片机最小系统电路部分单片机内部每个部件要想协调一致地工作,必须在统一口令时钟信号的控制下工作。单片机工作所需要的时钟信号有两种产生方式,内部时钟方式和外部时钟。内部时钟方式:单片机内部有一个构成振荡器的增益反相放大器,引脚 XTAL1 和 XTAL2分别是此放大器的输入端和输入端,这个放大器与反馈元件的片外晶振一起构成自激振荡器。电容 C1 和 C2 取 20PF,晶体的振荡频率取 12MHz,晶体振荡频率高,则系统的时钟频率也高,单片机运行速度也比较快。3.5 显示电路部分显示电路部分本电路的显示模块主要由一个 4 位一体的 7 段 LED 数码管组成,用于显示测量到的电压值。它是一个共

24、阳极的数码管,每一位数码管的 a,b,c,d,e,f,g 和 dp 端都各自连接在一起,用于接收 STC89C52RC 的 P1 口产生的显示段码。1,2,3,4 引脚端为其位选端,用于接收 STC89C52RC 的 P3 口产生的位选码。本系统采用动态扫描方式。扫描方法是用其接口电路把所有数码管的 8 个比划段 ag 和 DP 同名端连在一起,而每一个数码管的公共极 COM 各自独立地受 I/O 线控制。CUP 从字段输出口送出字型码时,所有数码管接收到相同的字型码,取决于 COM 端。COM 端与单片机的 I/O 接口相连接,由单片机输出位位选码到 IO 接口,控制何时哪一位数码管被点亮。

25、在轮流点亮数码管的位扫描过程中,每位数码管的点亮时间极为短暂。但由于人的视觉暂留现象,给人的印象就是一组稳定显示的数码。动态方式的优点是十分明显的,即耗电省,在动态扫描过程中,任何时刻只有一个数码管是处于工作状态的。具体原理图如图 3.2 所示。CLK10ST ART6OE9IN026IN127IN228IN31IN42IN53IN64IN75ADDA25ADDB24ADDC23ALE22GND13VCC11D017D114D215D38D418D519D620D721EOC7REF+12REF-16U3ADC0809FND0D1D2D3D4D5D6D7A0VCCA2A3A3A4接1Q接2Q接

26、3QABCDEFGDP12347SEG-MPX4-CC接接接Q1PNPQ2PNPQ3PNPQ4PNPR21OKR31OKR41OKR51OKP0P1P2P3P4P5P6P7VCCVCCVCCVCC接P3.0接P3.1接P3.3接P3.4图 3.2 显示部分第第 4 章章项目成果项目成果4.1 软件成果物软件成果物如图 3.3 所示图 3.3 软件成果图4.2 程序设计程序设计4.2.1 主程序设计主程序设计主程序包含初始化部分、调用 A/D 转换子程序和相应外部 0 中断显示电压数值程序,初始化部分包含存放通道的缓冲区初始化和显示缓冲区初始化。另外,对于单路显示和循环显示,系统设置了一个标志位

27、 00H 控制,初始化时 00H 位设置为 0,默认为循环显示,当它为 1 时改变为单路显示控制,00H 位通过单路、循环按键控制。流程图如图 3.4 所示。开始显示子程序A/D 转换子程序初始化图 3.4 主程序流程图A/D 转换子程序用于对 ADC0808 的 4 路输入模拟电压进行 A/D 转换,并且将转换的数值存入 4 个相应的存储单元中,A/D 转换子程序每隔一定时间调用一次,即隔一段时间对输入电压采样一次,如图 4-2 所示。过程进行十六进制调整开始 A/D 转换调用延时存转换后的十六进制数数据指针加一入栈保护4 路转换次数减一显示电压值NY图 3.5 转换子程序流程图4.2.2

28、中断显示程序中断显示程序设计中采用中断的方式来读取转换完成的数据能节省 CPU 的资源。当系统设置好后,一旦数据转换完成,便会进入外部中断 0,然后在中断中读取转换的数值,处理数据并且送数码管显示输出。LED 数码管采用软件译码动态扫描的方式。在中断程序中包含多路循环显示程序和单路显示程序,多路循环显示程序把 4 个存储单元的数值依次取出送到 4 个数码管上显示,每一路显示一秒。单路显示程序只对当前选中的一路数据进行显示。每路数据显示时需经过转换变成十进制 BCD 码,放于 4 个数码管显示缓冲区中。单路或多路循环显示通过标志位 00H 控制。在显示控制程序中加入了对单路或多路循环按键的判断。

29、4.2.3 调试与测试调试与测试本设计应用 Proteus6 及 KEIL51 软件,首先根据自己设计的电路图用 Proteus6 软件画出电路模型,关于这个软件的用通过查一些资料和自己的摸索学习;然后我们用KEIL51 软件对所编写的程序进行编译、链接,如果没有错误和警告便可生成程序的hex 文件,将此文件加到电路图上使软硬件结合运行,最后进行端口电压的对比测试。4.2.4 软件介绍软件介绍proteus6.0 是目前最好的模拟单片机外围器件的工具,真的很不错。能仿真 51 系列、AVR,PIC 等常用的 MCU 及其外围电路(如 LCD,RAM,ROM,键盘,马达,LED,AD/DA,部分

30、 SPI 器件,部分 IIC 器件。 )其实 proteus 与 multisim 比较类似,只不过它能仿真 MCU。当然,软件仿真精度有限,而且不可能所有的器件都找得到相应的仿真模型,用开发板和仿真器当然是最好选择。如果你在学 51 单片机,如果你想自己做 LCD,LED,AD/DA,直流马达。用 51 不管是用汇编或是 C 编程当然要。用 keil c51 v7.20 + proteus 6.0 能像用仿真器一样调试程序,一般而言,微机实验中用万利仿真器+电工系自己做的实验板的实验都能做得到。当然,硬件实践还是必不可少的。本方案只是在没有硬件的情况下让你能像pspice 仿真模拟/数字电路

31、那样仿真 MCU 及外围电路。另外,即使有硬件,在程序编写早期用软件仿真一下也不错的。1、安装 keil c51 v7.20 与 proteus 6.02、把 proteus 安装目录下 VDM51.dll 文件复制到 Keil 安装目录的 C51BIN 目录中。3、修改 keil 安装目录下 Tools.ini 文件,在 C51 字段加入TDRV5=BINVDM51.DLL(Proteus VSM Monitor-51 Driver),保存。注意:不一定要用 TDRV5,根据原来字段选用一个不重复的数值就能了。引号内的名字随意。4、打开 proteus,画出相应电路。在 proteus 的

32、tools 菜单中选中 use remote debug monitor。5、在 keil 中编写 MCU 的程序。6、进入 KEIL 的 project 菜单 option for target 工程名。在 DEBUG 选项中右栏上部的下拉菜选中 Proteus VSM Monitor-51 Driver。在进入 seting,如果同一台机 IP 名为 127.0.0.1,如不是同一台机则填另一台的 IP地址。端口号一定为 8000。注意:能在一台机器上运行 keil,另一台中运行 proteus 进行远程仿真。7、在 keil 中进行 debug,同时在 proteus 中查看直观的结果(

33、如 LCD 显示)4.3 源程序代码源程序代码ORG 0000HLJMP STARTORG 0003HRETIORG 000BHRETIORG 0013HRETIORG 001BHRETIORG 0023HRETIORG 002BHRETIORG 0030HSTART: CLR A SETB P3.7 ;初始化EOC CLR P3.0 ;初始化LED位选,全不选中。 CLR P3.1 CLR P3.2 MOV P2 , A ;初始化P2口,清除对ADC0832的控制信号。 MOV 70H , A ;初始化数据采样后存储空间。 MOV 78H , A ;初始化数据处理后3位有效数字的存储空间(7

34、8H最高位,7AH最低位)。 MOV 79H , A MOV 7AH , A MOV A , #0FFH ;初始化P0,P1口,写入高电平。 MOV P0 , A MOV P1 , AMAIN: LCALL AD_SUB ;调用A/D转换子程序,开始采样并且转换。 LCALL TURN_SUB ;调用数码转换子程序,将采样转换来的0-255转换成一一对应的;0.00-5.00LCALL DISP_SUB ;调用显示子程序。LJMP MAIN= AD_SUB: CLR AMOV P2 , A ;初始化P2口,清除对ADC0832的控制信号。MOV R0 , #70H LCALL AD_ST ;调

35、用采样转换子程序WAIT: JB P3.7 , DATASAVE ;判断采样转换是否完毕,完毕则跳转到DATASAVE进行存储。 AJMP WAIT ;否则继续等待。;启动采样,送脉冲时序AD_ST: SETB P2.3 ;ALE 脉冲时序NOPNOPCLR P2.3SETB P2.4 ;START 脉冲时序(上跳清零,下跳开始转换)NOPNOPCLR P2.4NOPNOPRET;采样转换的数据存储DATASAVE: SETB P2.5 ;置位OE端,允许ADC0832输出数据MOV A , P0 ;将转换的数据存储到70H中MOV R0 , ACLR P2.5 CLR A ;初始化P0,P1

36、,P2口(P0,P1高电平,P2低电平)MOV P2 , AMOV A , #0FFHMOV P0 , AMOV P1 , ARET;将0255转换为0.005.00TURN_SUB: MOV A , R0 MOV B , #51DIV AB MOV 78H , A ;以上这一段是整数部分(个位)放入78H MOV A , B ;余数部分放入ACLR F0SUBB A , #1AH ;余数和51的一半即1AH比较,以便四舍五入MOV F0 , CMOV A , #10MUL AB ;余数乘以10,以便再除以51 MOV B , #51DIV ABJB F0 , LOOP1 ;判断四舍五入,跳到

37、LOOP1是“四舍”ADD A , #5 ;这是“五入”LOOP1: MOV 79H , A ;十分位MOV A , BCLR F0SUBB A , #1AHMOV F0,CMOV A , #10MUL ABMOV B , #51DIV ABJB F0 , LOOP2ADD A , #5LOOP2: MOV 7AH , A ;百分位RET;= ;显示子程序 DISP_SUB: MOV R1 , #78H ;R1辅助寄存器,用于存放要显示的数据的地址(初始为最高位78H)CLR AMOV P1 , #0FFH ;初始化P1,P2口(P1高电平,P2低电平)ANL P2 , A LCALL PLA

38、Y ;调用显示位码子程序CLR P1.7 ;显示最高位(个位)后的小数点SETB P3.0 ;选中最高位LED数码管LCALL DELAY ;调用延迟子程序CLR P3.0 ;取消最高位位选INC R1 ;提取第二位有效数字(十分位)的数据地址(79H)LCALL PLAY ;调用显示位码子程序SETB P3.1 ;选中第二位LED数码管LCALL DELAY ;调用延迟子程序CLR P3.1 ;取消第二位位选INC R1 ;提取最低位(百分位)的数据地址(7AH)LCALL PLAY ;调用显示位码子程序SETB P3.2 ;选中最低位LED数码管LCALL DELAY ;调用延迟子程序CL

39、R P3.2 ;取消最低位位选RET;位码显示 PLAY: MOV A , R1 ;送偏移量MOV DPTR , #TAB ;送表首地址MOVC A , A+DPTR ;查表得出相应LED段码 MOV P1 , A ;输出显示RET ;= ;延时程序DELAY: MOV R6 , #10HDL1: MOV R7 , #10HDL2: DJNZ R7 , DL2DJNZ R6 , DL1RET;= ;09段码 TAB: DB 0C0H , 0F9H , 0A4H , 0B0H , 99H , 92H , 82H , 0F8H , 80H , 90H END我们在程序编写完成后,就能用仿真器进行初

40、步调试,观察在计算机里能否通过编译与运行并且达到设计的基本要求。在基本符合的情况下,利用仿真器与工作正常的硬件连接进行仿真调试;或用编程器把程序烧写到芯片中,直接观察能否正常运行。如果达不到设计要求或者不能正常运行,能直接在程序中进行修改。4.3 硬成果物硬成果物如图 3.6 所示图 3.6 硬件成果4.4 硬件调试硬件调试在系统上电开始测量前,要用万用表的电压档对被测电压进行估测,然后以此选择适当的量程,防止过大电压烧坏 A/D 转换器。首先用万用表按照原理图逐步检查中各器件的电源及各引脚的连接是否正确,有否断路、短路或者虚焊,尤其是给电路供电的电源部分需重点检查,用数字万用表测量 7805

41、 输出端的电压是否是+5V,是否稳定,能够输出+5V,且稳定即可说明电源电路的设计基本达到目的要求。如果电压没有达到预期要求,要及时排查解决,以免烧坏芯片和其他元器件。软件调试时先进行单元测试,分别对各个代码模块进行测试,看其是否实现了规定功能,再把已经测试过的模块组合起来进行调试,一旦不能正确运行,要找出程序中的代码错误,确定大致的错误位置,研究有关部分的错误程序,找出错误的原因,修改设计和代码,以排除故障。我们在程序编写完成后,就能利用仿真器初步调试,观察在计算机里能否通过编译与运行并且达到设计的基本要求。在基本符合的情况下,利用仿真器和工作正常的硬件连接进行仿真调试;或用编程器把程序烧写

42、到芯片中,直接观察能否正常运行。如果达不到设计要求或者不能正常运行,能直接在程序中进行编译和修改。系统调试中遇到的问题及解决的方法:1)在应用滤波电容的过程中,开始时是把电容串联在电路中,导致电路无法导通,而后我们短路电容,解决了问题。2)电源指示灯上,一开始发现接上电源,指示灯不亮,经过仪器测量发现正负极接反,后重新焊接。3)由于源程序的多处错误,使得仿真无法通过,后经过单步调试,把存在的错误一一排除,通过了软件仿真。4)在烧录芯片的过程中,由于选择烧录文件的错及芯片质量的问题(因多次烧录,无法再次烧录)使得烧录失败,后经过老师指导并且更换了 AT89C51 芯片,解决了问题。参考文献参考文

43、献1 魏立峰,单片机原理及应用技术M,北京大学出版社20062 陈光绒,单片机技术应用教程M,北京大学出版社20053 李广弟, 单片机基础M,北京航空航天大学出版社20074 刘树林,低频电子线路M,电子工业出版社20035 何宏,单片机原理与接口技术M,国防工业出版社20066 张志良,单片机原理与控制技术M,机械工业出版社20017 郭强,液晶显示器件应用技术M,北京邮电学院出版社19938 王辛之,AT89系列单片机原理与接口技术M,北京航空航天大学出版社2004致致 谢谢本次设计由于使用的是高效单片机作为核心的测量系统,和灵敏度和精度较高的A/D转换器,使本电压表具有精度高、灵敏度强

44、、性能可靠、电路简单成本低的特点,使其有很高的智能化水平。由本次设计,我对单片机这门课程有了更进一步的了解。无论是在其硬件连接方面还是在软件编程方面,都取得了新的收获。本次实验采用了 STC89C52RC 单片机芯片,与以往我们所熟悉的 C51 芯片有许多不同之处,通过本次设计及查阅相关资料,我对其之间的区别有了一定的认识,在本设计报告的硬件介绍部分也对其作了详细的论述。S51 在 C51 的基础上增加了许多新的功能,使其功能更为完善,应用领域也更为广泛。在毕业设计的整个过程中我发现了自己对单片机认知的一些不足之处。在对单片机编程方面,我又掌握了一些新的编程思想,使得程序更为简练、易懂,而且更为严谨,程序执行的稳定性得到了提高。在基于单片机的数字电压表的设计过程中也找到了一些关于单片机开发的规律:先了解所有元件的具体内容,使数字电压表从简易变为多功能的方式,虽然没有做多功能的电压表,确切了解了一些方法

温馨提示

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

评论

0/150

提交评论