1、1摘要 通过对基于单片机电压表的测量电路的研究,综述了该电路采用 ADC0808高精度、8 位逐次逼近式转换电路,测量范围为 020V,使用七段 LED 数码管显示,可以与 PC 机进行串行通信,正文着重给出了软件系统的各部分电路,介绍了逐次逼近式转换电路的原理,ADC0808 的功能和应用,七段 LED 数码管的应用,该电路设计新颖、功能强大、可扩展性强。设计采用 AT89C51 单片机、A/D 转换器、ADC0808、数码管为主要硬件,分析了电压表 Proteus 软件仿真电路设计及编程方法。将单片机应用测量技术中,采用 ADC0808 模拟。随着电子科学技术的发展,电子测量成为广大电子工
2、作者必须掌握的手段,对测量的显示范围宽、分辨力高、输入阻抗大、集成度高、功耗小、抗干扰能力强,可扩展能力等特点,因此在电压测量、电压校准中有着广泛的应用。本文采用的ADC0808 输入模拟信号进行转换,控制核心 AT89C51 单片机对转换的结果进行运算和处理,最后驱动输出装置显示数字电压信号,通过 Proteus 仿真软件实现接口电路设计、并进行实时仿真。Proteus 软件是一种电路分析和实物模拟仿真软件。AT89C51 为 8 位单片机,用 AT89C51 实现数据的处理,通过数码管以扫描的方式完成显示。本设计电路简单、成本低、性能稳定。关键词:电压测量 51 单片机 ADC0808 A
3、/D 转换器 LED 七段数码管AbstractThis paper introduces a method based on single chip voltage meter measuring circuit, the circuit uses ADC0808high precision,8successive approximation type conversion circuit, the measuring range of 0 to20V, use seven LED digital tube display, can be associated with the PC mac
4、hine serial communication, the text mainly gives the software system of each part of the circuit, introduced by approximation type conversion circuit principle, features and application of ADC0808, seven LED digital tube applications, the circuit design of novel, powerful, scalable. Design using AT8
5、9C51MCU, A / D converter, ADC0808, digital tube as main hardware, analysis of the voltage meter Proteus software simulation circuit design and programming method. Applying the single chip microcomputer measuring technique, using ADC0808simulation. With the development of electronic technology, elect
6、ronic measurement of the vast number of electronic workers must master the means of measurement, display a wide range, high resolution, high input impedance, high integration, low power consumption, strong anti-interference ability, can expand capacity characteristics, thus the voltage measurement,
7、voltage calibration has a wide range of applications. This paper adopts the ADC0808 input analog signal conversion, control of the core AT89C51 microcontroller to the conversion results are calculated and processed, the final drive output device for display digital voltage signal, through 2Proteus s
8、imulation software to achieve the design of interface circuit, and the real-time simulation. Proteus software is a kind of circuit analysis and physical simulation software. AT89C51 is the 8single chip microcomputer, with AT89C51 to realize data processing, through the digital tube to scan mode to c
9、omplete the display. This design has the advantages of simple circuit, low cost, stable performance.Key words: voltage measurement singlechip 51 ADC0808A / D converter LED seven digital tube3绪论在电量的测量中电压、电流和频率是最基本的三个被测量,其中电压量的测量最为经常,而且随着电子技术的发展,更是需要测量高精度的电压,所以基于单片机电压表测量仪器具有读数准确方便、精度高、误差小、灵敏度高和分辨率高,测量
10、速度快等特点而倍受青睐。基于单片机电压表式采用数字化测量技术设计的电压表。具有读数直观、准确、显示范围宽、分辨率高、输入阻抗大、集成度高、功耗小、抗干扰能力强,可扩展能力强等特点,本设计从各个角度分析了由单片机组成的数字电压表的设计过程及各部分电路的组成及其原理,并且分析了程序如何驱动单片机进而使系统运行起来的原理及方法。4目录摘要1绪论3目录4第一章 系统原理及基本框图6一 系统概述61 设计任务62 总体方案63 方案论证6二 基于单片机电压表的 proteus 的仿真电路设计.7第二章 硬件设计8一 硬件电路原理图.8二 逐次逼近式 A/D 转换模块设计81 ADC0808 简介82 A
11、DC0808 的主要性能93 ADC0808 内部结构图94 LED 数码管简介95 数字温度传感器 DS18B20 的介绍126 电阻色环的识别137 A/D 转换器的简介148 逐次比较型 A/D 转换器的工作原理.14三 单片机部分151 主要性能152 单片机管脚说明15四 量程转换模块设计.17第三章 系统的软件设计18一 软件主流程图.18二 系统改进级优化.18三 主程序设计.19四 电路仿真图.22五 A/D 程序的设计23六 PCB 图制作与设计23结束语25致谢26设计总结27心得体会28参考文献29附录30一 元件清单30二 电路原理图31三 仿真效果图32四 PCB 图
12、.335五 源代码.341 主程序设计342 A/D 转换程序设计.376第一章 系统原理及基本框图一 系统概述1 设计任务利用单片机 AT89C51 与 ADC0808 设计一个基于单片机电压表,将模拟信号 020V 之间的电压值转化成数字量信号,以两位数码管实时显示相应的数值量。2 总体方案基于单片机电压表电路的基本组成框图:本设计中需要用到的电路有电源电路、模/数转换电路、单片机控制电路、显示电路等。设计中需要用到的芯片有 AT89C51 单片机、ADC080、LED 数码管等。3 方案论证方案一 采用实时芯片 ICL7107ICL7107 是一块应用非常广泛的集成电路。它包含 3 1/
13、2 位数字 A/D 转换器,可直接驱动 LED 数码管,内部设有参考电压、独立模拟开关、逻辑控制、显示驱动、自动调零功能,制作时,数字显示用的数码管为共阳性,1K可调电阻最好选用多圈电阻,分压电阻选用误差较小的金属膜电阻。能够实现所要达到的技术指标。方案二 采用单片机编程技术经软件设计指定的 I/0 口(P1.0 P1.3)送出逻辑电平,控制数码管显示,根据数字电压表的设计要求与原理以及特性,本系统采用单片机AT89C51 串口输出的形式来设计电路,使功能及效果更完美。与方案一相比方案二有更多的优点:读数准确、直观、显示范围宽、分辨率高、集成度高、功耗小、输入阻抗大、测量误差小、抗干扰能力强、
14、速度快、精度高等。而且本电路设计简单、成本低、性能稳定、功能齐全。此方案简单易行,编码调试容易,功能稳定齐全,故采用之。7二 基于单片机电压表的 proteus 的仿真电路设计 8第二章 硬件设计一 硬件电路原理图二 逐次逼近式 A/D 转换模块设计逐次逼近型 A/D 转换器属于之间型 A/D 转换器它能把输入的模拟电压直接转换为输出的数字代码,而不需要中间变量,主要由比较器、环形分配器、控制门、寄存器与 A/D 转换器组成。1 ADC0808 简介ADC0808 引脚功能: IN 0IN7 8 路 0+20V 模拟电压输入端;9 DB7DB0 8 路数字输出线,输出 8 位 A/D 转换值;
15、 START启动 A/D 转换输入端,若单片机在此引脚上加一个正脉冲时,脉冲的上升沿将内部寄存器清零,其下降沿启动 A/D 进行一次新的转换; EOCA/D 转换结束输出信号,高电平有效,当 A/D 转换的 START 有效时,EOC 处于低电平,表示正在转换,当 EOC 处于高电平时,表示A/D 转换结束; OE允许数字量输出信号,高电平有效,当 OE=1 时,三态门打开,将 A/D 转换后的值放到数据总线上供 CPU 用指令取走; CLOCK输入时钟脉冲端,频率为 500KHZ; ADDRO ADDR1 ADDR2模拟量输入通道的地址选择线; ALE地址锁存允许输入信号,锁存 ADDR0
16、ADDR1 ADDR2。2 ADC0808 的主要性能 分辨率为 8 位二进制数; 模拟输入电压范围为 020V,对应 A/D 转换值为 00HFFH; 每路 A/D 转换完成时间为 100us; 允许输入 8 路模拟电压,通过具有锁存功能的 8 路模拟开关,可以分时进行 8 路 A/D 转换; 工作频率为 500KHZ,输出与 TTL 电平兼容。3 ADC0808 内部结构图逐次逼近型 A/D 转换器 ADC0808 由八路模拟开关、地址锁存的译码器、比较器 A/D 转换器、寄存器、控制电路和输出锁存器等组成。其内部结构如下图所示。4 Led 数码管的简介10(1) led 数码管的结构及工
17、作原理:led 数码管(LED Segment Displays)是由多个发光二极管封装在一起组成“8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。led 数码管常用段数一般为 7 段有的另加一个小数点,还有一种是类似于 3 位“+1”型。位数有半位,1,2,3,4,5,6,8,10 位等等,led 数码管根据 LED 的接法不同分为共阴和共阳两类,了解 LED 的这些特性,对编程是很重要的,因为不同类型的数码管,除了它们的硬件电路有差异外,编程方法也是不同的。颜色有红,绿,蓝,黄等几种。led 数码管广泛用于仪表,时钟,车站,家电等场合。选用时要注意产品尺寸颜色,功耗
18、,亮度,波长等。(2) LED 数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数位,因此根据 LED 数码管的驱动方式的不同,可以分为静态式和动态式两类。 A、静态显示驱动: 静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的 I/O 埠进行驱动,或者使用如 BCD 码二-十进位*器*进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用 I/O 埠多,如驱动 5 个数码管静态显示则需要 58=40 根 I/O 埠来驱动,要知道一个 89S51 单片机可用的I/O 埠才 32 个呢。故实际应用时必须增加*驱动器进行驱动,增加了硬体电路的复杂
19、性。B、动态显示驱动: 数码管动态显示介面是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的 8 个显示笔划“a,b,c,d,e,f,g, “的同名端连在一起,另11外为每个数码管的公共极 COM 增加位元选通控制电路,位元选通由各自独立的I/O 线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位元选通 COM 端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位元就显示出字形,没有选通的数码管就不会亮。 透过分时轮流控制各个 LED 数码管的 COM 端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流
20、显示过程中,每位元数码管的点亮时间为12ms,由于人的视觉暂留现象及发光二极体的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示资料,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的 I/O 埠,而且功耗更低。(3) 产品特点LED 数码管以发光二极管作为发光单元,颜色有单红, 黄,蓝,绿,白,七彩效果。单色,分段全彩管可用大楼,道路,河堤轮廓亮化,LED 数码管可均匀排布形成大面积显示区域,可显示图案及文字,并可播放不同格式的视频文件。通过电脑下 flash、动画、文字等文件,或使用动画设计软件设计个性化动画,播放各种动感变色的图
21、文效果;可放在 PCB 电路板上按红绿兰顺序呈直线排列,以专用驱动芯片控制,构成变化无穷的色彩和图形。外壳采用阻燃PC 塑料制作,强度高,抗冲击,抗老化,防紫外线,防尘,防潮。LED 护栏管具有功耗小,无热量,耐冲击,长寿命等优点,配合控制器,即可实现流水,渐变,跳变,追逐等效果。如果应用于大面积工程中,连接电脑同步控制器,还可显示图案,动画视频等效 LED 数码全彩灯管可以组成一个模拟 LED 显示屏,模拟显示屏可以提供各种全彩效果及动态显示图像字符,可以采用脱机控制或计算机连接实行同步控制;可以显示各式各样的全彩动态效果。控制系统采用三泰 VISS 专用灯光编程软件编辑,数码管控制花样更改
22、方便,只需将编辑生成的花样格式文件复制进 CF 卡即可,数码管控制器可以单独控制,也可多台联机控制,数码管安装编排方式任意,适合各种复杂工程需求。数码管、控制器以及电源等以标准公母插头连接,方便快捷,并具有独特的外形设计,全新的户外防水结构 技术参数规格: (有圆形、半圆形、D 形) ; 直径有:30mm、40mm、50mm、80mm、100mm、 110mm 颜色:单红,黄,蓝,绿,白,七彩; 外壳颜色:乳白; 性能:防水,防尘,防紫外线,耐压,耐破裂,耐高低温,耐燃,超强抗冲击老化; 防护等级:IP65 级; 工作电压范围:24V-220V; 工作功率:8-12W; 工作环境:-40 度-
23、+75 度。 正常寿命: 80,000 小时 (4) LED 数码管分类121)从控制方式上分:分为内控方式(内部有单片机,通电自动变色)和外控方式(需要外接控制器才能变色) 。 2)从变化方式上分:分为固定色彩的和七彩、全彩的;固定色彩的是用来勾轮廓的,全彩的可以勾轮廓,也可以组成管屏显示文字、视频等; 3)从尺寸上分:有 D50 的、D30 的,这是直径;长度基本上 1 米的(可以定制) 从;这个需要根据实际需要进行选择就行了。 4)从内部可控性上分:有 1 米 6 段的,有 1 米 8 段的和 1 米 12 段、1 米 16段、1 米 32 段的。也就是 1 米的管子内有几段可以独立受控
24、; 1 米段数越多,做视频的效果越好。如果密度低,或者做些追逐效果,做 1 米 6 段也就可以了。5)从 led 数量上分:有 1 米 96 颗灯的,有 1 米 144 颗灯的;灯越多效果越好。一般做全彩的都是用 1 米 144 颗灯的。 6)从供电上分:分为高压供电(直接 220V 供电)和低压供电(12v 供电,220v电源需要加开关电源转换);一般选择低压供电的,比较可靠稳定,高压供电的容易烧毁。 7) 按像素点分:一米 16 段灯管 就是 1 米的灯管有 16 个像素点。一般有 6段数码管、8 段数码管、12 段数码管、16 段数码管、32 段数码管等,16 段的比较多。如 6 段数码
25、管一般使用在轮廓项目上。 5 数字温度传感器 DS18B20 介绍 (1) DS18B20 的主要特性 1)适应电压范围更宽,电压范围:3.05.5V,在寄生电源方式下可由数 据线供电 2) 独特的单线接口方式,DS18B20 在与微处理器连接时仅需要一条口线即可实现微处理器与 DS18B20 的双向通讯 3) DS18B20 支持多点组网功能,多个 DS18B20 可以并联在唯一的三线上,实现组网多点测温 4) DS18B20 在使用中不需要任何外围元件,全部 传感元件及转换电路集成在形如一只三极管的集成电路内 5) 温范围55+125,在-10+85时精度为0.5 6) 可编程 的分辨率为
26、 912 位,对应的可分辨温度分别为 0.5、0.25、0.125和 0.0625,可实现高精度测温 7) 在 9 位分辨率时最多在 93.75ms 内把温度转换为数字,12 位分辨率时最多在 750ms 内把温度值转换为数字,速度更快 8) 测量结果直接输出数字温度信号,以“一 线总线“串行传送给 CPU,同时可传送 CRC 校验码,具有极强的抗干扰纠错能力 9) 负压特性:电源极性接反时,芯片不会因发热而烧毁, 但不能正常工作。2、DS18B20 的外形和内部结构 DS18B20 内部结构主要由四部分组成:64 位光刻 ROM 、温度传感器、非挥发的温度报警触发器 TH 和 TL、配置寄存
27、器。(2) DS18B20 引脚定义: 131) DQ 为数字信号输入/输出端; 2) GND 为电源地; 3) VDD 为外接供电电源输入端(在寄生电源接线方式时接地) 。 (3) DS18B20 工作原理 DS18B20 的读写时序和测温原理与 DS1820 相同,只是得到的温度值的位数因分辨率不同而不同,且温度转换时的延时时间由 2s 减为 750ms。(4) DS18B20 主要的数据部件: 1) 光刻 ROM 中的 64 位序列号是出厂前被光刻好的,它可以看作是该 DS18B20的地址序列码。64 位光刻 ROM 的排列是:开始 8 位 (28H)是产品类型标号,接着的 48 位是该
28、 DS18B20 自身的序列号,最后 8 位是前面 56 位的循环冗余校验码(CRC=X8+X5+X4+1) 。光刻 ROM 的作用 是使每一个 DS18B20 都各不相同,这样就可以实现一根总线上挂接多个 DS18B20 的目的。2) DS18B20 中的温度传感器可完成对温度的测量,以 12 位转化为例:用 16位符号扩展的二进制补码读数形式提供,以 0.0625/LSB 形式表达,其中 S为符号位。 3) DS18B20 温度传感器的存储器 DS18B20 温度传感器的内部存储器包括一个高速暂存 RAM 和一个非易失性的可电擦除的 EEPRAM,后者存放高温度和低温度触发器 TH、TL
29、和结构寄存器。 6 电阻色换的识别色环电阻是应用于各种电子设备的最多的电阻类型,无论怎样安装,维修者都能方便的读出其阻值,便于检测和更换。但在实践中发现,有些色环电阻的排列顺序不甚分明,往往容易读错,在识别时,可运用如下技巧加以判断: (1) 识别颜色技巧 1:先找标志误差的色环,从而排定色环顺序。最常用的表示电阻误差的颜色是:金、银、棕,尤其是金环和银环,一般绝少用做电阻色环的第一环,所以在电阻上只要有金环和银环,就可以基本认定这是色环电阻的最末一环。 技巧 2:棕色环是否是误差标志的判别。棕色环既常用做误差环,又常作为有效数字环,且常常在第一环和最末一环中同时出现,使人很难识别谁是第一环。
30、在实践中,可以按照色环之间的间隔加以判别:比如对于一个五道色环的电阻而言,第五环和第四环之间的间隔比第一环和第二环之间的间隔要宽一些,据此可判定色环的排列顺序。 技巧 3:在紧靠色环间距还无法判定色环顺序的情况下,还可以利用电阻的生产序列值来加以判别。比如有一个电阻的色环读序是:棕、黑、黑、黄、棕,其值为:10010000=1M 误差为 1%,属于正常的电阻系列值,若是反顺序读:棕、黄、黑、黑、棕,其值为 1401=140,误差为 1%。显然按照后一种排序所读出的电阻值,在电阻的生产系列中是没有的,故后一种色环顺序是不对的。 (2) 识别大小1) 四色环电阻: 14第一色环是十位数,第二色环是
31、个位数, 第三色环是应乘颜色次幂颜色次,第四色环是误差率 2) 五色环电阻: 红 红 黑 棕 金 五色环电阻最后一环为误差,前三环数值乘以第四环的 10 颜色次幂颜色次,其电阻为 220101=2.2K 误差为5% 第一色环是百位数,第二色环是十位数, 第三色环是个位数,第四色环是应乘颜色次幂颜色次, 第五色环是误差率。色环标示主要应用圆柱型的电阻器上,如:碳膜电阻、金属膜电阻、金属氧化膜电阻、保险丝电阻、绕线电阻。 在早期,一般当电阻的表面不足以用数字表示法时,就会用色环标示法来表示电阻的阻值、公差、规格。 色环主要分成两部分: 第一部分:靠近电阻前端的一组是用来表示阻值。 两位有效数的电阻
32、值,用前三个色环来代表其阻值,如:39,39K,39M。 三位有效数的电阻值,用前四个色环来代表其阻值,如:69.8,698,69.8K,一般用于精密电阻的表示。 第二部分:靠近电阻后端的一条色环用来代表公差精度。 第一部分的每一条色环都是等距,自成一组,容易和第二部分的色环区分。四个色环电阻的识别:第一、二环分别代表两位有效数的阻值;第三环代表倍率;第四环代表误差。五个色环电阻的识别:第一、二、三环分别代表三位有效数的阻值;第四环代表倍率;第五环代表误差。 如果第五条色环为黑色,一般用来表示为绕线电阻器,第五条色环如为白色,一般用来表示为保险丝电阻器。如果电阻体只有中间一条黑色的色环,则代表
33、此电阻为零欧姆电阻。 7 A/D 转换器的简介将传感器采集来的信号送入单片机,可以方便的实现许多功能,如进行复杂的数据处理、实现多种功能的控制等。传感器输出的信号大多为模拟信号,二单片机计算机处理的信号是一种数字信号,因此要将传感器信号送入单片机,就得先把模拟信号变换成数字信号,这一功能就靠 A/D 转换器来实现。近来,随着微电子技术的日益发展,各公司不断推出多种 A/D 转换器,很方便的与计算机接口。8 逐次比较型 A/D 转换器的工作原理这是一种在要求高速、高分辨率和高精度的情况下最常用的转换方式。下图为比较型 A/D 转换器的基本框图,它是通过最高位(Bn-1)至最低位(B0 )的逐次检
34、测来逼近被转换的电压,一个 N 位的逐次逼近法 A/D 转换器的模拟输出值进行比较。当转换启动信号输入时,先将 A/D 转换的输出预置在 1/2 的15满刻度,也就是令 A/D 转换器的输入代码只有 MSB 为断开,再将下一位(1/4满刻度值)与输入电压进行比较,这样从 MSB 位开始,依次进行比较,直到LSB 为止来确定每一位的通断和输出。三 单片机部分单片机采用 MCS51 系列单片机,由 ATME1 公司生产的 AT89C51 是一种低功耗、高性能 CMOS8 位微控制器,具有 4K 在系统可编程 Flash 存储器。使用 Atmel 公司高密度非易失性存储器技术制造。与工业 89S52
35、 产品指令和引脚完全兼容,在单芯片上,拥有灵巧的 8 位 CPU 和在线系统可编程 Flash,使得AT89C51 为众多嵌入式控制应用系统提供高灵活、有效的解决了方案。AT89C51 具有以下标准功能:4K 字节 Flash,128 字节 RAM,32 位 I/O 口线,看门狗定时器,2 个数据指针,两个 16 位定时器/ 计数器,一个 6 向量 2 级中断结构,全双工串行口,片上 Flash 允许程序存储器在系统可编程,亦适于常规编程器,其将通用的微处理器和 Flash 存储器结合在一起,特别是可反复擦写的 Flash 存储器可有效的降低开发成本。1 主要性能 与 MCS51 单片机产品兼
36、容; 4K 字节在系统可编程 Flash 存储器; 1000 次擦写周期; 全静态操作 0HZ32HZ; 三级加密程序存储器;16 32 个可编程 I/O 口线; 两个 16 位定时器; 五个中断源; 全双工 UART 串行通道; 低功耗空闲和掉电模式; 掉电后中断可唤醒; 看门狗定时器; 双数据指针; 掉电标识符。2 单片机管脚说明VCC:供电电压。GND:接地。P0 口:P0 口为一个 8 位漏极开路双向 I/O 口,每脚可吸收 8TTL 门流,当 P1口管脚第一次写入 1 时,被定义为高阻输入,P0 口能够用于外部数据存储器,它可以被定义为数据/地址的第 8 位,在 FLASH 编程时,
37、P0口作为源代码输入口,当 PLASH 进行校验时,P0 口输出源代码,此时P0 口外部必须被拉高。P1 口:P1 口试一个内部提供上拉电阻的 8 位双向 I/O 口,P1 口缓冲器可接收输出 4TTL 门电流。P1 口管脚写入 1 时,被内部上拉为高,可用作输入,P1 口被外部下拉为低电平时,将输出电流。这是由于内部上拉的缘故,在 FLASH 编程和校验时,P1 口作为第八位地址接收。P2 口:P2 口为一个内部上拉电阻的 8 位双向 I/O 口,P2 口缓冲器可接收,输出 4TTL 门电流,当 P2 口被写入 1 时,其管脚被内部上拉电阻拉高,且作为输入,并因此作为输入时,P2 口得管脚被
38、外部拉低,将输出电流,这是由于内部上拉的缘故。P2 口当用于外部程序存储器或 16 位地址外部数据存储器进行存取时,P2 口输出地址的高 8 位,在给出地址 1 时,P2 口输出特殊功能寄存器的内容,P2 口在 FLASH 编程和校验时接收高 8 位地址信号和控制信号。P3 口:P3 口管脚是 8 个带内部上拉电阻的双向 I/O 口,可接收输出 4 个 TTL门电流。当 P3 口写入 1 后写入,他们被上拉为高电平,并用作输入,作为输入,由于外部下拉为低电平,p3 口将输出电流(ILL) ,这是由于上拉的缘故。P3 口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。ALE/PROG
39、:当访问外部存储器时,地址锁存器允许输出的电平用于锁存地址的地位字节。在 FLASH 编程期间,此引脚用于输入编程脉冲,在高电平时,ALE 端以不变的频率周期输出正脉冲信号,它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个 ALE 脉冲信号,如想禁止 ALE 的输出,可再 SFR8EH地址上置 0,此时,ALE 只有在执行 MOVX,MOVC 指令是 ALE 才起作用,另外,该引脚被稍微拉高,如果微处理器在外部执行状态 ALE 禁止,置位无效。17/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN 有效,但在
40、访问外部数据存储器时,这两次有效/PSEN 信号将不出现。/EA/VPP:当/EA 保持低电平时则再此期间外部程序存储器(0000HFFFFH ) ,不管是否有内部程序存储器,在 FLASH 编程期间,此引脚也用于施加12V 编程电源。 (VPP)四 量程转换模块设计18输入电路的作用是把不同量程的被测电压,规范到 A/D 转换器所需要求的电压值。数字电压表所才用到是逐次逼近式 A/D 转换芯片 ADV0808,它要求输入电压 0+5V,本仪表设计的是 0+20V 电压,灵敏度高,所以可以不加前置放大器,只需要衰减器,如图所示,衰减器输入电路可由开关来选择不同的衰减率,从而切换档位。第三章 系
41、统的软件设计19一 软件主流程图在系统安装完成之后必须对其进行校验,当系统自测自带电源电压,接地时数码管显示为 0.000,接 VCC 时应显示 20.00,并对 A/D 转换电压的基准电压进行调试,稳定在 20V,如果显示数据大于实际数据的 1%时,则应在程序中进行多次采集,以便更贴近实际电压的实际值。二 系统改进级优化在 A/D 模块处更应该注重电磁干扰、数字地与模拟地的链接,为 能采集到快速变化的模拟量变化模拟量时,应外加采样保持电路,程序也可以改进为带实时控制的采集系统,并通过串口通信与 PC 机相连,实现远程控制。三 主程序设计#include; /包括一个 51 标准内核的头文件2
42、0Unsigned char code dispbitcode=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;unsigned char dispbuf4; /显示 4 进制数字无符号字符型unsigned int i; /无符号整数型 iunsigned int j; /无符号整数型 junsigned char getdata; /无符号字符型电压转换unsigned int temp; /无符号整数型 tempunsigned int temp1; /无符号整数型 temp1unsigned char d; /定义变量sbit ST=
43、P30; /定义 ST 信号sbit OE=P31; /定义 OE 信号sbit EOC=P32; /定义 EOC 信号sbit CLK=P33; /定义 CLK 信号sbit P20=P20;sbit P21=P21;sbit P22=P22;sbit P23=P23; /数据送到 P2 口sbit P17=P17; /数据送到 P1 口sbit P37=P37; /数据送到 P3 口void TimeInitial();void Delay(unsigned int i);void TimeInitial()TMOD=0x10; /设置 TMOD,定时器 1 工作在模式 0,16位计数,G
44、ATE=0,C/T=0TH1=(65536-200)/256; /设定时器高 8 位初值,定时时间为2us,CLK 周期为 0.4usTL1=(65536-200)%256; /设定时器低 8 位的初值,设置定时器 1的初值EA=1; /允许总中断ET1=1; /使能定时器 1 中断,就是 TH1 溢出中断TR1=1; /启动定时器 1,使 TH1 开始运行void Delay(unsigned int i); /延时函数14unsigned int j; /无符号整数 jfor(;i0;i-); /外循环:for 语句(无初值,循环条件为i0,条件改变为 i-)for(j=0;j,北京:北京航空航天大学出版社,2004.1【7】 周立功单片机( http:/) ,LPC900 系列 Flash 单片机C 软件包 V1.2【8】 周坚,单片机 C 语言轻松入门,北京:北京航空航天大学出版社,2006.7【9】 51 单片机学习网(http:/) ,孙清安,51 单片机 C 语言实验与实践教程【10】 李朝清,单片机原理及接口技术【M】 ,北京:北京航天大学出版社,2006【11】 http:/