




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、本科大学生电子设计竞赛论文题目:简易直流电子负载摘要系统设计了一种以具有高精度的直流电子负载。其主要由单片机控制模块、电子负载模块、频率切换模块、采样模块、显示模块和电源模块构成。在这个电力电子技术、计算机技术和自动控制技术迅速发展的时代,电源检测技术产生了革命性的变化,人们对电子负载的需求越来越多,对其性能要求也越来越高。而传统的电源检测技术面临着极大的挑战。为准确检测电源的可靠性和带载能力,因此把电力电子技术和微机控制技术有机地结合起来,实现电源的可靠检测。本系统主要以pic18f4520单片机为控制核心;设计恒流方式的电子负载,当电压变化时,流过该电子负载的电流基本恒定,且电流值可设定。
2、包括控制电路(MCU)、驱动隔离电路(PWM波)、主电路、采样电路、显示电路等;能够检测被测电源的电流值、电压值;各个参数都能直观的在液晶屏上显示。关键词:电子负载;单片机(MCU);数模(D/A);模数(A/D);PWM。1 / 40目 录摘要II1电子负载的原理与概述11.1电子负载的意义11.2电子负载的工作方式11.3在本设计中要做的主要任务11.4总体方案设计22 系统硬件设计42.1电子负载设计模块方框图42.2 pic18f4520单片机的应用42.3数模与模数转换52.3.1 A/D转换62.3.2 D/A转换62.4 系统模块显示82.5电流采样92.5.1电流采样92.5.
3、2 电压采样102.5.3 MOSFET场效应管的应用102.5.4 集成运放的应用112.6 过压、短路保护133 系统软件设计133.1 程序设计概述133.2 电子负载程序设计流程图13结论18参考文献19附录1:电子负载程序设计21附录2:原理图381 电子负载的原理概述与方案确定在电子技术应用领域,经常要对开关电源、线性电源、UPS 电源、变压器、整流器、电池、充电器等电子设备进行测试,如何对其输出特性进行可靠、全面且比较简单、快捷的测试,一直是仪表测试行业研究的问题。传统的测试方法中一般都采用电阻、滑线变阻器、电阻箱等充当测试负载,但这些负载不能满足我们对负载多方面的要求,如:恒定
4、电流的负载;带输出接口的负载;随意调节的负载、恒功率的负载、动态负载;多输出端口的负载等。现在有一种新型多功能的电子负载,可据实际应用中对负载特性的要求进行设置,满足了我们对负载的各种要求,解决了开发研制测试中的困难。1.1 电子负载的意义电子负载即电子负荷。凡是能够消耗能量的器件,可以广泛地称为负载。电子负载能消耗电能,使之转化成热能或其它形式的能量。静态的电子负载可以是电阻性(如功率电阻、滑线变阻器等) 、电感性、电容性。但实际应用中,负载形式就较为复杂,如动态负载,消耗功率是时间函数,或电流、电压是动态的,也可能是恒定电流、恒定电阻、恒定电压,不同峰值系数(交流情况下),不同功率因数或瞬
5、时短路等。电子负载就是在实际应用中负载比较复杂的情况下而设计生产的测试设备。它能替代传统的负载,如电阻箱、滑线变阻器、电阻线、电感、电容等。尤其对吸收恒定电流或以恒定电压吸收电流,或电压电流都要在设定围突变等传统方法不能解决的领域里,更能显示出优越性能。1.2恒定电流方式图11是电子负载与被测电源的连接图和外特性图。在定电流模式中,在额定使用环境下, 不论输入电压大小如何变化, 电子负载将根据设定值来吸收电流。图11 电子负载的恒定电流工作方式1.3在本设计中要做的主要任务(1) 恒流(CC)工作模式的电流设置围为100mA1000mA ,设置分辨率为10mA,设置精度为±1%。还要
6、求CC工作模式具有开路设置,相当于设置的电流值为零。(2) 在恒流(CC)工作模式下,当电子负载两端电压变化10V时,要求输出电流变化的绝对值小于变化前电流值的1。(3) 具有过压保护功能,过压阈值电压为18V±0.2V。1.4总体设计方案1、方案论证与比较方案一:基于手动调节的直流电子负载基于手动调节的直流电子负载的原理图如图1-2: 图1-2 手动调节的直流电子负载的原理图本方案由于电路设计的问题,对电子负载恒流恒压的控制是依靠对电阻手动调节来实现的。而单片机对电阻的调节的实现相对较为复杂,因此这里并没有采用单片机为控制核心,只是将其应用于显示模块当中。该方案采用了诸多的精密器件
7、(如精密金属膜电阻)以获得足够高的精度,但却采用了手动调节的方式,显然是得不偿失。而且高精度的器件的价格昂贵、数量稀少、不易采购。开环的控制方式不利于精度的调节和操作的简化。电路中恒流恒压部分相对独立,技术含量较低且元器件的利用率较低。同时,系统的扩展性较差也是其弊端。方案二:基于单片机的恒压恒流电路分离的电子负载基于单片机的恒压恒流电路分离的电子负载原理图如图1-3:图1-3 基于单片机的恒压恒流电路分离的电子负载原理图本方案采用了单片机控制整个系统,操作变得简单明了。但是电路中的恒压恒流部分仍然相对独立,技术含量较低。两部分电路分别受单片机的控制。电路的输出有两个。这为测量带来了不便。同时
8、电路元件的利用率底下且电路本身规模庞大也是其弊端。方案三:基于单片机的数控直流电子负载基于单片机的数控直流电子负载的原理图如图1-4所示。图1-4 基于单片机的数控直流电子负载的原理图此方案控制核心采用pic18f4520单片机。操作时只需通过程序就能实现恒流值的调节,电流采样与显示。较好的解决了方案一因手动操作所引出的一系列弊端。方案中所采用的元器件型号比较常见且价格适中,在元件运用方面远远优于上述方案。通过电流电压采样使单片机输入到主电路PWM变化,达到题目要求。由于该方案的操作方法以与整体构架简易明了,利于电子开关的接入和控制,因此较好的实现了发挥部分关于频率方式的要求。电路中含有的运算
9、放大器具有很大的电源电压抑制化,可以大大减小输出端的纹波电压。单片机液晶屏的精确控制使得显示界面人性化。A/D对实际电压电流的反馈有利于单片机智能的对输出值进行修正,这是方案一所不具备的。同时,本方案电路简洁,控制简易。总而言之,智能化的可编程器件的充分使用使得整个系统可编程、可扩展,系统的灵活性大大增加。总体上远远优于上述两个方案。2 系统硬件设计2.1 电子负载设计模块方框图图21 电子负载设计模块方框图2.2 pic18f4520单片机性能特点一、高性能RISC CPU1、C编译器优化体系结构/指令设置;2、兼容PIC16和PIC17指令源代码;3、高达2MB的程序存储器;4、高达4KB
10、的数据存储器;二、优越的外围功能模块特征1、最大拉/灌电流可达25mA;2、3个外部中断引脚;3、4个定时器TMR0、TMR1、TMR2、TMR3;4、捕捉/比较/脉宽调制(CCP)模块/增强型CCP模块;5、两种工作方式的主同步串行通讯(MSSP): SPI主控方式(支持所有4种SPI工作模式); I2C主控/从动方式;6、可寻址的USART模块:支持RS-485和RS-232串口,并行从动口模式,支持中断支持位。三、高级模/数转换特性1、10位、8通道的模/数(A/D)转换模块: 2、可利用休眠状态进行转换,以减少系统干扰、提高精度;3、模拟比较模块:可编程多路输入/输出技术;4、比较器参
11、考电压模块;5、可编程的低电压探测模块(PLVD):支持低电压检测时产生中断;6、可编程的锁定复位(BOR);四、特殊的单片机特性1、增强功能的FLASH可经受100,000次擦/写操作;2、EEPROM可经受1,000,000次擦/写操作;3、FLASH/数据EEPROM数据保存期可超过40年;4、软件控制自动可改编程序(在线升级);5、上电复位电路(POR)、上电延迟定时器(PWRT)和振荡器起振定时器(OST);6、片RC振荡的看门狗定时器(WDT)保证可靠运行;7、低功耗睡眠模式(Sleep);8、可选择不同的振荡器工作方式: 4锁相环(主振荡器); 2路振荡器(32KHz)时钟输入;
12、9、通过两个引脚可进行在线串行编程(ICSP);10、通过2个脚在线调试器。图2-2 PIC18F4520引脚图2.3 数模与模数转换方法 1:利用A/D转换器和D/A转换器来实现数模与模数转换,具有高速、低功耗、高性能,的特点,但价格昂贵,增加电路体积。方法2:pic18f4520单片机提供了定时器,也就直接提供PWM输出功能。这就能够通过单片机的PWM输出,再加上简单的外围电路与对应的软件设计,实现对PWM的信号处理,得到稳定,精确的模拟输出,以实现D/A转换,这将大大降低电子设备的成本,减小体积,并容易提高精度。综合考虑选择方法22.3.1 A/D转换一般模数转换包括采样、保持、量化和编
13、码四个过程。采样就是将一个连续变化的信号x (t) 转换成时间上离散的采样信号x (n) 。通常采样脉冲的宽度tw 是很短的,故采样输出是断续的窄脉冲。要把一个采样输出信号数字化,需要将采样输出所得的瞬时模拟信号保持一段时间,这就是保持过程。量化是将连续幅度的抽样信号转换成离散时间、离散幅度的数字信号,量化的主要问题就是量化误差。编码是将量化后的信号编码成二进制代码输出。这些过程有些是合并进行的。例如,采样和保持就利用一个电路连接完成,量化和编码也是在转换过程同时实现的,且所用时间又是保持时间的一部分。PWM即脉冲宽度调制,PWM信号是一种周期(T)固定、占空比变化的数字信号。当对其进行积分或
14、低通滤波后,便可获得与其脉冲宽度呈正比的模拟电压,于是将该电压作为试探值与被测模拟量进行比较便可获得与被测模拟量相对应的PWM值或数字量。本设计是利用定时器产生PWM脉冲输出信号,利用比较器作为试探结果状态标志,采用改进的逐次逼近试探算法来实现对被测模拟量的A/D变换。由于一般单片机部都有定时器,因此可直接利用片定时器来产生PWM信号即可2.3.2 D/A转换一、应用PWM实现D/A转换的理论分析应用周期一定而高低电平的占空比可以调制的PWM方波信号,实现PWM信号到D/A转换器的理想方法是:采用模拟低通滤波器滤掉PWM输出的高频部分,保留低频的直流分量,即可得到对应的D/A转换输出,低通滤波
15、器的带宽决定了D/A转换器的带宽的围。图2-3所示的PWM信号可以用分段函数表示为:图2-3 PWM信号(2.1)其中:T是单片机术脉冲的基本周期,即单片机每隔T时间记一次数(计数器的值增加或者减少1),N是PWM波一个周期的计数脉冲个数,n是PWM波一个周期中高电平的计数脉冲序号,和分别是PWM波中高低电平的电压值,k为整个周期波序号,t为时间。为了对PWM信号的频谱进行分析,以下提供了一个设计滤波器的理论基础。傅里叶变换理论指出,任何一个周期为T的连续信号,都可以表达为频率是基频的整数倍的正,余弦谐波分量之和。把式(2.1)所表示的函数展开傅里叶级数,得到式(2.2)(2.2)从式(2.2
16、)可以看出,式中第一个方括弧为直流分量,第二项为第一次谐波分量,第三项为大于一次的高次谐波分量。式(2.2)中的直流分量与从0到,直流分量在变化,这正是电压输出的D/A转换器所需要的。因此,如果能把式(2.2)中除直流分分量的谐波过滤掉,则可以得到从PWM波到电压输出D/A转换器的转换,即PWM波可以通过一个低通滤波器进行调解。式(2.2)中的第二项的幅度和相角与有关,频率为,该频率是设计低通滤波器的依据。如果能把1次谐波很好的过滤掉,则高次谐波就应该就基本不存在了。根据上述分析可以得到如图2-4所示的从PWM到D/A转换器输出信号处理方块图,根据该方块图可以有许多电路实现方法,在单片机的应用
17、中还可以通过软件的方法进行精确度调整和误差的进一步校正。图2-4 从PWM到D/A转换器二、 转换器分辨率与误差分析PWM到D/A转换器输出的误差来源受两方面制约:决定D/A转换器分辨率的PWM信号的基频和没有被低通滤波器滤除的纹波。在D/A转换器的应用中,分辨率是一个很重要的参数,分辨率计算直接与和的可能变化有关,计算公式如下:(2.3)其中是分辨率,是指的最小变化量2.4 系统显示模块方案一:电压和电流的显示可以用数码管,但数码管的只能显示简单的数字,其电路复杂,占用资源较多,显示信息少,不宜显示大量信息。 方案二:使用功能更好的液晶显示,增加显示信息的可读性,看起来更方便。而JM1602
18、C字符点阵液晶模块 有明显的优点:微功耗,尺寸小,超薄轻巧,显示信息量大,字迹美观,视觉舒适,而且容易控制。经比较,故选用方案二进行设计,液晶显示程序框图如下:图2-5 液晶显示程序框图2.5电流采样2.5.1电流采样电流采样中,借助采样电阻首先将电流信号转换为电压信号,装换为电压信号后,经放大器LM324把信号传送给集成运放电路,LM324部包括有两个独立的、高增益、部频率补偿的运算放大器,适合于电源电压围很宽的单电源使用, 也适用于双电源工作模式,在推荐的工作条件下,电源电流与电源电压无关。它的使用围包括传感放大器、直流增益模块和其他所有可用单电源供电的使用运算放大器的场合。 图2-6 L
19、M324部电路图2-7电流采样原理图2.5.2 电压采样电压采样也运用了LM324用作反向放大器图2-8电压采样原理图2.5.3 MOSFET场效管的应用MOS型晶体管的特点是特别适合于开关状态工作,因为它正向导通时的电阻极小,而且开关速度快,所以是一种理想的开关元件。 MOS型场效应管的特点栅极控制功率小。和双极型晶体管相比,MOS管栅极是绝缘的、在高频工作时虽然有栅极电流存在。但其值甚小,所以栅极的输入功率也很小。由于MOS管是电压控制器件,它不像双极型晶体管那样,在基区有可能积存大量少数载流子,从而影响高速开关。所以同样功率的管子,MOS型的开关速度要比双极型管子快得多。MOS管子的耐压
20、比双极型管于低通常很少超过1000V而双极型管子可以做到1600V以下这对于大功率开关而言,无疑是一大缺点。MOS管子不像双极型管子那样存在明显的二次击穿现象,所以在中、低压情况下,其工作的可靠性要高些。过电压保护的设计也可以简单一些。MOS型场效应管的输出特性曲线MOS型场效应管的输出特性曲线如图所示;其部结构如图所示。图2-9 MOS型场效管输出特性曲线图2-10 MOS场效管部结构 MOS型场效应管的选型鉴于MOS管的良好开关特性,在此次设计中,对被测电源功率的控制,也就是对电流的控制,决定选用场效管IRFP254。MOSFET场效管IRFP254参数:漏极源极击穿电压Vdss=250V
21、;静态导通电阻Rds(on)=0.14;漏源连续导通电流Id=23A。2.5.4 集成运放的应用在本设计中,电流信号的检测放大部分、单片机控制功率信号输出部分,以与场效应管驱动信号部分,均应用集成运放芯片进行信号的放大与处理。以下对应用到的运放功能作进一步介绍。图2-11集成运放主电路(1)集成运放第一级基本反相放大电路应用图2-12 集成运放基本反相放大电路图2-17为运放基本反相放大电路。图中R1为输入隔离电阻,Rf为负反馈电阻,Rp为平衡电阻。RpR4/R6。 电路的闭环放大倍数为AvfR6R4。代入电阻数值,电路的Avf值最大为1.3。负号表示输出电压与输入电压相位相反。 电路的输入电
22、阻为R4,若要保证电路放大倍数足够大,则Rf值势必要相应的增大。这将使电路的精度下降、漂移增大。所以基本反相放大器只适用于输入阻抗要求不高的场合。基本反相放大电路的调整方法: 先将输入端接地,细心调整Rw调零电位器,使输出电压为零。为减少输入基极电流造成的误差,应使平衡电阻R5等于R6和R4的并联。在实际调整中,应根据实测结果对R6值进行适当调整,以满足所需增益的要求。集成运放第二级基本反相放大电路应用图2-13 运放基本反相放大电路 图2-18为运放基本同相放大电路。同相放大电路闭环放大倍数计算公式为:Avf-R9/R7由公式可见,选用系列电阻时,闭环放大倍数不容易为整数。 电路的调整方法和
23、注意事项将输入端接地,调整调零电位器R4,使输出电压为零。同相放大器将引入等于输入信号的共模电压,这将对运放的输入共模电压围提出较高的要求。也就是说,同相放大器的输入信号不得超过运放的输入共模电压围。在作为跟随器使用时,跟随精度与共模抑制比直接有关。因为是直接耦合,故信号源阻直接串入输入端。使用中应尽量使信号源阻对两个输入端都相等,否则将降低电路抑制共模的能力。要求运放的输入失调电流尽可能小。2.6 过压、短路保护当电源的输出电压超过其最大的限定电压时, 电源会将其输出关闭, 称之为过电压保护。过电压保护测试用来验证电源在出现上述异常情况时, 能否正确地作出反应。过电压保护功能对于一些对电压敏
24、感的负载特别重要, 如: CPU、存储器、逻辑电路等。因为这些元件若工作电压超过其额定值时, 会导致永久性的损坏。当电源的输出短路时, 则电源应该限制其输出电流或关闭其输出,以避免损坏。短路保护测试是验证当输出短路时, 电源能否正确反应。电子负载可采用短路测试键来模拟短路负载,可以直接测量其短路时的输出电压与电流。3 系统软件设计3.1 程序设计概述程序设计步骤一般概括为以下几点:分析题意确定算法。对复杂的问题进行具体分析,找出合理的计算方法与适当的数据结构。根据算法画出程序框图。画程序框图可以把算法和解题步骤逐步具体化,以减少出错的可能性。编写程序。根据程序框图所表示的算法和步骤,选用适当指
25、令排列起来,构成一个有机整体,即程序。3.2 电子负载程序设计流程图电子负载程序设计主程序流程图如图31所示。开始系统初始化数码管测试调AD转换子程序调显示子程序显示U有按键按下否? 无调PWM占空比调AD转换子程序调显示子程序显示I有按键按下否?调PWM占空比调AD转换子程序调显示子程序显示P有按键按下否?调PWM占空比调AD转换子程序图31 主程序流程图 电子负载程序设计按键程序流程图如图32所示。图32 按键程序流程图结论设计的基于pic16f877单片机控制的电子负载,能够实现题目要求的基本功能,达到稳流的效果。各个参数都能直观的在数码管上显示。此电子负载能很好的替代传统的测试方法中一
26、般采用的电阻、滑线变阻器、电阻箱等,更简单、更快捷、更可靠地对电源、变压器、整流器等电子设备进行输出特性的测试。但是,本设计还存在着很多不足,比如是功率消耗型器件,希望能在以后能改善这方面的缺陷。此次设计的电子负载,从最开始的资料搜集,到电路的设计;从最开始的元件选型,到电路板的焊接,再到现在的实物的整体调试在我组3位成员的共同努力下克服重重困难,最后走向成功。遗憾时间的仓促,此次设计存在很多有待改进的方方面面,更存在很多低级的错漏和失误的地方。我们会在今后的学习过程中不断努力,不断进步。参考文献1安青著PIC系列单片机开发实例精解 中国电力 20112 徐爱钧著 智能化测量控制仪表原理与设计
27、 航空航天大学 20073 段尚枢著 运算放大器应用基础 工业大学 19984 沙占友著 集成化智能传感器原理与应用 电子工业 20045 赖寿宏著 微型计算机控制技术 机械工业 19946 通用集成电路速查手册7 ALLDATASHEET 芯片查询8 MAXIM-IC 附录1:电子负载设计程序#include"p18f4520.h"#define uchar unsigned char#define uint unsigned inttypedef unsigned rom const charROM;unsigned char UPKeyFlag;unsigned ch
28、ar DOWNKeyFlag;unsigned char YXCKMS;unsigned char t_data;/unsigned char ADFlag; /- A/D转换完毕标志变量 -unsigned int DLFK;unsigned int DYFK;unsigned int DLGD;unsigned int data1=0;unsigned int data2=0;unsigned int data3=0;unsigned int sp;unsigned int PID_RESULT;unsigned int Freq;/unsigned char GZBZ_data;floa
29、t S_PID,S_PIDF;float LB_data,LBP_data,LBA_data;int E_PID;int tzl;/*/union adrs int y1; unsigned char adre2; adresult;/*/#define CLRWDT _asm CLRWDT _endasm#define RSFX TRISBbits.TRISB3#define RS PORTBbits.RB3#define RWFX TRISBbits.TRISB4#define RW PORTBbits.RB4#define EFX TRISBbits.TRISB5#define E PO
30、RTBbits.RB5#define ADDFX TRISDbits.TRISD0 /S1#define ADD PORTDbits.RD0#define SHIFTFX TRISDbits.TRISD1 /S2#define SHIFT PORTDbits.RD1#define MENFX TRISDbits.TRISD2 /S3#define MEN PORTDbits.RD2#define UPFX TRISDbits.TRISD3 /S4#define UP PORTDbits.RD3#define DOWNFX TRISDbits.TRISD4 /S5#define DOWN POR
31、TDbits.RD4#define SDDLFX TRISDbits.TRISD5 /S6#define SDDL PORTDbits.RD5/*/#defineFirstLineStart0x80#defineSecondLineStart 0x90#defineThirdLineStart0x88#defineFourthLineStart 0x98#define COM 0#define DAT 1#define TIMERCOUNT 1400/*显示设置*/ROM SD="设定"ROM DY="电压"ROM DL="电流"RO
32、M TZ="占空比"ROM TZL="调整率"ROM HY="电子设计"ROM GZ="过载"ROM FS="%"ROM MA="mA"ROM V ="mV"ROMYI="1"ROMER="2"ROMSA="3"ROMSI="4"ROMWU="5"ROMLI="6"ROMQI="7"ROMBA="8"
33、;ROMJI="9"ROMSH="0"ROMKO="." uchar count;unsigned int sd=10;unsigned int dl=0;unsigned int dy=0;unsigned int tz=0;/floatchar wq=4;uchar asd4;uchar adl4;uchar ady5;uchar atz4;/*函数定义*/ void PIC18_HIGHT_ISR(void);void PIC18_LOW_ISR(void);void PWM_TJ(void);/*中断*/#pragma cod
34、e hight_vector_section = 0x08void hight_vector(void) _asm goto PIC18_HIGHT_ISR _endasm #pragma code low_vector_section = 0x18void low_vector(void) _asm goto PIC18_LOW_ISR _endasm #pragma code#pragma interrupt PIC18_HIGHT_ISRvoid PIC18_HIGHT_ISR() if(INTCONbits.TMR0IF=1) INTCONbits.TMR0IF=0; if(count
35、>60) count=0; else count+; TMR0H=(65536-TIMERCOUNT)/256; TMR0L=(65536-TIMERCOUNT)%256; #pragma interrupt PIC18_LOW_ISRvoid PIC18_LOW_ISR() if(PIR1bits.TMR1IF =1) PIR1bits.TMR1IF =0; if(t_data>2) sp=1; t_data=0; else t_data+; TMR1H = 0x00; TMR1L = 0x06; /*延时函数*/*/void Delayus(uchar x) uchar i;
36、while(x-) for(i=5;i>0;i-) ; void Delayms(uchar x) uchar i; while(x-) /delay 1ms for(i=10;i>0;i-) char j; j=count; while(1) /delay 100us if(count-j) break; void Delay10ms(uchar x) while(x-) Delayms(10); void Delays(uchar x) uchar i; while(x-) Delay10ms(100); /*/void WrLCD(uchar datacomm,uchar c
37、ontent)uchar discontent,i,j;Delayus(200);discontent=content;RS=1;/前5个同步码E=0;RW=1;for(i=5;i>0;i-) E=1; E=0;/写指令位 RWRW=0;E=1;E=0;/ RS-Data or Instruction codeif(datacomm)RW=1; /dataelseRW=0; /commandE=1;E=0;RW=0;E=1;E=0;for(j=2;j>0;j-)for(i=4;i>0;i-) discontent=discontent<<1; RW=STATUSb
38、its.C;/Status 寄存器中的进位标志 E=1; E=0;RW=0;for(i=4;i>0;i-) E=1; E=0;void Clrram(void)WrLCD (COM,0x30);WrLCD (COM,0x01);Delayms(5);void LCDInit(void)WrLCD (COM,0x30);/30-基本指令动作 / Delayms(2);WrLCD (COM,0x0c); / Delayms(2);WrLCD (COM,0x01);/*清屏,地址指针指向00H*/Delayms(4); /产生至少1.6ms延时WrLCD (COM,0x02); / Delay
39、ms(2);WrLCD (COM,0x06);/*光标的移动方向,光标右移,AC自动加一*/WrLCD (COM,0x0e);/*开显示,开光标,光标位置不反白且闪烁*/WrLCD (COM,0x0c);/*开显示,关光标*/WrLCD (COM,0x0f);/*开显示,开光标,光标位置反白且闪烁*/WrLCD (COM,0x10);/光标左移一位/WrLCD (COM,0x14);/光标右移一位 Delayms(2);Clrram();void ChnDisp( ROM *chn,uchar linepos,uchar dispos)uchar i=0,startpos;WrLCD (COM
40、,0x30);switch(linepos)case 1:startpos=FirstLineStart;break;case 2:startpos=SecondLineStart;break;case 3:startpos=ThirdLineStart;break;case 4:startpos=FourthLineStart;break;WrLCD(COM,(startpos+dispos); while(chni!='0') WrLCD(DAT,chni); i+;/*/void Show(uchar *p,uchar x4 ,uchar y4) uchar m; for
41、(m=0;m<4;m+) switch(*p) case 0: ChnDisp(SH,x4,m+y4);break; case 1: ChnDisp(YI,x4,m+y4);break; case 2: ChnDisp(ER,x4,m+y4);break; case 3: ChnDisp(SA,x4,m+y4);break; case 4: ChnDisp(SI,x4,m+y4);break; case 5: ChnDisp(WU,x4,m+y4);break; case 6: ChnDisp(LI,x4,m+y4);break; case 7: ChnDisp(QI,x4,m+y4);
42、break; case 8: ChnDisp(BA,x4,m+y4);break; case 9: ChnDisp(JI,x4,m+y4);break; case 10: ChnDisp(KO,x4,m+y4);break; p+; void Show1(uchar *p,uchar x4 ,uchar y4) uchar m; for(m=0;m<5;m+) switch(*p) case 0: ChnDisp(SH,x4,m+y4);break; case 1: ChnDisp(YI,x4,m+y4);break; case 2: ChnDisp(ER,x4,m+y4);break;
43、 case 3: ChnDisp(SA,x4,m+y4);break; case 4: ChnDisp(SI,x4,m+y4);break; case 5: ChnDisp(WU,x4,m+y4);break; case 6: ChnDisp(LI,x4,m+y4);break; case 7: ChnDisp(QI,x4,m+y4);break; case 8: ChnDisp(BA,x4,m+y4);break; case 9: ChnDisp(JI,x4,m+y4);break; case 10: ChnDisp(KO,x4,m+y4);break; p+; void ShowNumbe
44、r(uchar *p,int x, uchar x4 ,uchar y4) uchar *m; int i; i=x; m=p; *m=i/1000;i=i%1000; m+; *m=i/100;i=i%100; m+; *m=i/10;i=i%10; m+; *m=i; Show(p,x4,y4);void Show3(uchar *p,int x, uchar x4 ,uchar y4) uchar *m; int i; i=x; m=p; *m=i/10000;i=i%10000; m+; *m=i/1000;i=i%1000; m+; *m=i/100;i=i%100; m+; *m=
45、i/10;i=i%10; m+; *m=i; Show1(p,x4,y4);void Shift(void)if(SHIFT=0) Delay10ms(2); if(SHIFT=0) /PWM_shift(); Delay10ms(2); if(wq=1) wq=4; else wq-; void Add(void)if(ADD=0) Delay10ms(2); if(ADD=0) /PWM_add(); / Delay10ms(10); switch(wq) case 0: sd=sd+1000; break; case 1: sd=sd+100; break; case 2: sd=sd+
46、10; break; case 3: sd=sd+1; break; if(sd>2000) sd=0; /*void ScanKey(void)PWM_TJ();if(MEN=0) Delay10ms(2);if(MEN=0) Delay10ms(20);while(1) Shift(); Add(); PWM_TJ(); SDDLHS(); ShowNumber(asd,sd,1,3); ShowNumber(ady,dy,3,3); ShowNumber(adl,dl,2,3); ShowNumber(atz,tz,4,4); if(MEN=0) Delay10ms(2); if(MEN=0) Delay10ms(20); break; /end of while */*定时器0初始化*/void InitTimer0(void) INTCONbits.GIEH = 1; /enable the general interruption INTCONbits.GIEL= 1; /enable the peripheral interruption T0CONbits.TMR0ON = 0; /disable Timer2 T0CONbits.T08BIT=0; T0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 沈阳航空航天大学《临床检验基础实验》2023-2024学年第二学期期末试卷
- 四川省成都十八中学2025届初三第一次模拟(适应性测试)考试物理试题试卷含解析
- 2025年辽宁省大连高新园区四校联考初三5月联合考试物理试题试卷含解析
- 四川省成都市重点中学2025年高考全国卷信息归集与高考命题预测-语文试题卷含解析
- 山东艺术学院《家禽生产学》2023-2024学年第二学期期末试卷
- 江西应用工程职业学院《影视剪辑艺术》2023-2024学年第二学期期末试卷
- 生产管理部年中总结
- 河北省保定市2025届数学三下期末复习检测试题含解析
- 辽宁生态工程职业学院《矿井运输与提升》2023-2024学年第二学期期末试卷
- 肥料管理办法课件
- 2025-2030中国风能风电行业发展前景及发展策略与投资风险研究报告
- 九江市电梯安全管理人员会考练习卷以及答案
- 2025年深入贯彻中央八项规定精神学习教育应知应会知识试题及答案
- 影视剧组聘请工作人员合同二零二五年
- 2025年审厂检验总结报告
- 2024年中国联通延安市分公司招聘笔试真题
- 2024年第二次广东省普通高中生物学业水平合格性考试含答案
- 2025年长袜子皮皮考试题及答案
- 部队食品安全知识课件
- 2025年中能建投六盘水电力有限公司招聘笔试参考题库含答案解析
- 《某畜禽养殖厂废水处理工艺设计》11000字
评论
0/150
提交评论