版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于单片机的电量检测系统设计摘 要随着电力系统电量的日益扩大和电压运行等级的不断提高,传统的电量检测系统暴露出越来越多的缺点,难以满足现代电网向自动化、数字化发展的需要。本文首先概述了wb系列交流电量传感器的工作原理和各项工作技术指标,并做了硬件系统的设计,包括控制电路、模块转换部分、键盘输入部分、led显示部分方面的设计。然后介绍了adc0809和74hc595中电子接口的各项特性,同时对单元的结构原理和功能划分进行了分析和研究,选择了合适的各种数据转换软件按。通过分析和研究,提出了软件系统方面的设计方案,最关键的问题是a/d转换程序的设计、主程序和子程序的流程方案关键词 a/d转换器;le
2、d显示器;adc0809;74hc595单片机power detectio system besedon single chip designabstractwith the growing power system capacity and the increasing level voltage operation, the traditional amount of power detection system weaknesses exposed more and more difficult to meet the modern power grid to the automatio
3、n, digital development. this paper outlines the wb series ac power sensor working principle and the work of technical indicators, and made the hardware system design, including control circuits, modules conversion component, keyboard part, led showed that some aspects of the design. then introduced
4、the adc0809 and the 74hc595 in the electronic interface properties, while the structural principles and functions of cell division was analyzed and studied, the suitable range of data conversion software by. through analysis and research, the design of software systems, the most critical issue is a
5、/ d conversion process of design, the main program and subroutine program flow.keywords :a/d conversion chip ;74hc595scm ;adc0809 ;led display chip目 录abstract11绪论12 wb系列交流电量传感器22.1 概述22.2 wb交流电量传感器的工作原理22.3 传感器型号及技术指标33 硬件系统的设计43.1 硬件框图43.2 控制电路的设计43.2.1单片机的选择43.2.2模数转换部分的设计103.2.3 a/d 转换器概述及单片机接口的一
6、般特点113.2.4 adc0809简介123.3 键盘输入部分143.3.1 矩阵式键盘143.3.2独立式键盘153.3.3 led显示部分153.4 led的动态显示方式163.4.1 led静态显示方式163.4.2 74hc595简介173.4.3 键盘及显示电路184 软件系统设计194.1 c语言简介194.2 主程序流程图194.3 按键程序流程图204.4 定时器0中断服务程序设计204.5 a/d转换程序设计23致 谢25参考文献26附录1 设计原理图28附录2 源程序291绪论自第一个微处理器问世以来,以微处理器为核心构成的计算机以各种各样的形式,无孔不入的渗入到人们的生
7、产、生活、科研等各个领域,为人类带来了渗透到各个领域的“智能”。微处理器是整个智能仪器仪表的核心,检测电路时微处理器的外围设备,微机通过接口发出各种控制信息给检测电路,以规定功能、启动测量、改变工作方式等。微机通过查询或检测电路向微机提出的中断请求,使微机及时了解检测电路的工作状态。当检测电路完成一次测量后,微机读取测量数据,进行了解检测电路的工作状态。当检测电路完成一次测量后,微机读取测量数据,进行必要的加工、计算、变换等处理,最后以各种方式输出,如送显示器、打印机打印,或送给系统的主控制器等等。近二十年来,以计算机科学,信息学,生命科学为代表的各门新兴学科的迅猛发展,极大限度的刺激了全球经
8、济的发展,在现代化的工业生产中,电流、电压、温度、压力、流量、流速和开关量都是常用的主要被控参数。例如:在冶金工业、化工生产、电力工程、造纸行业、机械制造和食品加工等诸多领域中,电能是人们日常生活和工业生产中的重要能源之一,在现代社会中起着越来越重要的作用,而电压、电流是其中最关键的两个因素,是否准确的测量电压、电流对我们的生活和生产有着至关重要的影响,特别是电工和电力系统等领域经常要对交流电量进行采样测试以了解工作电压或整个电网的工作情况。2 wb系列交流电量传感器2.1 概述wb系列交流电量传感器采用电磁隔离技术和专用厚膜集成电路。对电网或电路中的交流电流或交流电压进行实时测量,将其变换成
9、跟踪电压暑促()、直流电压输出()、直流电压输出()、频率输出()。传感器的输出可以与各型ad转换器配接构成数据采集系统,也可以与传统模式、数字式指示仪表配接,显示被测量之值。体积小、重量轻、精度高、耗能低,输入电路、输出电路完全隔离,输出信号可以共地,输出形式多样,满足各种使用要求,在0120%标称输入范围内,输出信号入输出信号之间保持正比例关系,通聘宽带,可以测量5khz以内的正弦交流电流或交流电压。结构形式多样,提供直插式、din卡装式安装方式,方便各种场合使用等特点。2.2 wb交流电量传感器的工作原理本系列传感器采用模块化电路结构,如图2-1主要由电流测头1(或电压侧头2)、采样电路
10、3、定标放大器4、装用厚膜集成转化器5、6、7组成。图2-1 电路结构被测电流信号或被测电压信号经电流测头1或电压测头2隔离变换,在二次回路形成高精度毫安级跟踪电流,经采样电路3转换为跟踪电压信号,在经定标放大器4进行放大、定标,形成跟踪电压输出vg;跟踪电压信号经ac/dc转换器5后,形成直流电压输出。输出经v/i转换器6后形成直流输出,输出经v/f变换器7后形成频率输出。只有输出跟踪电压的产品才使用正负电源+e,-e,其他产品才使用单一正电源。图2-1中电流测头1和电压测头2是本系列产品的关键部件,属于精密互感器系列,承担隔离和线性变换的双重作用,改变电流测头规格或改变电压测头的输入电阻可
11、以改变传感器的测量范围。定标放大器4是一个宽带交流放大器,它产生的电压输出,在波形和相位上快速跟踪输入信号的变化,输出型传感器适用于交流采样系统。转换器5是配套研发的专用厚膜集成器件,它把交流电压信号变换为直流电压或直流电流输出。转换原理分为平均值转换和真有效值转换,平均值转换器成本低,适用于标准正弦交流信号转换;真有效值转换器适用于含有多次谐波的交流信号(如三角波、矩形波、梯形波、可控硅调功波等),单成本较高。转换器5(或转换器6)的“基准波”接地时,他输出05v(或020ma);为它们配加以个高稳定的偏置电路,就形成1v5v(或4ma20ma);为它们配加一个高稳定的偏置电路,就形成了1v
12、5v(4ma20ma)输出。2.3 传感器型号及技术指标采用wbv413as3交流电压传感器和wb1414as1交流电流传感器对电流和电压进行数据采集。wbv141as3技术指标:输入规格:10v1000vac输出规格:4ma20ma响应时间: 250ms负载能力:6v静态功耗:50mw供电电源:+12或+24其他指标:(1)线性范围:0120%标称输入 (2)输入频响:255k (3)环境条件:0+50wb1414as1技术指标:输入规格:5a50a输出规格:4ma20ma精度等级:0.5级响应时间:300ms负载能力:6v静态功耗:800mw供电电源:+12或+24其他指标:(1)线性范围
13、:0120%标称输入 (2)输入频响:25hz5khz,特别适合工频至中频 (3)环境条件:0+50。3 硬件系统的设计3.1 硬件框图图3-1 硬件框图本设计是at89c51单片机控制的电量检测系统。其工作原理是:先由电量传感器采集数据,启动ad转换,后将数据读入单片机中进行运算并显示,即由数据采集,数据分析和数据处理三部分完成。本设计中,控制系统的控制器有单片机at89c51为核心,系统采用wb1414as1(交流电流传感器)和wbv1414as3交流电压传感器对电流和电压进行数据采集,并输出标准电流4ma20ma,wb1414as1、wbv1414as3具有新型电磁隔离,高精度变送等优点
14、。at89c51单片机控制ad0809进行模数转换,数据经过单片机的运算,输出结果,并把结果在4位8段数码管上显示。3.2 控制电路的设计3.2.1单片机的选择20世纪80年代以来,单片机的发展非常迅速,就通用单片机而言,世界上一些著名的计算机厂家已经投放市场的产品就有50多个系列,数百个品种。目前世界上较为著名的8位单片机的生产厂家和主要机型如下: 美国intel公司:mcs-51系列和其增强型系列 美国motorola公司:6801系列和6805系列 美国amtel公司:89c51等单片机 美国zilog公司:z8系列和3870系列 美国fairchild公司:f8系列及super8 美国
15、rockwell公司:65001系列 美国ti(德克萨斯仪器仪表)公司:tms7000系列 ns(美国国家半导体)公司:ns8070系列等等。尽管单片机的品种很多,但是在我国使用最多还是intel公司的mcs-51系列单片机和美国amtel公司的89c51单片机。mcs-51系列单片机包括三个基本型8031、8051、8751。8031内部包括一个8为cpu、128个字节ram,21个特殊功能的寄存器(sfr)、4个8位并行io口、1个全双工穿行口、2个16位定时器计数器,但片内无程序存储器,需外扩eprom芯片。比较麻烦,不予采用。8051是在8031的基础上,片内集成有4krom,作为程序
16、存储器,是一个程序不超过4k字节的小系统。rom内的程序是公司制作芯片时,代为用户烧纸的,出场的8051都是含有特殊用途的单片机。所以8051适用用应用在程序已定且批量大的单片机产品中,所以也不采用。8751是在8031基础上,增加了4k字节的eprom,它构成了一个程序小于4kb的小系统。用户可以将程序固化在eprom,可以反复修复程序。但其价格相对8031较贵。8031外扩一片4kb eprom就相当于8751,它的最大优点是价格低。随着大规模集成电路技术的不断发展,能装入片内的外围接口。虽然虽都在不断的改变制造工艺,但内核却一样,也就是说这类单片机指令系统完全兼容,绝大多数管脚也兼容;在
17、使用上基本可以直接互换。所以不采用89c51单片机是一种带4k字节闪烁可编程可擦除只读存储器(fperomfalsh programmable and erasable read only memory)的低电压,高性能cmos8位微处理器,俗称单片机。89c 51是一种带2k字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用atmel高密度非易失存储器制造技术制造,与工业标准的mcs-51指令集和输出管脚相兼容。由于将多功能8位cpu和闪烁存储器组合在单个芯片中,atmel的89c51是一种高效微控制器,89c2051是它的一种精简版本。89c5
18、1单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。所以采用此单片机较好。at89c51单片机简介主要特征:与mcs-51 兼容; 4k字节可编程闪烁存储器 ;寿命:1000写/擦循环 ;数据保留时间:10年 ;全静态工作:0hz-24mhz; 三级程序存储器锁定 ;28*8位内部ram ;32可编程i/o线 ;两个16位定时器/计数器 ;5个中断源 ;可编程串行通道; 低功耗的闲置和掉电模式 ;片内振荡器和时钟电路;管脚说明:vcc:供电电压。 gnd:接地。 p0口:p0口为一个8位漏级开路双向i/o口,每脚可吸收8ttl门电流。当p1口的管脚第一次写1时,被定义为高阻输入。p0能
19、够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在fiash编程时,p0 口作为原码输入口,当fiash进行校验时,p0输出原码,此时p0外部必须被拉高。 p1口:p1口是一个内部提供上拉电阻的8位双向i/o口,p1口缓冲器能接收输出4ttl门电流。p1口管脚写入1后,被内部上拉为高,可用作输入,p1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在flash编程和校验时,p1口作为第八位地址接收。 p2口:p2口为一个内部上拉电阻的8位双向i/o口,p2口缓冲器可接收,输出4个ttl门电流,当p2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,
20、p2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。p2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,p2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,p2口输出其特殊功能寄存器的内容。p2口在flash编程和校验时接收高八位地址信号和控制信号。 p3口:p3口管脚是8个带内部上拉电阻的双向i/o口,可接收输出4个ttl门电流。当p3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,p3口将输出电流(ill)这是由于上拉的缘故。除了作为一般的io口线外,更重要的用途是它的第二功能,如下表
21、所示:表3-1 p3口的替代功能端口引脚第二功能p3.0rxd(串行输入口)p3.1txd(串行输出口)p3.2(外中断0)p3.3(外中断1)p3.4t0(定时计数器0)p3.5t1(定时计数器1)p3.6(外部数据存储器写选通)p3.7(外部数据存储器读选器)p3口还接受一些用于flash闪速存储器编程和程序校检的控制信号。rst:复位输入。当振荡器工作时,rst引脚出现两个机器周期以上高电平将单片机复位。ale:当访问外部程序存储器或说句存储器时,ale(地址锁存允许)输出脉冲用于锁存地址的低8位字节。即使不访问外部存储器,ale仍一时钟振荡频率的16输出固定的正弦脉冲信号,因此它可以对
22、外输出时钟或用于定时目的。但要注意的是:每当访问外部数据存储器时将跳过一个ale脉冲。对flash存储器编程期间,该引脚还用于输入变成脉冲。如有必要,可通过对特殊功能寄存器(sfr)区中的8eh单元的d0位置位,可禁止ale操作。该位置后,只有一条movx和movc指令ale才会被激活,此外,该引脚后被微弱拉高,单片机执行外部程序时,应设置ale无效。:程序存储允许()输出时外部程序存储器的读取通信号,当at89c51由外部程序存储器取指令或数据时,每个机器周期两次有效,即输出两个脉冲,在此期间,当访问外部数据储存器时,这两次有效的信号不出现。eavpp:外部访问允许,欲使cpu仅访问外部程序
23、存储器(地址为0000hffffh),ea端必须保持低电平接地。需要注意的是:如果加密位lb1被编程,复位时内部会锁存ea端状态。flash存储器编程时,该引脚加上+12v的编程允许电源vpp,当然这必须是该器件是使用12v编程电压vpp。xtal1:振荡器反相放电器及内部时钟发生器的输入端。xtal2:振荡器3放大器的输出端。时钟振荡器:at89c51中有一个用于购车个内部振荡器的高增益反相放大器,引脚xtal1和xtal2f分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器,振荡电路如图3-2所示。外界适应晶体(或陶瓷振荡器)及电容c1、c
24、2接在放大器的反馈回路中构成并联振荡电路。对外接电容c1、c2虽然没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低,振荡器工作的稳定性,起振的难易程序及温度稳定性,如果使用石英晶体,则推荐电容使用30pf10pf,而如使用陶瓷振荡器建议使用40pf10pf。用户也可以采用外部时钟,采用时钟的电路如图3-3。在这种情况下,外部时钟脉冲接到xtal1端,即内部时钟发生器的输入端,xtal2则悬空。图3-2 内部振荡电路 图3-3 外部振荡电路由于外部时钟信号是通过一个2分钟触发器作为内部时钟信号的,所以对外部时钟信号的占空比没有特殊要求,但最小高电平持续时间和最大的低电平持续时间应符合
25、产品技术条件的要求。at89c51单片机中,有些属于低电平编程方式,而有些则是高电压编程方式。用户可以从芯片上的型号和读取芯片内的签名字节获得该信息。如表3-2所示表3-2vpp12vvpp5v芯片顶面标示at89c51xxxxyywwat89c51xxxx5yyww签名字节030h1eh031h5eh032hffh030h1eh031h51h032h05hat89c51的程序存储器列阵采用字节写入方式编程的,每次写入一个字节要对整个芯片内的perom程序存储器写入一个非空字节,必须使用擦除的方式将整个存储器的内容写清楚。编程方法:编程前,先设置好地址,数据及控制信号,编程单元的地址加在pi口
26、和p2口,p1.0p2.311位地址范围为0000h0fffh,数据从p0口输入,为低电平,rst保持高电平,ea/vpp引脚是编程电源的输入端,按要求加上标称电压,ale/prog引脚输入编程脉冲负脉冲。编程时,可采用4 mhz20mhz的时钟振荡器,at89c51编程方法如下:(1)在底线上加上要编程单元的地址信号。(2)在数据线上加上要写入的数据字节。(3)激活相应的控制信号。(4)在高电压编程方式时,将eavpp加上+12v编程电压。(5)每对flash存储阵列写入一个字节,加上一个aleprog编程脉冲。改变编程电源的地址和写入一个字节,重复1-5步骤,直到全部文件编程结束。每个字节
27、写入周期是自身定时的,通常约为1.5ms。at89c51的极限参数: 工作温度: -55to+125;储藏温度:-60to+150;任一引脚对地电压:-1.0to+7.0;最高工作电压:6.6v;直流输出电压:15.0ma。3.2.2模数转换部分的设计随着半导体技术数字化和集成化的日益调高,在推动微控制器、数字信号处理器、微机械电子系统的发展中,也推动了嵌入或隐形模数ad转换技术的发展,ad转换技术在变得越来越复杂的同时,也正朝着高精度、高速度的发展方向迈进。由于数字信号处理技术在图形、视频、无线通讯的广泛应用,对高速高精度的cmos工艺的模数转换器的要求日益迫切。ad转换器的种类繁多,工作原
28、理各异,但逐次比较型ad转换器是应用较多的类型之一,其原因是该类型的ad转换器转换速度快、精度高。因此本次设计选用一款逐次比较型ad转换器adc0809.被采样的电压、电流信号分两路进入adc0809进行模数转换,写信号wr和p2.7控制adc0809的地址锁存和转换器,即当start上跳沿时,所有内部寄存器清零;下调沿时,开始进行ad转换,在转换期间,start应保持低电平。eoc通过非门连接到at89c51的into脚,可通过查询方式来检测转换是否完成。当eoc为高电平时,表明转换结束,否者表明正在进行ad转换,即eco=1时,读信号rd和p2.7控制的adc0809的oe信号即控制三条锁
29、存器向单片机输出转换得到的数据。3.2.3 a/d 转换器概述及单片机接口的一般特点a/d转换器是一种用来将连续模拟信号转换成适合于数字处理的二进制数的器件,其工作原理方框图如图3-4所示。图3-4 ad转换器原理方框图由图中可以看出,ad转换器的输入有两种,即模拟输入信号vin和参考电压vref;其输出时一组二进制数。可以认为,ad转换器是一个将模拟信号值编制成对应的二进制码的编码器。常用的ad转换器有:双积分式、逐位比较式及秉性比较时几种。如图3-5所示,一个完整的ad转换器应该包含这样的一些输入、输出信号。 图3-5 ad转换器的输入位置(1) 模拟输入信号vin和参考电压vref(2)
30、 数字输出信号(3) 启动转换新号,输入(4) 转换完成信号或者“忙”信号,输出(5) 数据输出允许信号,输入为了与单片机接口,必须设置图所示的一些数据输入接口、状态输入接口及控制输出接口等。首先,单片机通过控制口发出启动转换信号,命令ad转换器开始转换,肉厚单片机通过状态读入转换器的状态,并判断它是否转换结束。转换结束,cpu发出数据输出允许信号,将装换完成的数据读入。3.2.4 adc0809简介图3-6是 adc0809内部逻辑结构,图3-7 adc0809引脚图。adc0809是8位逐次逼近型ad转换器,它由一个8路模拟开关、一个地址锁存译码器、一个ad转换器和一个三态输出锁存器组成。
31、多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用ad转换器进行转换。三态输出锁存器用于锁存ad转换完的数字量,当oe端为高电平时,才可以从三态输出锁存器取走转换完的数据。图3-6 adc0809内部逻辑结构数字部分定义如下: adda、addb、addc:模拟通道的地址选择线,输入。信号单极性,电压范围是0v5v,若信号太小,必须进行放大。ale:地址锁存允许信号,输入。由低到高的正跳变有效,此时锁存地址选择先的状态,从而选通相应的模拟通道,一边进行ad转换。当ale线为高电平时,地址锁存与译码器将a、b、c三条地址线的地址信号进行锁存,经译码后被选中的通道模拟量进转换器进行转换。a、
32、b、c为地址输入线,用于选通in0in7的一路模拟量输入。通道选择表如表3-3所示。图3-7 adc0809引脚图表3-3通道选择表cba选择的通道000in0001in1010in2011in3100in4101in5110in6111in7inoin7:8条模拟量输入通道。2-12-8:8位数量输出端。adda、addb、addc:3位地址输入线,用于选通8路模拟输入中的一路。ale:地址锁存允许信号,输入,高电平有效。start: ad转换启动脉冲输入端,输入一个正脉冲(至少100ns宽)使其启动(脉冲上升沿使0809复位,下降沿启动ad转换)。 eoc: ad转换结束信号,输出,当ad
33、转换结束时,此端输出一个高电平(转换期间一直为低电平)。 oe:数据输出允许信号,输入,高电平有效。当ad转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。 clk:时钟脉冲输入端。要求时钟频率不高于640khz。 ref(+)、ref(-):基准电压。 vcc:电源,单一5v。 gnd:地。adc0809的工作过程:首先输入3位地址,并使ale=1,将地址存入地址锁存器中。此地址经译码选通8路模拟输入之一到比较器。start上升沿将逐次逼近寄存器复位。下降沿启动 ad转换,之后eoc输出信号变低,指示转换正在进行。直到ad转换完成,eoc变为高电平,指示ad转换结束,结果数据已
34、存入锁存器,这个信号可用作中断申请。当oe输入高电平 时,输出三态门打开,转换结果的数字量输出到数据总线上3.3 键盘输入部分3.3.1 矩阵式键盘在键盘中按键数量较多时,为了减少i/o口的占用,通常将按键排列成矩阵形式。在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。这样,一个端口(如p1口)就可以构成4*4= 16个按键,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线就可以构成20键的键盘,而直接用端口线则只能多出一键(9键)。由此可见,在需要的键数比较多时,采用矩阵法来做键盘是合理的。矩阵式结构的键盘显然比直接法要复杂一些,
35、识别也要复杂一些,列线通过电阻接正电源,并将行线所接的单片机的i/o口作为输出端,而列线所接的 i/o口则作为输入。这样,当按键没有按下时,所有的输出端都是高电平,代表无键按下。行线输出是低电平,一旦有键按下,则输入线就会被拉低,这样,通过读入输入线的状态就可得知是否有键按下了。3.3.2独立式键盘 独立式按键就是各按键相互独立,每个按键各接入一根输入线,一根输入线上的安检工作状态不会影响其他输入线的工作状态。因此,通过检测输入线的电平状态可以很容易判断哪个按键按下了。独立式按键电路配置灵活,软件简单,但每个按键需要占用一个输入口线,在按键数量较多时,需要较多的输入口线且电路结构复杂,故此种键
36、盘适用于按键较少或操作速度较高的场合。 在此系统中,查看电压、电流只需要两个按键,比较简单,所以就采用独立式按键接口电路。3.3.3 led显示部分led显示屏是二十世纪八十年代后期在全球迅速发展起来的新型信息显示媒体。它具有可靠性高、使用寿命长、性能价格比较高等特点。在单片机应用系统中,如果需要显示的内容只有数码和某些字母,使用led数码管是一种较好的选择。led数码显示清晰、成本低廉,配置灵猴,与单片机接口简单易行。led数码管是有发光二极管作为显示字段的数码型显示器件,其中七只发光二极管分别对应ag笔端构成“日”字形,另一个发光二极管dp作为小数点。因此这种led显示器被称为七段数码管或
37、八段数码管。图3-9 数码管led显示器是由n各led显示块拼接成n个led显示器。n个led显示块有ng根位选线,根据显示方式的不同,位选线和段选线的连接方法也不同。段选线控制显示字符的字形,而位选线为各个led显示块的公共端,它控制该led显示位的亮、暗。led显示器有动态显示和静态显示两种显示方式。3.4 led的动态显示方式在多位led显示时,为了简化硬件电路,通常将所有位的段选线相应的并联在一起,有一个8位i/o控制,形成段选线的多路复用。而各位的共阳极或共阴极分别由相应的i/o线控制,实现各位的分时选通。其中段选线占用一个8位i/o口,而位选段占用一个4位i/o口。由于各位的段选线
38、并联,段码的输出对各位来说都是相同的,因此,同一时刻,如果各位位选线都处于选通状态的话,4位led将显示相同的字符。若要将各位led能够显示出与本位相应的显示字符,就必须采用扫描显示方式,即在某一时刻,只让某一位的位选线状态,而其他各位的位选线处于关闭状态,同时段选线上输出相应位要显示字节的段码。在确定led不同位显示的时间间隔,不能太短,因为发光二极管从导通到发光有一定的延迟,导通时间太短,发光太弱人眼无法看清。但也不能太长,因为毕竟要受限于临界闪烁频率,而且此时间越长,占用cpu时间也越多,另外,显示位增多,也将占用大量的cpu时间,因此动态显示实质是以牺牲cpu时间换取元就爱你的减少。3
39、.4.1 led静态显示方式led显示器工作于静态显示方式时,各位的共阴极或共阳极连接在一起并接地(或+5v);每位的段选码(adp)分别与一个8位的锁存器输出相连,所以称为静态显示。各个led的显示字符一经确定,相应锁存器的输出将维持不变,知道显示另一个字符为止。也正因为如此,静态显示器的亮度都较高。这种显示方式接口编程容易,付出的代价是占用口线较多,若用io接口,则要占用4个8位口,若用锁存器接口,则要4片7hc595芯片。如果显示器位数较多,则静态显示方式更是无法适应,因此在显示位数较多的情况下,一般都采用动态显示方式。由于本系统只涉及到4位显示输出,就采用了4片8位移位寄存器串级使用的
40、led静态显示方式。3.4.2 74hc595简介3-10 74hc595引脚图74hc595内含有8位串入、串并出移位寄存器和8位三态输出锁存器。寄存器和锁存器分别由各自的时钟输入srck和rck,都是上升沿有效。当srck从低到高电平跳变时,串行输入数据ser移入寄存器;当scr从低到高电平只对寄存器的数据置入锁存器。清除端srclr的低电平只对寄存器复位qh1为低电平,而对锁存器无影响。当输出允许控制g为高电平时,并行输出qsqh为高阻态,而串行输出qh1不受影响。 74hc595最多需要5根控制线,即ser、srck、rck、srclr和g。其中srclr可以直接接到高电平,用软件实现
41、寄存器清零;如果不需要软件改变亮度,g可以直接接到低电平,而用硬件来改变亮度。把其他三根线和单片机的io口相接,即可实现led控制。数据从ser口送入74hc595,在每个srck的上升沿,ser口上的数据移入寄存器,在srck的第9个上升沿,数据开始从qh1移出。如果把第一个74hc595的qh1和第二个74hc595的ser相接,数据即移入第二个74hc595中,照此一个一个接下去,可接任意多个。数据全部送完后,给rck一个上升沿,寄存器中的数据即置入锁存器。此时如果g为低电平,数据即从并口qaqh输出,把qsqh与led的8段相接。led就可以实现显示了。3.4.3 键盘及显示电路3-1
42、1 键盘及显示电路4 软件系统设计4.1 c语言简介c语言是近年来在国内外普遍使用的一种程序设计语言。c语言功能丰富,表达能力强应用广,既有高级语言的特点,也有汇编语言的特点。c是中级语言。它把高级语言的基本结构和语句与低级语言的实用性结合起来。c 语言可以像汇编语言一样对位、字节和地址进行操作, 而这三者是计算机最基本的工作单元。 c是结构式语言。结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。c 语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序
43、完全结构化。 c语言功能齐全。具有各种各样的数据类型,并引入了指针概念,可使程序效率更高。另外c语言也具有强大的图形功能,支持多种显示器和驱动器。而且计算功能、逻辑判断功能也比较强大。4.2 主程序流程图图4-1 主程序流程图4.3 按键程序流程图在本系统中,有查看电压或电流的功能,由两个按键key1和key2控制。首先要判断是否有减按下,如果的确有键按下,例如key1,选通模拟通道,单片机通过p2.7口发出启动转换信号adc0809,转换结束,将数据从adc0809中读取送入at89c51单片机中进行标度转换和拆数等运算,并显示于led数码管。标度转换的目的是要把实际采样的二进制转换成bcd
44、形式的电量值,然后存放到显示缓冲区。一般按键在按下的时候有抖动的问题,即键的簧片会有轻微的弹跳,需要经过一个短暂的时间才会可靠的接触。若在簧片抖动时惊醒扫描就可能得到不正确的结果。因此,在程序中需要考虑到防抖动的问题。最简单的办法是在检测到有键按下时,延时一段时间再次检测看是否有键按下,这个可以通过调用子程序来解决。图4-2 按键程序流程图key1和key2子程序流程图如图4-3所示。4.4 定时器0中断服务程序设计at89c51内部有两个16位的可编程定时器计数器,t0和t1。定时器实际上是工作在计数方式下 ,只不过对固定平率的脉冲计数,由于脉冲周期也固定,由计数值可以计算出计数时就爱你,有
45、定时的功能。at89c51的tc是加1计数的。当工作在定时器方式时,对振荡源12分频的脉冲计数,即每个机器周期计数值加1,计数速率112fosc,当fosc=12mhz时,计数速率=1000khz,即计数器每加1用时1us。图4-3 key1和key2子程序流程图 tc的方式控制寄存器tmod用来编程定时器计数器的工作方式。表4-1 方式寄存器tmod各位功能位名称功 能d7gate定时器/计数器t1门控制d6c/定时器/计数器t1功能选择位;c/=1计数器,c/=0定时器d5m1定时器/计数器t1方式选择位d4m0定时器/计数器t1方式选择位d3gate定时器/计数器t0门控制d2c/定时器
46、/计数器t0功能选择位;c/=1为计数器,c/=0为定时器d1m1定时器计数器t0方式选择位d0m0定时器计数器t0凡是选择位表4-2 定时器计数器t0、t1的四种工作方式m1 mo方 式功 能0 00为12位定时器计数器,tl存低5位,th存高8位0 11为16位定时器计数器1 02常数自动装入8位定时器计数器1 13仅适用于t0,两个8位定时器计数器适用于定时器计数器前,应对它进行标称初始化,在本系统中,适用定时器t0,工作方式1,计算t0的初值,定时2s显示,如果到2s显示电压值,否则显示电流值。流程图如图4-4所示。4.5 a/d转换程序设计 被采样的电压、电流信号分两路进入adc08
47、09进行模数转换,写信号wr和p2.7控制adc0809的地址锁存器和转换器,即当start上跳沿时,所有内部寄存器清零;下跳沿时,开始进行ad转换,在转换期间,start应保持低电平。转换完成后,读信号rd和p2.7共同控制的adc0809的oe信号即控制三条输出锁存器单片机输出转换得到的数据。流程图如图4-5所示。图4-4 定时器0中断流程图图4-5 a/d转换流程图结束语我做的基于单片机的电量检测系统毕业设计完成了,基本上达到了预期的目的。当初拿到这个题目的时候都不知道怎么入手,但在老师的指导下,自己找资料、看书,总算完成了。通过此次的毕业设计,使我对单片机有了更深一层的了解,从理论和实
48、践我都得到了很大的提高,所以这次任务的完成使我学到了很多知识。首先,丰富了自己的知识面,学通了以前没学通的东西,具体了解了怎么去完成一个电路的设计。在此次的设计中,学到了单片机at89c51的内部结构及工作原理,了解了时钟电路和控制电路的工作原理,还有共阳极数码管的工作原理,同时也提高了我的c语言使用能力,并且挺高了自己分析问题和解决问题的能力,有了理论联系实际的机会,为以后从事这个方面的工作打好了基础,这也是这次毕业设计的最大收获。这次的毕业设计总的来说还是比较成功的,能够实现电压、电压交替显示,如果单独查看电压或电流,可以通过安检控制查看电压或电流,但是还是有许多不足之处,不过的确从中学到
49、了很多,也发现了自己的很多问题,为自己以后的学习、进步打下了不错的基础。致 谢历时四个月的毕业设计已经告一段落,进过自己不断的搜索努力以及吴老师的耐心指导和热情帮局,本设计已经完成。在这段时间里面,吴老师严谨的治学态度和热忱的工作作风使我十分佩服,她的知道使我也受益匪浅,同组的同学也给我了我极大的帮助,在此对帮助我的老师和同学表示深深的感谢。通过这次的毕业设计,让我深刻的认识到专业知识的重要性,也理解了理论联系实际的含义,并且检验了大学四年的学习成果。虽然在这次设计中对于知识的运用和衔接不够熟练,但是我将在以后的工作和学习中继续努力、不断完善,这四个月的设计是对过去所学知识的系统提高和扩充的过
50、彻骨,为以后的发展打下了良好的基础。由于自身水平有限,设计中的不足之处。敬请各位老师批评指导。参考文献1 张毅民,彭喜元.mcs51单片机应用技术m.哈尔滨工业大学出版社,2003.72 何立民. mcs51单片机应用系统设计m.北京航空航天大学出版社,1998.73 徐爱军. 单片机高级语言c51应用程序设计m.电子工业出版社,1997.74 李华. mcs51系列单片机实用接口技术m北京航空航天大学出版社,1993.35 王福瑞.单片机微机测控系统设计大全m北京航天航空大学出版社,2000.56 廖忠. 单片机对交流电量直接采样测试的实现j南昌水专学报,1995.27 詹新生,张江伟.基于
51、at89c51的数控直流电压源的设计j现代电子技术,2008.18 杨妍,孙震,苏为均.基于at89c51的双路智能测控仪的设计与实现j.北京工商大学学报,2007.79 林添成,赫魏东,徐健等.基于at89c51的电量测量仪设计j.中国科技信息,2007.1210 赵负图. 传感器集成电路手册m.化学工业出版社.2002.411 袁卫华.多电量参数检测用点偏激系统设计j.自动化技术与应用.2006.512 潘文诚.交直流数据采集系统的研制j.电子技术应用,2000.413 陈晓斌,王向周.交流电基本参数的同步采样检测技术及其实现j.微计算机信息,2005.914 蔡明生.电子设计m. 北京:
52、高等教育出版社,2004. 1.15 analog devices lnc.the analog devices solutions bulletin.2002,1016 高峰,单片微型计算机与接口技术m.北京:科学出版社,200317 baldenius t, reichelstein s. max232. 1999,4: 67-9附录1 设计原理图附录2 源程序# includereg51.h# includeabsacc.h# define uchar unsiganed char# define unit unsigned int# define st08091 xbyte0x0000
53、# define st08092 xbyte0x0000sbit dat595=p10;sbit shc595=p11;sbit stc595=p12;sbit key1=p30;sbit key2=p31;uchar code tab=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;共阳极uchar data disbut4;显示缓冲uchar t,flag;void delay(unit m)unit i,j;for(i=0;im;i+) for(j=0;j50;j+);void sendbyte(uchar dat)uchar i;for(i=8;i8;i+) shc595=0;移位脉冲if(dat&0x80);判断字节最高位dat595=1;elsedat595=0;shc595=1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二四年度货物出口合同标的及出口手续
- 二零二四年度技术服务合同技术咨询服务合同04年专用
- 底薪加提成薪资制度合同(2篇)
- 二零二四年度货物采购合同(含详细技术参数与交付时间表)
- 二零二四年度电商企业软件许可合同
- 内控优化咨询合作协议
- 长期借款协议续借格式
- 建设工程施工合同(示范文本)
- 建筑钢管架劳务分包合同
- 生石灰购销意向协议
- 实现中国梦必须弘扬中国精神
- 天目里分析报告
- 16法理学-法与正义
- 人教版小学一年级英语下册Unit4-food课件
- 益生菌产品活动策划
- 妇科护理-异常子宫出血的护理
- 驾照体检表完整版本
- 2023-2024年四川省成都市某校高一上学期12月阶段性测试物理试题 (解析版)
- 客运员出站口岗位规范
- 物业安管主管的安全监督与检查技巧
- 大型医院检验科完整SOP程序文件
评论
0/150
提交评论