文档库 最新最全的文档下载
当前位置:文档库 › 数字电压表毕业论文--基于单片机的数字电压表设计

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

本科毕业设计论文题目:基于单片机的数字电压表设计

院、系:光电工程学院

学科专业:光电信息工程

学生:

学号:040110107

指导教师:

2008年6月

基于单片机的数字电压表设计

摘要

在日常维修、教学和科研中,电压表是不可缺少的。本课题目的就是以单片机为基础设计出一种结构简单、工作可靠、灵活性好的数字电压表。

本文首先介绍了数字电压表的发展现状及课题的目的和意义。然后,对基于单片机的数字电压表的硬件系统、软件系统的设计原理及具体实现方案作以详细介绍,其中,在硬件部分,较为详细的讨论了硬件的选择、设计原理、使用方法和功能,同时,对各部分接口电路作以介绍;在软件部分,介绍了软件所使用的编程语言和编程思路。最后,对电路调试、印刷PCB板的制作及系统的抗干扰设计作了进一步分析和总结。

本文设计的数字电压表,其硬件电路所用元件较少、成本低、调节简单;软件采用C语言编程,其灵活性高,可读性强。经过理论研究、原理设计和整机调试,实验结果表明,该方案可行。

关键词:单片机;电压表; A/D转换器;串行总线

I

Design of Digital Voltage Meter Based on MCU

Abstract

In routine maintenance, teaching and research, voltage meter is indispensable. A direct current digital voltage meter has been designed, which is based on MCU, and has a simple structure, reliable, flexible.

Firstly,this paper introduced the development of the base on MCU digital voltage meter and the purpose and significance of topic. Then in details this paper described the design principle of hardware and software systems. And in details the hardware part present a discussion in hardware selection, design principles, instructions and the function, further more, some of the interface circuit have been introduced. The software part introduced the programming language and programming ideas used in codes. Finally, the circuit debugging, the printed plate of PCB production and the anti-jamming system were designed to further analysis and synthesis.

The digital voltage meter designed here, have less components in the hardware part, lower cost and easier testing; software used C programming language which is high flexibility and strong readability. After theoretical research, principle design and debugging, the experimental results suppose it is feasible of choosing this program.

Keywords: Micro Controller Unit;voltage meter;A/D Converters;

Series Bus

II

目录

TOC \O "1-3" \H \Z \U 中文摘要 (Ⅰ)

英文摘要 (Ⅱ)

1绪论 (1)

1.1课题概述 (1)

1.1.2数字电压表的发展历程 (1)

1.1.3国内外的发展现状与趋势 (1)

1.2课题的意义和目的 (3)

1.3本文所作的主要工作 (3)

2基于单片机数字电压表的总体设计 (4)

2.1设计指标 (4)

2.2系统概述 (4)

2.2.1硬件电路图及工作过程简介 (4)

2.2.2 软件程序设计简介 (6)

2.3小结 (6)

3基于单片机数字电压表的硬件设计 (7)

3.1器件的选择 (7)

3.2A/D转换电路 (7)

3.2.1 A/D转换芯片的选择 (7)

3.2.2 ADC0809转换原理介绍 (7)

3.2.3 ADC0809芯片介绍 (8)

3.2.4 ADC0809与单片机的接口方法 (9)

3.3单片机介绍 (10)

3.3.1 单片机介绍 (10)

3.3.2采用AT89C51的原因 (10)

i

3.3.3 AT89C51芯片主要性能参数 (10)

3.3.4功能介绍 (10)

3.3.5 芯片管脚介绍及分配 (11)

3.4显示驱动单元设计 (13)

3.4.1 ZLG7289芯片介绍 (13)

3.4.2 ZLG7289的主要特征 (13)

3.4.3 ZLG7289引脚功能说明 (14)

3.4.4 ZLG7289与单片机及数码管的连接 (15)

3.4.5时序图中的各项延迟时间 (16)

3.4.6控制指令 (16)

3.5SPI接口技术 (17)

3.5.1 SPI总线简介 (17)

3.5.2 SPI总线的基本结构 (17)

3.5.3 数据的传输 (18)

3.6电压显示电路 (19)

3.7小结 (19)

4 基于单片机数字电压表的软件设计 (20)

4.1软件系统整体设计 (20)

4.1.1 C51简介 (20)

4.1.2 程序流程图 (21)

4.1.3数据采集模块的设计 (23)

4.1.4数据处理模块的设计 (23)

4.2C51程序 (23)

4.3小结 (23)

5 基于单片机数字电压表的抗干扰设计 (23)

5.1硬件系统的可靠性与抗干扰设计 (23)

5.1.1供电系统抗干扰措施 (23)

ii

5.1.2接地 (23)

5.1.3传输通道的抗干扰措施 (24)

5.2软件系统的可靠性与抗干扰设计 (24)

5.3小结 (24)

6 电路制作及调试 (26)

6.1PCB板的制作 (26)

6.2系统外观 (27)

6.3电路调试 (28)

6.3.1调试步骤 (28)

6.3.2可能出现的问题解答 (28)

6.4系统调试及结果分析 (29)

6.4小结 (29)

7结论 (30)

7.1主要结论 (30)

7.2进一步工作及展望 (31)

致谢 (32)

参考文献 (33)

附录 (34)

附录A (34)

附录B (39)

iii

1绪论

1绪论

1.1课题概述

1.1.2数字电压表的发展历程

数字电压表简称DVM,它是采用数字化测量技术设计的电压表。从性能来看:数字电压表的发展从一九五二年美国NLS公司由四位电子管数字电压表精度千分之一到现在已经出现8位数字电压表。参数可测量直流电压、交流电压、电流、阻抗等。测量自动化程度不断提高,可以和计算机配合显示、计算结果、然后打印出来。目前世界上美国FLUKE公司,在直流和低频交流电量的校准领域居国际先进水平。例如该公司生产的“4700A”多功能校准器和“8505”危机数字多用电压表,可用8位显示,直流精度可达到±5/10-6,读书分辨力为0.1μV。带有A/D变换模式、数据输出接口形式IEEE-488。具有比率测量软件校准和有交流电阻、电流选件。还具有高精度电压校准器“5400A”、“5200A”、“5450A”等数字仪表,都是作为一级计量站和国家级计量站使用的标准仪表。还有英国的“7055”数字电压表采用脉冲调制技术。日本横河公司的“2501”型采用三次采样等等在不断的蓬勃发展[1]。

从发展过程来看:数字电压表自1952年问世以来,已有50年多年的发展史,大致经历了五代产品。第一代产品是20世纪50年代问世的电子管数字电压表,第二代产品属于20世纪60年代出现的晶体管数字电压表,第三带产品为20世纪70年代研制的中、小规模集成电路的数字电压表。今年来,国内外相继推出有大规模集成电路(LSI)或超大规模集成电路(VLSI)构成的数字电压表、智能数字电压表,分别属于第四代、第五代产品。它们不仅开创了电子测量的先河,更以高准确度、高可靠性、高分辨力、高性价比等优良特性而受到人民的青睐[2]。

1.1.3国内外的发展现状与趋势

数字电压表作为电压表的一个分支,在近五十年间得到巨大发展,构成数字电压表的核心器件已从早期的中小规模电路跨入到大规模ASIC(专用集成电路)阶段。数字电压表涉及的范围也从传统的测量扩展至自动控制、传感、通信等领域,展示了广阔的应用前景。

传统电压表的设计思路主要分为:用电流计和电阻构成的电压表;用中小规模集成电路构成的电压表;用大规模ASIC(专用集成电路)构成的电压表。这几中电压表设计方式各有优势和缺点,分别适用于几种特定的应用环境,同时,也为很多新颖的电压表的设计所借鉴和依据[2]。

近入21世纪,随着信息技术一日千里的发展,电压表也必经历从单一测量向数据处理、自动控制等多功能过度的这一历程,特别是计算机技术的发展必将

1

西安工业大学学士学位论文

出现智能化技术。因此,把电压表和计算机技术相结合的智能化电压表就将成为21世纪的新课题。目前,数字化仪器与微处理器取得令人瞩目的进展,就其技术背景而言,一个内藏微处理器的仪表意味着计算机技术向仪器仪表的移植,它所具有的软件功能使仪器呈现出有某种延伸,强化的作用。这相对于过去传统的、纯硬件的仪器来说是一种新的突破,其发展潜力十分巨大,这已为70年代以来仪表发展的历史所证实。概括起来,具有微处理器的仪表具有以下特点:①测量过程的软件控制对测量数据进行存储及运算的数据处理功能是仪表最突出的特点;②在仪器的测量过程中综合了软件控制及数据处理功能,使一机多用或仪器的多功能化易于实现,成为这类仪器的又一特点;③以其软件为主体的智能仪器不仅在使用方便、功能多样化等方面呈现很大的灵活性[3]。

下面从5个方面阐述新型数字仪表的发展趋向。

(1).广泛采用新技术,不断开发新产品

随着科学技术的发展,新技术的广泛应用,新器件的不断出现。首先是A/D 转换器:20世纪90年代世界各国相继研发了新的A/D转换技术。例如,四斜率A/D转换技术(美国)、余数再循环技术(美国)、自动校准技术(英国)、固态真有效值转换技术(英国)、约瑟夫森效应基准源(2个纳米稳定度)、智能化专用芯片(80C51系列,荷兰)等,这些新技术使数字电压表向高准确度、高可靠性及智能化、低成本方向发展。另外,集成电路的发展使电压表只在外围配置少量元器件,即可构成完整的智能仪表,可以完成储存、计算、比较、控制等多项功能[4]。

(2).广泛采用新工艺

新一代数字仪表正朝着标准模块化的方向发展。预计在不久的将来,更多的数字仪表将由标准化、通用化、系列化的模块所构成,给电路设计、安装调试和维修带来极大方便。

(3).多从显示仪表

为彻底解决数字仪表不便于观察连续变化量的技术难题;“数字/模拟条图”双显示仪表已成为国际流行款式,它兼有数字仪表准确度高、模拟式仪表便于观察被测量的变化过程及变化趋势这两大优点。

(4).提高安全性

仪器仪表在设计和使用中的安全性,对生产厂家和广大用户都至关重要。一方面厂家必须为仪表设计安全保护电路,并使之符合国家标准;另一方面用户必须安全操作,时刻注意仪表上的各种安全警告指示。

(5).操作简单化

集成电路的发展使电压表只在外围配置少量元件,即可构成完整的智能仪表,可以完成储存、计算、比较、控制等多项功能。这使的按键变少,操作简单。但是数字电压表并不能完全取代指针式的电压表,在反映电压的连续变化和变化趋势方面不如指针表的直观。为克服这种缺憾,20世纪90年代初,一种“数字/光柱”的双重显示仪表已经出现,并成功地应用于生产实践中[5]。

2

西安工业大学学士学位论文

综上所述,十几年来智能仪器虽然有了很大的发展,但总的看来,人们还是较习惯于从硬件的角度做工作,这是由于设计者的(硬件)技术背景,LSI器件不断迅速更新的冲击以及在现阶段仪器硬件更新的数量还很大等因素所造成的。这种趋势虽然仍会继续下去,但从智能仪表的内涵,从软件的角度上看,软件的作用还远未发挥出来,这里有许多的领域等待着去开发。智能仪表最终必然会与人工智能联系起来开创出全新的仪器。从这个观点看,目前的智能仪器尚处于“幼年时期”。所以,就仪表的发展看来电压表会朝着具有微控制处理单元的智能仪表方向发展。

1.2课题的意义和目的

数字电压表是诸多数字化仪表的核心与基础。以数字电压表为核心,可以扩展成各种通用数字仪表、专用数字仪表及各种非电量的数字化仪表(如:温度计,湿度计,酸度计,重量,厚度仪等),几乎覆盖了电子电工测量,工业测量,自动化仪表等各个领域。除此之外,数字电压还有着传统指针电压表无可比拟的优点:读数直观、准确,显示范围宽、分辨力高,转入阻抗高,功耗小、抗干扰强等[3]。因此对数字电压表作全面深入的了解是很有必要的。但是传统的数字电压表设计通常以大规模ASIC(专用集成电路)为核心器件,并辅以少量中规模集成电路及显示器件构成,可是这种设计方法灵活性差,系统功能固定,难以更新扩展,不能满足日益发展的电子工业要求[6]。而应用微处理器(单片机)为核心单元的数字电压表,其灵活性高、系统功能扩展简单,性能稳定可靠。在这些背景下,设计一种以单片机为基础、结构简单、工作可靠、灵活性好的数字电压表是很有意义的。

1.3本文所作的主要工作

1.对系统总体框架进行分析,根据系统所要实现的目标,设计基于单片机的数字电压表的硬件系统,以模块设计法为依据进行系统各个部分的具体设计。

2.设计基于单片机的数字控制系统,发挥单片机的处理功能强大,运算速度快的特点,对被测电压进行实时检测和显示。

3.制作印刷电路板,使硬件电路的设计更加清晰,同时使系统的抗干扰能力进一不加强。

4.针对系统的总体框架和硬件设计的特点,设计相应的软件系统,更合理的去完成系统测电压的目的。

5.对系统进行整机调试,使得基于单片机的数字电压表的实验结果尽可能的满足设计指标。

3

2 基于单片机数字电压表的总体设计

4

2 基于单片机数字电压表的总体设计

2.1设计指标

在日常维修、教学和科研中,电压表是不可缺少的,传统的数字电压表设计通常以大规模ASIC(专用集成电路)为核心器件,并辅以少量中规模集成电路及显示器件构成,但是这种设计方法灵活性差,系统功能固定,难以更新扩展,不能满足日益发展的电子工业要求。而应用微处理器(单片机)为核心单元,其灵活性高、系统功能扩展简单,性能稳定可靠。本课题目的就是以单片机为基础设计出一种结构简单、工作可靠、灵活性好的直流数字电压表。要求数字电压表精度为±0.05V ,测量范围为0~5V 。

2.2系统概述

本课题所设计的数字电压表主要包括两部分:硬件电路及软件程序。而硬件电路采用ATMEL 公司的AT89C51作为主处理器,系统主要由信号采集、A/D 转换、数据处理输出、驱动显示等几个功能模块组成。各部分电路的设计及原理将会在硬件电路设计部分详细介绍;程序的设计使用C 语言编程,利用Keil 软件对其编译和仿真,详细的设计算法将会在程序设计部分详细介绍。

系统框图(图2.1)如下:

图2.1 硬件原理框图 被测直流电压由A/D 转换单元采集后被量化,再由单片机对A/D 转换的结果进行标度变换,得到被测电压的数值,通过单片机对数次转换结果求平均值、并通过SOI 串行数据接口把所求平均值输出给显示驱动单元,由该单元完成译码,并驱动数码管显示。

2.2.1硬件电路图及工作过程简介

电压表的数字化是将连续模拟的电压量经A/D 转化后变为不连续的离散的数字量并加以显示[7]。在设计过程中采用分模块设计,按照图2.1把电路分A/D 转换、数据处理输出、驱动、显示四个单元,分别设计。

A/D 转换器选用的是八位模/数转换器ADC0809。其次,计算机中的数字都是十六进制数,而我们习惯于十进制数的读写,因此,在软件设计中则要把十六进制数转换成十进制数。在显示的时候也是如此。本装置的输出用四位LED 显示,因此在软件设计中还要解决数字输出与LED 的接口问题。硬件则需要将输出线接被测电压

A/D 转换 单元 数据处 理单元

显示驱 动单元 显示 单元

西安工业大学学士学位论文

5

到八段数码管上[8]。

数值显示采用八段数码管,由单片机以动态扫描方式驱动,在此方式下能保证足够的亮度和较长的使用寿命。

由电路原理图2.2可以看出ADC0809通过IN0采集电压信号并送给单片机,单片机将采集来的信号进行一定的处理然后通过串口扩展的共阴极LED 数码管显示采集的电压值。

数码管显示是采用动态显示的原理,要显示的数码通过单片机的串口发送然后通过ZLG7289转换为并行信号分别加到四个数码管的SA —DP ,而四个数码管的公共端分别接ZLG7289的DIG0-DIG3接口,因此要使哪个数码管显示就把相应 的公共端口置零即可。比如:数字“1”的字型码通过串口发送出来并经过ZLG7289译码加到了四个数码管上,如果其中一个引脚为“0”那么对应的数码管显示数字“1”。在此电路中电压值的三个数字分别通过串口依次的送出,对应的公共端也依次被置“0”,由于两次置“0”的时间间隔很短,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位显示器并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感。因此给人的感觉就是三个数码管同时的显示出电压值四个数字[5]。

数字电压表电路图如图2.2所示:

图2.2 电路原理图

ADC0809的REF (-)接地,REF (+)接电源+5V ,因此采集电压的范围是0~5V ,A/D 转换输出的结果D0~D7为8位二进制数。转换输出的结果在0~255之间分别对应着0~+5V 之间的256个电压值,因此单片机必须把A/D

转换输出的结果转换成可以显示的电压值,具体的方法是:

西安工业大学学士学位论文

6

(2.1)

由上公式可知:当ADC0809输出为(11111111)B 时,输入电压值V IN =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。小数点后保留两位的公式如下:

(2.2)

由新公式可知当ADC0809输出位(10000000)B 时,单片机运算结果为2500。然后单片机将250除以10得到商为250,余数为0,再将250除以10得到商为25,余数为0,再将25除以10得到商为2,余数为5。这样就可以得到电压值的四个数字,最后分别将2、5、0、0四个数通过串口送出,显示在四个数码管上,并且把第一个数码管的dp 脚(即小数点)直接接地使其一直发亮,那么数码管上就可以显示输入的电压值“2.500” [5]。

2.2.2 软件程序设计简介

开机后首先初始化,使数码管显示为“0.000”然后调用A/D 转换子程序启动AD 转换器,单片机等待查询转换结束信号,如果有信号则通过并行口读取转换数据并存储,就这样连着读取五次数据后求平均值,再按上面的方法通过串行口把数据传输出,经译码在数码管显示。具体方法和程序见程序设计部分和附录。

2.3 小结

在电路设计和软件设计中都采用了分模块设计,这种设计方法清晰的电路的功能,为设计和以后的调试和维修带来了极大的方便。特别是在软件设计中,这中方法曾强了程序的可移植性,为以后的功能扩展奠定了基础。

51

100010005255?=??=Dout Dout Vin 5255?=Dout Vin

3 基于单片机数字电压表的硬件设计

3基于单片机数字电压表的硬件设计

3.1器件的选择

模数转换器选用ADC0809

单片机用AT89C51

显示驱动用ZLG7289

数码管用四位共阴级LED(SM420364)

退耦电容100nf无极性电容和100μf的电解电容

位电容用10μf的电解电容

零欧电阻限流电阻

共阴极八段数码管sm420364

3.2 A/D转换电路

3.2.1 A/D转换芯片的选择

A/D转换器是模拟量输入通道中的一个环节,单片机通过A/D转换器把输入模拟量变成数字量再处理。

随着大规模集成电路的发展,目前不同厂家已经生产出了多种型号的A/D转换器,以满足不同应用场合的需要。如果按照转换原理划分,主要有3种类型,即双积分式A/D转换器、逐次逼近式A/D转换器和并行式A/D转换器。目前最常用的是双积分和逐次逼近式。

双积分式A/D转换器具有抗干扰能力强、转换精度高、价格便宜等优点,比如ICL71XX系列等,它们通常带有自动较零、七段码输出等功能。与双积分相比,逐次逼近式A/D转换的转换速度更快,而且精度更高,比如ADC0808、ADC0809等,它们通常具有8路模拟选通开关及地址译码、锁存电路等,它们可以与单片机系统连接,将数字量送单片机进行分析和显示[9]。

本设计中,要求精度小于0.5%,则选用分辨率为8位的芯片,如ADC0809,ADC0801,ADC0808就能满足设计要求。本电路采用ADC0809。

3.2.2 ADC0809转换原理介绍

ADC是一种基本的外围扩展器件,其种类很多,工作原理也不仅相同,比较有代表性的是:单积分型,双积分型,脉宽调制型和逐次比较型(逐次逼近型)。从产品性价比、转换速度和精度等方面综合分析,逐次比较型ADC是相对应用比较广的类型之一。所以有着广泛的应用[10]。

逐次逼近型ADC实际采用的方法上从高到底开始逐位设定,比较模拟量输出,再来确定原设定位的正确与否。逐次比较型ADC原理结构如图2.3所示。其

7

西安工业大学学士学位论文

8 CP GO ADIF=1 数字量输出

U s 被测电压u i

主要由采集保持电路、电压比较器、逐次比较寄存器、数/模转换器ADC 和锁存器等部分组成。

+ _

图2.3 逐次比较型ADC 结构

其工作原理如下:

首先,被测模拟电压u i 通过逐次比较寄存器,将传递进的脉冲CP 信号转换

成数字信号,该数字量再经过数/模转换器生成对应的模拟量U s 。当获得模拟量U s 的数值达到并接近被测电压所对应u i 后,就可以检测出电压比较器完成最后的反转。此时,逐次比较积存器的计数值就是被测电压u i 所对应的数字量,从而完成模拟量的转换。以上的分析表明,逐次比较的模/数转换方法,归根到底是数/模转换,采用逐次与模拟量进行比较后得到最终的数字标定值[11]。

3.2.3 ADC0809芯片介绍

ADC0809是一种8位逐次逼近型A/D 转换器。带8个模拟量输入通道,芯片内有通道地址译码锁存器,有输出三态数据锁存器,启动信号为脉冲启动方式,每个通道的转换时间大约为100μs ,可以和单片机直接接口[9]。

ADC0809的引脚图和内部逻辑结构如图2.4所示。

图2.3

图 2.4

由图1(b )可知,ADC0809由一个8路模拟开关,一个地址锁存与译码器、一个8位A/D 转换器和一个三态输出锁存器组成。多路开关可选通8个模拟通道逐次比较

寄存器

器 模/数转换

西安工业大学学士学位论文

9

IN0—IN7,允许8路模拟分量输入,共用A/D 转换器 进行转换。三态输出锁存器用于锁存A/D 转换完的数字量,当OE 端为高电平时,才可以从三态输出锁存器取走转换完的数据。

IN0—IN7:8条模拟量输入通道。ADC0809对输入模拟量的要求是信号单极性,电压范围是0—5V ,若信号太小,必须进行放大:输入的模拟量在转换过程中应保持不变,如若模拟信号变化太快,则需在输入前增加采样保持电路。 地址输入和控制线:4条,ALE 为地址锁存允许输入线,高电平有效。当ALE 线为高电平时,地址锁存与译码器将A ,B ,C 三条地址线的地址信号进行锁存,经译码后被选中的通道的模拟量进转化器进行转换。A ,B ,C 为地址输入线,用于选通IN0—IN7上的一路模拟量输入。通道选择如表2.1所示。

数字量输出及控制线: 11条。START

为上跳沿时,所有内部寄存器清零;下跳

沿时,开始进行A/D 转换:在转换期间,

START 应保持底电平。EOC 为转换结束信

号。当EOC 为高电平时,表明转换结束:

否则,表明正在进行A/D 转换。OE 为输出

允许信号,用于控制三条输出锁存器向单

片机输出转换得到的数据。OE=1,输出转

换得到的数据。OE=0,输出数据线呈高阻

状态。D7—D0为数字量输出线。

CLK 为时钟输入信号线。由于ADC0809

的内部没有时钟电路,所需时钟信号必须

由外界提供,通常使用频率为500KHz ,最

大不能超过1280KHz [11]。

VREF (+),VREF (-)为参考电压输入,决定了输入模拟量的范围。一般情况VREF (-)接地,VREF (+)接+5V 电源。

3.2.4 ADC0809与单片机的接口方法

电路原理图2.2可以看出ADC0809的数据D0—D7直接与单片机的总线P0相连。模拟输入通道地址A 、B 、C 直接接地,因此ADC0809只对通道IN0输入的电压进行模数转换,其他通道直接接地(接地的目的主要是为了减少输入噪声,一般情况对于模数转换芯片中没用到的模拟输入端都这样处理)。时钟CLK 由单片机的ALE 取得,对于晶振为12MHz 的单片机ALE 输出为2MHz 的方波,但前面提到ADC0809的时钟频率一般为500KHz ,最大能超过1280KHz ,但在实际应用中2MHz 的信号也可以使ADC0809正常工作。START 、ALE 和OE 分别由单片机的WR 、RD 和P2.7经或非门接入、这样主要是满足ADC0809的信号电平与时序的要求。按此图中的片选接法。ADC0809通道—IN0的地址为7FFFH 。

由于EOC 未接入单片机,故只能采用延时等待的方法来读取A/D 转换的结果(即当单片机启动ADC0809

后延时一段时间再主动去读ADC0809的转换结果)。

西安工业大学学士学位论文

10

但是如果单片机在进行A/D 转换时还要执行其他的程序可以将EOC 接在单片机的中断上,这样当A/D 转换完后EOC 可以对单片机产生中断使其读取A/D 转换的结果,这样做单片机的使用效率更高。

3.3单片机介绍

3.3.1 单片机介绍

单片微型计算机简称单片机,又称微型控制或嵌入式控制器,是将计算机的基本部件微型化,使之集成在一块芯片上的微机。单片机有着体积小,功耗低,功能强,性能价格比高、易于推广应用等显著优点,在自动化装置、智能化仪器仪表、过程控制和家用电器等领域得到日益广泛的应用。

3.3.2采用AT89C51的原因

在众多的51系列单片机中,要算 ATMEL 公司的AT89C51更实用,它是由北京集成电路设计中心在MSC-51单片机的基础上精心设计,由美国生产的至今为止世界上最新型的高性能八位单片机。它不但和8051指令、管脚完全兼容,而且其片内的4K 程序存储器是FLASH 工艺的,这种工艺的存储器用户可以用电的方式瞬间擦除、改写,一般专为 ATMEL AT89Cx 做的编程器均带有这些功能。显而易见,这种单片机对开发设备的要求很低,开发时间也大大缩短[12]。

3.3.3 AT89C51芯片主要性能参数

与MCS —51产品指令系统完全兼容

4K 字节的可重擦写Flash 闪速存储器

1000次擦写周期

全静态操作:0Hz –24Hz

三级加密程序存储器

128×8字节内部RAM

32个可编程I/O 口线

2个16位定时/记数器

6个中断源

可编程串行UART 通道

底功耗空闲和掉电模式 图2.5 AT89C51管脚分

3.3.4功能介绍

AT89C51是一种低损耗、高性能、CMOS 八位微处理器,片内有4K 字节的在线可重复编程快擦快写存储器,能重复写入/擦除1000次,数据保存时间为十年。

它与MCS-51系列单片机在指令系统和引脚上完全兼容,不仅可完全代替MCS-51

西安工业大学学士学位论文

11

系列单片机,而且能使系统具有许多MCS-51单片机,而且能使系统具有许多MCS-51系列产品没有的功能。AT89C51可构成真正的单片机最小应用系统,缩小系统体积,增加系统的可靠性,降低了系统成本。只要程序长度小于4K ,四个I/O 口全部提供给用户。可用5V 电压编程,而且擦写时间仅需10毫秒,仅为8751/87C51的擦除时间的百分之一,与8751/87C51的12V 电压擦写相比,不易损坏器件,没有两种电源的要求,改写时不拔下芯片,适合许多嵌入式控制领域。工作电压范围宽2.7V-6V ,全静态工作,工作频率宽,在0M Hz-24M Hz 内,比8751/87C51等51系列的6MHz-12 MHz 更具有灵活性,系统能快能慢。AT89C51芯片提供三级程序存储器加密,提供了方便灵活而可靠的硬加密手段,能完全保证程序或系统不被仿制[13]。

另外,AT89C51还具有MCS-51系列单片机的所有优点。128×8位内部RAM ,32位双向输入输出线,两个十六位定时/计数器,5个中断源,两级中断优先级,一个全双工异步串行口及时钟发生器等。

3.3.5 芯片管脚介绍及分配

引脚描述:

VCC :电源

GND :电源地

P0口:P0口是一组8位漏极开路双向I/O 口,也既地址/数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8个TTL 逻辑门电路,对端口写“1”可作为高阻抗输入端用。

在访问外部数据存储器话程序存储器时,这组口线分时转换地址(底8位)和数据总线服用,在访问期间激活内部上拉电阻。

在Flash 编程时,P0口接受指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。

P1口:P1口是一个带内部上拉电阻的8位双向I/O 口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL 逻辑门电路。对端口 写“1”,通过内部的上拉电阻把端口拉到高电平,此时可操作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉底时会输出一个电流(I IL )。

Flash 编程和程序校验期间,P1接收底8位地址。

P2口:P2口是一个带有内部上拉电阻的8位双向I/O 口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL 逻辑门电路。对断口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉底时会输出一个电流(I IL )。

在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVE @DPTR )时,P2口送出高8位地址数据。在访问8位地址的外部数据存储器(如执行MOVE

西安工业大学学士学位论文

12

@RI 指令)时,P2口线上的内容[也即特殊功能存储器(SFR )区中R2寄存器的内容],在整个访问期间不改变。

在Flash 编程或校验时,P2亦接收高位地址和其他控制信号。

P3口:P3口是一组带有内部上拉电阻的8位双向I/O 口。P3口输出缓冲级可驱动(吸收或输出电流)4个TTL 逻辑门电路。对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。作输入端时,被外部拉底的P3口将用上拉电阻输出电流(I IL )。

P3口除了作为一般的I/O 口线外,更重要的用途是它的第二功能,如下表

2.2所示: 表 2.2 P3口第二功能表

端口引脚

第二功能 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 RD (外部数据存储器读选通)

P3口还接受一些用于Flash 闪速存储器编程和程序校验的控制信号。

RST :复位输入。当振荡器工作时,RET 引脚出现两个机器周期以上高电平将使单片机复位。

ALE/PROG :当访问外部程序存储器或数据存储器时,ALE (地址锁存允许)输出脉冲用于锁存地址的底8位字节。即使不访问外部存储器,ALE 仍以时钟振荡频率的1/6输出固定的正脉冲信号,因此它可对外部输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE 脉冲。

对Flash 存储器编程期间,该引脚还用于输入编程脉冲(PROG )。

如有必要,可通过对特殊功能寄存器(SFR )区中的8EH 的D0位置位,可禁止ALE 操作。该位置位后,只有一条MOVE 和MOVX 指令ALE 才会被激活,此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE 无效。

PSEN :程序存贮允许(PSEN )输出是外部程序存储器的读选通信号,当AT89C51由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN 有效,既输出两个脉冲。在此期间,当访问外部数据存储器,这两次有效的PSEN 信号不出现。

EA/VPP :外部访问允许。欲使CPU 仅访问外部程序存储器(地址为0000H —FFFFH ),EA 端必须保持底电平(接地)。需注意的是:如果加密位LB1被编程,

西安工业大学学士学位论文

13

复位时内部会锁存EA 端状态。

如EA 端为高电平(接VCC 端),CPU 则执行内部程序存储器中的指令。 Flash 存储器编程时,该脚加上+12V 的编程允许电源VPP ,当然这必须是该器件是使用12V 编程电压V PP 。

XTAL1:振荡器反相放大器的及内部时钟发生器的输入端。

XTAL2:振荡器反相放大器的输出端。

3.4显示驱动单元设计

3.4.1 ZLG7289芯片介绍

ZLG7289是广州周立功单片机发展有线公

司自行设计的数码管显示驱动及键盘扫描管

理芯片,可直接驱动8位共阴式数码管(或

64只独立LED ),同时还可以扫描管理多达64

只按键。 ZLG7289内部含有显示译码器,可

直接接受BCD 码或16进制码,并同时具有2

种译码方式。此外,还具有多种控制指令,如

消隐、闪烁、左移、右移、段寻址等。ZLG7289

采用SPI 串行总线与微控制器接口,仅占用少

数几根I/O 口线。利用片选信号,多片

ZLG7289还可以并接在一起使用,能够方便地

实现多于8位的显示或多于64只按键的应用。

3.4.2 ZLG7289的主要特征

很宽的工作电压范围:+2.7-6V ;

直接驱动8位共阴式数码管(1英寸以下)或64只独立的LED ;

段电流可达15mA 以上,字电流可达100mA ;

利用功率电路可以方便地驱动1英寸以上的大型数码管;

具有左移、右移、闪烁、消隐、段点亮等强大功能;

要显示的数据提供有两种不同的译码方式(也可以选择不译码);

不接数码管而仅使用键盘管理功能时,工作电流可将至3mA ;

与微控制器之间采用SPI 串行总线接口,操作方便,占用I/O 资源少; 工作温度范围:-40~+85℃;

封装:DIP-28

西安工业大学学士学位论文

14

3.4.3 ZLG7289引脚功能说明

表2.3 ZLG7289引脚功能表

引脚序号

引脚名称 功能描述 1

RTCC 接电源 2

V CC 电源,+2.7~6V 3

NC 悬空 4

GND 接地 5

NC 悬空 6

CS SPI 总线片选信号,低电平有效 7

CLK SPI 总线时钟输入信号,上升沿有效 8

DIO SPI 总线数据信号,双向 9

INT 键盘中断请求信号,低电平(下将沿)有效 10

SG/KR0 数码管g 段/键盘行信号0 11

SF/KR1 数码管f 段/键盘行信号1 12

SE/KR2 数码管e 段/键盘行信号2 13

SD/KR3 数码管d 段/键盘行信号3 14

SC/KR4 数码管c 段/键盘行信号4 15

SB/KR5 数码管b 段/键盘行信号5 16

SA/KR6 数码管a 段/键盘行信号6 17

DP/KR7 数码管dp 段/键盘列信号7 18

DIG0/KC0 数码管字选信号0键盘列信号0 19

DIG1/KC1 数码管字选信号1/键盘列信号1 20

DIG2/KC2 数码管字选信号2/键盘列信号2 21

DIG3/KC3 数码管字选信号3/键盘列信号3 22

DIG4/KC4 数码管字选信号4/键盘列信号4 23

DIG5/KC5 数码管字选信号5/键盘列信号5 24

DIG6/KC6 数码管字选信号6/键盘列信号6 25

DIG7/KC7 数码管字选信号7/键盘列信号7 26

OSC2 晶振输出信号 27

OSC1 晶振输入信号 28

RST

复位信号,低电平有效

相关文档
相关文档 最新文档