版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、摘要随着电子技术的发展、数字电路应用领域的扩展,人们对数控恒定电流器件的需求越来越高。 应社会发展的需求, 对基于单片机控制的 “数控恒流电流源” 进行研究论证,并运用Proteus软件进行仿真。设计由两大模块组成:单片机应用系统模块;大功率压控电流源模块。设计采用 AT89C52单片机应用系统,由TLC2543对精密电阻康铜 丝的电压进行监控,由 LTC1456 直接控制输出电压,单片机、 A/D 、D/A 三者组成控制 系统,形成闭环回路,保持恒流。电流源采用 4X4矩阵键盘进行设定,并采用LCD显 示界面。运用Proteus软件仿真,实现输出电流范围为200mA2000mA,满足步进10
2、mA, 误差的绝对值 1% +10mA,可以同时显示电流的给定值、仿真测试值、 负载电压值、 负载电阻值。关键词:电流源,稳压电源, AT89C52,LCD 显示, ProteusABSTRACTThe requiements of numerical controlling constant current devices is increasing as development of electronic technology and expanding of digital circuit applicational field. As to satisfy society develo
3、pment, do a study based on numerical controlling constant current power of SCM controlling and apply Proteus to simulating software. This design includes two module: SCM application system module; superpower voltage controls current power module. This design adopts AT89C52 SCM application system, mo
4、nitoried by precision resistance constantanwire voltage corresponding of TLC2543 and controlled and putout voltage directly by LTC1456, which three aspectsconsist of controlling system and being closed loop circuit to keep constant cuurent. Current souce adopts 44 matrix keyboard to set and LCD disp
5、lay interface. Applying Proteus simulation software to realizing the range of output curre nt as 200mA2000mA satisfies stepp ing 10mA, the errors absolute value 01|h -” TSTk- - -t-isv 输出2.2恒流源电路的设计方案一:采用集成稳压器运放构成的线性恒流源。如图2.2所示,D/A输出电压作为恒流源的参考电压,运算放大器 U1与晶体管Q1,Q2组成的达林顿电路构成 电压跟随器。利用晶体管平坦的输出特性即可得到恒流输出。
6、由于跟随器是一种深 度的电压负担亏电路,因此电流源具有较好的稳定性。本电流源的稳定度优于0.5% 为了提高稳定度,Rs采用大线径康铜丝制作,康铜丝温度系数很小,大线径可以使 其温度影响减至最小。U1采用精密运算放大器OP37A,该放大器有调节零点漂移 的功能,Q1采用9014大倍数大约为400.Q2采用低频功率管3DD15,他的放大倍 数为1020倍,漏电流很小。Q1的加入是为了增加复合管的放大倍数。图2.2稳压器运放线性恒流源原理图方案二:采用运放和场效应管的压控恒流源。电路原理图如图2.3所示。该恒流源电路由运算放大器、大功率场效应管 Q1、采样电阻R2负载电阻RL等组成硬 件设计。采用场
7、效应管,更易于实现电压线性控制电流,既能满足输出电流最大达 到2A的要求,电路简洁也能较好地实现电压近似线性地控制电流。此电路中,为了满足题目的设计要求,调整管采用大功率场效应管IRF640。当场效应管工作于饱和 区时,漏电流Id近似为电压Ugs控制的电流。即当Ud为常数时,满足:ld=f (Ugs), 只要Ugs不变,Id就不变。在此电路中,R2为取样电阻,采用康铜丝绕制(阻值 随温度的变化较小)阻值为1Q。运放OP07作为电压跟随器,Uin=Up=Un,场效 应管ld=ls(栅极电流相对很小,可忽略不计)所以lout=ls= Un/R2= Uin/R2。正因为 lout=Uin/R2,电路
8、输入电压Ul控制电流lout,即lout不随RL的变化而变化,从而 实现压控恒流。图2.3压控恒流源原理图综上所述,进行综合比较,方案二电路较简单,稳定性较高,故采用方案二, 使用高精度运放和大功率场效应管等构成一个恒流源电路。2.3负载电压、电流电路的设计根据题目要求,设计了如图2.4所示的电路图。电路综合各方面的考虑因素在 里面,由于TLC2543所测电压值在5V内,而负载一端接15V电压源另一端接功率管, 因此采用差分增 益电路采样负载电压 ,当Rb/Rc=Rd/Ra时,OP07输出电压ADin=Rb/Rc(Va-Vb),硬件设置 Rb/Rc=1/4,软件还原负载电压,保证测量精度。而采
9、样精密电阻R1为1Q,通过采样R1两端电压值换算成电流值即可得到输出电流。图2.4负载电流、电压测量电路2.4 D/A、A/D转换器模块D/A、A/D模块是单片机与外部数据连接的通道,因此这两个模块的选择与使 用应当合理。2.4.1 D/A转换器本设计中应采用DAC模块提供高精度的基准电压,即通过CPU发出的二进制转换为010V的模拟电压,送给误差放大器,实现步进要求。根据题目扩展功能要求输出200 2000mA,以1mA为步进,需要的级数为:(2000200)mA1800( 2.1)1mA210 1024,故应采用12位D/A转换器为DA转换芯片,供选择的很多,在此选用proteus元件库中
10、的LTC1456芯片242 A/D转换器A/D模块的是反馈的核心,我们采用 Proteus元件库中的TLC2543芯片实现。 TLC2543是一种低功耗、低电压的12位串行开关电容型AD转换器。它使用逐次 逼近技术完成A/D转换过程。最大非线性误差小于1LSB,转换时间9g。它具有三 个控制器输入端,采用简单的3线SPI串行接口可方便与微机进行连接,是12位数 据采集系统的最佳选择器件之一。2.4.3 D/A、A/D连接电路D/A、A/D连接电路如下图2.5所示图2.5 D/A、A/D连接电路2.5 AT89C52 控制模块在此设计中,单片机最小系统是数控的核心,可以满足设计要求的控制器核心
11、单片机有很多种,比如 AT89S52,AT89C52,Atmgae16,PIC16F877A 等。仔细的 研究论证后设计选择 AT89C52 单片机。2.5.1 AT89C52 主要功能的简单介绍AT89C52为8位通用微处理器,其主要用于会聚调整时的功能控制。功能包括 对会聚主 IC 内部寄存器、 数据 RAM 及外部接口等功能部件的初始化, 会聚调整控 制,会聚测试图控制,红外遥控信号 IR 的接收解码及与主板 CPU 通信等。主要管 脚有:XTAL1( 19脚)和XTAL2( 18脚)为振荡器输入输出端口,外接12MHz晶 振。 RST/Vpd ( 9 脚)为复位输入端口, 外接电阻电容
12、组成的复位电路。 VCC(40 脚) 和 VSS(20 脚)为供电端口,分别接 +5V 电源的正负端。 P0P3 为可编程通用 I/O 脚,其功能用途由软件定义。AT89C52 的主要功能特性如下:1 、兼容 MCS51 指令系统2、 8k 可反复擦写 (大于 1000次) Flash ROM;3、 32 个双向 I/O 口;4、 256x8bit 内部 RAM ;5、 3个 1 6位可编程定时 /计数器中断;6、 时钟频率 0-24MHz;7、 2 个串行中断,可编程 UART 串行通道;8、 2 个外部中断源,共 8 个中断源;9、 2 个读写中断口线, 3 级加密位;10、 低功耗空闲和
13、掉电模式,软件设置睡眠和唤醒功能;11、 有PDIP、PQFP、TQFP及PLCC几种封装形式,以适应不同产品的需求 。n町 TE!TAJL3怛4W *卩口驷呃PO.7M&T口盼伯PSE1陀3.11ALEEft魄mpinrrsPl.liTZEKP12P32/INTT1FUFJUIMT1Fl.* risPISF3JWURLFl.?2.5.2 AT89C52连接电路AT89C52与各个模块构成控制器的电路连接图如下图2.7所示。.P0 口和P3.0P3.2是LCD接 口; P1.0P1.3是A/D转换器的接口; P3.3P3.5是D/A转换器的 接口 ;P2 口为键盘接口。电路连接图如图 2.6所
14、示,图中有连接晶振,这是为了方 便扩展做实物,题目只要求用 Proteus仿真,由于系统自带晶振,所以仿真电路图 中可以不画晶振。2.6键盘硬件的设计方案一:采用独立式按键电路,每个按键单独占有一根I/O接口线,每个I/O 口的工作状态互不影响,此类键盘采用端口直接扫描方式。缺点为当按键较多时占用 单片机的I/O 口数目较多。方案二:采用标准4X4键盘,此类键盘采用矩阵式行列扫描方式, 优点是当按 键较多时可降低占用单片机的I/O 口数目,而且可以做到直接输入电流值而不必步 进。题目要求可进行电流给定值的设置和步进调整,需要的按键比较多。综合考虑U1C3:亠G . *JT - oTEOR- +
15、5V 1 7::图2.6AT89C52电路连接图 CRYW2 -U_31_-IBJS_- J ;i-,.-S ._a_-51 !.- *-*-HETFVDJUJD 鹹伽1H.HW* 1 rr JIAJ sMl.TlAITP9EMek* 口出irz JA.13PI.IVMJISpimzPZQFEDF34ITK&pmP7V!WTr*33INT1P-i3 AHDPf JFIJIr i-iXL_3L _JfiL_2fi _3 a-JG.Z-lRHl、25血3两种方案及题目要求,采用方案二,使用标准的4x4键盘,可以实现09数字输入、“+”、“-”、“0K”、“SET”、“DEL”、“RESET/ON”
16、 这些功能按键。其电路图如 图2.7所示图2.7键盘电路2.7显示硬件的设计方案一:使用LED数码管显示。数码管采用BCD编码显示数字,对外界环境要 求低,易于维护。但根据题目要求,如果需要同时显示给定值和测量值,以及其他 输出特性值,需显示的内容较多,要使用多个数码管动态显示,使电路变得复杂, 加大了编程工作量。方案二:使用LCD显示。LCD具有轻薄短小,可视面积大,方便的显示数字, 分辨率高,抗干扰能力强,功耗小,且设计简单等特点。综上所述,选择方案二。采用LM016L液晶显示模块同时显示电流给定值和实测 值以及负载内阻。连接电路图如下图 2.8所示。TEE图 2.8 LM016L 显示器
17、连接图 总体研究过程中,硬件的选型和电路的设计是重中之重,至此,系统各个硬件 设计完成,均满足设计要求。第 3 章 软件设计软件程序是实现数控的核心,经过专业研究设计,采用C语言编程,运用KEIL 软件进行编译。3.1 程序说明软件部分需要解决的主要难点是根据键盘输入的预置电流值转换为误差放大器 的高精度基准电压,并跟踪显示。本设计采用C语言,对AT89C52进行编程实现各种 功能。软件实现的功能是: 电流步进调整 电流给定值的设置 测量输出电流值 控制TLC2543工作 控制LTC1456工作 对反馈回单片机的电流值进行补偿处理 驱动液晶显示器显示相关数值 编程是个复杂的步骤,不断的仿真研究
18、后,具体程序见附录二。3.2程序流程图ofd叩悝o图3.1软件总体流程图按照流程图的思路编程,程序运用KEIL软件进行编译,在符合要求后写入单片机不断的进行仿真调试,直至达到设计要求软件总体流程图如下图3.1所示RkSHJ ONP 、卜 I r 负载电压唤载阻值1卜电涼设疋牛誠3询 电谎AD测忙亟图4.1仿真显示器显示界面第4章系统仿真及数据分析Proteus软件一款强大的仿真软件,运用于多个仿真领域。它的电路仿真是互动 的,它在对微处理器的应用时,可以直接在基于原理图的虚拟原型上编程,并实现 软件源码级的实时调试。基于 Proteus的优越性,此设计运用Proteus软件仿真各种 状态,并记
19、录仿真的实验数据,对数据进行理论分析。4.1系统仿真方法打开Proteus软件,打开设计的电路文件,然后输入通过KEIL软件编好的程序, 点击开始按钮即可以进行测试。具体操作说明:按下RESET/ON键显示四项值,电流设定初始值为200mA。可以按+,-键实现步进,数据实时显示。要设置电流直接 按数字键无效。此时需按SET键进入电流设置,之后屏幕显示 “Are you sure to set? 按下OK键即可设定,如果不需要设定,按RESET/ON返回。在设定电流的过程中, 需要有效按四次数字键,如果在设置的过程中想放弃修改,按下 RESET/ON键,如 果需要修改已经按下的数值,可以按DEL
20、键,光标返回到上一个数,重新按某一个数字键即完成修改。设置完成后屏幕显示相应值。操作显示界面如图4.1所示4.2系统仿真数据421输出电流范围仿真由于在程序设计上限制了电流输出范围是 202000mA,限定了电压值小于10V, 当给定值在量程内时显示“OK!”当给定值超过量程时将显示“ERROR! RESET!” 如下图4.2所示。图4.2仿真报错显示界面若需要设定输出电流值,当按下 SET键时,出现如图4.3所示界面,显示器显 示“Are you sure to set?,此时按下OK键,出现如图4.4所示界面,这是可自由输 入一个4位数,若满足2002000mA,则显示各种数据,若不满足
21、2002000mA, 则显示器出现“ ERROR!RESET!”报警画面。若发现输入数字超出电流允许范围, 可以按DEL删除输入值,再次输入数值。rt 盅-图4.4输出电流值SET显示界面印 -ifi14T 3 K Er;LISTf:-422步进调整仿真在量程范围内,通过“ + ”、“”按钮可实现1mA步进,通过显示器可观察到 效果。4.2.3输出电流仿真下图4.5所示是仿真最低电流200mA负载电阻为2.0时的状态,根据显示器 显示内容可知,设定输出电流值为200mA,实测电流值为 201mA,输出电压为0.419V,负载电阻为2.0 ,都满足设计要求。然后,通过改变设定输出电流值进 行仿真
22、,记录的仿真数据如表4.1所示。表4.1负载RL=2.0 Q的数据表格给定值(mA)200300400500800100015001980电流AD测值(mA201301401501800100015001980误差绝对值11110010负载电压(V)0.4190.6290.8391.4091.6792.0993.1494.155负载阻值(Q)2.02.02.02.02.02.02.12.0运用同样的仿真步骤,依次仿真负载电阻为3.0、4.3时这两种状态,记录得姑:rminR 咖 wJSI庄4當*詁咋JWP.TlirHF:L3p-=- PljTT A F篇丄-树tifM F-.-.ie4 V -
23、vJia tUVKiH MJdijiWiki0Wiki图4.5负载电阻为2.0仿真状态图仿真数据。表4.2负载RL=3.0 Q的数据表格给定值(mA)200300400500800100015001980电流AD测值(mA201300401501800100015001980误差绝对值10110000负载电压(V)0.6000.8981.2011.4992.3972.9984.4975.937负载阻值(Q)3.03.03.03.03.02.93.03.0表4.3负载RL=4.3 Q的数据表格给定值(mA)200300400500800100015001980电流AD测值(mA201301400
24、501800100015001980误差绝对值11010010负载电压(V)0.8591.2891.7184.1483.4374.2966.4508.510负载阻值(Q)4.24.34.24.34.34.24.34.24.3仿真结果与误差分析测量结果分析:步进1mA时设定值与实测值在2002000mA之间,误差在5mA以下。步进10mA时设定值与实测值在2001000mA之间,误差在5mA以下。在10002000mA之间时,误差在10mA以下。在改变负载时,误差在10mA以下。在改变输出电压时,误差在10mA以下。综上所述,系统仿真实测数据满足题目的基本要求,能满足输出电流与给定值 偏差的绝对
25、值w给定值的1% +10 mA。说明本电路有较高的精度和稳定性。误差分析:1 由于普通运算放大器的运放零点漂移,温度漂移等带来的误差。2由于采样电阻在温度上升时阻值会变化,是电流发生改变。3受D/A转换器精度,A/D转换器精度,基准源稳定程度等硬件本身的限制,不可避免地带来一定程度的误差结论系统以单片机AT89C52为核心部件,利用A/D进行数据输入,D/A进行数值采集,反馈补偿等技术结合并配合补偿算法实现了题目中要求的精度。在系统设计过程中,力求硬件电路参数合理,线路简单。发挥软件编程灵活的特点,调节系统的精度。通过仿真实验数据表明此设计完全满足题目要求,仿真能得出以下结果:1 输出电流范围
26、:200mA2000mA;2、 可设置并显示输出电流给定值,要求输出电流与给定值偏差的绝对值w给定 值的 1+10 mA;3、 具有“ +”、“-”步进调整功能,步进w 10mA;4、 改变负载电阻,输出电压在 10V 以内变化时,要求输出电流变化的绝对值 w输出电流值的1% +10 mA。参考文献1唐爽全国大学生电子设计竞赛获奖作品选编北京:北京理工大学出版社, 2006:201-241.2曾屹单片机原理与应用长沙:中南大学出版社, 2009: 159-1713杨立微型计算机原理与接口技术 北京:中国水利水电出版社, 2008:278-286 4王新微型计算机控制技术北京:中国电力出版社,
27、2009:206-215.5高吉祥全国大学生电子设计竞赛培训系列教程 . 北京:电子工业出版 社,2007:43-65.6张华林,周小方电子设计竞赛实训教程北京:北京航空航天大学出版社, 2007:105-168.7康华光.电子技术基础 (数字部分). 北京:高等教育出版社, 2007:430-456.附录附录系统电路总图丄.J-is: rIfI: 1.1 ”A_r7:巧.FUCUF FVJMUS-UHMridt PsnJiLrii N* II-wt古* lrr熱*幷细 20F* .i rm 紹VIJ耐俪呷p耳F!屈诫#l,Tu.nHFkweu- ncaiFUCU1EG附录系统电路总图附录三系
28、统软件程序#in clude#defi ne uchar un sig ned char#defi ne uint un sig ned intsbit rs=P3A0;sbit rw=P3A1;sbit lcden=P3A2;/液晶显示屏相关位定义sbit AD_OUT=P1A0;sbit AD_IN=P1A1;sbit AD_CS=P1A2;sbit AD_CLOCK=P1A3;sbit DA_IN=P3A3;sbit DA_CK=P3A4;sbit DA_CS=P3A5;sbit x=P1A4;uchar code table1=Are you sure ;uchar code tabl
29、e2= to set I? ;uchar code table3= ERROR!RESET! ; unsigned long int temp0,temp1;uint ADCdat,i,AD_DAstart;float Voltage1,Voltage2,r;int vol,rtt;uchar set,volarry04,volarry14,rt2;char iset5=0,0,2,0,0,;void led_init();/函数声明void delayms(uint z);void delay(uint t);void write_com(uchar com);void write_date
30、(uchar date);void display_AD();uint read2543(uchar port);void Send1456(uint DACdat);void keyscan();main()led_init();i=20;display_AD();Send1456(20);while(1)keyscan();if(AD_DAstart=1)display_AD();Send1456(iset1*1000+iset2*100+iset3*10+iset4);void delayms(uint z) /延时函数,参数为 zuint x,y;for(x=z;x0;x-) for(
31、y=110;y0;y-); /z=1 测试为大约 1 微秒void delay(uint t) /极短延时while(t-);void write_com(uchar com)/写命令函数rs=0; /rs 置 0 表示写命令lcden=0;/按时序图置低P0=com;/位声明,按原理图接 P0 口,输入数据lcden=1;/ 置高delayms(5); /时序图中须有 thd2 时间延时 lcden=0;/按时序图置低void write_date(uchar date) /写数据函数rs=1; /rs 置 1 表示写数据lcden=0;P0=date;/将数据赋到 P0 口delayms(
32、5);lcden=1;delayms(5);lcden=0;void led_init()/初始化函数lcden=0;rw=0;write_com(0 x38);/显示模式设置: 16X2 显示, 5X7 点阵, 8 位数据write_com(0 x0c);write_com(0 x06);write_com(0 x01);write_com(0 x80);write_com(0 x80+5);write_date(0 x6d);write_date(0 x41);/ 开显示,关光标,光标不闪烁/ 写一个数据后地址指针加一,光标加一/ 数据指针及数据清 0/ 设置数据地址指针,第一行write
33、_com(0 x80);write_date(0 x53);write_date(0 x30+iset1);write_date(0 x30+iset2);write_date(0 x30+iset3);write_date(0 x30+iset4);void display_AD()uchar num;temp0+= read2543(0 x00); / 进行 AD 转换temp1+= read2543(0 x01);i-;/取 20 次 AD 转换的结果,求平均值if(i=0)ADCdat=temp1/20;temp1=0;Voltage2=(ADCdat*5.0)/4096; / 基准电
34、压为 5.0V vol=(int)(V oltage2*4)*1000);/ 扩大 1000 倍 volarry13=vol/1000;volarry12=vol%1000/100; volarry11=vol%100/10;volarry10=vol%10;ADCdat=temp0/20;temp0=0;i=20;Voltage1=(ADCdat*5.0)/4096; / 基准电压为 5.0V vol=(int)(V oltage1*1000+1);/ 扩大 1000倍 volarry03=vol/1000;volarry02=vol%1000/100; volarry01=vol%100/
35、10;volarry00=vol%10; write_com(0 x80+0 x40);write_date(0 x54);write_date(0 x30+volarry03);write_date(0 x30+volarry02);write_date(0 x30+volarry01);write_date(0 x30+volarry00);write_date(0 x6d);write_date(0 x41); if(vol2000|vol10|volarry13=10) write_com(0 x01);/ 数据指针及数据清 0write_com(0 x80);/ 设置数据地址指针,第
36、一行for(num=0;num16;num+)write_date(table3num);delayms(1); /循环方式写第一行数据set=1;AD_DAstart=0;elsewrite_com(0 x80+0 x40+13);write_date(0 x4f);write_date(0 x4b);write_date(0 x21);write_com(0 x80+9); write_date(0 x30+volarry13);write_date(0 x2e);write_date(0 x30+volarry12);write_date(0 x30+volarry11);write_d
37、ate(0 x30+volarry10);write_date(0 x56);r=Voltage2*4/Voltage1;rtt=(int)(r*10);rt1=rtt/10;rt0=rtt%10;write_com(0 x80+0 x49);write_date(0 x30+rt1);write_date(0 x52);write_date(0 x30+rt0); uint read2543(uchar port)uint ad=0,j;AD_CLOCK=0;AD_CS=0;port=4;delay(50);for(j=0;j12;j+)if(AD_OUT)ad|=0 x01;AD_IN=(
38、bit)(port&0 x80);AD_CLOCK=1;delay(6);AD_CLOCK=0;delay(3);port=1;ad=1;return(ad);void Send1456(uint DACdat)uchar i=0;DA_CK=0;delay(2);DA_CS=0;delay(2);for(i=0;i12;i+)DA_IN=(bit)(DACdat&0 x800);DA_CK=1;DACdat=1;DA_CK=0;DA_CS=1;DA_CS=0; void keyscan() / 矩阵键盘 uchar temp,keycount,num ; / 定义局部变量P2=0 xfe;
39、/ 检测最上面一行各键是否有按键按下 temp=P2; / 将 P2 口的值赋给 temp temp=temp&0 xf0; / 位与 if(temp!=0 xf0) delayms(100); temp=P2; temp=temp&0 xf0;if(temp!=0 xf0)/ 确认被按下,防止抖动temp=P2; switch(temp) case 0 xee:/检测到 7 被按下if(keycount!=0)write_date(0 x30+7);isetkeycount+=7; break;case 0 xde:/检测到 8 被按下if(keycount!=0) write_date(0
40、 x30+8);isetkeycount+=8; break;case 0 xbe:/检测到 9 被按下if(keycount!=0) write_date(0 x30+9);isetkeycount+=9; break;case 0 x7e:/检测到取消键被按下write_com(0 x01); / 数据指针及数据清 0 write_com(0 x0c);write_com(0 x80+5); write_date(0 x6d); write_date(0 x41); write_com(0 x80); write_date(0 x53); write_date(0 x30+iset1);w
41、rite_date(0 x30+iset2);write_date(0 x30+iset3);write_date(0 x30+iset4); AD_DAstart=1;while(temp!=0 xf0)/松手检测temp=P2;temp=P2&0 xf0;P2=0 xfd; / 检测最二行各键是否有按键按下 temp=P2; / 将 P2 口的值赋给 temp temp=temp&0 xf0; / 位与 if(temp!=0 xf0)delayms(100);temp=P2; temp=temp&0 xf0;if(temp!=0 xf0)/ 确认被按下,防止抖动temp=P2;switch
42、(temp)case 0 xed:/ 检测到 4 被按下if(keycount!=0)write_date(0 x30+4); isetkeycount+=4;break;case 0 xdd:/检测到 5 被按下if(keycount!=0)write_date(0 x30+5); isetkeycount+=5;break;case 0 xbd:/检测到 6 被按下if(keycount!=0)write_date(0 x30+6); isetkeycount+=6; break;case 0 x7d:/检测到 +被按下iset4+;if(iset4=10)iset4=0; iset3+;
43、 if(iset3=10) iset3=0; iset2+; if(iset2=10) iset2=0;iset1+; write_com(0 x80+5); write_date(0 x6d); write_date(0 x41); write_com(0 x80); write_date(0 x53); write_date(0 x30+iset1); write_date(0 x30+iset2); write_date(0 x30+iset3); write_date(0 x30+iset4); AD_DAstart=1; break;while(temp!=0 xf0)/松手检测te
44、mp=P2;temp=P2&0 xf0;P2=0 xfb; / 检测第三行各键是否有按键按下 temp=P2; / 将 P2 口的值赋给 temp temp=temp&0 xf0; / 位与 if(temp!=0 xf0)delayms(100);temp=P2; temp=temp&0 xf0; if(temp!=0 xf0)/ 确认被按下,防止抖动temp=P2;switch(temp)case 0 xeb:/ 检测到 1 被按下if(keycount!=0)write_date(0 x30+1); isetkeycount+=1;break;case 0 xdb:/检测到 2 被按下if
45、(keycount!=0)write_date(0 x30+2); isetkeycount+=2;break;case 0 xbb:/检测到 3 被按下if(keycount!=0)write_date(0 x30+3); isetkeycount+=3;break;case 0 x7b:/检测到 -被按下iset4-;if(iset4=-1)iset4=9; iset3-; if(iset3=-1) iset3=9; iset2-; if(iset2=-1) iset2=9;iset1-;write_com(0 x80+5); write_date(0 x6d); write_date(0
46、 x41); write_com(0 x80); write_date(0 x53); write_date(0 x30+iset1); write_date(0 x30+iset2); write_date(0 x30+iset3); write_date(0 x30+iset4);AD_DAstart=1;break;while(temp!=0 xf0)/松手检测temp=P2;temp=P2&0 xf0;P2=0 xf7; / 检测第四行各键是否有按键按下 temp=P2; / 将 P2 口的值赋给 temp temp=temp&0 xf0; / 位与 if(temp!=0 xf0)de
47、layms(100);temp=P2;temp=temp&0 xf0;if(temp!=0 xf0) / 确认被按下,防止抖动 temp=P2;switch(temp)case 0 xe7:/ 检测到 0 被按下if(keycount!=0)write_date(0 x30); isetkeycount+=0;break;case 0 xd7:/检测到删除键被按下if(keycount0)if(keycount!=1)keycount-;write_com(0 x80+keycount);break;case 0 xb7:/检测到确认键被按下if(set=1)write_com(0 x01);
48、 / 数据指针及数据清 0 write_com(0 x80+5);write_date(0 x6d);write_date(0 x41);write_com(0 x80);write_date(0 x53);write_com(0 x0f);write_com(0 x80+1);set=0;keycount=1;break;case 0 x77:write_com(0 x01);/ 数据指针及数据清 0write_com(0 x80);/ 设置数据地址指针,第一行for(num=0;num16;num+)write_date(table1num);delayms(1);/循环方式写第一行数据s
49、et=1;write_com(0 x80+0 x40); / 设置数据地址指针,第二行 for(num=0;num16;num+)write_date(table2num);delayms(1);/循环方式写第二行数据AD_DAstart=0;break;while(temp!=0 xf0)/松手检测temp=P2;temp=P2&0 xf0;if(keyco un t=5) keyco un t=0;AD_DAstart=1; write_com(0 x0c); _20g届毕业设计(论文)课题任务书系(部):电子与通信工程系专业:电气工程及其自动化指导教师职称学生姓名学号班级课题名称基于pr
50、oteus的数控恒流源的仿真研究内容及任务设计内容:利用proteus软件设计数控直流电流源,并对设计电路进行仿真验证。 本设计的主要任务是:输入交流电压200240V,50Hz输出直流电压W 10V。 其原理示意图如下所示。基本要求:1、输出电流范围:200m/2000mA2、可设置并显示输出电流给定值,要求输出电流与给定值偏差的绝对值W 给定值的1% +10 mA3、具有“ +”、“- ”步进调整功能,步进W 10mA4、改变负载电阻,输出电压在10V以内变化时,要求输出电流变化的绝对 值W输出电流值的1% +10 mA5、自制电源(利用仿真原件实现)。起止日期工作内容2010年11月01
51、日一2010年12月01日根据任务书查找相关资料,做一些实地调研;初步确 定设计思路。2010年12月02日一2011年02月01日正式确定系统设计方案,做好开题报告。2011年02月02日一2011年04月01日完成系统的全部设计、安装、调试;在设计过程中为 论文准备材料。进度 安 排2011年04月02日一2011年05月01日2011年05月02日一2011年05月10日2011年05月10日一2011年05月21日主要参 考 资料教研室意见签名:年 月曰系(部)主管领导意见签名:年 月曰根据设计内容完成论文的撰写;反复修改与批 阅,最终定稿。进行仿真,完成论文。修改论文,制作PPT,准备答辩。1唐爽.全国大学生电子设计竞赛获奖作品选编.北京:北京理工大学出版社,2006: 201-241.2曾屹.单片机原理与应用.长沙:中南大学出版社,2009:159-1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年根河市人民政府面向社会公开招聘(补招)乡镇及政府专职消防队员26人备考题库及1套完整答案详解
- 2025年怀化市教育局直属学校公开招聘教育部直属师范大学公费师范毕业生备考题库及一套完整答案详解
- 曲靖市沾益区教育体育系统所属学校引进教育人才专项考试真题2024
- 2025年中建二局装饰公司招聘备考题库及完整答案详解一套
- 2025年南阳医学高等专科学校第一附属医院公开招聘专业技术人员109人备考题库及1套完整答案详解
- 2025年为山东省人民检察院公开招聘聘用制书记员的备考题库参考答案详解
- 2025年滨州市知识产权事业发展中心招募知识产权纠纷调解员备考题库完整参考答案详解
- 中国电子科技财务有限公司2026届校园招聘备考题库参考答案详解
- 2025年晋中市大学生乡村医生专项备考题库公开招聘空缺岗位补招6人备考题库及参考答案详解1套
- 2025年江苏经发备考题库科技服务有限公司公开招聘备考题库及参考答案详解1套
- 急诊科护理持续质量改进
- 糖尿病足的护理及预防
- 2024年移动互联网行业白皮书-七麦数据
- 拜占庭历史与文化知到智慧树章节测试课后答案2024年秋南开大学
- etc解除车牌占用委托书
- 2024年秋江苏开放大学数据挖掘技术060734形考作业1-3
- JT-T-1201-2018带式收油机行业标准
- DZ∕T 0207-2020 矿产地质勘查规范 硅质原料类(正式版)
- 成人住院患者跌倒风险评估及预防
- (正式版)HGT 4339-2024 机械设备用涂料
- 2024年重庆水务集团招聘笔试参考题库含答案解析
评论
0/150
提交评论