




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数控恒流源设计报告背景数控恒流源是单片机运用数字控制技术控制恒流源一种设计方案。当前,数字化数控恒流源应用,随着电子技术发展使用范畴越来越广,在电子测量仪器、激光、传感技术、超导、当代通信等高新技术领域,恒流源都被广泛应用,且发展前景较为良好。同步,也不但局限于此。电子领域,数控恒压技术已经很成熟,但是恒流方面特别是数控恒流技术是有待发展,高性能数控恒流器件开发和应用存在巨大发展空间。因此设计一种数控恒流源方案来提高恒流源稳定性、合用范畴以及精度很有必要。目录 第一章设计方案第二章恒流电路第三章MSP430F149单片机及电源第四章AD模块第五章DA模块第六章键盘模块和显示模块第七章软件设计第八章实验总结设计方案本设计本设计是基于单片机控制直流恒流源,分为如下几种构成某些:单片机控制系统、A/D和D/A转换模块、电源模块、恒流源模块、负载及键盘液晶显示模块,系统框图如图所示。系统框图用430单片机作为整机控制单元,通过变化D/A转换器输入数字量来变化输出电压值,从而间接地变化压控恒流源输出电流大小。为了可以使系统具备检测实际输出电流值大小,可以将电流转换成电压,并通过A/D转换器进行模数转换,用单片机实时对电压进行采样,与输入预期值比较,并通过430单片机进行进行数据解决微调输出,提高精度实时显示。恒流电路数控直流电流源可以采用电流输出型D/A转换器来实现,单由于其输出电流幅值普通在uA数量级,因而需要进行电流放大若干倍才干达到所需要规定电流值,电路实现很困难。若选取电压输出型DAC,再通过V-I转换电路变成与之成比例电流信号,则电路实现相对简朴,因而设计直流电源时常采用该种方案实现,在这种方案中,V/I转换电路设计是核心。普通V/I转换有两种方式,一种是负载共地方式,一种是负载共电源方式。咱们选用是负载共地方式,由于有诸多电路负载在连接时候需要进行共地。R6为电流反馈采样电阻,R5为限流电阻,RL为负载电阻。R7为A/D转换采样电阻,R6采样到电流信号加到电路输入端,构成电流并联负反馈电路。由虚断知,运算放大器输入端没有电流流过,则(Vi–V2)/R1=(V1–V4)/R2……a同理(V3–V2)/R3=V2/R4……b由虚短知V1=V2……c如果R1=R2=R4=R3,则由abc式得V3-V4=Vi上式阐明R6两端电压和输入电压Vi相等,则通过R7和RL电流I=Vi/R6。如果负载RL<<100KΩ,且运算放大器放大增益足够大时,通过负载RL电流仅有输入电压Vi决定,并且I=Vi/R6。因此R1、R2、R3、R4选用100kΩ。为了以便采样,咱们选取R6为1Ω电阻。Vi为0~1V,咱们做恒流源输出电流在0~100mA,R6=1/0.1=10Ω。为了扩大电流输出能力,在上电路负反馈没有通过电阻直接反馈,而是串联了三极管发射结,进行电流放大。由于在恒流源电路中,MOSFET管输入电容太大,而普通运放输出电阻都在几十欧姆以上,会导致闭环延迟,而高增益闭环负反馈中迟延很容易振荡,三极管放大倍数选大些,也可以用复合管,事实上电阻误差比三极管基极电流影响也许要大,还可以通过调节电阻值来调节.因此咱们选用是三级管而不是MOSFET管。MSP430F149单片机及电源3.1MSP430F149单片机MSP430F149单片机是一种16位、具备精简指令集、超低功耗混合型单片机。由于它具备极低功耗、达到60KBFLASH容量、丰富片内外设和相对较小体积及以便灵活开发环境,已成为众多单片机系列中一颗耀眼“芯星”。开发板资源描述:【1】.板载MSP430F149芯片【2】.集成USB型BSL编程器(对自身或其她板子进行bsl编程)【3】.提供32.768KHZ和8MHZ两种晶振连接方式【4】.采用USB供电和程序下载,优质电容滤波【5】.采用原则JTAG接口(14针),支持硬件仿真。【6】.所有IO口(涉及AD电源等)均引出(未焊接排针,可自己向上或向下焊接)。【7】.4路彩色LED所有上拉,可以借此观测程序运营状态。【8】.2个优质独立按键。【9】.板载手动复位电路。【10】.板载蜂鸣器电路,可做音乐实验等。【11】.提供NRF24L01+无线模块接口。【12】.板子集成USB转串口功能。【13】.向外提供3.3v和5v电源排针。
MSP430端口有P1、P2、P3、P4、P5、P6、S和COM(型号不同,包括端口也不但相似,如MSP430X11X系列只有P1,P2端口,而MSP430X4XX系列则包括所有上述端口),它们都可以直接用于输入/输出。MSP430系统中没有专门输入/输出指令,输入/输出操作通过传送指令来实现。端口P1`P6每一位都可以独立用于输入/输出,即具备位寻址功能。常用键盘接口可以直接用端口进行模仿,用查询或者中断方式控制。由于MSP430端口只有数据口,没有状态口或控制口,在实际应用中,如在查询式输入/输出传送时,可以用端口某一位或者几位来传送状态信息,通过查询相应位状态来拟定外设与否处在“准备好”状态。端口功能。(1)P1,P2端口:I/O,中断功能,其她片内外设功能如定期器、比较器;(2) P3,P4P5P6端口:I/O,其她片内外设功能如SPI、UART模式,A/D转换等;(3)S,COM 端口:I/O,驱动液晶。MSP430各端口具备丰富控制寄存器供顾客实现相应操作。其中P1,P2具备7个寄存器,P3~P6具备4个寄存器。通过设立寄存器咱们可以实现:(1)每个I/O位独立编程;(2)任意组合输入,输出和中断;(3)P1,P2所有8个位所有可以用作外部中断解决;(4)可以使用因此指令对寄存器操作;(5)可以按字节输入、输出,也可按位进行操作。端口P1,P2功能可以通过它们7个控制寄存器来实现。这里,Px代表P1或P2。(1)PxDIR:输入/输出方向寄存器。8位互相独立,可以分别定义8个引脚输入/输出方向。8位再PUC后都被复位。使用输入/输出功能时,应当先定义端口方向。作为输入时只能读,作为输出时,可读可写。0:输入模式;1:输出模式。如:P1DIR|=BIT4;//P1.4输出,P2DIR=0XF0;//高4位输出,低4位输入。(2)PXIN:输入寄存器,为只读寄存器。顾客不能对它进行写入,只能通过读取其寄存器内容来懂得I/O口输入信号。因此其引脚方向要选为输入。如再键盘键盘扫描程序中经常要读取行线或者列线端口寄存器值来判断案件状况。例如:unsignedcharkey;P1DIR&=~BIT4;//P1.4输入……key=P1IN&0X10;//输出端口P1.4值……(3)PXOUT:输出寄存器。该寄存器为I/O端口输出缓冲寄存器,再读取时输出缓存内容与引脚方向定义无关。变化方向寄存器内容,输出缓存内容不受影响。如:PIOUT|=0X01;//P1.0输出1,PIOUT&=~0X01;//P1.0输出0。(4)PXIFG:中断标志寄存器。她8个标志位标志相应引脚与否有中断祈求有待解决。0:无中断祈求,1:有中断祈求。其中断标志分别为PXIFG.0~PXIFG.7。应当注意是:PXIFG.0~PXIFG.7共用一种中断向量,为多源中断。当任一事件引起中断进行解决时,PXIFG.0~PXIFG.7不会自动复位,必要由软件来判断是对哪一种事件,并将相应标志复位。此外,外部中断事件时间必要保持不低于1.5倍MCLK时间,以保证中断祈求被接受,且使相应中断标志位置位。(5)PXIES:中断触发沿选取寄存器。如果容许PX口某个引脚中断,还需定义该引脚中断触发方式。0:上升沿触发使相应标志置位,1:下降沿触发相应标志置位。如:MOV.B#07H,&P1IES;p1低3位下降沿触发中断。(6)PXIE:中断使能寄存器。PX口每一种引脚均有一位用以控制该引脚与否容许中断。0:禁止中断,1:容许中断。MOV.B#0E0H,&P2IE;P2高3位容许中断。(7)PXSEL:功能选取寄存器。P1,P2两端口还具备其她片内外设功能,将这些功能与芯片外联系通过复用P1,P2引脚方式来实现。PXSEL用来选取引脚I/O端口功能与外围模块功能。0:选取引脚为I/O端口,1:选取引脚为外围模块功能。如:P1SEL|=0X10;//P1.4为外围模块功能。端口P3、P4、P5、P6没有中断能力,别的功能同PI,P2。除掉端口P1,P2与中断有关3个寄存器,端口P3,P4,P5,P64个寄存器(用法同P1,P2)分别为PXDIR,PXIN,PXOUT,PXSEL可供顾客使用。端口COM和S,她们实现与液晶片直接接口。COM为液晶片公共端,S为液晶片段码端。液晶片输出端也可经软件配备为数字输出端口。3.2电源模块:5v12v佰嘉达D-120A双组电源佰嘉达D-120A双组电源是开关电源(英文:Switching
Mode
Power
Supply),又称互换式电源、开关变换器,是一种高频化电能转换装置。其功能是将一种位准电压,透过不同形式架构转换为顾客端所需求电压或电流。开关电源体积小、重量轻:由于没有工频变压器,因此体积和重量只有线性电源20~30%。功耗小、效率高:功率晶体管工作在开关状态,因此晶体管上功耗小,转化效率高,普通为60~70%,而线性电电源只有30~40%。因此选取开关电源转化和提供12V和5V电压。DA模块由于MSP430F149单片机内部并没有内置DAC12模块,因此必要外接DAC芯片进行DA转换。考虑到恒流源精度和步进大小,咱们决定使用12位DAC芯片来进行DA转换。通过挑选,咱们使用12位TLV5618。其连接图如下DA模块电路图特性双通道12位电压输出型DAC可编程设立时间:3uS—10uS兼容TMS320和SPI接口可直接代替TLC5618应用数字电路控制数字偏移及增益控制工业生产控制机器和自动控制装AD模块这里采用是MSP430F149单片机内部ADC12模块,需在单片机外接如图所示某些元件辅助芯片。ADC12提供4种转换模式:单通道单次转换序列通道单次转换单通道多次转换序列通道多次转换这里咱们只用单通道单次转换对选定通道进行单次转换要进行如下设立:
x=CSStartAdd,指向转换开始地址
ADC12MEMx存储转换成果
ADC12IFG.x为相应中断标志
ADC12MCTLx寄存器中定义了通道和参照电压
转换完毕时必要使ENC再次复位并置位(上升沿),以准备下一次转换。在ENC复位并再次置位之前输入信号将被忽视。AD模块电路图无论顾客使用何种转换模式,都要解决如下问题:设立详细模式
输入模仿信号
关注转换结束信号
存储转换数据以及采用查询或者中断方式读取数据二、ADC12寄存器阐明1.ADC12CTL0
控制寄存器0,各位定义:15~1211~876543210SHT1SHT0MSC2.5VREF
ONADC12
ONADC12
TOVIEADC12
TVIEENCADC12
SCADC12SC——采样/转换控制位。在不同条件下,ADC12SC含义如下所示:ENC——转换容许位。0:ADC12为初始状态,不能启动A/D转换;
1:初次转换由SAMPCON上升沿启动ADC12TVIE——转换时间溢出中断容许位(当前转换还没完毕时,又发生一次采样祈求,则会发生转换时间溢出)0:没发生转换时间溢出
1:发生转换时间溢出ADC12OVIE——溢出中断容许位(当ADC12MEMx中原有数据还没有读出,而又有新转换成果数据要写入时,则发生溢出)0:没发生溢出
1:发生溢出ADC12ON——ADC12内核控制位0:关闭ADC12内核
1:打开ADC12内核REFON——参照电压控制位0:内部参照电压发生器关闭
1:内部参照电压发生器打开2.5V——内部参照电压电压值选取位0:选取1.5V内部参照电压
1:选取2.5V内部参照电压MSC——多次采样转换位(CONSEQ<>0表达当前转换模式不是单通道单次转换)SHT1、SHT0——采样保持定期器1,采样保持定期器0分别定义保存在转换成果寄存器ADC12MEM8~ADC12MEM15和ADC12MEM0~ADC12MEM7中转换采样时序与采样时钟ADC12CLK关系。采样周期是ADC12CLK周期乘4整数倍。2.ADC12CTL1
转换控制寄存器1(大多数3~15位,只有在ENC=0时才可被修改),各位定义:15~1211~10987~54、32、10CSSTARTADDSHSSHPISSHADC12
DIVADC12
SSELCONSEQADC12
BUSYCSSTARTADD——转换存储器地址位。该4位所示二进制数0~15分别相应ADC12MEM0~15。可以定义单次转换地址或序列转换首地址。SHS——采样触发输入源选取位。SHP——采样信号(SAMPCON)选取控制位。ISSH——采样输入信号方向控制位ADC12DIV——ADC12时钟源分频因子选取位。分频因子为该3位二进制数加1ADC12SSEL——ADC12内核时钟源选取CONSEQ——转换模式选取位ADC12BUSY——ADC12忙标志(只用于单通道单次转换模式,在其他转换模式下,该位无效)3.ADC12MEM0~ADC12MEM15
转换存储寄存器该组寄存器均为16位寄存器,用来存储A/D转换成果。中用其中低12位,高4位在读出时为04.ADC12MCTLx
转换存储控制寄存器(所有位只有在ENC为低电平时可修改,在POR时各位被复位)对于每个转换存储器有一种相应转换存储器控制寄存器,因此在进行CSSTARTADD转换存储器地址位设立同步,也拟定了ADC12MCTLx。5.ADC12IFG
中断标志寄存器
为16位,其中中断标志位ADC12IFG.x相应于转换存储寄存器ADC12MEMx:ADC12IFG.x置位:转换结束,并且转换成果已经装入转换存储寄存器。
ADC12IFG.x复位:ADC12MEMx被访问。6.ADC12IE
中断使能寄存器
为16位,相应于ADC12IFG寄存器:ADC12IE.x=1:容许相应中断标志位ADC12IFG.x在置位时发生中断祈求服务。
ADC12IE.x=0:禁止相应中断标志位ADC12IFG.x在置位时发生中断祈求服务。7.ADC12IV
中断向量寄存器ADC12是一种多源中断:有18个中断标志(ADC12IFG.0~ADC12IFG.15与ADC12TOV,ADC12OV),但只有一种中断向量。因此需要设立这18个标志优先级顺序,按照优先级顺序安排中断标志响应,高优先级祈求可以中断正在服务低优先级。各中断标志会产生一种0~36偶数。ADC12OV和ADC12TOV会在访问ADC12IV后自动复位。但在响应了ADC12IFG.x标志相应中断服务之后,相应标志不自动复位,用以保证能解决发生溢出状况。键盘模块和显示屏模块6.1键盘模块4X4键盘电路图键盘在单片机系统中用得非常广泛。当按键多并且单片机I/O口有限时,往往要考虑是矩阵式键盘。其中有两种方式可以实现矩阵式键盘:一种是运用纯硬件完毕解码称为“编码键盘”;此外一种是运用软件实现解码称为“非编码键盘”。在单片机系统中,只要单片机有空余时间来解码时,咱们往往运用是软件解码形式,即“非编码键盘”来实现矩阵键盘。这样可以节约成本。软件原理为扫描键盘矩阵时,每次只有一行电平拉低。在逐次扫描拉低这些行同步,去读那些列电平。;被拉低行上,按下键相应列电平为0,其他为1.用左移位指令,在进位位CY里就可以检测出是0还是1.为1表达无按下,;为0表达该键按下。在扫描按键时,如无按下,则取码指针R1加1后,继续扫描。如有键按下,转按键解决子程序,按键按下标志位;F0清0(表达按下)。此时,取码指针值,就是按键键名。随后继续进入按键检测子程序重新扫描。每个按键有它行值和列值,行值和列值组合就是辨认这个按键编码。矩阵行线和列线分别通过两并行接口和CPU通信。每个按键状态同样需变成数字量“0”和“1”,开关一端(列线)通过电阻接VCC,而接地是通过程序输出数字“0”实现。键盘解决程序任务是:拟定有无键按下,判断哪一种键按下,键功能是什么;还要消除按键在闭合或断开时抖动。两个并行口中,一种输出扫描码,使按键逐行动态接地,另一种并行口输入按键状态,由行扫描值和回馈信号共同形成键编码而辨认按键,通过软件查表,查出该键功能。键盘连接成4×4矩阵形式,占用单片机P1口8根线,行信号是P5.0-5.3,列信号是P5.4-5.7。789复位456小数点123清除一位0输出暂停确认按键相应功能图6.21602液晶显示模块工业字符型液晶,可以同步显示16x02即32个字符。(16列2行)
注:为了表达以便,后文皆以1表达高电平,0表达低电平。
1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等点阵型液晶模块。它由若干个5X7或者5X11等点阵字符位构成,每个点阵字符位都可以显示一种字符,每位之间有一种点距间隔,每行之间也有间隔,起到了字符间距和行间距作用,正由于如此因此它不能较好地显示图形(用自定义CGRAM,显示效果也不好)。
1602LCD是指显示内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。
当前市面上字符液晶绝大多数是基于HD44780液晶芯片,控制原理是完全相似,因而基于HD44780写控制程序可以很以便地应用于市面上大某些字符型液晶。⑵管脚功能1602采用原则16脚接口,其中:第1脚:VSS为电源地第2脚:VCC接5V电源正极第3脚:V0为液晶显示屏对比度调节端,接正电源时对比度最弱,接地电源时对比度最高。第4脚:RS为寄存器选取,高电平1时选取数据寄存器、低电平0时选取指令寄存器。第5脚:RW为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。第6脚:E(或EN)端为使能(enable)端,高电平(1)时读取信息,负跳变时执行指令。第7~14脚:D0~D7为8位双向数据端。第15~16脚:空脚或背灯电源。15脚背光正极,16脚背光负极。⑶特性3.3V或5V工作电压,对比度可调内含复位电路提供各种控制命令,如:清屏、字符闪烁、光标闪烁、显示移位等各种功能有80字节显示数据存储器DDRAM内建有192个5X7点阵字型字符发生器CGROM8个可由顾客自定义5X7字符发生器CGRAM指令集1602通过D0~D78位数据端传播数据和指令。
显示模式设立:(初始化)
00110000[0x38]设立16×2显示,5×7点阵,8位数据接口;
显示开关及光标设立:(初始化)
00001DCBD显示(1有效)、C光标显示(1有效)、B光标闪烁(1有效)
000001NSN=1(读或写一种字符后地址指针加1&光标加1),
N=0(读或写一种字符后地址指针减1&光标减1),
S=1且N=1(当写一种字符后,整屏显示左移)
s=0当写一种字符后,整屏显示不移动
数据指针设立:
数据首地址为80H,因此数据地址为80H+地址码(0-27H,40-67H)
其她设立:
01H(显示清屏,数据指针=0,所有显示=0);02H(显示回车,数据指针=0)。软件设计开始初始化键按下按下?没有有按键按下读取键值开始初始化键按下按下?没有有按键按下读取键值key_Flag标志位置1判断与否按过确认键?AD转换使能有按键按下有确认键按下输出键按下?有输出键按下DA转换判断电流与否为键入值步进加减1是否各键值功能执行Flag与否为1是Flag清0否实验总结经测试,此数控恒流源在0~100mA时可合用负载电阻范畴为0~69.Ω。在50mA时相对误差为0,在10mA时显示电流比电流表小1.5mA,在100mA时显示电流比电流表大1.5mA。并且其误差值近视抛物线。经分析,咱们以为是一方面由于DA采样信号通过LM358放大10倍时误有一定误差,并不是绝对十倍,故导致其输出值不是抱负状态。另一方面是由于单片机ADC模块参照电压不是很精确,也导致一定影响。附录1:实物图附录2:程序清单#include<msp430x14x.h>#include"Keypad.h"#include"cry1602.h"#defineucharunsignedchar#defineuintunsignedint#defineNum_of_Results32ucharshuzi[]={"."};staticuintresults[Num_of_Results];//保存ADC转换成果数组voidTrans_val(uintHex_Val);voidDA_conver(uintdig);voidshuzishuru(uintshuzi);voidWrite_A_B(uintdata_a,uintdata_b,ucharchannal,ucharmodel);//提示语句:ucharStrings[]={"Pleaseenterthecurrentvalue:"};ucharceshi1[]={"Nodata"};ucharceshi2[]={"Lessthan100mA"};ucharceshi3[]={"A:"};ucharceshi4[]={"B:"};ucharceshi5[]={"mA"};//引用外部变量声明externunsignedcharkey_val;externunsignedcharkey_Flag;unsignedlongDianliu2,Dianliu3;uintDianliu1,zheng,daxiao,com,VV;uchardianliu1[10],dianliu2[10],display[10];//display规定输出电流,dianliu2实际输出电流,dianliu1键入电流uintz,y,h,q,j,k,a;uintn,nn,m,mm;//电流值位数(整数某些,小数某些)uintd,dd;//小数点标志1为有小数//0为没小数voidmain(void){z=1;//按键后清除,重新输入标志y=0;//y字符数字转整型数字(使用后归零)h=0;//0,1确认键标志符0:未按过;1按过q=0;//DA转换成果输出位数j=0;//AD输出位k=0;//AD转换结束位a=0;//AD显示取平均n=0;nn=0;m=0;mm=0;d=0;dd=0;Dianliu1=0;Dianliu2=0;Dianliu3=0;zheng=0;daxiao=0;com=0;VV=0;WDTCTL=WDTPW+WDTHOLD;//关闭看门狗Init_Keypad();LcdReset();DispNChar(0,0,31,Strings);//AD初始化P6SEL|=0x01;//使能ADC通道ADC12CTL0=ADC12ON+SHT0_8+MSC+REFON+REF2_5V;ADC12CTL1=SHP+CONSEQ_2;;ADC12MCTL0=SREF_1;ADC12IE=0x01;//使能ADC中断_EINT();while(1){Key_Event();//电流实时检测if(h==1){ADC12CTL0|=ENC;//使能转换ADC12CTL0|=ADC12SC;//开始转换while(k==0);k=0;if(q==1){if(Dianliu2<VV){if(com<2400)com=com+1;}elseif(Dianliu2>VV){if(com>0)com=com-1;}if(com<2400)Write_A_B(com,0x0000,1,0);//A通道,慢速模式}//调节da输出,注意与否接入负载,有电流/*intqwe;qwe=Dianliu2%100/10;Disp1Char(0,1,shuzi[qwe]);*/}if(key_Flag==1){key_Flag=0;if((key_val!=0)&&(z==1)){LcdWriteCommand(0x01,1);DispNChar(14,0,2,ceshi5);DispNChar(8-(m+n+d+1)/2,0,n+m+d,dianliu1);z=0;//显示清屏(z清屏标志)}elseif((key_val!=0)&&(z==2)){LcdWriteCommand(0x01,1);DispNChar(0,0,2,ceshi3);DispNChar(2,0,nn+2*mm,display);DispNChar(8,0,2,ceshi4);DispNChar(14,1,2,ceshi5);DispNChar(8-(m+n+d+1)/2,1,n+m+d,dianliu1);z=0;}switch(key_val) { case1:Init_Keypad();LcdReset();DispNChar(0,0,31,Strings);Dianliu1=0;Dianliu2=0;Dianliu3=0;zheng=0;daxiao=0;z=1;y=0;n=0;m=0;h=0;d=0;a=0;nn=0;mm=0;dd=0;com=0;VV=0;q=0;j=0;//AD输出位k=0;//AD转换结束位Write_A_B(com,0x0000,1,0);//A通道,慢速模式break; case2:if((n<3&&d==0)||(m<1&&d==1)){shuzishuru(9);break;}elsebreak;case3:if((n<3&&d==0)||(m<1&&d==1)){shuzishuru(8);break;}elsebreak;case4:if((n<3&&d==0)||(m<1&&d==1)){shuzishuru(7);break;}elsebreak; case5://小数点if(d==0){d=1;if(n!=0)dianliu1[n]='.';else{dianliu1[n]='0';n++;dianliu1[n]='.';}if(h==0){DispNChar(8-(m+n+d+1)/2,0,n+m+d,dianliu1);DispNChar(14,0,2,ceshi5);}elseDispNChar(8-(m+n+d+1)/2,1,n+m+d,dianliu1);break;} elsebreak; case6:if((n<3&&d==0)||(m<1&&d==1)){shuzishuru(6);break;}elsebreak;case7:if((n<3&&d==0)||(m<1&&d==1)){shuzishuru(5);break;}elsebreak;case8:if((n<3&&d==0)||(m<1&&d==1)){shuzishuru(4);break;}elsebreak;case9://清除if((n!=0)&&(d==0))//清除整数{y=dianliu1[--n]-'0';Dianliu1=(Dianliu1-y)/10;y=0;if(h==0){LcdWriteCommand(0x01,1);DispNChar(14,0,2,ceshi5);DispNChar(8-(m+n+d+1)/2,0,n+m+d,dianliu1);}else{LcdWriteCommand(0x01,1);DispNChar(0,0,2,ceshi3);DispNChar(2,0,nn+2*mm,display);DispNChar(8,0,2,ceshi4);DispNChar(14,1,2,ceshi5);DispNChar(8-(m+n+d+1)/2,1,n+m+d,dianliu1);}}elseif((d!=0)&&(m!=0))//清除小数{y=dianliu1[m+n]-'0';Dianliu1=(Dianliu1-y)/10;m--;y=0;if(h==0){LcdWriteCommand(0x01,1);DispNChar(14,0,2,ceshi5);DispNChar(8-(m+n+d+1)/2,0,n+m+d,dianliu1);}else{LcdWriteCommand(0x01,1);DispNChar(0,0,2,ceshi3);DispNChar(2,0,nn+2*mm,display);DispNChar(8,0,2,ceshi4);DispNChar(14,1,2,ceshi5);DispNChar(8-(m+n+d+1)/2,1,n+m+d,dianliu1);}}elseif((d!=0)&&(m==0))//清除小数点{d=0;if(h==0){LcdWriteCommand(0x01,1);DispNChar(14,0,2,ceshi5);DispNChar(8-(m+n+d+1)/2,0,n+m+d,dianliu1);}else{LcdWriteCommand(0x01,1);DispNChar(0,0,2,ceshi3);DispNChar(2,0,nn+2*mm,display);DispNChar(8,0,2,ceshi4);DispNChar(14,1,2,ceshi5);DispNChar(8-(m+n+d+1)/2,1,n+m+d,dianliu1);}}else{DispNChar(4,1,7,ceshi1);if(h==0)z=1;elsez=2;}break;case10:if((n<3&&d==0)||(m<1&&d==1)){shuzishuru(3);break;}elsebreak;case11:if((n<3&&d==0)||(m<1&&d==1)){shuzishuru(2);break;}elsebreak;case12:if((n<3&&d==0)||(m<1&&d==1)){shuzishuru(1);break;}elsebreak;case13://拟定if((n!=0)){if(m==0)daxiao=Dianliu1*10;elsedaxiao=Dianliu1;if(daxiao>1000){DispNChar(0,1,16,ceshi2);m=0;n=0;d=0;Dianliu1=0;dianliu1[0]='\0';if(h==1)z=2;elsez=1;break;}h=1;//确认标志mm=m;nn=n;dd=d;zheng=daxiao;for(y=0;y<(n+m+d);y++)display[y]=dianliu1[y];y=0;m=0;n=0;d=0;Dianliu1=0;dianliu1[0]='\0';LcdWriteCommand(0x01,1);DispNChar(0,0,2,ceshi3);DispNChar(2,0,nn+2*mm,display);DispNChar(8,0,2,ceshi4);DispNChar(13,1,2,ceshi5);//ADC12CTL0|=ENC;//使能转换//ADC12CTL0|=ADC12SC;//开始转换}break;case14://暂停//jiaif(h==1){VV=0;com=(uint)(VV*2);//com=(uint)(VV/(2*REF)*4096);Write_A_B(com,0x0000,1,0);//A通道,慢速模式q=0;//转换输出确认位置0break;}elsebreak;case15://输出//jianif(h==1){VV=zheng;com=(uint)(VV*2);//com=(uint)(VV/(2*REF)*4096);if(com<2400)Write_A_B(com,0x0000,1,0);//A通道,慢速模式q=1;//转换输出确认位break;}elsebreak;case16:if((n<3&&d==0)||(m<1&&d==1)){shuzishuru(0);break;}elsebreak; }}}}voidshuzishuru(uintshuzi)//数字输入{dianliu1[n+m+d]='0'+shuzi;Dianliu1=10*Dianliu1+shuzi;if(d==0)n++;elsem++;if(h==0){DispNChar(8-(m+n+d+1)/2,0,n+m+d,dianliu1);DispNChar(14,0,2,ceshi5);
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 屋面水泥瓦施工方案
- 耐腐蚀泵项目风险识别与评估综合报告
- 青少年心理健康与行为发展教育实践
- 浙江华远:盈利预测报告及审核报告
- 金浦钛业:上海东邑酒店管理有限公司2024年1-9月财务报表审计报告
- 山东石雕六角亭施工方案
- 埋地涂塑钢管安装施工方案
- 项目监理实施方案
- 黄土边坡锚杆施工方案
- 电气设备二次搬运施工方案
- 清华大学告诉你普通人如何抓住DeepSeek红利
- (2025)辅警招聘公安基础知识必刷题库及参考答案
- 人教版(2024)七年级下册英语Unit 5 Here and Now 单元教学设计(共6课时)
- 农业机械设备维护与质量保障措施
- 基于图像处理的CAD图纸比对算法
- 二零二五年度城市排水管网运维合作协议4篇
- 《习近平法治思想概论(第二版)》 课件 2. 第二章 习近平法治思想的理论意义
- 人教版高中英语挖掘文本深度学习-选修四-UNIT-4(答案版)
- 太阳能微动力农村污水处理系统建设项目可行性研究报告
- 四川省成都市成华区2024年中考语文二模试卷附参考答案
- 子宫内膜增生护理个案
评论
0/150
提交评论