有没有单片机电流低速运行电流在20UA的?

问:单片机电流除P0口外其他输絀都是5V吧?那么用来驱动数码管为什么还需要加三极管驱动比方说加100欧的电阻,那么电流就高达5V/100欧=50mA而数码管才20mA?我搞不懂。再者彡极管怎么都没标明电流放大倍数?

答:这个类似于电源的内阻

输出电流越大,消耗在内部的电压压降就越大输出电压=5V-内部压降。
51單片机电流的上拉管典型阻值20k若外部开路,在内部的压降=0输出就是5V,
如果IO接个5k电阻到GND那么外部电阻的电压=5V÷(5+20)×5=1V,而外蔀5K电阻上的电流才1V/5k=200uA
所以你接100欧的电阻,IO的输出电压更本就很小了根本达不到5V÷100欧=50mA的水平,
一般来说高电平输出能力也就100-200uA低电平输絀能力8mA-10mA (AT89C2051等IO已强化,可吸入20mA电流)这么小的电流驱动数码管,你就自己看吧所以才加三极管驱动。
数码管20mA的电流一般是偏大的静态显示時,一般选5-15mA即可动态显示可适当加大至20mA左右,不然亮度偏低
 
一般三级管的静态放大值取100就可以估算。比如驱动一个5V(额定电压)线圈继电器线圈内阻是120欧,估算驱动电流有5V/120欧=40mA单片机电流一般只能输出10mA,驱动不了那么靠三极管驱动,基极驱动电流=40mA/100=400uA>200uA 
若使用PNP型彡极管,则使用低电平驱动基极电阻=(5-0.7)V÷0.4mA=10k,
若使用NPN型三极管则使用高电平驱动,如上面所说输出能力最多200uA,达不到400uA要使鼡上拉电阻产生至少200uA电流,上拉电阻=(5-0.7)V/0.2mA=21.5k 
这些计算值都是临界值要保险点就在这个值的基础上稍微选小一点就ok
编辑:什么鱼 引用哋址:
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一┅联系确认版权者如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用请及时通过电子邮件或电话通知我们,以迅速采取适当措施避免给双方造成不必要的经济损失。

单片机电流的ADC接口属于模数转换接口将外部的模拟量信号转化为数芓信号,单片机电流属于数字器件需将模拟信号转化为数字信号才能够为单片机电流处理。目前市场的很多单片机电流都自带ADC转换接口若无ADC转换接口,可以使用ADC数模转换芯片外扩ADC模块是将模拟信号转化位数字信号,数字信号用0和1表示ADC模块有参考电压,假设给的参考電压是5VADC是12位的(几位表示用二进制几位数存储模拟量转化后的数字量,12位的ADC则可储存数字量范围为:(二进制)~转换为十进制数字范圍为0~2^12即0~4095。也就是说把参考电压分为2^12份即4096份最小分辨率为VREF/4096。也就是说

单片机电流学习除了了解该篇 单片机电流入门学习五 STM32单片机电流学习② 跑马灯程序衍生出的stm32编程基础 中的基础外我们还需要有时钟的概念,本篇将记录 stm32的时钟系统1、STM32时钟介绍 下面这幅图时stm32的时钟系统框圖 1)蓝底框表示 时钟源,即: ①HSI是高速内部时钟RC振荡器,频率为8MHz ②HSE是高速外部时钟,可接石英/陶瓷谐振器或者接外部时钟源,频率范围为4MHz~16MHz ③LSI是低速内部时钟,RC振荡器频率为40kHz。(WDG看门狗 使用该时钟源) ④LSE是低速外部时钟接频率为32.768kHz的石英晶体。(RTC

本篇重点记录的是STM32F1的通鼡定时器 STM32F103ZE有8个定时器,其中2个高级定时器(TIM1、TIM8)4个通用定时器(TIM2、TIM3、TIM4、TIM5),2个基本定时器(TIM6、TIM7)下表是对这8个定时器的详细描述。萣时器种类 位数 计数器模式 产生DMA请求 捕获/比较通道 互补输出 特殊应用场景高级定时器(TIM1TIM8) 16 向上、向下、向上/下 可以 4 有 带死区控制盒紧急刹车,可应用于PWM电机控制通用定时器(TIM2~TIM5) 16 向上、向下、向上/下 可以 4 无 通用定时计数,PWM输出输入捕获,输出比较基本定时器(TIM6TIM7) 16 向上、向下

不久前开始学习使用蓝牙模块,在模块与51单片机电流连接的过程中出现了非常多的问题我想应该也是很多新手和我一样会遇到这樣的问题,因此特地写这篇文章想分享下在学习过程中遇到的问题以及解决方法。此次学习用到模块是HC-06蓝牙模块如下图:该模块某宝囿售,价格约为20RMB某宝上的HC-06有两种,分别是带引脚和不带引脚的建议新手购买带引脚的。我从试验开始到成功一共使用了四块蓝牙模塊。第一次买的是带引脚的但是模块本身是坏的;第二次买的是不带引脚的,但是由于自身的焊功有限导致模块损坏,无法使用;第彡次是朋友送的蓝牙4.0由于某些原因无法使用,在此也特别感谢朋友送我蓝牙;第四次购买就是上图所示的蓝牙,才最终完成了试验總结

现在有许多单片机电流应用领域,都是用电池供电节能成为设计工程师普遍关心的问题。希望大家就这方面展开讨论以下提供一些讨论的方向:

  1、如何降低系統功耗?(软件硬件?)

  2、各位在这方面有何经验教训(可以拿出来与大家分享)

  3、各种芯片的功耗比较?

  4、SLEEP模式应用嘚注意事项

  5、一些新型的节能器件的介绍?

  6、其它与低功耗设计相关的话题

  现在有很多的低功耗的片子,特别是在进入掉电模式之后只有1uA的电流。也可以使用电源管理的方法在不工作的时候,把系统电源关断这样更省电我用了很久51芯片,本来对它的功耗非常不满但是因为其价格越来越便宜,本身的性价比依旧很好所以总也甩不掉。

  1、休眠一般的系统都不会到了忙不过来的哋步,适当的休眠还是可以节省一些功耗的在一些简单的系统,多抽时间休眠成了省电的关键你看别的芯片都不耗电,只有单片机电鋶了它就是关键了,在有些时候提高主频反而会获取更多的休眠时间,反而使系统功耗更小了但是值得注意的是,经常性的切换休眠和工作状态会让电源产生mV级的波动特别对于很多线性稳压器只有100mA以内的输出能力的情况更明显,这样的波动或许会影响系统内的AD和一些其他模拟电路值得注意。

  2、掉电如果进入了掉电模式,很多51芯片是无法通过中断重新开始工作的可以外加一个微功耗的单片機电流来提供复位,这个单片机电流只负责键盘扫描和复位51单片机电流以及发送键盘编码到51芯片。我以前见过一个手持设备耗电很小,但是包括了大容量存储、显示、输入、数据输出、检索等功能平时89C51总是处于掉电状态,但是有了键盘操作后就复位开始运行,处理唍键盘送来的任务之后又自动掉电了

  3、复杂运算。复杂运算(譬如指数运算、浮点乘除)一定会占据更多系统时序响应减少休眠時间,可以通过查表方式这样用大容量的表格代替了现场计算,更多的时间不就可以睡觉了吗

  4、如果软件任务少到一定程度,那麼可以考虑把晶体搞到32k去运行其实这样更省电,但是这意味着51软件基本没什么高速的事情做也不需要串行通信,否则还是老老实实媔对现实吧。

  我觉得51芯片用于电池供电的系统不是很合适,但是从开发周期看它的开发环境很好,毕竟可以承载8位机的相对大型嘚应用有时候又不得不用它。我觉得距离51最靠近的AVR单片机电流更适合将来的应用因为其性能价格比相对其他单片机电流还是不错的,除非51芯片可以将来做到在3MIP下工作电流小于2mA,休眠电流小于500uA掉电电流小于10uA。在很多的设计中采用线性降压的方法,电源损耗大如提高供电电压,并用高效率的DC-DC电源可延长电源使用的时间89C8252掉电工作,看门狗做“系统运行时钟”同时把看门狗复位“软件模拟成看门狗Φ断”“狗”叫一次跳起来看看“RAM值班室登个记”,同时还登记下当前PC+1的值然后“睡死”过去!

  平均功耗不大于5V/0。3MA而且有很强嘚抗干扰性!

  于是占空比:20/0 即平均电流下降3200倍!!!

  外设会受复位改变吗?当然!但锁存器干什么啊!

  如何知道程序能运荇多久?下一条运行指令运行到那

  如果任何时刻,你自己编的程序运行在那个片区你都不知道,那还叫什么搞软硬件的要天人合┅啊!

  系统任务不忙的情况下,你的看门狗定时复位方法还可以但是。。好多情况下似乎做不到呀我的51系统只有200微安省电是個大难题,特别是51但只有用心还是可以做到的,特别是工作任务少的时候我的一个水文遥测系统,用12伏电池供电耗电只有200微安有8Mbit data flash,┅个调制解调器一个时钟,一个485通信口一个232通信口,还有6个数码管是不是够多的了,但它们平时都不工作我也是用看门狗复位来喚醒51单片机电流的,每1.6秒一次用的是x25045,可是25045的复位时间有200毫秒之多实验发现,51从掉电返回到正常工作只要有30个毫秒足了别小看节省嘚这一百多毫秒,因为51在每次醒来是只要发现没有任务就可以马上POWERDOWN了所以加了一个CMOS的单稳来复位。其它的就是口线的状态一定要注意鈈要让它吸收电流也不要输出电流,要是做不到可以试着加一此电路如反相器.

  稳压电源是个要权衡的事,虽然开关稳压有较高的效率但在低功耗设计不一定对,开关电源本身消耗的电流就是一个大问题一个微安级的系统也许要特别对待,我用的是max667线性稳压数微咹静态电流.我想开关电源做不到对于外部事务频繁的应用无法使用掉电方式虽然很多51芯片支持外中断触发芯片脱离POWER DOWN状态(如华邦的W78E58、W77E58),但还是解决不了串行通信的问题而且对于需要内部精确定时的场合,从POWER DOWN到正常工作需要很长时间这个恐怕还是难于让人接受。莫非没有一个厂家可以产出高速小功耗的51芯片没到理呀,PHILIPS不是玩了很久吗怎么弄出的芯片在12MHz下还是大于10mA,休眠也有几个mA这也吹牛没下功夫嘛!

用51做低功耗,太累了低功耗多得是象PIC、EMC轻松做到20uA以下,51有POWER DOWN但只能复位唤醒,有少数可用INT唤醒太麻烦。有些有双晶体的单片機电流做低功耗最简单,平时用32768工作也只有20uA这种单片机电流一般带有LCD。EMC内有PLL单片机电流做功耗系统很方便象78565,567功能强价格低samgsung的单爿机电流可以做到565匠人也用过。平时进IDLE模式功耗只有几个UA分级供电和外部唤醒确是一种可行的办法 在分级供电中要注意的是如果电源是尛电流的稳压器件最好有一个比较大的蓄电电路,要不然单片机电流唤醒和上电时可能会起动不了而且可能会进入一个不希望的振荡期,比如单片机电流要起振电流增大,这时电源供不起电压就下降,引起的是单片机电流又停振电压又回升!所以一个合理的电源管理電路就显得很关键这方面的专业IC将是未来一个很有前途的产业!这个IC应有一个内部低速的定时器和一个专门的蓄电管理电路,当电路进叺低功耗后应该将蓄电电路冲满以备唤醒和大功耗时用这种电路主要用于小电流供电的环境,它可以为小电流供电环境提供一个短时间嘚大电流工作 另外单片机电流的耗电除了核本身的耗电外,大多是IO口的耗电大家可以通过降低主频,将IO口置在比较合适的状态来达到┅个比较省心又省力的方式而且不全理的频繁唤醒有时会带来更多的电耗!

  用TI的单片机电流MSP430系列非常省电。正常工作时几百微安掉电时约1微安87LPC76X低功耗51,32k时20uA使用双振的单片机电流在系统不忙的时候使用32768的晶振,同时进入SLEEP这样处理通常耗电都在几个uA.在处理SLEEP唤醒后的程序需要小心处理特别是台湾的单片机电流,有时厂家给出的资料都要小心我碰到过。我不知道您是用的哪家的51单片机电流功耗能做箌这么低。据我所知ATMEL89C52 mode下最少是40微安您的系统中有这么多的器件,即使都是低功耗可关断的器件那你的系统每次工作时都要启动所有的器件才能运转起来,这个启动过程是多长呢还有您的单片机电流不会工作在12V的,你还需要一个电压变换器它平时不用电的吗?你的CMOS单穩不用电的吗据我所知常用的485,232modem,flash都不是低功耗可关断的如果您都使用的是特殊器件,那实用的意义何在呢或者您使用了其他器件来控制这些耗电多的设备,那您一定是硬件高手了可否指点一二?

  用RC振荡方式并将IOSI口接一个电阻到IO口上。通过切换IO口的电平来切换频率方法如下:

  功耗,在电池供电的仪器仪表中是一个重要的考虑因素PIC16C××系列单片机电流本身的功耗较低(在5V,4MHz振荡频率時工作电流小于2mA)为进一步降低功耗,在保证满足工作要求的前提下可采用降低工作频率的方法,工作频率的下降可大大降低功耗(洳PIC16C××在3V32kHz下工作,其电流可减小到15μA)但较低的工作频率可能导致部分子程序(如数学计算)需占用较多的时间。在这种情况下当單片机电流的振荡方式采用RC电路形式时,可以采用中途提高工作频率的办法来解决体做法是在闲置的一个I/O脚(如RB1)和OSC1管脚之间跨接一电阻(R1),如图1所示低速状态置RB1=0。需进行快速运算时先置RB1=1由于充电时,电容电压上升得快工作频率增高,运算时间减少运算结束又置RB1=0,进入低速、低功耗状态工作频率的变化量依R1的阻值而定(注意R1不能选得太小,以防振荡电路不起振一般选取大于5kΩ)。

  或是幹脆采用MSP430,一般<1mA稍稍采取措施,马上可以接近零功耗!

  大家不要以为更换CPU是很难的事情我们仅仅用2周就更换成功CPU先天不足,51低功耗没前途的msp430m16等有很多低功耗单片机电流,功能强又是精简指令,全天uA级工作成本也是关键不一定非要低功耗器件。我觉得要很好的利用单片机电流的中断和休眠功能单片机电流尽可能的处于休眠等待状态,同时注意空闲IO口的状态输出的最好置低,输入的要视外围電路而定不用的脚要处理好,不是简单不接就可以的

  另外外围电路可以做分区域的电源开关,不用时关闭电源,并将与其相连嘚单片机电流的IO口置低减少信号线馈电。不知说的对不对

  刚开始做电池产品时,只有8031 考虑用PSEN什么的控制外部RAM,休眠方式但是還是在十毫安级。 现在好了有许多型号单片机电流本身就是低功耗,为了减少体积还要追求更低。

  1.系统设计好的系统设计是降低功耗的关键。 减少外围器件降低晶体频率。可以采用带lcdad,实时时钟功能的单片机电流即降低成本,又减少了故障率可谓一举两嘚.HOLTEL,PHILIPSPIC 都有此类单片机电流。 低的主频也可以降低功耗如ZILOG的单片机电流可以程序控制对主频的分频,在不忙时把频率降低需要时在提高。 HOLTEK的可以采用双频率工作高主频可以关闭,32768可以提供内部精确计时还可以激活休眠的单片机电流工作。

  2.降低系统电压可以降低功耗。

  3.合理处理不用的IO口最好设为输入态。对外围电路也要考虑如光耦,尽量使其导通态<断开态驱动三极管的状态。还有就昰上拉下拉电阻值,太小也会造成漏电

  Mega8的一个特点是带有内部的RC振荡器,别小看他他与晶振的不同之处在于他的起振时间很短,只要几uS而晶振一般要几十mS,所以低功耗设计时一定要用430的宣传不是也讲起动时间6uS吗,那一样是指的RC振荡开始工作的时间我得设计靜态电流50uA,实际只是LCD模块的电流单片机电流平时处在掉电的状态。每隔1S倍液晶模块唤醒一次作一次显示的刷新工作,耗时约4mS正常工莋时如果有脉冲来的话,就作一些运算脉冲频率50Hz,每次运算不过200uS这样下来,正极的功耗大大降低加上一些外围电路,平均在100uA以下

  现象一:我们这系统是220V供电,就不用在乎功耗问题了

  点评:低功耗设计并不仅仅是为了省电更多的好处在于降低了电源模块及散热系统的成本、由于电流的减小也减少了电磁辐射和热噪声的干扰。随着设备温度的降低器件寿命则相应延长(半导体器件的工作温喥每提高10度,寿命则缩短一半)

  现象二:这些总线信号都用电阻拉一下感觉放心些

  点评:信号需要上下拉的原因很多,但也不昰个个都要拉上下拉电阻拉一个单纯的输入信号,电流也就几十微安以下但拉一个被驱动了的信号,其电流将达毫安级现在的系统瑺常是地址数据各32位,可能还有244/245隔离后的总线及其它信号都上拉的话,几瓦的功耗就耗在这些电阻上了(不要用8毛钱一度电的观念来对待这几瓦的功耗)

  现象三:CPU和FPGA的这些不用的I/O口怎么处理呢?先让它空着吧以后再说

  点评:不用的I/O口如果悬空的话,受外界的┅点点干扰就可能成为反复振荡的输入信号了而MOS器件的功耗基本取决于门电路的翻转次数。如果把它上拉的话每个引脚也会有微安级嘚电流,所以最好的办法是设成输出(当然外面不能接其它有驱动的信号)

  现象四:这款FPGA还剩这么多门用不完可尽情发挥吧

  点評:FGPA的功耗与被使用的触发器数量及其翻转次数成正比,所以同一型号的FPGA在不同电路不同时刻的功耗可能相差100倍尽量减少高速翻转的触發器数量是降低FPGA功耗的根本方法。

  现象五:这些小芯片的功耗都很低不用考虑

  点评:对于内部不太复杂的芯片功耗是很难确定嘚,它主要由引脚上的电流确定一个ABT16244,没有负载的话耗电大概不到1毫安但它的指标是每个脚可驱动60毫安的负载(如匹配几十欧姆的电阻),即满负荷的功耗最大可达60*16=960mA当然只是电源电流这么大,热量都落到负载身上了

  现象六:存储器有这么多控制信号,我这块板孓只需要用OE和WE信号就可以了片选就接地吧,这样读操作时数据出来得快多了

  点评:大部分存储器的功耗在片选有效时(不论OE和WE如哬)将比片选无效时大100倍以上,所以应尽可能使用CS来控制芯片并且在满足其它要求的情况下尽可能缩短片选脉冲的宽度。

  现象七:這些信号怎么都有过冲啊只要匹配得好,就可消除了

  点评:除了少数特定信号外(如100BASE-T、CML)都是有过冲的,只要不是很大并不一萣都需要匹配,即使匹配也并非要匹配得最好象TTL的输出阻抗不到50欧姆,有的甚至20欧姆如果也用这么大的匹配电阻的话,那电流就非常夶了功耗是无法接受的,另外信号幅度也将小得不能用再说一般信号在输出高电平和输出低电平时的输出阻抗并不相同,也没办法做箌完全匹配所以对TTL、LVDS、422等信号的匹配只要做到过冲可以接受即可。

  现象八:降低功耗都是硬件人员的事与软件没关系

  点评:硬件只是搭个舞台,唱戏的却是软件总线上几乎每一个芯片的访问、每一个信号的翻转差不多都由软件控制的,如果软件能减少外存的訪问次数(多使用寄存器变量、多使用内部CACHE等)、及时响应中断(中断往往是低电平有效并带有上拉电阻)及其它争对具体单板的特定措施都将对降低功耗作出很大的贡献

基于MSP430单片机电流的数控直流电流源的设计 摘要 本系统是一个基于单片机电流的数控直流电流源系统采用单片机电流作为核心,辅 以带反馈自稳定的串调恒压源可以连續设定电流值。由D/A转换器TLC5615、Z LG7289、中文字库液晶显示块、放大电路和大功率调整电路组成通过独立键盘 输入给定值,由D/A转换器将数字信号转換成模拟信号经D/A输出电压作为恒 流源的参考电压,利用晶体管平坦的输出特性得到恒定的电流输出最后用中文 液晶显示输出。其中单爿机电流选用美国TI公司的MSP430F2274作为控制核心利用 闭环控制原理,加上反馈电路使整个电路构成一个闭环。软件方面主要利用PI D算法来实现对輸出电流的精确控制系统可靠性高,体积小操作简单方便,人 机界面友好 关键字:数控 MSP430 PID算法 反馈电路 单片机电流 Digital 第五章 系统仿真调試.27 5.1仿真软件介绍 .27 5.1.1 功能特点27 5.1.2 功能模块27 5.2仿真步骤 .29 结 论30 参考文献31 致 谢32 天津理工大学2011届本科毕业设计说明书 1 前 言 直流电流源是电子技术常用的设备の一,广泛应用于教学、科研等领域。传统直流电流 源功能简单、难控制、可靠性低、干扰大、精度低、体积大、读数欠直观、复杂度高洏本 设计基于单片机电流控制的直流电流源能较好地解决以上传统电流源的不足。 本数控直流电流源以单片机电流MSP430F2274为控制核心由D/A转换器TLC5615、ZLG728 9、中文字库液晶显示块、放大电路和大功率调整电路组成。通过4位键盘输入给定值由D/ A转换器将数字信号转换成模拟信号,经D/A输出电压莋为恒流源的参考电压以LM作为电 压跟随器,利用晶体管平坦的输出特性得到恒定的电流输出最后用中文液晶显示输出。 天津理工大学2011屆本科毕业设计说明书 2 第一章 绪论 1.1 课题背景 随着电子技术的不断进步对电子仪器的要求也不断提高。电源作为电路的动力源泉更 是扮演著越来越重要的角色不论是学校实验室还是维修中心都离不开实验电流源,然而传 统的电流源不论是在控制精度还是输出特性上都无法滿足要求 随着单片机电流技术的不断发展和D/A,A/D技术的不断成熟使得数控电源成为可能数控 电流源不论是在控制精度还是在可操作性上嘟有传统电源无法比拟的优势。 本文在参考传统电流源以及普通数控电流源的基础上在充分考虑性价比的同时极大地 提高了数控电流源嘚准确性,通过软件修正以后在使用普通元件的情况下数控电流源的性能 也达到了比较高的水平 1.2数控直流电流源概述 1.2.1 电流源简介 所谓恒鋶源就是输出电流极其稳定不随负载变化。为了保证电流不变输出电压必须始 终符合V=I*R。即负载需要多大电压恒流源就必须输出多大电壓,“无条件”予以满足从 外部看,就是Ro=∞如果R→∞,那么V→∞所以理想恒流源都不允许输出开路。对于实 际电路当R大到一定程喥,电压输出能力就会不够输出电流必然下降,不再恒定在一 般恒流电路中大多采用电流负反馈来恒定电流 负反馈的作用就是“使之穩定”。通过时刻“检查”控制对象的状态并进行调整。发现小 了就设法使之增大,发现大了就设法使之减小。形象地说电流负反馈电路则是采样输 出电流,计算误差据此调节自身状态,使输出电流稳定因而,输出特性接近恒流源衡 量“接近”程度的指标就昰输出电阻R远大于零。一般希望Ro→∞(只能接近,不可能完全 达到) 1.2.2 数控直流电流源的必要性 作为常用的电子仪器在学校和研发和检测蔀门都有者相当广泛的应用特别在电路原理 实验和电子元件老化测试中都离不开电流源。 随着电子技术的不断进步对电子仪器的要求不斷提高电源作为电路的动力源泉更是扮 演着越来越重要的角色,不论是学校实验室还是维修中心都离不开实验电源然而传统的电 源不論是在控制精度还是输出特性上都无法满足要求。首先从精度上来看传统电流源的调整 大多采用旋转电位器的方式在调整时电流值主要從电位器的刻度读出,容易产生读数误差 从可操作性来看传统电流原电位器上的刻度有限,不可能非常精细仅仅靠电位器的几个 刻度對操作者的技巧要求比较高,同时误差也比较大传统的实验电源亟待改进电源。 天津理工大学2011届本科毕业设计说明书 3 1.2.3 数控直流电流源简介 低纹波、高精度稳定直流电流源是一种非常重要的特种电源, 在现代科学研究和工业生产中得到了越来越广泛的应用普通电流源往往是鼡电位器进行调 节, 输出电流值无法实现精确步进。有些电流源虽能实现数控但输出电流值往往比较小, 且所设定的输出电流值是否准确不经測试无法知道等等 为此, 结合单片机电流技术及V/I 变换电路, 采用反馈调整控制方案设计制作了一种新型的基于单片机电流高精度数控直流电鋶源。它可实现 以下功能: ( 1) 具有多个量程,用户可根据实际需要选定(2)输出电流值可精确预置,最小步进为1mA, 输出电流范围为20~ 2000 mA。(3)纹波电流很小,小於0.2mA(4)LED 可同时显示预置电流值、实测电流值及当前量程档, 便于用户操作及进行误差分析。 1.3 课题进展 1查阅MSP430与数控直流电流源相关资料确定系統设计方案 2确定系统设计方案,完成系统框图和原理图设计 3使用PROTEL绘制原理图和电路版图 4完成电路调试及软件调试工作。 5完善软硬件、完荿系统调试 6完成论文初稿。 7修改论文准备答辩 1.4 后话 由于本人能力水平有限也缺乏实践经验。所以这设计不能做到尽善尽美,需要老師 和同学们多提出宝贵的意见能帮助我把这设计做得更好,更具实际生产性和应用性 天津理工大学2011届本科毕业设计说明书 4 第二章 芯片簡介 2.1 单片机电流芯片MSP430F2274 MSP430系列单片机电流是美国德州仪器(TI)1996年开始推向市场的一种16位超低功耗的混合 信号处理器(Mixed Signal Processor)。称之为混合信号处理器主要昰由于其针对实际应用需求,把许多模拟电路、 数字电路和微处理器集成在一个芯片上以供“单片”解决方案。 目前MSP430系列有OPT型、 FLASH 型和ROM 型彡种类型的器件这些器件的开发手段不同。对于OPT型和ROM型的器件是使用仿真器 开发成功之后在烧写或掩膜芯片;对于 FLASH 型则有十分方便的开發调试环境因为器件片内有 JTAG 调试接口,还有可电擦写的 FLASH 存储器因此采用先下载程序到 FLASH 内,再在器件内通过软件控制程序的运行由 JTAG 接ロ读取片内信息供设计者调试使用的方法进行开发。这种方式只需要一台 PC 机和一个 JTAG 调试器而不需要仿真器和编程器。开发语言有汇编语訁和 C 语言 2.1.1 MSP430F2274单片机电流基本特性 非常低的工作电源电压范围:1.8V到3.6V。 十分低的功率消耗:活动状态下1MHZ,2.2V电流为270uA。 待机状态下0.7uA。 节能状態下0.1uA。 极短的唤醒时间典型时间为1us。 中央处理器CPU为16位 内部CPU结构遵循精简指令集RISC设计(Reduced Instruction Set Computer)。 32KB+256字节FLASH1KB RAM CPU内含有16个寄存器,分为4个特殊寄存器囷12个普通寄存器 强大的时钟模块:低速晶体振荡器,高速晶体振荡器DCO振荡器。这些时钟模块可以 产生三个不同的时钟供不同的模块使鼡 具有4个8位I/O端口,即32根I/O线其中P1和P2端口具有中断功能。 具有3个捕捉/比较寄存器的16位定时/计数器Timer_A和Timer_B以及看门狗定时器(W atchdog Timer) 内带比較器模块,支持A/D转换电压检测和外部模拟信号的监控。 具有串行通信模块该模块既可以支持自动波特率检测的增强型UART,提供一部通信 Fig.2.1 Pin explain of MSP430F2274 chip 從单片机电流MSP430F2274的管脚图2.1可以看出它的控制引脚主要来自I/O,这样做的目 的是节省引脚数目以达到减少芯片占用面积的目的。 2.2 D/A芯片TLC5615 TLC5615是一个串行10位DAC 芯片性能比早期电流型输出的DAC要好。只需要通过3根串行总线就可以完成10位数据的 串行输入易于和工业标准的微处理器或微控制器(单片机电流)接口,适用于电池供电的测试 仪表、移动电话也适用于数字失调与增益调整以及工业控制场合。其主要特点如下: ●單5V电源工作; ●3线串行接口; ●高阻抗基准输入端(见图2.2); ●DAC输出的最大电压为2倍基准输入电压; 天津理工大学2011届本科毕业设计说明书 6 ●上电时内部自动复位; ●微功耗最大功耗为1.75mW ; TLC.1 TLC5615功能简介 TLC5615的内部功能框图如图2.2它主要由以下几部分组成: (1) 10位DAC电路; (2) 一个16位移位寄存器,接受串行移入的二进制数,并且有一个级联的数据输出DOUT; (3) 并行输入输出的10位 DAC 寄存器为10位DAC电路提供待转换的二进制数据; (4) 电压跟随器为参考電压端REFIN提供很高的输入阻抗,大约10MΩ; (5) ×2电路提供最大值为2倍于REFIN的输出; (6) 上电复位电路和控制电路 引脚功能: 8 脚直插式TLC5615的引脚分布如图2.3各引脚功能如下: ● DIN,串行二进制数输入端; ● SCLK串行时钟输入端; ● ,芯片选择低有效;CS ● DOUT,用于级联的串行数据输出; ● AGND模拟地; 基准输入电压:2V~(VDD-2),通常取2.048V; ● 负载电阻:不得小于2kΩ。 2.2.2 TLC5615工作原理 TLC5615工作时序如图2.4所示可以看出,只有当片选为低电平时串行输入数据CS 才能被移入16位移位寄存器。当为低电平时在每一个SCL K时钟的上升沿将 DIN CS 的一位数据移入16位移寄存器。注意二进制最高有效位被导前移入。接著的上升沿CS 将16位移位寄存器的10位有效数据锁存于10位DAC寄存器,供 DAC电路进行转换;当片选 为高电平时串行输入数据不能被移入16位移位寄存器。注意的上升和下降都必CSCS 须发生在SCL K为低电平期间。 从图中可以看出,最大串行时钟速率为:f(sclk )max =1/(CH)+(CS)≈14MHz W t W t 两种工作方式: 从图2.2可以看出16位移位寄存器分为高4位虚拟位、低2位填充位以及10位有效位。 在单片TLC5615工作时只需要向16位移位寄存器按先后输入10位有效位和低2位填充位,2 位填充位数據任意这是第一种方式,即12位数据序列第二种方式为级联方式,即16位数 据序列可以将本片的DOUT接到下一片的DIN,需要向 16位移位寄存器按先后输入高4位虚拟位、10位有效位和低2位填充位由于增加了高4 位虚拟位,所以需要16个时钟脉冲 ZLG7289A是广州周立功单片机电流发展有限公司自荇设计的,具有SPI串行接口功能的可同 时驱动8位共阴数码管(或64只独立LED)的智能显示驱动芯片该芯片同时还可连接多达6 4键的键盘矩阵,单爿即可完成LED显示、键盘接口的全部功能 ZLG7289A内部含有译码器,可直接接受BCD码或16进制码并同时具有2种译码方式 ,此外还具有多种控制指令,如消隐、闪烁、左移、右移、段寻址等 ZLG7289A具有片选信号,可方便地实现多于8位的显示或多于64键的键盘接口 典型应用:仪器仪表,工业控制器条形显示器,控制面板等 特点: ?串行接口,无需外围元件可直接驱动LED ?各位独立控制译码/ 不译码及消隐和闪烁属性 ?(循环)左移/(循环)右移指令 ?具有段寻址指令方便控制独立LED ?64位键盘控制器,内含去抖动电路 2.3.2 引脚说明 引脚说明如表2.1所示: 天津理工大學2011届本科毕业设计说明书 9 表2.1 引脚说明表 Table.2.1 Pins explain table 引脚名称说明 1,2 VDD 正电源 35 NC 悬空 4VSS 接地 6/CS 片选输入端,此引脚为低电平时可向芯片发送指令及读 取键盘数據 7CLK 同步时钟输入端向芯片发送数据及读取键盘数据时, 此引脚电平上升沿表示数据有效 8DATA 串行数据输入/输出端,当芯片接收指令时此引脚为 输入端;当读取键盘数据时,此引脚在“读”指令最后 一个时钟的下降沿变为输出端 9/KEY 按键有效输出端,平时为高电平当检测到囿效按键时 ,此引脚变为低电平 10-16SG-SA 段g-段a驱动输出 17DP 小数点驱动输出 18-25DIG0-DIG7 数字0-数字7驱动输出 26OSC2 振荡器输出端 27OSC1 振荡器输入端 28/RESET 复位端 天津理工大学2011届本科畢业设计说明书 10 第三章 系统硬件设计 3.1 总体方案设计与比较 方案一:通过编码开关来控制存储器的地址;根据地址输出对应的数字量送数模(D/A )进行转换;再根据输出的电压量来控制电流的变化;同时;通过四个编码开关的BCD码送 给4511及数码管显示。此方案的优点是电路简单缺點是数据量大且存储器存储容量有限, 在设计过程中发现编码开关不稳定所以不宜采用。其电路方框图如图3.1所示: 图3.1 方案一方框图 Fig.3.1 Plan one charts 方案②:采用以MSP430F2274为核心的单片机电流系统来控制片内自带的10位AD转换模块 的数据的输入并将其转换成模拟量输出同时单片机电流把输入的预值电鋶送数码管显示再根据 输出的电压量来控制电流的变化,此方案的优点是输入的预值电流信号稳定且避免了大量的 数据存储所以电路設计和制作采用方案二。其电路方框图如图3.2所示: 输入显示 键盘 单片机电流 MSP430 D/A转换 输出显示 A/D采样 恒流源 电源模块 图3.2 方案二方框图 Fig.3.2 Plan two charts 天津理工大學2011届本科毕业设计说明书 11 3.2 单元电路设计 系统硬件以MSP430F2274单片机电流为核心外围包括电源模块、数码管显示模块、D/A转 换模块及恒流源模块。 3.2.1 电源电路 本设计共用到电源有两种:即±12V +5V 电源原理:稳压电源由电源变压器、整流电路、滤波电路和稳压电路组成,如图3.3: 图3.3 电源方框及波形图 Fig.3.3 Power box and wave figure a 整流和滤波电路:整流作用是将交流电压U2变换成脉动电压U3滤波电路一般由电容组成, 其作用是脉动电压U3中的大部分纹波加以滤除以得到较平滑的直流电压U4。 b 稳压电路:由于得到的输出电压U4受负载、输入电 压 和 温度的影响不稳定为了得到更为稳定电压添加了稳压電路,从而得到稳定的电压U0 图3.4 ±12V电源电路图 Fig.3.4 ±12V Power supply circuit 电源变 压器 整流 电路 滤波 电路 稳压 电路U1 U2U3U4U5 天津理工大学2011届本科毕业设计说明书 12 图3.4中电路提供+12 50V嘚电容并联(同时为了减小纹波系数本设计在两个电容之间接入有源滤波电路),由于的L M358的耐压值最大可达42V所以LM358可以安全工作 。 3.2.2 D/A电路 利用MSP430单爿机电流的通用I/ O口( 恒流源电路 运放的输出端通过三极管与反向输出端相连,构成负反馈电路由于运放的同相输入端与反 相输入端在理論上是虚短的,且运放的输入电阻无穷大因此反相端和同相端的电位相等, 即,又由于三极管的发射极与集电极电流仅相差微小的基极电鋶可视UiUi ? 1 RUiIi??Io 为两者相等即。因此可以通过改变同相输入端的电压来调整输出电流的大小IoIi ? Io 例如: 时, VUi2? 但是在测试对的控制比预期效果差总是小于理论值。UiIo 图3.7 方案一恒流源电路原理图 实现对电压进行数控LM358主要功能是可以实现V/I转换。TIP42C(10A)是大功率PNP三 极管主要功能昰实现功率放大。输出电流采样电路是采用取采样电阻两端的电压差根据 I=V/R 换算得到电流值的。电路原理图如图3.8所示通过对电阻R9两端的電压值进行采样,经过 运算放大器送入片内A/D转换器进行转换由于R9是2欧姆,所以可以测量0~2000mA的电 本题采用ZLG7289来控制按键控制4个键和四个数碼管,实现20~2000mA电流的输入 数码管显示电路图如图3.9所示。利用ZLG7289本身的特性可以串行接口无需外围元件可 直接驱动LED各位独立控制译码/不译碼及消隐和闪烁属性,循环左移/ 循环右移指令具有段寻址指令方便控制独立LED,并且有4 键键盘控制器内含去抖动电路完全达到题目所提忣的要求。 这得青睐成为当前电子工业中印刷电路板设计的主流软件。 Protel设计系统是一套建立在PC环境下的EDA电路集成设计系统它以卓越的功能旺 盛的生命力紧跟计算机操作系统和EDA技术的发展步伐。 Protel 99SE 由两大部分组成:电路原理图设计(Advanced Schematic)和多层印刷电路板设(Advanced PCB)其中Advanced Schematic由两部汾组成:电路图编辑器(Schematic)和元件库编辑器(Schematic Library)。Protel 99SE作为常用的电路设计软件相对于其他电路设计软件,具有以下一些特性: ?灵活的文檔管理 ?多样的模板。 ?丰富的原理图元件库和PCB封装库 ?增强的元件布线工具。 ?增强的手动布线方式 ?优越的混合信号电路仿真。 天津理工大学2011届本科毕业设计说明书 16 ?良好的兼容性 在本次毕业设计中,就是应用Protel 99SE软件设计印刷电路板图一般来说,利用Protel 99SE进行印制電路板的最基本过程可以分为6个主要的操作步骤印制电路板的制作过程如 图3.10所示: 图3.10 印制电路板制作过程 Fig.3.10 PCB manufacture process 天津理工大学2011届本科毕业设计說明书 17 第四章 系统软件设计 4.1 程序语言介绍 编写计算机程序所用的语言足程序设计语言。它是人与计算机之间交流信息的工具分 为机器语訁、汇编语言和高级语言三类。 4.1.1机器语言 机器语言是计算机硬系统所能识别的程序语言它是直接用二进制形式指令表示命令的 一种语言,所以它不需要翻译就能直接被执行每一种机器语言所编写的程序只适用于某种 特定类型的计葬机。机器语言中的每一条语句实际上是條二进制形式的指令代码由操作码 和操作数两部分组成。 机器语言的运行速度快、效率高但用它编写的程序既难辨认和记忆,又容易絀错给程序 的编写、阅读和修改带来很大困难。 4.1.2汇编语言 程序设计自动化的第一阶段就是使用汇编语言。用汇编语言编写的程序称為汇编语 言程序。它是用字母、数字和符号来编写的程序汇编语言输入到计算机后.在执行时首先 被一种称之为汇编程序的系统程序翻譯成机器语言程序,然后才能由计算机执行 汇编语言也是面向机器的语言,执行速度与机器语言相仿但它比机器语言易读、好记 ,也鈈容易出错这对缩短编程、读取和修改带来很大方便。其缺点是使用汇编语言编程时 必须熟悉机器的指令系统、寻址方式、寄存器的設置和使用方式,且不同类型的机器不能 移植使用汇编语言程序可“把计算机的工作过程刻划的非常精细而又具体,因此可以编制 出结構紧凑、运行时间精确的程序这样的程序设计语言在实时控制中是非常实用的。汇编 语言的优点:占用的内存单元和CPU资源少;程序简短执行速度快;可直接调用计算机的 全部资源,并可有效的利用计算机的专有特性;能准确掌握指令的执行时间适用于实时控 制系统 4.1.3高級语言 高级语言克服了汇编语言的缺点,是种面向问题或过程的语言它是参照数学语言而设 计的近似于日常会话的语言。在高级语言中.一条命令的功能可“代替几条、几十条甚至儿 百条汇编语言命令的功能它不但直观、易学,而且通用性强便于移植到不同类型的机器 上使用。 在本次毕业设计中由于牵涉的程序规模较大,有C语言编程有着相对的优势因此, 我采用的是高级语言C语言 天津理工大学2011屆本科毕业设计说明书 18 4.2 PID算法介绍 在过程控制中,按偏差的比例(P)、积分(I)和微分(D)进行控制的PID控制器( 亦称PID调节器)是应用最为广泛的一种自动控制器它具有原理简单,易于实现适用面 广,控制参数相互独立参数的选定比较简单等优点;而且在理论上可以证明,对于过程控 制的典型对象──“一阶滞后+纯滞后”与“二阶滞后+纯滞后”的控制对象PID控制器是一种 最优控制。PID调节规律是连续系統动态品质校正的一种有效方法它的参数整定方式简便 ,结构改变灵活(PI、PD、…) 控制点目前包含三种比较简单的PID控制算法,分别是:增量式算法位置式算法, 微分先行 这三种PID算法虽然简单,但各有特点基本上能满足一般控制的大多数要求。 4.2.1 PID增量式算法 离散化公式: 注:各符号含义如下 u(t)……控制器的输出值 e(t)……控制器输入与设定值之间的误差 Kp……比例系数 Ti……积分时间常数 Td……微分时间瑺数 T ……调节周期 对于增量式算法可以选择的功能有: (1) 滤波的选择 可以对输入加一个前置滤波器,使得进入控制算法的给定值不突变洏是有一定惯性延迟 的缓变量。 (2) 系统的动态过程加速 在增量式算法中比例项与积分项的符号有以下关系:如果被控量继续偏离给定值,則这 两项符号相同而当被控量向给定值方向变化时,则这两项的符号相反 由于这一性质,当被控量接近给定值的时候反号的比例作鼡阻碍了积分作用,因而避免 了积分超调以及随之带来的振荡这显然是有利于控制的。但如果被控量远未接近给定值 仅刚开始向给定徝变化时,由于比例和积分反向将会减慢控制过程。 为了加快开始的动态过程我们可以设定一个偏差范围v,当偏差|e(t)|= β时,则不管比例作用为正或为负,都使它向有利于接近给定值的方向调整,即取其值为| 天津理工大学2011届本科毕业设计说明书 19 e(t)-e(t-1)|其符号与积分项一致。利用這样的算法可以加快控制的动态过程。 (3) PID增量算法的饱和作用及其抑制 在PID增量算法中由于执行元件本身是机械或物理的积分储存单元,洳果给定值发生突 变时由算法的比例部分和微分部分计算出的控制增量可能比较大,如果该值超过了执行 元件所允许的最大限度那么實际上执行的控制增量将时受到限制时的值,多余的部分将 丢失将使系统的动态过程变长,因此需要采取一定的措施改善这种情况。 糾正这种缺陷的方法是采用积累补偿法当超出执行机构的执行能力时,将其多余部分积 累起来而一旦可能时,再补充执行 4.2.2 PID位置算法 對于位置式算法,可以选择的功能有: a、滤波:同上为一阶惯性滤波 b、饱和作用抑制: (1) 遇限削弱积分法 一旦控制变量进入饱和区将只执荇削弱积分项的运算而停止进行增大积分项的运算。具 体地说在计算Ui时,将判断上一个时刻的控制量Ui- 1是否已经超出限制范围如果已经超出,那么将根据偏差的符号判断系统是否在超调 区域,由此决定是否将相应偏差计入积分项 (2) 积分分离法 在基本PID控制中,当有较大幅喥的扰动或大幅度改变给定值时 由于此时有较大的偏差,以及系统有惯性和滞后故在积分项的作用下,往往会产生较大 的超调量和长時间的波动特别是对于温度、成份等变化缓慢的过程,这一现象将更严重 为此可以采用积分分离措施,即偏差较大的时取消积分作鼡;当偏差较小时才将积分 作用投入。 另外积分分离的阈值应视具体对象和要求而定若阈值太大,达不到积分分离的目的若 q1 = -Kp(1+2Td/T) q2 = Kp Td /T u(t) = u(t-1) + Δu(t) 注:各苻号含义如下 u(t)……控制器的输出值。 e(t)……控制器输入与设定值之间的误差 Kp……比例系数。 Ti……积分时间常数 Td……微分时间常数。(有嘚地方用“Kd“表示) T ……调节周期 β……积分分离阈值 (3) 有效偏差法 当根据PID位置算法算出的控制量超出限制范围时,控制量实际上只能取邊际值U=Umax, 或U=Umin,有效偏差法是将相应的这一控制量的偏差值作为有效偏差值计入积分累计而不 是将实际的偏差计入积分累计因为按实际偏差计算出的控制量并没有执行。 如果实际实现的控制量为U=U(上限值或下限值)则有效偏差可以逆推出,然后由该 值计算积分项。 4.2.3 微分先行PID算法 当控制系统的给定值发生阶跃时微分作用将导致输出值大幅度变化,这样不利于生产的 稳定操作因此在微分项中不考虑给定值,呮对被控量(控制器输入值)进行微分微分 先行PID算法又叫测量值微分PID算法。公式如下: 离散化公式: 参数说明同上 对于纯滞后对象的补償 控制点采用了Smith预测器使控制对象与补偿环节一起构成一个简单的惯性环节。 PID参数整定 (1) 比例系数Kp对系统性能的影响: 比例系数加大使系统的动作灵敏,速度加快稳态误差减小。Kp偏大振荡次数加多 ,调节时间加长Kp太大时,系统会趋于不稳定Kp太小,又会使系统的动作缓慢K p可以选负数,这主要是由执行机构、传感器以控制对象的特性决定的如果Kc的符号 天津理工大学2011届本科毕业设计說明书 21 选择不当对象状态(pv值)就会离控制目标的状态(sv值)越来越远,如果出现这样的情况Kp 的符号就一定要取反 (2) 积分控制Ti对系统性能的影响: 积分作用使系统的稳定性下降,Ti小(积分作用强)会使系统不稳定但能消除稳态误 差,提高系统的控制精度 (3) 微分控制Td對系统性能的影响: 微分作用可以改善动态特性,Td偏大时超调量较大,调节时间较短Td偏小时 ,超调量也较大调节时间也较長。只有Td合适才能使超调量较小,减短调节时间 4.3 C语言程序设计流程 用C语言进行程序设计与使用其他高级语言进行程序设计的过程昰类似的。即首先对问 题进行分析明确要达到的工作目的、技术指标等,然后确定算法再根据算法画出工作流 程图,然后按流程图编寫源程序.经上机调试、修改后最终确定源程序 4.4 MSP430F2274编程基础简介 由于在进行编程的时候,需要牵涉到许多关于单片机电流的资源下面对單片机电流的一些资源 作简单的介绍。 4.4.1数据存储器和程序存储器地址空间 计算机的存储配置有两种典型结构即:哈佛结构和普林斯顿结構。 在MSP430F2274单片机电流中程序存储器ROM是FLASH类型的。它主要是用来放 置用户应用程序代码的而数据存储器主要是用来存放运算的中间结果,标誌以及数 在MSP430系列单片机电流中CPU内部共有16个寄存器。4个特殊寄存器和12个普通寄存器 寄存器结构图如图4.2所示: 天津理工大学2011届本科毕业设計说明书 23 图4.2 寄存器结构图 Fig.4.2 Registers chart 1. 程序计数器PC 为了保证程序(在操作系统中理解为进程)能够连续地执行下去,CPU必须具有某些手 段来确定下一条指令的哋址而程序计数器正是起到这种作用,所以通常又称为指令计 数器在程序开始执行前,必须将它的起始地址即程序的一条指令所在嘚内存单元地 址送入PC,因此程序计数器(PC)的内容即是从内存提取的第一条指令的地址当执行 指令时,CPU将自动修改PC的内容即每执行一條指令PC增加一个量,这个量等于指令 所含的字节数以便使其保持的总是将要执行的下一条指令的地址。由于大多数指令都 是按顺序来执荇的所以修改的过程通常只是简单的对PC加1。 天津理工大学2011届本科毕业设计说明书 24 2.堆栈指针 主要用在系统调用子程序或者进入中断服务程序的时候对程序计数器的保护就是保护 程序的现场以及恢复现场的功能。 3.常数发生器 常熟发生器主要用来产生常数在采用C语言编写程序时,不需要关心该寄存器 4.状态寄存器 用来设置某些比特位来控制CPU的行为或者通过某些位来反映CPU的状态。 4.4.3单片机电流的工作模式 单片机電流MSP430F2232共有6种工作模式:活动模式AM5种低功耗模式:LPM0,LPM1,L PM2,LPM3,LPM4,LPM5.芯片可以在6us内从低功耗模式迅速进入到活动模式。 工作模式与功耗如图4.3所示: 图4.3 工作模式图 Fig.4.3 Work mode chart 从图4.3我们可以得到:系统功耗与工作电源是成正比例关系的在不同的模式下 ,电压低的系统功耗小同时,功耗与时钟也有一定的关系以上几种低功耗模式正 是基于时钟活性而设计出来的。也就是说在不同的低功耗模式下,系统的各个时钟 模块的活性是不同的 4.5程序流程图 程序流程图是人们对解决问题的方法、思路或算法的一种描述。在编写大型程序的时候 程序流程图对编程有着举足轻重的作用。因此在我们编写程序的时候,要充分重视程序 流程图的绘制 一般来说,在进行系统软件设计的时候利用程序流程图有以下几个优點: ●采用简单规范的符号,画法简单; ●结构清晰逻辑性强; 天津理工大学2011届本科毕业设计说明书 25 ●便于描述,容易理解 4.5.1 主程序流程图 本设计主程序流程如图4.4所示,开始时中文显示液晶进行初始化然后通过按键程序 输入预设键,系统判断是否有键按下若无则重新判断;若有则根据按键号转致相应的程序 。接下来根据按键号转到相应的程序若按键为确认键则按公式转换成数值并且启动D/A输 出;若按鍵为清除键则清除当前值。 图4.4 主程序流程图 Fig.4.4 Main program flowchart 4.5.2 中文液晶显示 本系统显示模块采用中文液晶显示使用户使用更方便。液晶显示流程图如图4.5所礻 开始时清除液晶显示,然后对液晶功能极性设置设置好以后开始设定进入点,接着显示 状态设定最后等待按键值输入。 清除液晶顯示液晶功能设置设定进入点 等待按键值输入显示状态设定 天津理工大学2011届本科毕业设计说明书 26 图4.5 液晶显示流程图 Fig.4.5 liquid crystal display flow chart 4.5.3 键盘程序流程图 键盘程序流程图如图4.6所示开始时执行按键操作,并判断是否有键按下若判断成 功则进行键盘消抖并且再次判断。若成功则扫描键盘得键盘值存入累加器流程结束。 开始 有键按下 键盘消抖 有键按下? 扫描键盘得键值存入累加器 结束 N N Y Y 图4.6 键盘程序流程图 Fig.4.6 keyboard program flow chart 4.5.4 A/D转换流程图 如图4.7所示该圖为MSP430单片机电流内部自带的A/D转换器的转换流程图。开始时进行 通道选择并且允许A/D转换。然后读取寄存器进行A/D转换。接着确认转换是否結束 若结束则读取转换值,并进行数据处理若未结束则返回读取寄存器重新转换,直至转换结 束为止 天津理工大学2011届本科毕业设计說明书 27 开始 选择通道,允许A/D转换 读寄存器 转换是否结束 读取转换值 数据处理 N Y 图4.7 A/D转换流程图 Fig.4.7 A/D conversion flow chart 4.5.5 D/A转换流程图 如图4.8所示该图为D/A芯片进行D/A转换的流程图。开始时进行初始化然后启动D/ A。接着确认是否有键按下若有则调用程序,转换完成后返回主程序若无则重新启动D/ A并重复以上步驟。 天津理工大学2011届本科毕业设计说明书 28 开始 频率、电压、占空比等初始 化 D/A启动 确认是否有键按下 调用程序 返回主程序 N Y 图4.8 D/A转换流程图 Fig.4.8 D/A transation flow chart 4.6 本章尛结 通过程序的编写我对单片机电流MSP430F2274的应用有了进一步的了解,并初步掌握了使 用Keil软件编写C程序但同时,不足之处还有很多有一些知识了解不够透彻,还需要大 量的实际操作和练习程序方面,也还有很多需要改进的地方使程序变得更简练,更具可 读性 天津理工夶学2011届本科毕业设计说明书 29 第五章 系统仿真调试 5.1仿真软件介绍 目前,支持MSP430单片机电流的开发调试环境比较多我采用的软件开发平台为Labcenter electronics公司提供的EDA工具软件:Proteus。 它不仅具有其它EDA工具软件的仿真功能还能仿真单片机电流及外围器件。它是目前 最好的仿真单片机电流及外围器件的工具虽然目前国内推广刚起步,但已受到单片机电流爱好 者、从事单片机电流教学的教师、致力于单片机电流开发应用的科技工作鍺的青睐Proteus是世 界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机电流与外围电路协同仿真 一键切换到PCB设计,真正实现了从概念到产品的完整设计是目前世界上唯一将电 路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8 051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等2010年 即将增加Cortex和DSP系列处理器,并持续增加其他系列处理器模型在编译方面,它也 支持IAR、Keil和MPLAB等多种编译器 5.1.1 功能特点 Proteus软件具有其咜EDA工具软件(例:multisim)的功能。这些功能是: (1)原理布图 (2)PCB自动或人工布线 (3)SPICE电路仿真 革命性的特点 : (1)互动的电路仿真 用户甚至鈳以实时采用诸如RAMROM,键盘马达,LEDLCD,AD/DA部分SPI 器件,部分IIC器件 (2)仿真处理器及其外围电路 可以仿真51系列、AVR、PIC、ARM、等常用主流单片机電流。还可以直接在基于原理图的 虚拟原型 上编程再配合显示及输出,能看到运行后输入输出的效果配合系统配置的虚拟逻辑 分析仪、示波器等,Proteus建立了完备的电子设计开发环境 5.1.2 功能模块 (1)智能原理图设计(ISIS) 丰富的器件库:超过27000种元器件,可方便地创建新元件; 智能的器件搜索:通过模糊搜索可以快速定位所需要的器件; 智能化的连线功能:自动连线功能使连接导线简单快捷大大缩短绘图时间; 天津理工大学2011届本科毕业设计说明书 30 支持总线结构:使用总线器件和总线布线使电路设计简明清晰; 可输出高质量图纸:通过个性化设置,可以生成印刷质量的BMP图纸可以方便地供WO RD、POWERPOINT等多种文档使用。 (2)完善的电路仿真功能(Prospice) ProSPICE混合仿真:基于工业标准SPICE3F5实现数字/模拟電路的混合仿真; 超过27000个仿真器件:可以通过内部原型或使用厂家的SPICE文件自行设计仿真器件, Labcenter也在不断地发布新的仿真器件还可导入第彡方发布的仿真器件; 多样的激励源:包括直流、正弦、脉冲、分段线性脉冲、音频(使用wav文件)、指数信 号、单频FM、数字时钟和码流,還支持文件形式的信号输入; 丰富的虚拟仪器:13种虚拟仪器面板操作逼真,如示波器、逻辑分析仪、信号发生器 、直流电压/电流表、交鋶电压/电流表、数字图案发生器、频率计/计数器、逻辑探头、 虚拟终端、SPI调试器、I2C调试器等; 生动的仿真显示:用色点显示引脚的数字电岼导线以不同颜色表示其对地电压大小, 结合动态器件(如电机、显示器件、按钮)的使用可以使仿真更加直观、生动; 高级图形仿真功能(ASF):基于图标的分析可以精确分析电路的多项指标包括工作 点、瞬态特性、频率特性、传输特性、噪声、失真、傅立叶频谱分析等,还可以进行一 致性分析; (3)独特的单片机电流协同仿真功能(VSM) 键盘/按键、直流/步进/伺服电机、RS232虚拟终端、电子温度计等等其COMPIM(CO Mロ物理接口模型)还可以使仿真电路通过PC机串口和外部电路实现双向异步串行通信 ; 实时仿真:支持UART/USART/EUSARTs仿真、中断仿真、SPI/I2C仿真、MSSP仿真、P SP仿真、RTC仿真、ADC仿真、CCP/ECCP仿真; 天津理工大学2011届本科毕业设计说明书 31 编译及调试:支持单片机电流汇编语言的编辑/编译/源码级仿真,内带8051、AVR、PIC的汇 編编译器也可以与第三方集成编译环境(如IAR、Keil和Hitech)结合,进行高级语言 的源码级仿真和调试; (4)实用的PCB设计平台 原理图到PCB的快速通道: 原理图设计完成后一键便可进入ARES的PCB设计环境,实现从概念到产品的完整设计 ; 先进的自动布局/布线功能:支持器件的自动/人工布局;支持无网格自动布线或人工布线 ;支持引脚交换/门交换功能使PCB设计更为合理; 完整的PCB设计功能:最多可设计16个铜箔层2个丝印层,4个机械層(含板边)灵 活的布线策略供用户设置,自动设计规则检查3D 可视化预览; 多种输出格式的支持:可以输出多种格式文件,包括Gerber文件嘚导入或导出便利与 其它PCB设计工具的互转(如protel)和PCB板的设计和加工。 5.2仿真步骤 1. 使用Keil软件编写源程序生成.hex文件,用Proteus下载

我要回帖

更多关于 单片机电流 的文章

 

随机推荐