找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3238|回复: 0
打印 上一主题 下一主题
收起左侧

基于单片机的数控直流稳压电源资料下载

[复制链接]
跳转到指定楼层
楼主
数控直流稳压电源就是能用数字来控制电源输出电压的大小,而且能使输出的直流电压能保持稳定、精确的直流电压源。本文介绍了利用D/A转换电路、辅助电源电路、去抖电路等组成的数控稳压电源电路,详述了电源的基本电路结构和控制策略。它与传统的稳压电源相比,具有操作方便,电压稳定度高的特点,其结构简单、制作方便、成本低,输出电压在1-10V之间连续可调,其输出电压大小以0.5V步进,输出电压的大小调节是通过“”、“-”两个键操作的,而且可以根据实际要求组成具有不同的输出电压值的稳压源电路。该电源控制电路选用89C51单片机控制主电路采用串联调整稳压技术具有线路简单、响应迅速、稳定性好、效率高等特点。

第一章 绪论
引言
数控直流稳压电源是一种常见的电子仪器,广泛地应用于电子电路、教学实验和科学研究等领域。但是,目前使用的直流稳压电源大部分是线性电源,利用分立器件组成,其体积大、效率低,可靠性差,操作使用不方便,自我保护功能不够,因而故障率高,随着电子技术的飞速发展,各种电子、电器设备对稳压电源的性能要求日益提高、稳压电源不断朝着小型化,高效率,低成本,高可靠性,低电磁干扰,模块化智能化方向发展,以单片机系统为核心而设计制造出来的新一代稳压电源不但电路简单,结构紧凑,价格低廉,性能卓越,而且由于单片机具有计算和控制能力,利用它对采样数据进行各种计算,从而可排除和减少由于骚扰信号和模拟电路引起的误差,大大提高稳压电源输出电压和控制电流精度,降低了对模拟电路的要求。智能稳压电源可利用单片机设置周密的保护监测系统,确保电源运行可靠。输出电压和限定电流采用数字显示,输入采用键盘方式,电源的外表美观,操作使用方便,具有较高的使用价值。
采用单片机的数字可调稳压电源价格低廉采用普遍使用的元件就能实现其功能,显示清晰直观,传统的模拟可调稳压电源没有读数,在读数过程中很不方便,并且长时间使用会造成输出电压不稳。数字可调稳压电源克服了这个缺陷,它采用先进的数显技术,使测量结果一目了然,只要仪表不发生跳数现象,测量结果就是唯一的,不仅保证读数的客观性与准确性,还符合人们的读数习惯,能缩短读数和记录的时间。另外,模拟可调稳压电源大多是通过调节电位器的阻值改变输出直流电压,电位器特别容易磨损,使用一段时间后就会出现接触不良,引起输出电压不稳定。数字可调稳压电源是通过接触按钮以步进方式选取不同的输出电压,再有数码管显示输出电压机器工作状态,工作稳定可靠。采用单片机的数字可调稳压电源,它具有输出电压容易改变、价格低廉、显示清晰直观、准确度高、扩展能力强等特点。
本文通过对一个基于51单片机的能实现数字可调的电压源,详细介绍了单片机应用中的数据处理,液晶显示原理。从而达到学习、了解单片机相关指令在各方面的应用。系统由AT89C51单片机、DA转换、数码管等组成,能进行1-10V的电压大小调节。

1.1 课题研究的背景
电源技术尤其是数控电源技术是一门实践性很强的工程技术,服务于各行各业。当今电源技术融合了电气、电子、系统集成、控制理论、材料等诸多学科领域。直流稳压电源是电子技术常用的仪表设备之一,广泛的应用于教学、科研等领域,是电子实验员、电子设计人员及电路开发部门进行试验操作和科学研究不可缺少的电子仪器。在电子电路中,通常都需要电压稳定的直流电源来供电。而整个稳压过程是由电源变压器、整流、滤波、稳压等四部分组成。然而这种传统的直流稳压电源功能简单、不好控制、可靠性低、干扰大、精度低、复杂度高。普通的直流稳压电源品种有很多,但均存在一下二个问题:输出电压是通过粗调(波段开关)及细调(电位器)来调节。这样,当输出电压需要精确输出,或需要在一个小范围内改变时,困难就较大。另外,随着使用时间的增加,波段开关及电位器难免接触不良,对输出会有影响。稳压方式均是采用串联型稳压电路,对过载进行限流和截流保护,电路构成复杂,稳压精度也不高。
在家用电器和其他各类电子设备中,通常都需要电压稳定的直流电源供电。但在实际生活中,都是由220V的交流电网供电。这就需要通过变压、整流、滤波、稳压电路将交流电转换成稳定的直流电。滤波器用于滤去整流输出电压中的纹波,一般传统电路由滤波扼流圈和电容器组成,若由晶体管滤波器来代替,则可缩小直流电源的体积减轻其重量,且晶体管滤波直流电源代才真正的发展起来的,在以后的一段时间里,数控电源技术有了不需要直流稳压器就能用作家用电器的电源,就既降低了家用电器的成本,由缩小了其体积,使家用电器小型化。传统的直流稳压电源通常采用电位器和波段开关来实现电压的调节,并由电压表指示电压值的大小。因此,电压的调节精度不高,读数欠直观,电位器也易磨损。而基于单片机控制的直流稳压电源就较好地解决以上传统稳压电源的不足。
数控稳压电源是电子行业发展的必然产物。近年来,随着电子技术的发展可调稳压电源应用的越来越广泛。目前,由各种单片机构成的数字稳压电源产品越来越多,已被广泛用于家庭电器、工业电器、军事电器等领域,显示出强大的生命力。与此同时,由于它扩展能力很强,功能日趋完善而扩展到人们生活的各个方面。
电源技术尤其是数控电源技术是一门实践性很强的工程技术,服务于各行各业,电力电子技术是电能的最佳应用技术之一。当今电源技术融合了电气、电子、系统集成、控制理论和材料等诸多学科领域。随着计算机和通讯技术发展而来的现代信息技术革命,给电力电子技术提供了广阔的发展前景,同时也给电源提出了更高的要求。数控电源是从80年长期的发展。但其产品存在数控程度达不到要求、分辨率不高、功率密度比较低、可靠性较差的缺点。因此数控电源主要的发展方向,是针对上述缺点不断加以改善。单片机技术及电压转换模块的出现为精确数控电源的发展提供了有利的条件。

1.2 课题研究的意义
随着时代的发展,数字电子技术已经普及到我们生活、工作和科研等各个领域。本文将介绍一种数控直流稳压电源,本电源由直流电源、控制电路、显示电路、数模转换电路、电压放大和射极输出等部分组成。具体说采用51系列单片机作为整机的控制单元,通过改变输入数字量来改变输出电压值,经集成运放放大和射极输出器输出,间接地改变输出电压的大小。与传统的稳压电源相比具有操作方便,电源稳定性高以及其输出电压大小采用数码显示等的特点。

1.3 课题设计目标
本课题以AT89C51单片机作为系统的核心,由D/A数字模拟转换模块、按键、LED串口显示模块等模块组成一个数控电源。该系统实现了 输出电压:范围 1.2V ~+10 V,步进0.5V(符合要求),纹波不大于30mV;输出电流:500mA;输出电压值由数码管显示;由“+”、“-”两键控制输出电压步进增减 。输入模块的按键按下之后,对单片机就有了一个输入,单片机将输入的数字一方面给显示模块,让它们在数码管中显示出来;另一部分输给DAC0808,让它转化为模拟量电流输出,通过运算放大器将这模拟量转化为相应的电压,这电压经过放大后控制LM317T的控制端,从而实现输出电压的控制
第二章 概述
2.1系统概述:
数控稳压电源是电子设备的重要部分,其质量好坏直接影响着电子设备的可靠性,而且电子设备的故障60%来自电源。因此电源越来越受到人们的重视。电子电路及电子设备对电源最基本的要求就是电源的输出电压或输出电流要稳定。通过查阅大量资料,显示电路和控制电路是本电路的核心部分,对它的选择有以下三种方案:
方案一:采用模拟电路
采用模拟电路的可调稳压电路就是用一个多档开关来控制输出电压,而所谓的显示系统只是在多档开关的每个档的旁边注明电压值。随着电子行业的发展,它不耐用的弊端已经使它逐渐离开历史的舞台。
方案二:采用纯数字电路
纯数字电路的稳压电源避免了硬件之间的磨损,使得使用寿命大大提高,而且其输出电压也不会随时间产生误差。但是它的电路较为复杂,制作时很困难,由于电路的复杂产生的问题也会很多。
方案三:采用单片机的方法
采用单片机的数字稳压电源是将数字电路和单片机很好地结合在一起,不但能够达到数字电路的效果,而且能够大大地简化复杂的纯数字电路。采用单片机后,还可以用软件实现保护功能,要扩展其他的功能也非常容易。
通过多方面考虑和实用性,精确度,单片机进行处理,具有低功耗、高性能、抗干扰能力强等优点,故我们选择方案三。
系统整体框图
图1 系统整体框图

2.2系统整体概述
   本文设计整体框图如图1所示,主要分为单片机控制,显示电路,按键,D/A转换,变压器,稳压电路等模块。这几个模块通过单片机的控制来协调工作。

2.2.1控制部分
本文采用AT89C51单片机来实现对整个系统的控制,与协调工作。如图2 为单片机的原理图:
  
图2 单片机原理图

2.2.2显示部分
本文选用共阳极数码管来作为显示部分,因为所要显示的数字较少,因而数码管显示能够满足要求。如图3所示为数码管的原理图: 
图3 数码管原理图

2.2.3键盘接口部分
    键盘是单片机应用系统中使用最广泛的一种数据输入设备。键盘分为独立式键盘和矩阵键盘。
方案一,采用独立式键盘
独立式键盘,每个键占用一条I/O线,当按键数量较多时,I/O口,利用率不高,但是程序编制简单,适用于所需按键较少的场合。
方案二,采用行列式矩阵键盘
电路连接复杂,但是提高了I/O口的利用率,软件编程较复杂,适用于需要大量按键的场合。
因为本设计所需要的按键简单,故选者方案一。

2.2.4 稳压电源部分
本文选用三端稳压电源,输出15V,电流为1A。如图4所示为其引脚图:
图4 LM7915外形引脚图

2.2.5 D/A转换器
本文数模转换器选用DAC0808型号,它是一个8位的DAC转换器,DAC0808是具有16个引脚的双列直插式8位D/A转换器件。其引脚功能分别为:1脚为空,2脚为GND,3脚为VEE,4脚为DAC输出引脚,5-12脚为数据输入引脚,13脚为VCC,14脚为基准电压(VREF+),15脚为基准电压(VREF-),16脚为COMPENSATION。当数据输入量全为0时,其4脚输出电压最低,接近零;当数据输入量全为1时,其4脚输出电压最高,电压值由基准电压VREF决定。因此,基准电压的精度决定了D/A转换的精度。

2.2.6 运放NE5532
NE5532是一种双运放高性能低噪声运算放大器。 相比较大多数标准运算放大器,如1458,它显示出更好的噪声性能,提高输出驱动能力和相当高的小信号和电源带宽。这使该器件特别适合应用在高品质和专业音响设备,仪器和控制电路和电话通道放大器。
引脚图如图5所示:
      
图5 NE5532引脚图      

第三章 系统硬件电路设计
3.1 系统硬件电路综述
系统的采用了AT89C51,配合D/A转换器件DAC0808和三端稳压块实现电压连续可调(精度为:0.1V)。同时能通过LED数码管显示相应的电压值,直观、可靠、实用,电路结构简单。
数字控制部分用+、-按键控制一可逆二进制计数器,二进制计数器的输入输出到D/A转换器,经D/A转换器转换成相应的电压,此电压经过放大到适合的电压值后,去控制稳压电源的输出,是稳压电源的输出电压以0.1V的步进值增或减。
系统总设计部分为图6:
图6 系统硬件总设计
下面主要介绍下主要硬件模块。

3.1单片机主控电路设计
本文采用AT89C51单片机来实现对整个系统的控制,与协调工作;单片计算机即单片微型计算机是集CPU ,RAM ,ROM ,定时,计数和多种接口于一体的微控制器。它体积小,成本低,功能强,广泛应用于智能产业和工业自动化上。而51系列单片机是各单片机中最为典型和最有代表性的一种。
3.2 稳压电源部分
    如图7所示,该部分主要是由三端稳压器LM7815、LM7915、LM7805和若干个电容、二极管元器件组成,220V市电经220V/36V变压器降压后得到的双15V交流电压,经三端稳压器LM7815和LM7915得到的+15V,再经过LM7805得到的+5V的电压。
图 7 稳压电源图
3.3显示部分
在图8中,显示部分比较简单,主要是由两个数码管和若干电阻组成,两个数码管分别显示电压的个位和十分位,该部分是由单片机完成的,数码管的各个端口以依次连到AT89C51单片机的P01、P02、P03、P04口,完成电压显示部分。

图8 显示部分

3.4模数转换部分
本系统中的数模转换电路如图9所示。它由DAC0808、两级低漂移的运放电路组成。DAC0808和运放将CPU发出的8位二进制数据转换成0~-5 V的电压,然后经运放U8反向放大2倍,以得到0~10 V电压。因此,该DAC的转换分辨率为10/(28-1)=0.04 V,即CPU输出给DAC的数据变化为1 Bit,DAC输出电压的变化为0.1 V。VREF电路为DAC提供基准电压,调节R5A,可使基准电压保持为5 V。
图9
第四章   系统软件设计

主程序流程如图10所示

图10

本电路采用51系列单片机作为整机的控制单元,通过改变输入数字量来改变输出电压值,从而使输出功率管的基极电压发生变化,间接地改变输出电压的大小。为了能够使系统具备检测实际输出电压值的大小,可以经过ADC0809进行模数转换,间接用单片机实时对电压进行采样,然后进行数据处理及显示。采用软件方法来解决数据的预置以及电流的步进控制,使系统硬件更加简洁,各类功能易于实现本系统以直流电源为核心,利用51系列单片机为主控制器,通过键盘来设置直流电源的输出电流,设置步进等级可达0.1V,并可由数码管显示实际输出电压值和电压设定值。利用单片机程控输出数字信号,经过D/A转换器(DA0832)输出模拟量,再经过运算放大器隔离放大,控制输出功率管的基极,随着功率管基极电电流的变化而输出不同的电压。单片机系统还兼顾对恒压源进行实时监控,输出电压经过电流/电压转变后,通过A/D转换芯片,实时把模拟量转化为数据量,经单片机分析处理, 通过数据形式的反馈环节,使电压更加稳定,构成稳定的压控电压源。

第五章 制作调试与结果分析
5.1 硬件电路的布线与焊接
电路图经过我们在PROTEL中的自动排线和手动排线产生PCB原理图,我们将原理图打印在热印纸上,然后在经过高温,将墨覆到铜板上,产生清晰的电路布线图。由于打印或人为的原因很可能出现断线的结果,所以我们要认真检查,如出现断线我们可用油漆涂上,使断口再次被连在一起。为了能使那些墨都能覆在覆铜板上我们最好把覆铜板在压印机上过两遍。
元器件的焊接:
①焊件必须具有良好的可焊性.不是所有的金属都就有良好的可焊性.焊接时,由于高温是焊件的表面产生氧化膜,影响焊件的可焊性.为了提高焊件的可焊性,一般采用表面镀锡,镀银等措施来防御表面的氧化。
②为了使焊件和焊锡之间有良好的接触,焊件表面必须保持清洁.在焊接前必须把氧化膜清除干净,否则将无法保证焊接质量。
③要使用合适的助焊剂.不同的焊接工艺应使用不同的助焊剂.在焊接电子线路板等精密电子产品的时候,卫士焊接可靠稳定,通常采用松香助焊剂.一般使用酒精将松香溶解成松香水使用。
④焊件加热到适当的温度.需要强调的是,需要强调的是,不但焊锡要加热到熔化,而且应当同时将焊件加热到能够熔化焊锡的温度。

5.2 电路组装和调试
实际电路图

在电路组装过程中,遇到的最大问题是,起初考虑不周全,芯片分布不够合理,出现了许多"特长线"。不但影响布线速度,而且也会给后来的调试带来不必要的麻烦。当时已经布线不少,不可能重新开始,再三权衡,最后只移动了一个芯片,问题就得到了很大改善。其次就是布线,因为要求不准交叉,且横平竖直,所以在保证连通的情况下,在布线上也下了不少工夫。
调试过程中,第一轮用万用表欧姆档测试,就遇了实验板上有插孔不通的情况,导致芯片不能正常工作。相对于别的办法,我选择了导线显式连通,因为其更明晰,更易实现。对于高阻导线则只能换掉。第二轮接电后,用万用表的电压档测试单元电路的状态。如:经过每一级三端稳压器后输出的电压否为稳定电压,并且与所需电压偏差会不会很大,根据测试结果对电路进行必要的改进,从而达到设计的目的。

第六章 分析与心得
在本次设计的过程中,我发现很多的问题,给我的感觉就是很难,很不顺手,看似很简单的电路,要动手把它给设计出来,是很难的一件事,主要原因是我们没有经常动手设计过电路,还有资料的查找也是一大难题,这就要求我们在以后的学习中,应该注意到这一点,更重要的是我们要学会把从书本中学到的知识和实际的电路联系起来,这不论是对我们以后就业还是学习,都会起到很大的促进和帮助,我相信,通过这次的设计,在以后的学习中我会更加努力,力争把这门课学好,学精。同时,通过本次设计,巩固了我们学习过的专业知识,也使我们把理论与实践从真正意义。
在本次设计过程中,对纹波也没有提出严格要求,所以常用的稳压集成电路就可以满足要求。在电路中采用了模拟器件和数字器件所以需要+5V、和-15V 电源供电。本设计输出的电压稳压精度高,可以用在对直流电压要求较高的设备上,或在科研实验室中当作实验电源使用。
题目是非常重要的,要选择一个好的题目,就要满足适合我们这组制作,并且也要考虑到自身能力,还有就是容易找到相关的参考资料等条件。只有符合以上所说的条件才能做出一个好的设计,所以我们就选择了《数控直流稳压电源》的设计课程。我们查找了大量这方面的相关参考资料,如《电子电路实验及仿真》,《电路与电子技术实验教程》等,还查阅了各种所需芯片的管脚资料。在这些参考资料的基础上构想了几个设计方案,并且确定了最后的设计方案。
当确定了最终的设计方向以后,我们就开始着手完善它的理论方案。根据设计方案的内容我们画出了具体的原理图,进行逻辑分析和理论计算,然后去电子市场根据设计要求购买了大量所需的原器件,准备好了设计所需的一切材料。在焊接问题上,我们也出了很多问题。首先,你必须知道那个电路版哪几条线是通的,这样对布线和摆放都有好处。再者,焊接的时候,注意焊锡焊接的逻辑对不对,这里我们犯了很多错误,比方说2个触点本来是不连的,但是不小心就会焊接起来,花了我们很多时间找错误。最后一定要仔细地检查一翻焊点,导线以及芯片的管脚的连线,这一点是相当重要的!
有了这次难忘的经历,我觉得自己充实了许多,学到了很多东西,更重要的是我们学会了如何协同合作,学会了遇到问题应该如何解决。

结束语

本文设计的数控直流电压源,利用AT89C51单片机及其外围扩展电路,采用了键盘数码显示,该电源具有调整方便、步进精度高等特点,可作为电子仪器直流标准电压源,其数字化的输入快捷方便、简洁明了。



附录:程序
  1. #include <reg52.h>                                          //通用52单片机头文件
  2. #define uchar unsigned char                                                         
  3. sbit RESET=P3^3;                               //DA转换数值复位端口位定义
  4. sbit keyup=P3^4;                               //步进加端口位定义
  5. sbit keydown=P3^5;                               //步进减端口位定义
  6. sbit LEDwei1=P2^7;                               //低位数码管位选
  7. sbit LEDwei2=P2^6;                               //高位数码管位选
  8. #define duan P0            //段选宏定义
  9. void delay(int);                               //延时函数声明
  10. void display(uchar);                 //显示函数声明
  11. uchar code LEDcode[]={0xc0,0xf9,0xa4,0xb0,0x99,
  12.                                                               0x92,0x82,0xF8,0x80,0x90,0x8e};       //共阳数码管0-9和F(为段选所用)
  13. uchar code byte[]={ 0x00,0x02,0x04,0x06,0x08,0x0a,0x0c,0x0e,              0x10,0x12,0x14,0x16,0x18,0x1a,0x1c,0x1e,
  14.                                                                      
  15.                                                                       0x20,0x22,0x24,0x26,0x28,0x2a,0x2c,0x2e,              0x30,0x32,0x34,0x36,0x38,0x3a,0x3c,0x3e,
  16.                                                                      
  17.                                                                       0x40,0x42,0x44,0x46,0x48,0x4a,0x4c,0x4e,              0x50,0x52,0x54,0x56,0x58,0x5a,0x5c,0x5e,
  18.                                                                      
  19.                                                                       0x60,0x62,0x64,0x66,0x68,0x6a,0x6c,0x6e,              0x70,0x72,0x74,0x76,0x78,0x7a,0x7c,0x7e,
  20.                                                                      
  21.                                                                       0x80,0x82,0x84,0x86,0x88,0x8a,0x8c,0x8e,              0x90,0x92,0x94,0x96,0x98,0x9a,0x9c,0x9e,
  22.                                                                      
  23.                                                                       0xa0,0xa2,0xa4,0xa6,0xa8,0xaa,0xac,0xae,              0xb0,0xb2,0xb4,0xb6,0xb8,0xba,0xbc,0xbe,
  24.                                                                      
  25.                                                                       0xc0,0xc2,0xc4,0xc6,0xc8,0xca,0xcc,0xce,              0xd0,0xd2,0xd4,0xd6,0xd8,0xda,0xdc,0xde,
  26.                                                                      
  27.                                                                       0xe0,0xe2,0xe4,0xe6,0xe8,0xea,0xec,0xee,              0xf0,0xf2,0xf4,0xf6,0xf8,0xfa,0xfc,0xfe,
  28.                                                                      
  29.                                                                       };//DA转换数据

  30. uchar code table[]={0x11,0x12,15,16,17,18,20,21,22,23, 24,25,27,28,29,30,31,32,34,35,
  31.                                                                       36,37,38,39,41,42,43,44,45,47, 48,49,50,51,52,53,55,56,57,58,
  32.                                                                       59,61,62,63,64,65,66,68,69,70, 71,72,73,75,76,77,78,79,80,82,
  33.                                                                       83,84,85,86,87,89,90,91,92,93, 94,96,97,98,99};              //用于显示电压值的数组

  34. void main()
  35. {
  36.               uchar num=0;            
  37.               while(1)
  38.               {
  39.                                           if(keyup==0)                            //步进加端口为低电平,
  40.                                           {            
  41.                                                         delay(10);                              //稍作延时,消抖,
  42.                                                         if(keyup==0)                //步进加端口依然为低电平,说明的确是被按下,
  43.                                                         {            
  44.                                                                       if(num==128)  //执行电压DA转换数值步进增加一
  45.                                                                       num=0;
  46.                                                                       else
  47.                                                                       num++;
  48.                                                         }
  49.                                                         while(keyup==0);              //防止按死语句
  50.                                           }
  51.                             if(keydown==0)                                                        //步进减端口为低电平,
  52.                                           {
  53.                                                         delay(10);                                          //稍作延时,消抖,
  54.                                                         if(keydown==0)                            //步进减端口依然为低电平,说明的确是被按下,
  55.                                                         {            
  56.                                                                       if(num==0)                              //执行电压DA转换数值步进减一
  57.                                                                       num=128;
  58.                                                                       else
  59.                                                                       num--;
  60.                                                         }
  61.                                                         while(keydown==0);                //防止按死语句
  62.                                           }
  63.                             if(RESET==0)                                                          // 复位端口为低电平
  64.                                           {
  65.                                                         delay(10);                                            //稍作延时,消抖,
  66.                                                         if(RESET==0)                              //复位端口依然为低电平,说明的确是被按下,
  67.                                                         {            
  68.                                                                       num=0;                                            //执行复位操作
  69.                                                         }
  70.                                                         while(RESET==0);                 //防止按死语句
  71.                                           }
  72.             
  73.                             P1=byte[num];                 //给DA一个数值,转化成相应的电压值
  74.                             delay(10);
  75.                             display(num);                 //调用显示函数显示电压值
  76.               }
  77. }

  78. void delay(int x)                               //12M晶振,约1ms延时函数
  79. {
  80.               int i;
  81.               for(;x>0;x--)
  82.               for(i=0;i<123;i++)
  83.                             ;
  84. }
  85. void display(uchar num)              //显示函数
  86. {              uchar temp;
  87.               temp=table[num];
  88.               if(num<75)                            //电压值小于10V的可以直接在数码管上显示出来
  89.               {
  90.                    duan=LEDcode[temp/10]&0x7f;        //显示个位,并加显小数点
  91.                             LEDwei1=1;
  92.                             delay(5);
  93.                             LEDwei1=0;
  94.                             duan=LEDcode[temp%10];;          //显示小数点后一位
  95.                             LEDwei2=1;
  96.                             delay(5);
  97. ……………………

  98. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码


完整的Word格式文档51黑下载地址:
文档.doc (939 KB, 下载次数: 56)


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表