《基于单片机的数字电压表设计-学位论文.doc》由会员分享,可在线阅读,更多相关《基于单片机的数字电压表设计-学位论文.doc(51页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、毕业设计论文基于单片机的数字电压表设计摘要 本文介绍了一种基于单片机的简易数字电压表的设计。该设计主要由三个模块组成:A/D转换模块,数据处理模块及显示模块。A/D转换主要由芯片ADC0809来完成,它负责把采集到的模拟量转换为相应的数字量在传送到数据处理模块。数据处理则由芯片AT89C51来完成,其负责把ADC0809传送来的数字量经过一定的数据处理,产生相应的显示码送到显示模块进行显示;此外,它还控制着ADC0809芯片工作。该系统的数字电压表电路简单,所用的元件较少,成本低,且测量精度和可靠性较高。此数字电压表可以测量0-5V的1路模拟直流输入电压值,并通过一个四位一体的7段数码管显示出
2、来。 关键词 单片机;数字电压表;A/D转换;AT89C51;ADC0809Design of Digital Voltmeter Based on Single-chip Microcontroller Abstract This paper which introduces a kind of simple digital voltmeter is based on single-chip microcontroller design. The circuit of the voltage meter is mainly consisted of three mould pieces: A
3、/D converting mould piece, A/D converting is mainly completed by the ADC0809, it converts the collected analog data into the digital data and transmits the outcome to the manifestation controlling mould piece. Data processing is mainly completed by the AT89C51 chip, it processes the data produced by
4、 the ADC0809 chip and generates the right manifestation codes, also transmits the codes to the manifestation controlling mould piece. Also, the AT89C51 chip controls the ADC0809 chip to work. The voltmeter features in simple electrical circuit, lower use of elements, low cost, moreover, its measurin
5、g precision and reliability. The voltmeter is capable of measuring voltage inputs from 1 route ranging from 0 to 5 volt, and displaying the measurements though a digital code tube of 7 pieces of LED.Keywords Single-chip microcontroller; Digital voltmeter; A/D converter; AT89C51;ADC0809目 录引 言电压表是固定安装
6、在电力、电信、电子设备面板上使用的仪表,用来测量交、直流电路中的电压。传统的指针式电压表功能单一、精准度低,不能满足数字化时代的需求,并且传统的电压表在测量电压时需要手动切换量程,不仅不方便,而且要求不超过该量程。目前,由各种单片A/D转换器构成的数字电压表,已经被广泛用于电子及电工测量领域,并且由DVM扩展而成的各种通用及专用数字仪器仪表,也把电量及非电量技术提高到崭新水平。数字电压表作为电压表的一个分支,在近五十年间得到巨大发展,构成数字电压表的核心器件已从早期的中小规模电路跨入到大规模ASIC(专用集成电路)阶段。数字电压表涉及的范围也从传统的测量扩展至自动控制、传感、通信等领域,展示了
7、广阔的应用前景。近入21世纪,随着信息技术一日千里的发展,电压表也必须经历从单一测量向数据处理、自动控制等多功能过度的这一历程,特别是计算机技术的发展必将出现智能化技术。因此,把电压表和计算机技术结合的智能化电压表就将成为21世纪的新课题。目前,数字化仪器与微处理器取得令人瞩目的进展,就其技术背景而言,一个内藏微处理器的仪表意味着计算机技术向仪器仪表的移植,它所具有的软件功能使仪器呈现出某种延伸,强化功能的作用。这相对于过去传统的、纯硬件的仪器来说是一种新的突破,其发展潜力十分巨大,这已为70年代以来仪表发展的历史所证实。本文是以简易数字直流电压表的设计为研究内容,本系统主要包括三大模块:转换
8、模块、数据处理模块及显示模块。其中,A/D转换采用ADC0809对输入的模拟信号进行转换,控制核心AT89C51再对转换的结果进行运算处理,最后驱动输出装置LED显示数字电压信号。第一章 绪论1.1 课题概述1.1.1 课题意义与目的 数字电压表是诸多数字化仪表的核心与基础。以数字电压表为核心,可以扩展成各种通用数字仪表、专用数字仪表及各种非电量的数字化仪表(如:温度计,湿度计,酸度计,重量,厚度仪等),几乎覆盖了电子电工测量,工业测量,自动化仪表等各个领域。除此之外,数字电压还有着传统指针电压表无可比拟的优点:读数直观、准确,显示范围宽、分辨力高,转入阻抗高,功耗小、抗干扰强等3。因此 对数
9、字电压表作全面深入的了解是很有必要的。但是传统的数字电压表设计通常以大规模ASIC(专用集成电路)为核心器件,并辅以少量中规模集成电路及显示器件构成,可是这种设计方法灵活性差,系统功能固定,难以更新扩展,不能满足日益发展的电子工业要求6。而应用微处理器(单片机)为核心单元的数字电压表,其灵活性高、系统功能扩展简单,性能稳定可靠。在这些背景下,设计一种以单片机为基础、结构简单、工作可靠、灵活性好的数字电压表是很有意义的。1.1.2 数字电压表的发展历程数字电压表简称DVM,它是采用数字化测量技术设计的电压表。从性能来看:数字电压表的发展从一九五二年美国NLS公司由四位电子管数字电压表精度千分之一
10、到现在已经出现8位数字电压表。参数可测量直流电压、交流电压、电流、阻抗等。测量自动化程度不断提高,可以和计算机配合显示、计算结果、然后打印出来。目前世界上美国FLUKE公司,在直流和低频交流电量的校准领域居国际先进水平。例如该公司生产的“4700A”多功能校准器和“8505”危机数字多用电压表,可用8位显示,直流精度可达到5/10-6,读书分辨力为0.1V。带有A/D变换模式、数据输出接口形式IEEE-488。具有比率测量软件校准和有交流电阻、电流选件。还具有高精度电压校准器“5400A”、“5200A”、“5450A”等数字仪表,都是作为一级计量站和国家级计量站使用的标准仪表。还有英国的“7
11、055”数字电压表采用脉冲调制技术。日本横河公司的“2501”型采用三次采样等等在不断的蓬勃发展1。从发展过程来看:数字电压表自1952年问世以来,已有50年多年的发展史,大致经历了五代产品。第一代产品是20世纪50年代问世的电子管数字电压表,第二代产品属于20世纪60年代出现的晶体管数字电压表,第三带产品为20世纪70年代研制的中、小规模集成电路的数字电压表。今年来,国内外相继推出有大规模集成电路(LSI)或超大规模集成电路(VLSI)构成的数字电压表、智能数字电压表,分别属于第四代、第五代产品。它们不仅开创了电子测量的先河,更以高准确度、高可靠性、高分辨力、高性价比等优良特性而受到人民的青
12、睐2。1.2 单片机1.2.1 单片机简介 单片机是一种集成电路芯片,采用超大规模技术把具有数据处理能力(如算术运算,逻辑运算、数据传送、中断处理)的微处理器(CPU),随机存取数据存储器(RAM),只读程序存储器(ROM),输入输出电路(I/O口),可能还包括定时计数器,串行通信口(SCI),显示驱动电路(LCD或LED驱动电路),脉宽调制电路(PWM),模拟多路转换器及A/D转换器等电路集成到一块单块芯片上,构成一个最小的然而完善的计算机系统。这些电路能在软件的控制下准确、迅速、高效地完成程序设计者事先规定的任务。单片机控制系统能够取代以前利用复杂电子线路或数字电路构成的控制系统,可以软件
13、控制来实现,并能够实现智能化,现在单片机控制范畴无所不在,例如通信产品、家用电器、智能仪器仪表、过程控制和专用控制装置等等,单片机的应用领域越来越广泛。1.2.2 单片机的应用领域单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴:(1)在智能仪器仪表上的应用单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度等物理量的测量。 (2)在工业控制中的应用用单片机可以构成形式多样的控制系统、数据采集系统。例如工厂流水线的智能化管理,电梯智能
14、化控制、各种报警系统,与计算机联网构成二级控制系统等。(3)在家用电器中的应用现在的家用电器基本上都采用了单片机控制,从电饭褒、洗衣机、电冰箱、空调机、彩电、其他音响视频器材、再到电子秤量设备,五花八门,无所不在。(4)在计算机网络和通信领域中的应用现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件。 此外,单片机在工商,金融,科研、教育,国防航空航天等领域都有着十分广泛的用途。1.2.3 单片机应用系统的开发过程单片机的应用系统随着其用途不同,其硬件和软件均不相同,也即单片机的最初的选型都很重要,原则上是选择高性价比的单片机,
15、硬件软件化是提供系统性价比的有效方法,尽量减少硬件成本,多用软件来实现相同的功能,这样也可大大提高系统的可靠性。 虽然单片机的硬件选型不尽相同,软件编写也千差万别,但系统的研制步骤和方法是基本一致的,一般都分为总体设计、硬件电路的构思设计、软件的编制和仿真调试几个阶段。1.3 数字电压表数字电压表简称DVM,它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。1.3.1 数字电压表的特点(1)显示清晰直观,读数准确数字电压表采用先进的数显技术,使测量结果一目了然,只要仪表不发生跳读现象,测量结果就是唯一的。(2准确度高准确度是测量结果中系统误差与
16、随机误差的综合。(3)分辨率高数字电压表在最低电压量程上末位1个字所代表的电压值,称为仪表的分辨力,它反映仪表灵敏度的高低。分辨力随显示位数的增加而提高。分辨率是指所能显示的最小数字(零除外)与最大数字的百分比。(4)测量范围宽多量程DVM一般可测量01000V直流电压,配上高压探头还可测上万伏的高压。(5)扩展能力强在数字电压表的基础上,还可扩展成各种通用及专用数字仪表、数字多用表(DMM)和智能仪表,以满足不同的需要。(6)测量速度快数字电压表在每秒钟内对被测电压的测量次数,叫测量速率,单位是次/S。它主要取决于A/D转换器的转换速率,其倒数是测量周期。 (7)输入阻抗高 数字电压表具有很
17、高的输入阻抗,通常为10M10000M,最高可达1T。 (8)集成度高,微功耗 新型数字电压表普遍采用CMOS大规模集成电路,整机功耗很低。(9)抗干扰能力强第二章 基于单片机的数字电压表的总体设计2.1 系统概述本课题所设计的数字电压表主要包括两部分:硬件电路及软件程序。而硬件电路采用ATMEL公司的AT89C51作为主处理器,系统主要由信号采集、A/D转换、数据处理输出、驱动显示等几个功能模块组成。各部分电路的设计及原理将会在硬件电路设计部分详细介绍;程序的设计使用C语言编程,利用Keil 软件对其编译和仿真,详细的设计算法将会在程序设计部分详细介绍。系统框图(图2-1)如下:A/D转换单
18、元数据处理单元显示驱动单元显示单元被测电压图2-1 电压表系统框图被测直流电压由A/D转换单元采集后被量化,再由单片机对A/D转换的结果进行标度变换,得到被测电压的数值,通过单片机对数次转换结果求平均值、并通过SOI串行数据接口把所求平均值输出给显示驱动单元,由该单元完成译码,并驱动数码管显示。2.1.1 数字式电压表工作过程简介电压表的数字化是将连续模拟的电压量经A/D转化后变为不连续的离散的数字量并加以显示7。在设计过程中采用分模块设计,把电路分A/D转换、数据处理输出、驱动、显示四个单元,分别设计。A/D转换器选用的是八位模/数转换器ADC0809。其次,计算机中的数字都是十六进制数,而
19、我们习惯于十进制数的读写,因此,在软件设计中则要把十六进制数转换成十进制数。在显示的时候也是如此。本装置的输出用四位LED显示,因此在软件设计中还要解决数字输出与LED的接口问题。硬件则需要将输出线接到八段数码管上8。数值显示采用八段数码管,由单片机以动态扫描方式驱动,在此方式下能保证足够的亮度和较长的使用寿命。ADC0809的REF(-)接地,REF(+)接电源+5V,因此采集电压的范围是05V,A/D转换输出的结果D0D7为8位二进制数。转换输出的结果在0255之间分别对应着0+5V之间的256个电压值,因此单片机必须把A/D转换输出的结果转换成可以显示的电压值,具体的方法是: 由上公式可
20、知:当ADC0809输出为(11111111)B时,输入电压值VIN=5.00V;当ADC0809输出为(00000000)B时,输入电压值VIN=0.00V;当ADC0809输出为(10000000)B时,输入电压值VIN=2.50V,但是单片机在进行数学运算时结果只读取整数部分,因此当输出为(10000000)B时计算得来的电压值VIN=2.00V。由此可以看出这样运算的输出结果很不准确,在0+5V之间只有0,1,2,3,4,5六个电压值,所以必须把单片机运算结果中的小数部分保留下来8。具体方法是:如果保留小数点后两位,在运算的时候分子乘以100,保留三位就乘以1000。小数点后保留两位的
21、公式如下: (2.2)2.1.2 软件程序设计简介开机后首先初始化,使数码管显示为“0.000”然后调用A/D转换子程序启动A/D转换器,单片机等待查询转换结束信号,如果有信号则通过并行口读取转换数据并存储,就这样连着读取五次数据后求平均值,再按上面的方法通过串行口把数据传输出,经译码在数码管显示。具体方法和程序见程序设计部分和附录。第三章 硬件电路设计3.1 A/D转换电路3.1.1 A/D转换芯片的选择A/D转换器是模拟量输入通道中的一个环节,单片机通过A/D转换器把输入模拟量变成数字量再处理。随着大规模集成电路的发展,目前不同厂家已经生产出了多种型号的A/D转换器,以满足不同应用场合的需
22、要。如果按照转换原理划分,主要有3种类型,即双积分式A/D转换器、逐次逼近式A/D转换器和并行式A/D转换器。目前最常用的是双积分和逐次逼近式。双积分式A/D转换器具有抗干扰能力强、转换精度高、价格便宜等优点,比如ICL71XX系列等,它们通常带有自动较零、七段码输出等功能。与双积分相比,逐次逼近式A/D转换的转换速度更快,而且精度更高,比如ADC0808、ADC0809等,它们通常具有8路模拟选通开关及地址译码、锁存电路等,它们可以与单片机系统连接,将数字量送单片机进行分析和显示9。本设计中,要求精度小于0.5%,则选用分辨率为8位的芯片,如ADC0809,ADC0801,ADC0808就能
23、满足设计要求。本电路采用ADC0809。3.1.2 ADC0809内部逻辑结构START CLKINT0INT1INT2INT3INT4INT5INT6INT78路模拟量开关EOC8路A/D转换器D0D1D2D3D4D5D6D7三态输出锁存器地址锁存器与译码器ABCALEOEVREF(+) VREF()图3-1 ADC0809内部逻辑结构3.1.3 ADC0809的工作原理ADC是一种基本的外围扩展器件,其种类很多,工作原理也不仅相同,比较有代表性的是:单积分型,双积分型,脉宽调制型和逐次比较型(逐次逼近型)。从产品性价比、转换速度和精度等方面综合分析,逐次比较型ADC是相对应用比较广的类型之
24、一。所以有着广泛的应用10逐次逼近型ADC实际采用的方法上从高到底开始逐位设定,比较模拟量输出,再来确定原设定位的正确与否。逐次比较型ADC原理结构如图3-2所示。其主要由采集保持电路、电压比较器、逐次比较寄存器、数/模转换器ADC和锁存器等部分组成。+GOCP被测电压uiADIF=1逐次比较寄存器Us寄存器数字量输出模/数转换图3-2 逐次比较型ADC原理结构其工作原理如下:首先,被测模拟电压ui通过逐次比较寄存器,将传递进的脉冲CP信号转换成数字信号,该数字量再经过数/模转换器生成对应的模拟量Us。当获得模拟量Us的数值达到并接近被测电压所对应ui后,就可以检测出电压比较器完成最后的反转。
25、此时,逐次比较积存器的计数值就是被测电压ui所对应的数字量,从而完成模拟量的转换。以上的分析表明,逐次比较的模/数转换方法,归根到底是数/模转换,采用逐次与模拟量进行比较后得到最终的数字标定值11。3.1.4 ADC0809芯片介绍ADC0809是一种8位逐次逼近型A/D转换器。带8个模拟量输入通道,芯片内有通道地址译码锁存器,有输出三态数据锁存器,启动信号为脉冲启动方式,每个通道的转换时间大约为100s,可以和单片机直接接口9。IN0IN7:8条模拟量输入通道。ADC0809对输入模拟量的要求是信号单极性,电压范围是05V,若信号太小,必须进行放大:输入的模拟量在转换过程中应保持不变,如若模
26、拟信号变化太快,则需在输入前增加采样保持电路。地址输入和控制线:4条,ALE为地址锁存允许输入线,高电平有效。当ALE线为高电平时,地址锁存与译码器将A,B,C三条地址线的地址信号进行锁存,经译码后被选中的通道的模拟量进转化器进行转换。A,B,C为地址输入线,用于选通INOIN7上的一路模拟量输入。通道选择如表3-1地址码 对应的输入通道 C B A 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 IN0 IN1 IN2 IN3 IN4 IN5 IN6 IN7 表3-1数字量输出及控制线: 11条。START为上跳沿时,所有内部寄存器清零;下跳沿
27、时,开始进行A/D转换:在转换期间,START应保持底电平。EOC为转换结束信号。当EOC为高电平时,表明转换结束:否则,表明正在进行A/D转换。OE为输出允许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。OE=1,输出转换得到的数据。OE=0,输出数据线呈高阻状态。D7D0为数字量输出线。 CLK为时钟输入信号线。由于ADC0809的内部没有时钟电路,所需时钟信号必须由外界提供,通常使用频率为500KHz,最大不能超过1280KHz11。 VREF(+),VREF(-)为参考电压输入,决定了输入模拟量的范围。一般情况VREF(-)接地,VREF(+)接+5V电源。3.2 单片机简介
28、3.2.1 单片机介绍单片微型计算机简称单片机,又称微型控制或嵌入式控制器,是将计算机的基本部件微型化,使之集成在一块芯片上的微机。单片机有着体积小,功耗低,功能强,性能价格比高、易于推广应用等显著优点,在自动化装置、智能化仪器仪表、过程控制和家用电器等领域得到日益广泛的应用。3.2.2 采用AT89C51的原因在众多的51系列单片机中,要算 ATMEL 公司的AT89C51更实用,它是由北京集成电路设计中心在MSC-51单片机的基础上精心设计,由美国生产的至今为止世界上最新型的高性能八位单片机。它不但和8051指令、管脚完全兼容,而且其片内的4K程序存储器是FLASH工艺的,这种工艺的存储器
29、用户可以用电的方式瞬间擦除、改写,一般专为 ATMEL AT89Cx 做的编程器均带有这些功能。显而易见,这种单片机对开发设备的要求很低,开发时间也大大缩短12。3.2.3 AT89C51芯片主要性能参数与MCS51产品指令系统完全兼容 4K字节的可重擦写Flash闪速存储器1000次擦写周期全静态操作:0Hz24Hz三级加密程序存储器1288字节内部RAM32个可编程I/O口线2个16位定时/记数器6个中断源可编程串行UART通道底功耗空闲和掉电模式 图3-3 AT89C513.2.4 AT89C51功能介绍AT89C51是一种低损耗、高性能、CMOS八位微处理器,片内有4K字节的在线可重复
30、编程快擦快写存储器,能重复写入/擦除1000次,数据保存时间为十年。它与MCS-51系列单片机在指令系统和引脚上完全兼容,不仅可完全代替MCS-51系列单片机,而且能使系统具有许多MCS-51单片机,而且能使系统具有许多MCS-51系列产品没有的功能。AT89C51可构成真正的单片机最小应用系统,缩小系统体积,增加系统的可靠性,降低了系统成本。只要程序长度小于4K,四个I/O口全部提供给用户。可用5V电压编程,而且擦写时间仅需10毫秒,仅为8751/87C51的擦除时间的百分之一,与8751/87C51的12V电压擦写相比,不易损坏器件,没有两种电源的要求,改写时不拔下芯片,适合许多嵌入式控制
31、领域。工作电压范围宽2.7V-6V,全静态工作,工作频率宽,在0MHz-24MHz内,比8751/87C51等51系列的6MHz-12MHz更具有灵活性,系统能快能慢。AT89C51芯片提供三级程序存储器加密,提供了方便灵活而可靠的硬加密手段,能完全保证程序或系统不被仿制13。另外,AT89C51还具有MCS-51系列单片机的所有优点。1288位内部RAM,32位双向输入输出线,两个十六位定时/计数器,5个中断源,两级中断优先级,一个全双工异步串行口及时钟发生器等。3.2.5 AT89C51引脚介绍及分配引脚描述:P0口:P0口是一组8位漏极开路双向I/O口,也既地址/数据总线复用口。作为输出
32、口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口写“1”可作为高阻抗输入端用。在访问外部数据存储器话程序存储器时,这组口线分时转换地址(底8位)和数据总线服用,在访问期间激活内部上拉电阻。在Flash编程时,P0口接受指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。P1口:P1口是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口 写“1”,通过内部的上拉电阻把端口拉到高电平,此时可操作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉底时会输出一个电流(IIL)。Flash编程和程序校验期间
33、,P1接收底8位地址。P2口:P2口是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对断口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉底时会输出一个电流(IIL)。在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVE DPTR)时,P2口送出高8位地址数据。在访问8位地址的外部数据存储器(如执行MOVE RI指令)时,P2口线上的内容也即特殊功能存储器(SFR)区中R2寄存器的内容,在整个访问期间不改变。在Flash编程或校验时,P2亦接收高位地址和
34、其他控制信号。P3口:P3口是一组带有内部上拉电阻的8位双向I/O口。P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。作输入端时,被外部拉底的P3口将用上拉电阻输出电流(IIL)。P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能,如下表3-2所示端口引脚第二功能 P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 INT0(外部中断0) P3.3 INT1(外部中断1) P3.4 T0(定时/记数器0) P3.5 T1(定时/记数器1) P3.6 WR(外部数据存储器写选通) P3.7
35、 RD(外部数据存储器读选通)表3-2P3口还接受一些用于Flash闪速存储器编程和程序校验的控制信号。RST:复位输入。当振荡器工作时,RET引脚出现两个机器周期以上高电平将使单片机复位。ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的底8位字节。即使不访问外部存储器,ALE仍以时钟振荡频率的1/6输出固定的正脉冲信号,因此它可对外部输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对Flash存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH的D0位置
36、位,可禁止ALE操作。该位置位后,只有一条MOVE和MOVX指令ALE才会被激活,此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE无效。PSEN:程序存贮允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C51由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,既输出两个脉冲。在此期间,当访问外部数据存储器,这两次有效的PSEN信号不出现。EA/VPP:外部访问允许。欲使CPU仅访问外部程序存储器(地址为0000HFFFFH),EA端必须保持底电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接VCC端),CPU
37、则执行内部程序存储器中的指令。Flash存储器编程时,该脚加上+12V的编程允许电源VPP,当然这必须是该器件是使用12V编程电压VPP。XTAL1:振荡器反相放大器的及内部时钟发生器的输入端。XTAL2:振荡器反相放大器的输出端。3.3 LED显示器系统3.3.1 LED基本结构LED是发光二极管显示器的缩写。LED由于结构简单、价格便宜、与单片机接口方便等优点而得到广泛应用。LED显示器是由若干个发光二极管组成显示字段的显示器件6。在单片机中使用最多的是七段数码显示器。LED七段数码显示器由8个发光二极管组成显示字段,其中7个长条形的发光二极管排列成“日”字形,另一个圆点形的发光二极管在显
38、示器的右下角作为显示小数点用,其通过不同的组合可用来显示各种数字。LED引脚排列如下图3-4所示: 图3-43.3.2 LED显示器的选择在应用系统中,设计要求不同,使用的LED显示器的位数也不同,因此就生产了位数,尺寸,型号不同的LED显示器供选择,在本设计中,选择4位一体的数码型LED显示器,简称“4-LED”。本系统中前一位显示电压的整数位,即个位,后两位显示电压的小数位。4-LED显示器引脚如图9所示,是一个共阴极接法的4位LED数码显示管,其中a,b,c,e,f,g为4位LED各段的公共输出端,1、2、3、4分别是每一位的位数选端,dp是小数点引出端,4位一体LED数码显示管的内部结
39、构是由4个单独的LED组成,每个LED的段输出引脚在内部都并联后,引出到器件的外部。图3-5 4位LED引脚对于这种结构的LED显示器,它的体积和结构都符合设计要求,由于4位LED阴极的各段已经在内部连接在一起,所以必须使用动态扫描方式(将所有数码管的段选线并联在一起,用一个I/O接口控制)显示。3.3.3 LED译码方式译码方式是指由显示字符转换得到对应的字段码的方式,对于LED数码管显示器,通常的译码方式有硬件译码和软件译码方式两种。硬件译码是指利用专门的硬件电路来实现显示字符码的转换。软件译码就是编写软件译码程序,通过译码程序来得到要显示的字符的字段码,译码程序通常为查表程序3。本设计系
40、统中为了简化硬件线路设计,LED译码采用软件编程来实现。由于本设计采用的是共阴极LED,其对应的字符和字段码如下表3-3所示。显示字符共阴极字段码03FH106H25BH34FH466H56DH67DH707H87FH96FH表3-33.4 复位电路和时钟电路3.4.1 复位电路设计单片机在启动运行时都需要复位,使CPU和系统中的其他部件都处于一个确定的初始状态,并从这个状态开始工作。MCS-51单片机有一个复位引脚RST,采用施密特触发输入。当震荡器起振后,只要该引脚上出现2个机器周期以上的高电平即可确保时器件复位1。复位完成后,如果RST端继续保持高电平,MCS-51就一直处于复位状态,只
41、要RST恢复低电平后,单片机才能进入其他工作状态。单片机的复位方式有上电自动复位和手动复位两种,图3-5是51系列单片机统常用的上电复位和手动复位组合电路,只要Vcc上升时间不超过1ms,它们都能很好的工作1。图3-53.4.2 时钟电路设计单片机中CPU每执行一条指令,都必须在统一的时钟脉冲的控制下严格按时间节拍进行,而这个时钟脉冲是单片机控制中的时序电路发出的。CPU执行一条指令的各个微操作所对应时间顺序称为单片机的时序。MCS-51单片机芯片内部有一个高增益反相放大器,用于构成震荡器,XTAL1为该放大器的输入端,XTAL2为该放大器输出端,但形成时钟电路还需附加其他电路1。本设计系统采
42、用内部时钟方式,利用单片机内部的高增益反相放大器,外部电路简,只需要一个晶振和 2个电容即可,如图3-7所示。图3-7电路中的器件选择可以通过计算和实验确定,也可以参考一些典型电路的参数,电路中C1和C2对振荡频率有微调作用,通常的取值范围是20-40pF,在这个系统中选择了33pF,石英晶振选择范围最高可选24MHz,它决定了单片机电路产生的时钟信号振荡频率,在本系统中选择的是12MHz,因而时钟信号的振荡频率为12MHz。3.5 7805简介用78/79系列三端稳压IC来组成稳压电源所需的外围元件极少,电路内部还有过流、过热及调整管的保护电路,使用起来可靠、方便,而且价格便宜。第四章 软件
43、程序设计4.1 程序设计总方案 根据模块的划分原则,将该程序划分初始化模块,A/D转换程序,数据处理程序,显示程序,这四个程序模块构成了整个系统软件的主程序,如图开始初始化调用A/D转换子程序数据处理程序调用显示子程序结束图4-14.2 系统子程序设计4.2.1 初始化程序所谓初始化,是对将要用到的MCS_51系列单片机内部部件或扩展芯片进行初始工作状态设定,初始化子程序的主要工作是设置定时器的工作模式,初值预置,开中断和打开定时器等9。4.2.2 A/D转换子程序A/D转换子程序用来控制对输入的模块电压信号的采集测量,并将对应的数值存入相应的内存单元,其转换流程图如图4-2所示。开始启动转换NA/D转换结束?Y输出转换结果数值转换显示结束图4-24.2.3 显示子程序显示子程序采用动态扫描实现四位数码管的数值显示,在采用动态