版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 毕业设计(论文) 题目名称:基于单片机的数字电能表设计就读学校:河南工学院专 业:工业自动化学生姓名:指导教师: 中原工学院继续教育学院2016 年 4 月 基于单片机的数字电能表设计The design of digital watt-hour meter based on single chip microcomputer就读学校:河南工学院专 业:工业自动化学生姓名:指导教师: 2016 年 4 月论文编号:070114200653摘摘 要要19 世纪三四十年代,中国人民的照明途径还是主要由煤油灯为主,而在经济飞速发展的,科技产品日新月异的今天,电的应用已经深入中国人民的日常生活。电灯
2、、冰箱、空调等等,统统都与电有着密切的关系。电在当今社会不可或缺,同样也涌现出了对电量的计量,从而出现了电能表这一计量仪表。电能表的发展历程主要是由最初的单一费率电能表到如今的复费率电能表。这与我国的多费率用电政策有关,旨在消峰镇谷,平衡用电。同样,在现在科技飞速发展,各种电器,仪表都逐渐趋近于自动化、人性化和智能化。而这些电气设备大都含单片机或者是 CPU 控制器。 在本次设计中将智能化技术融入电能表中,电能表作为重要的计量仪表,准确性、稳定性都是很重要的。而数字电能表具有精度高、测量准确、读数直观、使用方便等优点。本设计以 AT89C51 单片机为核心,以逐次比较型 A/D 转换器ADC0
3、809、八段数码管为主体,构造了一款简易的数字电能表,能够实现同时测量 8 路 0.005.00V 的直流电压,最小分辨率为 0.02V。关键词:关键词:AT89C51;ADC0809;数字电能表;八段数码管ABSTRACTABSTRACTThirties and 19th century, the Chinese peoples way of illumination is mainly composed of kerosene lamp is given priority to, and with the rapid economic development, science and te
4、chnology products with each passing day today, the applications of electricity have the Chinese Peoples Daily life. Lights, refrigerator, air conditioner and so on, all has close relationship with electricity. Electricity is essential in todays society, and also emerged for the measurement of the po
5、wer, thus appeared the watt-hour meter measuring instrument. The developing course of watt-hour meter is mainly composed of a single rate, initial watt-hour meter in todays complex rate watt-hour meter. This is associated with rate more electricity policy of our country, aimed at peak valley town, b
6、alance of power. Also, in what is now the rapid development of science and technology, all kinds of electrical appliances, instrument has gradually tend to be automated, humanization and intelligent. But most of these electrical equipment including microcontroller or CPU controller.We will integrate
7、 the intelligent watt-hour meter in the design of watt-hour meter as important measuring instrument, the accuracy, stability is very important. And digital watt-hour meter with high precision, measurement accuracy, reading the advantages of intuitive and easy to use. This design USES AT89C51 single-
8、chip microcomputer as the core, to compare successive type A/D converter ADC0809, eight digital tube as the main body, constructed A simple digital watt-hour meter, can be achieved at the same time measuring 8 road from 0.00 V to 5.00 V dc voltage, minimum resolution of 0.02 V.Keywords: AT89C51;ADC0
9、809;Digital watt-hour meter;Eight digital tube目目 录录第 1 章 绪论.1第 2 章 总体方案选择.22.1 方案一:由数字电路及芯片构建。.22.2 方案二:由单片机系统及 A/D 转换芯片构建。.2第 3 章 硬件设计.43.1 单片机 AT89C51.43.1.1 AT89C51 芯片主要性能参数.43.1.3 芯片管脚介绍及分配.53.2 A/D 转换模块设计.73.2.1 A/D 转换器的介绍.73.2.2 ADC0809 的介绍.93.2.3 转换器 ADC0809 与单片机的接口电路.133.2.4 有关芯片介绍.143.3 显示模
10、块设计.163.3.1 显示器的选择.163.3.2 显示器与单片机接口电路.173.4 复位电路和时钟电路.183.4.1 复位电路.183.4.2 时钟电路.18第 4 章 软件设计.204.1 汇编语言的选择及介绍.204.2 程序流程.214.2.1 系统主程序流程图.214.2.2 各子程序流程图.21第 5 章 系统的调试.255.1 硬件电路的调试.255.2 软件调试.255.2.1 PROTEUS 软件简介.255.2.2 KEIL 简介.254.3.1 显示结果及误差分析.27第 6 章 结论与展望.296.1 结论.296.2 不足之处及未来展望.29参考文献.30致 谢
11、.31附录 A 原理图.32附录 B 主要源程序代码.33第第 1 1 章章 绪论绪论在当前经济高速发展的时代,社会各个方面的用电量都急速上升,为电网系统的稳定造成了很大困扰。我国采用的是多费率用电政策,旨在消峰镇谷,平衡用电。单一费率电能表逐渐被复费率电能表大规模取代。在当前单片机应用急速发展的时代,以单片机为主要控制芯片的数字电能表已经占领了主要市场。同样,应继续研究,降低成本价格,提高稳定性、可靠性和抗干扰能力。数字电能表的基本工作原理是利用 A/D 转换电路将待测的模拟信号转换成数字信号,通过相应换算后将测试结果以数字形式显示出来的一种电能表。较之于一般的模拟电能表,数字电能表具有精度
12、高、测量准确、读数直观、使用方便等优点。在测量仪器中,电能表是必须的,而且电能表的好坏直接影响到测量精度。具有一个精度高、转换速度快、性能稳定的电能表才能符合测量的要求。为此,我们设计了数字电能表,此设计主要由 A/D 转换器和单片机 AT89C51 构成,A/D转换器在单片机的控制下完成对模拟信号的采集和转换功能,最后由数码管显示采集的电压值。电能表的数字化测量,关键在于如何把随时连续变化的模拟量转化成数字量,完成这种转换的电路叫模数转换器(A/D)。数字电能表的核心部件就是 A/D 转换器,由于各种不同的 A/D 转换原理构成了各种不同类型的 DVM。一般说来,A/D转换的方式可分为两类:
13、积分式和逐次逼近式。积分式 A/D 转换器是先用积分器将输入的模拟电压转换成时间或频率,再将其数字化。根据转化的中间量不同,它又分为 U-T(电压-时间)式和 U-F(电压-频率)式两种。逐次逼近式 A/D 转换器分为比较式和斜坡电压式,根据不同的工作原理,比较式又分为逐次比较式及零平衡式等。斜坡电压式又分为线性斜坡式和阶梯斜坡式两种。在高精度数字电能表中,常采用由积分式和比较式相结合起来的复合式 A/D转换器。本设计以 AT89C51 单片机为核心,以逐次比较型 A/D 转换器 ADC0809、七段数码管为主体,构造了一款简易的数字电能表,能够实现测量 8 路0.005.00V 的电压,最小
14、分辨率为 0.02V。第第 2 2 章章 总体方案设计总体方案设计2.12.1 方案一:由数字电路及芯片构建。方案一:由数字电路及芯片构建。这种设计方案是由模拟电路与数字电路两大部分组成,模拟部分包括输入放大器、A/D 转换器和基准电压源;数字部分包括计数器、译码器、逻辑控制器、振荡器和显示器。其中,A/D 转换器是它的核心器件,它将输入的模拟量转换成数字量。模拟电路和数字电路是相互联系的,由逻辑控制电路产生控制信号,按规定的时序将 A/D 转换器中几组模拟开关接通或断开,保证 A/D 转换正常进行。A/D 转换结果通过计数译码电路变换成段码,最后驱动显示器显示出相应的数值。此方案设计的优点是
15、设计成本低,能够满足一般的电压测量。但设计不灵活,都是采用纯硬件电路,很难将其在原有的基础上进行扩展。2.22.2 方案二:由单片机系统及方案二:由单片机系统及 A/DA/D 转换芯片构建。转换芯片构建。这种方案是利用单片机系统与模数转换芯片、显示模块等的结合构建数字电能表。由于单片机的发展已经成熟,利用单片机系统的软硬件结合,可以组装出许多的应用电路来。此方案的原理是模/数(A/D)转换芯片的基准电压源,被测量电压输入端分别输入基准电压和被测电压。模/数(A/D)转换芯片将被被测量电压输入端所采集到的模拟电压信号转换成相应的数字信号,然后通过对单片机系统进行软件编程,使单片机系统能按规定的时
16、序来采集这些数字信号,通过一定的算法计算出被测量电压的值。最后单片机系统将计算好了的被测电压值按一定的时序送入显示电路模块加以显示。此方案不仅能够继承方案一的各种优点,还能改进方案一设计的不灵活,可以在原有的基础上进行扩展。综合比较以上两种设计方案的各方面的优点及现在所设计的电能表的实用性,选择第二种电能表的设计方案,及由单片机及数字芯片构建的方法来实现数字电能表的设计。设计思路设计主要采用 AT89C51 单片机芯片和 ADC0809 模/数转换芯片来完成一个简易的数字电能表,能够对输入的 8 路 0V5V 的模拟直流电压进行测量,并通过四位 LED 数码管进行显示,测量误差小于 0.02
17、V。设计电路主要通过 ADC0809 芯片的模拟电压输入端输入的 0V5V 的模拟量电压,产生相应的数字量经过其输出通道 D0D7 传送给 AT89C51 芯片的 P0 口。该电能表的测量电路主要由四个模块组成:A/D 转换模块、数据处理及控制模块、显示控制模块。A/D 转换主要由芯片 ADC0809 来完成,主要负责把输入的模拟量转换为相应的数字量再传送到数据处理模块,数据处理则由单片机 AT89C51 来完成,其负责把 ADC0809 传送来的数字量经数据处理后,产生相应的显示码送到显示模块进行显示,显示模块主要由四位 LED 数码管组成,完成显示测量到的电压值。设计方案本设计是以单片机
18、AT89C51 和 A/D 转换器 ADC0809 为核心,测量连续信号的数字电能表。硬件主要由:单片机 AT89C51,AD 转换模块,显示模块,时钟与复位电路组成。总体设计框图如图 2-1 所示:图 2-1 系统总体框图AD 转换模块测量电压输入时钟与复位电路显示模块AT89C51第第 3 3 章章 硬件硬件设计设计3.13.1 芯片选型芯片选型本次设计采用的芯片是 AT89C51。AT89C51 是一种带 4K 字节闪烁可编程可擦除只读存储器的低电压,高性能 CMOS8 位微处理器。它可与 MCS-51 兼容,寿命较长且数据可保留 10 年。拥有低功耗的闲置和掉电模式,并带有片内振荡器和
19、时钟电路,且价格相对较低。而本设计中的电能表因需要普及,需要价格、稳定性、数据保留时间等多方面的要求,故选此款单片机。3.1.13.1.1 AT89C51AT89C51 芯片主要性能参数芯片主要性能参数与 MCS51 产品指令系统完全兼容 4K 字节的可重擦写 Flash 闪速存储器1000 次擦写周期全静态操作:0Hz24Hz三级加密程序存储器1288 字节内部 RAM32 个可编程 I/O 口线2 个 16 位定时/记数器6 个中断源可编程串行 UART 通道底功耗空闲和掉电模式 3.1.23.1.2 功能介绍功能介绍AT89C51 是一种低损耗、高性能、CMOS 八位微处理器,片内有 4
20、K 字节的在线可重复编程快擦快写存储器,能重复写入/擦除 1000 次,数据保存时间为十年。它与 MCS-51 系列单片机在指令系统和引脚上完全兼容,不仅可完全代替 MCS-51系列单片机,而且能使系统具有许多 MCS-51 单片机,而且能使系统具有许多MCS-51 系列产品没有的功能。AT89C51 可构成真正的单片机最小应用系统,缩小系统体积,增加系统的可靠性,降低了系统成本。只要程序长度小于 4K,四个I/O 口全部提供给用户。可用 5V 电压编程,而且擦写时间仅需 10 毫秒,仅为8751/87C51 的擦除时间的百分之一,与 8751/87C51 的 12V 电压擦写相比,不易损坏器
21、件,没有两种电源的要求,改写时不拔下芯片,适合许多嵌入式控制领域。工作电压范围宽 2.7V-6V,全静态工作,工作频率宽,在 0M Hz-24M Hz 内,比8751/87C51 等 51 系列的 6MHz-12 MHz 更具有灵活性,系统能快能慢。AT89C51芯片提供三级程序存储器加密,提供了方便灵活而可靠的硬加密手段,能完全保证程序或系统不被仿制。另外,AT89C51 还具有 MCS-51 系列单片机的所有优点。1288 位内部RAM,32 位双向输入输出线,两个十六位定时/计数器,5 个中断源,两级中断优先级,一个全双工异步串行口及时钟发生器等。3.1.33.1.3 芯片管脚介绍及分配
22、芯片管脚介绍及分配图 3-1 AT89C51 管脚引脚描述:VCC:电源GND:电源地P0 口:P0 口是一组 8 位漏极开路双向 I/O 口,也既地址/数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动 8 个 TTL 逻辑门电路,对端口写“1”可作为高阻抗输入端用。在 Flash 编程时,P0 口接受指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。P1 口:P1 口是一个带内部上拉电阻的 8 位双向 I/O 口,P1 的输出缓冲级可驱动(吸收或输出电流)4 个 TTL 逻辑门电路。对端口 写“1”,通过内部的上拉电阻把端口拉到高电平,此时可操作输入口。作输入口使用时
23、,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。Flash 编程和程序校验期间,P1 接收底 8 位地址。P2 口:P2 口是一个带有内部上拉电阻的 8 位双向 I/O 口,P2 的输出缓冲级可驱动(吸收或输出电流)4 个 TTL 逻辑门电路。对断口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。在访问外部程序存储器或 16 位地址的外部数据存储器(例如执行 MOVE DPTR)时,P2 口送出高 8 位地址数据。在访问 8 位地址的外部数据存储器(如执行 MOVER
24、I 指令)时,P2 口线上的内容也即特殊功能存储器(SFR)区中 R2寄存器的内容,在整个访问期间不改变。在 Flash 编程或校验时,P2 亦接收高位地址和其他控制信号。P3 口:P3 口是一组带有内部上拉电阻的 8 位双向 I/O 口。P3 口输出缓冲级可驱(吸收或输出电流)4 个 TTL 逻辑门电路。对 P3 口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。作输入端时,被外部拉低的 P3 口将用上拉电阻输出电流(IIL)。P3 口除了作为一般的 I/O 口线外,更重要的用途是它的第二功能,如下表3-1 所示:表 3-1 P3 口第二功能表 P3 口还接受一些用于 Flash 闪速
25、存储器编程和程序校验的控制信号。RST:复位输入。当振荡器工作时,RET 引脚出现两个机器周期以上高电平将使单片机复位。ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的底 8 位字节。即使不访问外部存储器,ALE 仍以时钟振荡频率的 1/6 输出固定的正脉冲信号,因此它可对外部输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个 ALE 脉冲。对 Flash 存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的 8EH 的 D0 位置位,可禁 端口引脚 第二功能 P3.0 RX
26、D(串行输入口) 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(外部数据存储器读选通)止 ALE 操作。该位置位后,只有一条 MOVE 和 MOVX 指令 ALE 才会被激活,此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置 ALE 无效。PSEN:程序存贮允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C51 由外部程序存储器取指令(或数据)时,每个机器周期两次 PSEN 有效,既输出两个脉
27、冲。在此期间,当访问外部数据存储器,这两次有效的 PSEN 信号不出现。EA/VPP:外部访问允许。欲使 CPU 仅访问外部程序存储器(地址为 0000HFFFFH),EA 端必须保持底电平(接地)。需注意的是:如果加密位 LB1 被编程,复位时内部会锁存 EA 端状态。如 EA 端为高电平(接 VCC 端),CPU 则执行内部程序存储器中的指令。Flash 存储器编程时,该脚加上+12V 的编程允许电源 VPP,当然这必须是该器件是使用 12V 编程电压 VPP。XTAL1:振荡器反相放大器的及内部时钟发生器的输入端。XTAL2:振荡器反相放大器的输出端。3.23.2 A/DA/D 转换模块
28、设计转换模块设计3.2.13.2.1 A/DA/D 转换器转换器介绍介绍现实世界的物理量都是模拟量,能把模拟量转化成数字量的器件称为模/数转换器(A/D 转换器),A/D 转换器是单片机数据采集系统的关键接口电路,按照各种 A/D 芯片的转化原理可分为逐次逼近型,双重积分型等等。双积分式 A/D转换器具有抗干扰能力强、转换精度高、价格便宜等优点。与双积分相比,逐次逼近式 A/D 转换的转换速度更快,而且精度更高,比如 ADC0809、ADC0808 等,它们通常具有 8 路模拟选通开关及地址译码、锁存电路等,它们可以与单片机系统连接,将数字量送到单片机进行分析和显示。一个 n 位的逐次逼近型
29、A/D 转换器只需要比较 n 次,转换时间只取决于位数和时钟周期,逐次逼近型 A/D 转换器转换速度快,因而在实际中广泛使用。1.逐次逼近型 A/D 转换器原理逐次逼近型 A/D 转换器是由一个比较器、A/D 转换器、存储器及控制电路组成。它利用内部的寄存器从高位到低位一次开始逐位试探比较。转换过程如下:开始时,寄存器各位清零,转换时,先将最高位置 1,把数据送入 A/D 转换器转换,转换结果与输入的模拟量比较,如果转换的模拟量比输入的模拟量小,则 1 保留,如果转换的模拟量比输入的模拟量大,则 1 不保留,然后从第二位依次重复上述过程直至最低位,最后寄存器中的内容就是输入模拟量对应的二进制数
30、字量。其原理框图如图 3-2 所示:图 3-2 逐次逼近型 A/D 转换器原理图2.A/D 转换器的性能指标(1)分辨率:分辨率用来表示 ADC 对于输入模拟信号的分辨能力,即 ADC输出的数字编码能够反应多么微小的模拟信号变化。转换器的分辨率的定义为满量程电压与 2n之比,其中为输出的数字编码位数。(2)转换速率(Conversion Rate):是指完成一次从模拟转换到数字的 AD转换所需的时间的倒数。积分型 AD 的转换时间是毫秒级属低速 AD,逐次比 较型AD 是微秒级属中速 AD,全并行/串并行型 AD 可达到纳秒级。采样时间则是另外一个概念,是指两次转换的间隔。为了保证转换的正确完
31、成,采样速率(Sample Rate)必须小于或等于转换速率。因此有人习惯上将转换速率在数值上等同于采样速率也是可以接受的。常用单位是 ksps 和 Msps,表示每秒采样千/百万次(kilo / Million Samples per Second)。 (3)量化误差(Quantizing Error):由于 AD 的有限分辩率而引起的误差,即有限分辩率 AD 的阶梯状转移特性曲线与无限分辩率 AD(理想 AD)的转移特 性曲线(直线)之间的最大偏差。通常是一个或半个最小数字量的模拟变化量,表示为 1LSB、1/2LSB。 (4)偏移误差(Offset Error):输入信号为零时输出信号不
32、为零的值,可外接电位器调至最小。 (5)满刻度误差(Full Scale Error):满度输出时对应的输入信号与理想输入信号值之差。(6)量程 量程是指输入模拟电压的变化范围。(7)线性度(Linearity):实际转换器的转移函数与理想直线的最大偏移,不包括以上三种误差。 (8)精度:精度是转换器结果相对于实际值的偏差。精度有以下两种表示顺序脉冲发生器逐渐逼近寄存器电压比较器ADC输入数字输入电压方法:1)绝对精度:用二进制最低位(LSB)的倍数来表示。2)相对精度:用绝对精度除以满量程值的百分数来表示。(9)线性度误差:理想的转换器特性应该是线性的,即模拟量输入与数字量输出成线性关系。线
33、性度误差是转换器实际的模拟数字转换关系与理想的直线关系不同而出现的误差,通常用多少表示。(10)转换时间:从发出启动转换信号开始直至获得稳定的二进制代码所需时间称为转换时间。转换时间与转换器的工作原理及其位数有关。同种工作原理的转换器,通常位数越多,其转换时间越长。3.2.23.2.2 ADC0809ADC0809 引脚介绍引脚介绍ADC0809 是八通道的八位逐次逼近式 A/D 转换器。由单一的 5V 电源供电,片内带有锁存功能的 8 选 1 的模拟开关。由 C、B、A 的编码来决定所选的模拟通道。转换时间为 100us。转换误差为 1/2LSB。1.ADC0809 引脚功能ADC0809
34、的引脚如图 3-3 所示,下面对引脚功能做简要说明:图 3-3 ADC0809 引脚IN0IN7:8 个模拟量的输入端。D0D7:8 位数字量输出端。START:启动 A/D 转换,加正脉冲后 A/D 转换开始。本信号有时也简称 ST。EOC:转换结束信号。转换开始时,EOC 信号变低电平;转换结束时,EOC 信号返回高电平。该信号可以作为 CPU 查询 A/D 转换是否完成的信号,也可以作为向 CPU 发出中断申请的信号。OE:输出允许信号,输入高电平有效。OE 端的电平由低变高时,转换结果被送到数据线上。此信号有效时,CPU 可以从 ADC0809 中读取数据,同时也可以作为 ADC080
35、9 的片选信号。CLK:实时时钟,频率范围为 10KHZ1280KHZ,典型值为 640KHZ。ALE:通道地址锁存允许信号,输入高电平有效。在 ALE=1 时,锁存ADDAADDC,选中模拟量输入。ADDCADDC:通道地址选择输入,其排列顺序从低到高依次为 ADDA 、ADDB、 ADDC。该地址与 8 个模拟量输入,通道的对应关系如表 1 所示:VREF+、VREF-正负参考电压。一般情况下,VREF+接+5V,VREF-接地。此时的转换关系如表 2 所示:VCCGND:工作电源和接地 (1)8 路模拟通道选择模拟通道选择信号 A,B,C 分别接最低三位地址 A0,A1,A2 即(P0.
36、0,P0.1,P0.2),而地址锁存允许信号 ALE 由 P2.7 控制,则 8 路模拟通道的地址为0FEF8H0FEFFH。此外,通道地址选择以/WR 作写选通信号,把 ALE 信号和 START信号接一起,这样连接使得在 ALE 信号的前沿写入地址信号,紧接着在其后沿就启动转换。地址与模拟通道之间的对应关系如表 3 所示:通过单片机内部的程序对 P0 的不同编码,其中低三位地址经过内部译码器电路得到不同的信号,作为锁存 ADC0809 转换通道的地址,转换电路把数字电压量送到该部分电路的输出端口,等待单片机输入口接收数据。(2)完成后转换数据的传送以及转换 A/D 转换过程中的时间配合通过
37、对 A,B,C 送入不同的编码来实现对数据的储存。在 ALE 端接到高电平的同时,ADC0809 的 START 端也得到高电平,开始对输入的模拟电压进行转换当转换完成后 ADC0809 把 EOC 端置为高电平,作为触发中断的信号,送入单片机的外部中断 1,启动中断对接收的数据进行数字量的处理,把测得的电压对应的编码传输给单片机与数码管所连接的端口,通过数码管的驱动电路来驱动数码管来显示不同的电压值,不同的为选编码,是不同的数码管亮或者灭,从而实现数码管的动态显示,是我们所看到的电压稳定。2.ADC0809A/D 转换芯片的原理ADC0809 的工作过程是:首先输入 3 位地址,并使 ALE
38、=1,将地址存入地址锁存器中。此地址经译码选通8 路模拟输入之一到比较器。 START 上升沿将逐次逼近寄存器复位。下降沿启动 AD 转换,之后 EOC 输出信号变低,指示转换正在进行。直到 AD 转换完成, EOC 变为高电平,指示 AD 转换结束,结果数据已存入锁存器,这个信号可用作中断申请。当OE 输入高电平 时,输出三态门打开,转换结果的数字量输出到数据总线上。由图 3-4 可知,ADC0809 由一个 8 路模拟开关、一个地址锁存与译码器、一个 A/D 转换器和一个三态输出锁存器组成。三态输出锁器用于锁存 A/D 转换完的数字量,当 OE端为高电平时,才可以从三态输出锁存器取走转换完
39、的数据。图 3-4 ADC0809 的内部逻辑结构3.ADC0809 时序图ADC0809 的时序图如图 3-5 所示: 图 3-5 ADC0809 的时序图其工作过程是:ALE 的上升沿将 A、B、C 端选择的通道地址锁存到 8 位 A/D转换器的输入端。START 的下降验启动 8 位 A/D 转换器进行转换。A/D 转换开始使 EOC 端输出低电平。A/D 转换结束,EOC 输出高电平。该信号通常可作为中断申请信号。OE 为读出数据允许信号。OE 端为高电平时,可以读出转换的数字量。硬件电路设计时,需根据时序关系及软件进行设计。表 3-2 ADC0809 的输入输出关系 输入模拟电压 输
40、出数字量 输入模拟量 输出数字量 0 0000 0000B . . . . 5 1111 2.5 1000 0000B表 3-3 地址与模拟量通道之间的对应关系4.ADC0809 的应用指导 (1)ADC0809 的应用说明1)ADC0809 内部带有输出锁存器,可以与 AT89C51 单片机直接相连。 2)初始化时,使 ST 和 OE 信号全为低电平。 3)送要转换的哪一通道的地址到 A,B,C 端口上。 4)在 ST 端给出一个至少有 100ns 宽的正脉冲信号。 5)是否转换完毕,我们根据 EOC 信号来判断。 6)当 EOC 变为高电平时,这时给 OE 为高电平,转换的数据就输出给单片
41、机了。 (2)ADC0809 转换结束的判断方法在 ADC0809 编写程序时,首要问题是如何判断一次 A/D 转换何时结束,在此基础上才能正确读取转换结果。常用的判断一次 A/D 转换结束时间的方法有三种。1)软件延时法 软件延时法是指用软件延时等待一次 A/D 转换结束。延时时间取决于计算和调试而获得的 ADC 完成一次转换所需要的时间。 ADDC ADDB ADDA选中通道 0 0 0 IN0 0 0 1 IN1 0 1 0 IN2 0 1 1 IN3 1 0 0 IN4 1 0 1 IN5 1 1 0 IN6 1 1 1 IN7 2)中断法 中断法利用 EOC 作为向 89C51 申请
42、中断信号。在主程序中启动 A/D 转换,在继续执行主程序。在中断服务程序中读取转换结果。 3)查询法 查询法将 EOC 接至 89C51 的某端口 I/O 口线。启动 A/D 转换后,利用查询该I/O 口线引脚电平是否为 0 的方法读取转换结果。 (3)ADC0809 编程方法应用 ADC0809 进行程序设计时,一般要包含以下基本步骤:1)初始化设置 ADC0809 的 IN0IN7 通道地址,设置存放结果的首单元地址和通道数。2)启动 ADC0809先送通道地址到 ADDAADDC,由 ALE 锁存通道号地址,再让 START 有效启动A/D 转换。3)判断 A/D 转换是否结束4)读取转
43、换结果A/D 转换完成后,EOC 端会发出一个正脉冲,接着产生 RD 信号,使 OE 端有效,打开锁存器三态门,8 位数据就读入单片机中。3.2.33.2.3 转换器转换器 ADC0809ADC0809 与单片机的接口电路与单片机的接口电路单片机的 P0 口作为地址、数据总线分时使用,P3 口的片外读写端子通过指令控制 ADC0809 启动、停止、数据的读取等,ADC0809 的 ALE 锁定选通的通道进行转换,START 是启动转换,ALE 信号和 START 信号是接一起的,CLOCK 是转换速度控制器,通过脉冲频率的大小来控制速度,ADC0809 的信号有外部提供500KHZ,P2.7
44、口作读/写口的选通地址线。 下图 7 为 ADC0809 和 AT89C51 单片机的连线图。将 8 位 A/D 转换芯片 ADC0809 与单片机进行如此连接,其目的有二:一是为了利用单片机的信息处理能力,在总线上或由总线经过功能芯片,设置满足 ADC0809 芯片启动过程的时序信号,将启动 A/D 转换置于单片机的控制之下,这时 ADC0809 芯片的地址锁存器可以视为 I/O 接口中的只写寄存器;二是将 A/D转换结果数据读入 CPU,这时 ADC0809 芯片中的输出数据寄存器可以作为普通I/O 接口中的只读寄存器对待。图 3-6 ADC0809 和 AT89C51 单片机的连线图3.
45、2.43.2.4 其他相关芯片介绍其他相关芯片介绍1.关于 74LS02,74LS04 图 3-7 74LS02 引脚 图 3-8 74LS04 引脚四相 2 路输入或非门 74LS02 和六反相器 74LS04 均是基本的集成门电路,输出幅度大,带负载能力强,抗干扰能力强,其工作电压为 318V。2. 74LS373 的概述(1)引脚图如图 3-9;(2)工作原理1)1 脚是输出使能(OE),是低电平有效,当 1 脚是高电平时,不管输入3、4、7、8、13、14、17、18 如何,也不管 11 脚(锁存控制端,G)如何,输出 2(Q1)、5(Q2)、6(Q3)、9(Q4)、12(Q5)、15
46、(Q6)、16(Q7)、19(Q8)全部呈现高阻状态(或者叫浮空状态)。 图 3-9 74LS373 引脚2)当 1 脚是低电平时,只要 11 脚(锁存控制端,G)上出现一个下降沿,输出2(Q1)、5(Q2)、6(Q3)、9(Q4)、12(Q5)、15(Q6)、16(Q7)、19(Q8)立即呈现输入脚 3、4、7、8、13、14、17、18 的状态.锁存端 LE 由高变低时,输出端 8 位信息被锁存,直到 LE 端再次有效。 当三态门使能信号 OE 为低电平时,三态门导通,允许 Q1Q8 输出,OE 为高电平时,输出悬空。(3)74LS373 真值表表 3-4 真值表0低电平; 1高电平; X
47、不定态;Q0建立稳态前 Q 的电平; G数据锁存控制端,与 80C51ALE 连高电平,畅通无阻低电平,关门锁存。 /OE使能端,接地。当 G=1 时,锁存器输出端同输入端;当 G 由“1”变为“0”时,数据输入锁存器中。OE 为输出允许端;当 OE=“0”时,三态门打开;当 OE=“1”时,三态门关闭,输出呈高阻状态。 G /OE 输出 Q 0 0 保持原输入 1 0 输出=输入 X 1 高阻状态(4)74LS373 在单片机系统中的应用当 74LS373 用作地址锁存器时,应使 OE 为低电平,此时锁存使能端 G 为高电平时,输出 Q1Q8 状态与输入端 D18 状态相同;当 G 发生负的
48、跳变时,输入端 D1D8 数据锁入 Q1Q8。51 单片机的 ALE 信号可以直接与 74LS373 的 G 连接。在 MCS-51 单片机系统中,常采用 74LS373 作为地址锁存器使用,其连接方法如上图所示。其中输入端 D1D8 接至单片机的 P0 口,输出端提供的是低 8 位地址,G 端接至单片机的地址锁存允许信号 ALE。输出允许端 OE 接地,表示输出三态门一直打开。3.33.3 显示模块设计显示模块设计3.3.13.3.1 显示器的选择显示器的选择本次设计中有显示模块,设计要求显示最后电压的数字值,采用的是八段数码管。数码管是一类显示屏,它的特点是显示清晰、使用简单、价格相对便宜
49、,特别是在家电领域应用极为广泛。其工作原理是通过对其不同的管脚输入相对的电流 会使其发亮 从而显示出 数字能够显示时间、日期、温度等所有可用数字表示的参数。数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示) ;按能显示多少个 “8”可分为1 位、2 位、4 位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。共阳数码管在应用时应将公共极COM 接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮
50、。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极 (COM)的数码管。共阴数码管在应用时应将公共极COM 接到地线 GND 上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类。 静态显示驱动:静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的 I/O 端口进行驱动,或者使用如 BCD 码二-十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O 端口
51、多,如驱动 5 个数码管静态显示则需要 5840 根 I/O 端口来驱动,要知道一个 89S51 单片机可用的 I/O 端口才 32 个呢:),实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。 动态显示驱动:数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8 个显示笔划 a,b,c,d,e,f,g,dp的同名端连在一起,另外为每个数码管的公共极COM 增加位选通控制电路,位选通由各自独立的 I/O 线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM 端电路的控制,所以我们只要
52、将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的 COM 端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为 12ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的 I/O 端口,而且功耗更低。总上所述,在该设计中采用共阳 LED 数码管,动态显示。3.3.23.3.2 显示器与单片机接口电路显示器与单片机接口电路图 3-10 LED 与单片机接
53、口电路LED 数码管采用动态扫描方式连接,通过 P1 口和 P2 口控制。P1 口为 LED 数AALEALE30EA31PSEN29RST930pFR11kR2200C322uF码管的字段码输出口,P2.0-P2.3 为 LED 数码管的位选码输出端如图 3-10 所示显示接口用来显示系统的状态,命令或采集的电压数据。本设计显示部分用的是 LED 数码管显示模块。采用八段数码管分别显示每个通道的电压及被测电压所在的通道。八段数码管采用的是共阳极,具体的电路是采用了把数码管的字形码与单片机的输出端口 P1 相连接。当单片机的输出端口不停地把 8 个通道经过处理的数字电压信号逐个输出时,通过对每
54、个数码管公共端的控制,就可以选择数码管亮或者灭。具体的字形由单片机的输出口送出的代码决定。从而实现了数字电能表的轮流动态显示。并且有一位代表了被测电压的通道数,方便了电压的确定。3.43.4 复位电路和时钟电路复位电路和时钟电路3.4.13.4.1 复位电路复位电路单片机在启动运行时都需要复位,使 CPU 和系统中的其他部件都处于一个确定的初始状态,并从这个状态开始工作。MCS-51 单片机有一个复位引脚 RST,采用施密特触发输入。当震荡器起振后,只要该引脚上出现 2 个机器周期以上的高电平即可确保时器件复位。复位完成后,如果 RST 端继续保持高电平,MCS-51 就一直处于复位状态,只要
55、 RST 恢复低电平后,单片机才能进入其他工作状态。单片机的复位方式有上电自动复位和手动复位两种,图 3-11 是 51 系列单片机统常用的上电复位和手动复位组合电路,只要 Vcc 上升时间不超过 1ms,它们都能很好的工作。 图 3-11 复位电路3.4.23.4.2 时钟电路时钟电路时钟电路是计算机最核心的部分,它控制着计算机的工作 MCS-51 单片机允许的时钟频率典型值 12MHZ。单片机中 CPU 每执行一条指令,都必须在统一的时钟脉冲的控制下严格按时间节拍进行,而这个时钟脉冲是单片机控制中的时序电路发出的。CPU 执行一条指令的各个微操作所对应时间顺序称为单片机的时序。MCS-51
56、 单片机芯片内部有一个高增益反相放大器,用于构成震荡器,XTAL1 为该放大器的输入端,XTAL2 为该放大器输出端,但形成时钟电路还需附加其他电路。本设计系统采用内部时钟方式,利用单片机内部的高增益反相放大器,外部电路简,只需要一个晶振和 2 个电容即可,如图 3-12 所示。图 3-12 时钟电路电路中的器件选择可以通过计算和实验确定,也可以参考一些典型电路的参数,电路中,电容器 C1 和 C2 对震荡频率有微调作用,通常的取值范围是3010pF,在这个系统中选择了 30pF;石英晶振选择范围最高可选 24MHz,它决定了单片机电路产生的时钟信号震荡频率,在本系统中选择的是 12MHz,因
57、而时钟信号的震荡频率为 12MHz。第第 4 4 章章 软件设计软件设计4.14.1 编程语言的选择及介绍编程语言的选择及介绍1.编程语言和语言的特点及选择本设计是硬件电路和软件编程相结合的设计方案,选择合适的语言是一个重要的环节。设计方案,选择合适的编程语言是一个在单片机的应用系统程序设计时,常用的是汇编语言和 C 语言。汇编语言的特点是占用内存单元少,执行效率高。执行速度快。但它依赖于计算机硬件,程序可读性和可抑制性比较差。而 C语言虽然执行效率没有汇编语言高,但语言简洁,使用方便,灵活,运算丰富,表达化类型多样化,数据结构类型丰富,具有结构化的控制语句,程序设计自由度大,有很好的可重用性
58、,可移植性等特点。 由于现在单片机的发展已经达到了很高的水平,内部的各种资源相当的丰富,的处理速度非常的快。用 C 语言来控制单片机无疑是一个理想的选择。所以在本设计中采用 C 语言编写软件程序。2.C51 简介C 语言是今年来在国内外得到迅速推广应用的一种计算机语言。C 语言功能丰富,表达力强,使用灵活方便,应用面广,目标程序效率高,可移植性好,既具有高级语言的优点,又有低级语言的许多特点。因此,C 语言特别适合于编写系统软件。C 语言诞生后,许多原来用汇编语言编写的软件,现在可以用 C 语言编写了,而学习和使用 C 语言要比学习和使用汇编语言容易得多。51 的编程语言常用的有二种,一种是汇
59、编语言,一种是 C 语言。汇编语言的机器代码生成效率很高但可读性却并不强,复杂一点的程序就更是难读懂,而C 语言在大多数情况下其机器代码生成效率和汇编语言相当,但可读性和可移植性却远远超过汇编语言,而且 C 语言还可以嵌入汇编来解决高时效性的代码编写问题。对于开发周期来说,中大型的软件编写用 C 语言的开发周期通常要小于汇编语言很多。Keil C51 是美国 Keil Software 公司出品的 51 系列兼容单片机 C 语言软件开发系统,Keil C51 软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows 界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到 K
60、eil C51 生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。设计步骤:(1)建立一个新的项目;(2)选择所用单片机;(3)在新建立的项目中加入程序;(4)保存运行;(5)编译是否通过;4.24.2 程序流程程序流程4.2.14.2.1 系统主程序流程图系统主程序流程图主程序主要完成初始化,开 CPU 中断,开外部中断,调用启动转换子程序,调用 A/D 转换子程序和调用显示子程序等等。流程图如下图 4-1: 图 4-1 主程序流程图4.2.24.2.2 各子程序流程图各子程序流程图1.外部中断子程序外部中断子程序是用于接收 ADC0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 客户服务领域客户经理面试技巧
- 联想集团项目经理面试技巧
- 智研咨询-2026年中国光学频率梳行业市场全景调查、投资策略研究报告
- 护理人文关怀案例分享
- 安全培训装备管理指南
- 人生道路职业规划指南
- 2025年可穿戴设备健康数据在睡眠中周期性腿动监测中的应用
- 课程审核与监督管理制度
- 医疗护理员伦理与决策
- 旅游行业会计流程及面试技巧详解
- 2026年山西药科职业学院单招职业技能考试题库含答案详解ab卷
- 2026年部编版三年级道德与法治下册全册教案
- 2026四川广安市邻水县招聘县属国有企业领导人员4人笔试备考试题及答案解析
- 医护人员手卫生的重要性
- 危重患者感染控制
- 2025四川遂宁市中心医院公开招聘非在编卫生专业技术人员30人护理笔试历年典型考题及考点剖析附带答案详解试卷2套
- 2026年及未来5年中国耐火粘土行业发展运行现状及投资战略规划报告
- T∕CIECCPA 125-2026 温室气体 产品碳足迹量化方法与要求 燃气-蒸汽联合循环发电产品
- 2024版2026春新教科版科学三年级下册教学课件:第一单元 辨别方向 单元小结复习
- 物业管理公司员工招聘条件及流程
- 2025年上海大专自主招生免笔试及答案
评论
0/150
提交评论