《数控直流电流源设计.doc》由会员分享,可在线阅读,更多相关《数控直流电流源设计.doc(25页珍藏版)》请在三一办公上搜索。
1、重庆大学网络教育学院 毕业设计(论文)题目 数控直流电流源设计 学生所在校外学习中心 江苏南京 批次 层次 专业 131 专科起点本科 电气工程及其自动化学 号 W13112614 学 生 刘成 指 导 教 师 余传祥 起 止 日 期 2014-9-1/2014-10-21目 录1摘要12 前言12.1 数控直流电流源的发展现状22.2 数控直流电流源的研究意义32.3 该研究解决的主要内容33 硬件系统的设计53.1 硬件系统的模块53.1.1 单片机最小系统53.1.2 自制电源模块73.1.3 显示模块83.1.4 键盘模块103.1.5 电流源模块103.1.6 负载模块123.1.4
2、 D/A、A/D转换模块123.2 系统的原理图154 软件系统的设计164.1 单片机资源使用情况164.2 软件系统的模块164.2.1 定时模块164.2.2 按键操作模块164.2.3 D/A转换模块174.2.4 A/D转换模块174.2.5 LCD显示模块174.3 程序流程图174.3.1 主控制流程图174.3.2 按键操作流程图184.3.3 D/A转换、A/D转换流程图194.3.4 数制转换流程图204.3.5 LCD显示流程图205 总结22参考文献23摘 要 随着电子技术的发展、数字电路应用领域的扩展,人们对数控恒定电流器件的需求越来越高。应社会发展的需求,对基于单片
3、机控制的“数控恒流电流源”进行研究论证,并运用Proteus软件进行仿真。设计由两大模块组成:单片机应用系统模块; 大功率压控电流源模块。设计采用AT89S52单片机应用系统,由TLC2543对精密电阻康铜丝的电压进行监控,由LTC1456直接控制输出电压,单片机、A/D、D/A三者组成控制系统,形成闭环回路,保持恒流。电流源采用44矩阵键盘进行设定,并采用LCD显示界面。运用Proteus软件仿真,实现输出电流范围为200mA2000mA,满足步进10mA,误差的绝对值 1% +10mA,可以同时显示电流的给定值、仿真测试值、负载电压值、负载电阻值。关键词:电流源;稳压电源;AT89S52;
4、LCD显示;Proteus2 前言2.1 数控直流电流源的发展现状 电源技术尤其是数控电源技术是一门实践性很强的工程技术,服务于各行各业。电力电子技术是电能的最佳应用技术之一。当今电源技术融合了电气、电子、系统集成、控制理论、材料等诸多学科领域。随着计算机和通讯技术发展而来的现代信息技术革命,给电力电子技术提供了广阔的发展前景,同时也给电源提出了更高的要求。随着数控电源在电子装置中的普遍使用,普通电源在工作时产生的误差,会影响整个系统的精确度。电源在使用时会造成很多不良后果,世界各国纷纷对电源产品提出了不同要求并制定了一系列的产品精度标准。只有满足产品标准,才能够进入市场。随着经济全球化的发展
5、,满足国际标准的产品才能获得进出的通行证。数控电源是从80年代才真正的发展起来的,期间系统的电力电子理论开始建立。这些理论为其后来的发展提供了一个良好的基础。在以后的一段时间里,数控电源技术有了长足的发展。但其产品存在数控程度达不到要求、分辨率不高、功率密度比较低、可靠性较差的缺点。因此数控电源主要的发展方向,是针对上述缺点不断加以改善。单片机技术及电压转换模块的出现为精确数控电源的发展提供了有利的条件。新的变换技术和控制理论的不断发展,各种类型专用集成电路、数字信号处理器件的研制应用,到90年代,己出现了数控精度达到0.05V的数控电源,功率密度达到每立方英寸50W的数控电源。从组成上,数控
6、电源可分成器件、主电路与控制等三部分。目前在电力电子器件方面,几乎都为旋纽开关调节电压,调节精度不高,而且经常跳变,使用麻烦。数字化智能电源是针对传统电源的不足设计的,数字化能够减少生产过程中的不确定因素和人为参与的环节数,有效地解决电源模块中诸如可靠性、智能化和产品一致性等工程问题,极大地提高生产效率和产品的可维护性。数控直流电流源是一种常见的电子仪器,广泛的用于电子电路,教学实验和科学研究等领域。目前实用的直流电流源大部分是线性电源。利用分离器件组成,其体积大,功率底,可靠性差,操作使用不方便,自我保护功能不够,因而故障率高。随着电子科技的飞速发展,各种电子,电器设备对电源的性能要求日益提
7、高,电源不断差朝着小型化,高效率,低成本,高可靠性,低电磁干扰,模块化和智能化发展。因此,数控直流电流源今后的发展目标之一就是不进要在性能上做到效率高、噪声低、高次谐波低、既节能又不干扰环境,还要在功能上力求实现数控化、多功能化、智能化、网络化。2.2控直流电流源的研究意义数控直流电流源是我们生活中比较常见的设备,这次设计就是基于单片机为主体所设计的微机数字触发式直流电流源,相比其他以往的电源设计,此次的课题更新颖,更符合技术发展的潮流。设计中,对整体电源进行了硬件、软件总体设计,从两方面满足设计的基本要求的同时,对整个微机控制的系统有了比较全面的了解。传统的直流电流源通常采用电位器和波段开关
8、来实现电压的调节,并由电流表指示电流值的大小。因此,电流的调整精度不高,读数欠直观,电位器也易磨损。而基于单片机控制的直流电流源能较好地解决以上传统电流源的不足。数控直流电流源采用键盘,可对输出电压进行设置, 输出由单片机通过D/A,控制驱动模块输出一个稳定电压,之后转换成相应的电流。工作过程中,数控直流电流源的输出电流等各种工作状态均由单片机输出驱动LCD显示,由键盘控制进行动态逻辑切换。以单片机为核心的智能化高精度直流电流源的设计,直流电流源采用数字调节、输出精度高,特别适用于各种有较高精度要求的场合。以单片机系统为核心而设计制造出来的新一代数控直流电流源不但电路简单,结构紧凑,价格低廉,
9、性能卓越,而且单片机具有计算和控制功能,利用它对采样技术进行各种计算,从而可排除和减少由于骚扰信号和模拟电路因起的误差,大大提高稳压电源输出电压精度,降低了对模拟电路的要求。数控直流电流源可利用单片机设置周密的保护检测系统,确保电源运行可靠。电源采用数字控制,具有以下明显优点:易于采用先进的控制方法和智能控制策略,使电源模块的智能化程度更高,性能更完美;控制灵活,系统升级方便,甚至可以在线修改控制算法,而不必改动硬件线路;控制系统的可靠性提高,易于标准化,可以针对不同的系统,采用统一的控制板,而只是对控制软件做一些调整即可。在日常生活中,需要用到各种电源,数控直流电流源的研究,更好的适应了社会
10、的发展。2.3研究解决的主要内容本次对数控直流电流源的设计主要是针对以下方面:如何实现对电源的输出控制,该系统主要是应用单片机,用微处理器来替代传统直流稳压电源中手动旋转电位器,实现输出电压的连续可调,精度要求高。实现的途径很多,可以用DAC的模拟输出控制电源的基准电压或分压电阻,或者用其它更有效的方法,因此如何选择简单有效的方法是本课题需要解决的首要问题;数控直流电流源要实现电流的键盘化输出控制,同时对于输出的电流的精度也具有相应的要求,如何有效的实现这些功能也是课题所需研究解决的问题。数控直流电流源的输出电流稳定的问题,在本设计中也是要解决的问题。对于数控直流电流源的输出显示问题,本设计中
11、式采用LCD进行显示。该数控直流电流源还有一个讨论的问题,就是对于数控直流电流源输出的电流进行采样,然后进行处理的问题。在本次数控直流电流源的设计中,这也是一个比较重要的问题。3 硬件系统的设计3.1 硬件系统的模块3.1.1 单片机最小系统(1) 时钟电路单片机必须在时钟的驱动下才能工作.在单片机内部有一个时钟振荡电路,只需要外接一个振荡源就能产生一定的时钟信号送到单片机内部的各个单元,决定单片机的工作速度。一般选用石英晶体振荡器。此电路在加电大约延迟10ms后振荡器起振,在XTAL2引脚产生幅度为3V左右的正弦波时钟信号,其振荡频率主要由石英晶振的频率确定。电路中石英晶体振荡器的频率为12
12、MHz,两个电容 C1、C2的作用有两个:一是帮助振荡器起振;二是对振荡器的频率进行微调。C1、C2的典型值为33PF。单片机的时钟电路如图3所示。图3 单片机的时钟电路图(2) 复位电路单片机的第9脚RST为硬件复位端,只要将该端持续4个机器周期的高电平即可实现复位,复位后单片机的各状态都恢复到初始化状态。复位电路用于产生复位信号,通过RST引脚送入单片机,进行复位。因为AT89S52单片机的复位是靠外部电路实现的。复位电路的好坏直接影响单片机系统工作的可靠性,因此,要重视复位电路的设计和研究。只要RST端保持10ms以上的高电平,就能使单片机有效地复位。AT89S52单片机通常采用上电自动
13、复位、按键复位、以及上电加按键复位等,我们采用的是上电加按键复位方式,这样做的优点是上电后可以直接进入复位状态,当程序出现错误时,可以随时使电路复位。则复位电路图如图4所示。图4 单片机复位电路图(3) AT89S52单片机AT89S52是一种带8K字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。AT89S52单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。此单片机共有4个8位的并行双向I/O口,分别记作P0、P1、P2、P3,这4个口除可按
14、字节寻址以外,还可按位寻址。P0口地址为80H,位地址为80H87H。各位口线具有完全相同但又相互独立的逻辑电路。P1口地址为90H,位地址为90H97H。P1口只能作为通用数据I/O口使用,所以在电路结构上与P0口有些不同。P2口地址为A0H,位地址为A0HA7H。P2口既可以作为系统高位地址线使用,也可以为通用I/O口使用,所以P2口电路逻辑与P0口类似。P3口地址为B0H,位地址为B0HB7H。虽然P3口可以作为通用I/O口使用,但在实际应用中它的第二功能信号更为重要。P3口的第二功能如表1所示。AT89S52单片机还有一个地址锁存控制信号ALE,外部程序存储器读选通信号,访问程序存储器
15、控制信号,复位信号RST,地线和+5V的电源。单片机最小系统图如图5所示。表1 P3口线第二功能 口 线 第二功能信号 第二功能信号名称 P3.0 RXD 串行数据接收 P3.1 TXD 串行数据发送 P3.2 INT0 外部中断0申请 P3.3 INT1 外部中断1申请 P3.4 T0 定时器/计数器0计数输入 P3.5 T1 定时器/计数器1计数输入 P3.6 外部RAM写选通 P3.7 外部RAM读选通图5 单片机最小系统图3.1.2 自制电源模块本系统需要多个电源,单片机使用+稳压电源,A/D转换器,D/A转换器,运放等需要稳压电源。电源虽简单,但在高精度的系统中,稳压电源有着非常重要
16、的作用。在进行研究后得出以下方案。如图6所示,本电源先通过变压器电压变换隔离,桥式全波整流,电容滤波,再通过三端固定输出集成稳压器产生稳定电压+15V,-15V,+5V,稳压器内部电路由恒流源,基准电压,取样电阻,比较放大,调整管,保护电路,温度补偿电路等组成。为了改善纹波特性,在输入端加接电容。为了改善负载的瞬态响应,在输出端加接电容。采用三端集成稳压器7805、7815、7915分别得到+5V和15V的稳定电压,再外对OP07加大功率场效应管构成扩流电路,可以提供2000mA的上限电流。利用该方法实现的电源电路简单,工作稳定可靠。稳压电源在实物上设计上是必不可少的部分,但在运用Proteu
17、s仿真时为了简化电路,此模块用软件自带的励磁电压代替。图6 稳压电源电路图3.1.3 显示模块方案一:使用LED数码管显示。数码管采用BCD编码显示数字,对外界环境要求低,易于维护。但根据题目要求,如果需要同时显示给定值和测量值,以及其他输出特性值,需显示的内容较多,要使用多个数码管动态显示,使电路变得复杂,加大了编程工作量。方案二:使用LCD液晶显示。LCD具有轻薄短小,可视面积大,方便的显示数字,分辨率高,抗干扰能力强,功耗小,且设计简单等特点。LM016L液晶模块采用HD44780控制器,hd44780具有简单而功能较强的指令集,可以实现字符移动,闪烁等功能,LM016L与单片机MCU通
18、讯可采用8位或4位并行传输两种方式,hd44780控制器由两个8位寄存器,指令寄存器(IR)和数据寄存器(DR)忙标志(BF),显示数RAM(DDRAM),字符发生器ROMA(CGOROM)字符发生器RAM(CGRAM),地址计数器RAM(AC)。IR用于寄存指令码,只能写入不能读出,DR用于寄存数据,数据由内部操作自动写入DDRAM和CGRAM,或者暂存从DDRAM和CGRAM读出的数据,BF为1时,液晶模块处于内部模式,不响应外部操作指令和接受数据,DDTAM用来存储显示的字符,能存储80个字符码,CGROM由8位字符码生成5*7点阵字符160中和5*10点阵字符32种.8位字符编码和字符
19、的对应关系,CGRAM是为用户编写特殊字符留用的,它的容量仅64字节,可以自定义8个5*7点阵字符或者4个5*10点阵字符,AC可以存储DDRAM和CGRAM的地址,如果地址码随指令写入IR,则IR自动把地址码装入AC,同时选择DDRAM或CGRAM,LM016L液晶模块的引脚功能如下表2所示。表2 LM016L引脚功能引脚符号功能说明1VSS一般接地2VDD接电源(+5V)3V0液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。4RSRS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器
20、。5R/WR/W为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。6EE(或EN)端为使能(enable)端,下降沿使能。7DB0底4位三态、 双向数据总线 0位(最低位)8DB1底4位三态、 双向数据总线 1位9DB2底4位三态、 双向数据总线 2位10DB3底4位三态、 双向数据总线 3位11DB4高4位三态、 双向数据总线 4位12DB5高4位三态、 双向数据总线 5位13DB6高4位三态、 双向数据总线 6位14DB7高4位三态、 双向数据总线 7位(最高位)(也是busy flang)15BLA背光电源正极16BLK背光 电源负极综上所述,选择方案二。采用LM016L
21、液晶显示模块同时显示电流给定值和实测值以及负载内阻。连接电路图如图7所示。图7 LM016L与单片机的接线图3.1.4 键盘模块方案一:采用独立式按键电路,每个按键单独占有一根I/O接口线,每个I/O口的工作状态互不影响,此类键盘采用端口直接扫描方式。缺点为当按键较多时占用单片机的I/O口数目较多。方案二:采用标准44键盘,此类键盘采用矩阵式行列扫描方式,优点是当按键较多时可降低占用单片机的I/O口数目,而且可以做到直接输入电流值而不必步进。题目要求可进行电流给定值的设置和步进调整,需要的按键比较多。综合考虑两种方案及题目要求,采用方案二,使用标准的4x4键盘,可以实现09数字输入、“+”、“
22、-”、“OK”、“SET”、“DEL”、“RESET/ON”这些功能按键。其电路图如图8所示。图8 键盘与单片机的接线图 3.1.5 电流源模块方案一:采用集成稳压器运放构成的线性恒流源。如图9所示。D/A输出电压作为恒流源的参考电压,运算放大器U1与晶体管Q1,Q2组成的达林顿电路构成电压跟随器。利用晶体管平坦的输出特性即可得到恒流输出。由于跟随器是一种深度的电压负担亏电路,因此电流源具有较好的稳定性。本电流源的稳定度优于0.5%。为了提高稳定度,Rs采用大线径康铜丝制作,康铜丝温度系数很小,大线径可以使其温度影响减至最小。U1采用精密运算放大器OP37A,该放大器有调节零点漂移的功能,Q1
23、采用9014大倍数大约为400.Q2采用低频功率管3DD15,他的放大倍数为1020倍,漏电流很小。Q1的加入是为了增加复合管的放大倍数。图9 稳压器运放线性恒流源模块电路图方案二:采用运放和场效应管的压控恒流源。电路原理图如图10所示。该恒流源电路由运算放大器、大功率场效应管Q1、采样电阻R2、负载电阻RL等组成硬件设计。采用场效应管,更易于实现电压线性控制电流,既能满足输出电流最大达到2A的要求,电路简洁也能较好地实现电压近似线性地控制电流。此电路中,为了满足题目的设计要求,调整管采用大功率场效应管IRF640。当场效应管工作于饱和区时,漏电流Id近似为电压Ugs控制的电流。即当Ud为常数
24、时,满足:Id=f(Ugs),只要Ugs不变,Id就不变。在此电路中,R2为取样电阻,采用康铜丝绕制(阻值随温度的变化较小)阻值为1。运放OP07作为电压跟随器,Uin=Up=Un,场效应管Id=Is(栅极电流相对很小,可忽略不计) 所以Iout=Is= Un/R2= Uin/R2。正因为Iout=Uin/R2,电路输入电压UI控制电流Iout,即Iout不随RL的变化而变化,从而实现压控恒流。图10 压控恒流源模块电路图综上所述,进行综合比较,方案二电路较简单,稳定性较高,故采用方案二,使用高精度运放和大功率场效应管等构成一个恒流源电路。3.1.6 负载模块根据题目要求,设计了如图11所示的
25、电路图。电路综合各方面的考虑因素在里面,由于TLC2543所测电压值在5V内,而负载一端接15V电压源另一端接功率管,因此采用差分增益电路采样负载电压,当Rb/Rc=Rd/Ra时,OP07输出电压ADin=Rb/Rc(Va-Vb),硬件设置Rb/Rc=1/4,软件还原负载电压,保证测量精度。而采样精密电阻R1为1,通过采样R1两端电压值换算成电流值即可得到输出电流。图11 负载电流、电压测量电路图3.1.4 D/A、A/D转换模块D/A、A/D模块是单片机与外部数据连接的通道,因此这两个模块的选择与使用应当合理。(1)D/A转换器 本设计中应采用DAC模块提供高精度的基准电压,即通过CPU发出
26、的二进制转换为的模拟电压,送给误差放大器,实现步进要求。根据题目扩展功能要求输出,以1mA为步进,需要的级数由公式(1)可见。 (1),故应采用12位D/A转换器为D/A转换芯片,供选择的很多,在此选用proteus元件库中的LTC1456芯片。其内部结构电路图如图12所示。 图12 TLC1456内部结构电路图(2)A/D转换器A/D模块的是反馈的核心,我们采用Proteus元件库中的TLC2543芯片实现。TLC2543是一种低功耗、低电压的12位串行开关电容型AD转换器。它使用逐次逼近技术完成A/D转换过程。最大非线性误差小于1LSB,转换时间9s。它具有三个控制器输入端,采用简单的3线
27、SPI串行接口可方便与微机进行连接,是12位数据采集系统的最佳选择器件之一。TLC2543引脚功能如表3所示,其特点如下: 11个模拟输入通道;3路内置自测试方式;采样率为66kbps; 线性误差1LSBmax; 有转换结束输出EOC; 具有单、双极性输出; 可编程的MSB或LSB前导; 可编程输出数据长度。表3 LTC2543引脚功能引脚号名称I/O说明19,11,12AIN0AIN10I模拟量输入端。11路输入信号由内部多路器选通。对于4.1MHz的I/OCLOCK,驱动源阻抗必须小于或等于50,而且用60pF电容来限制模拟输入电压的斜率15I片选端。在端由高变低时,内部计数器复位。由低变
28、高时,在设定时间内禁止DATAINPUT和I/O CLOCK17DATAINPUTI串行数据输入端。由4位的串行地址输入来选择模拟量输入通道16DATA OUTOA/D转换结果的三态串行输出端。为高时处于高阻抗状态,为低时处于激活状态19EOCO转换结束端。在最后的I/OCLOCK下降沿之后,EOC从高电平变为低电平并保持到转换完成和数据准备传输为止10GNDGND是内部电路的地回路端。除另有说明外,所有电压测量都相对GND而言18I/O CLOCKI输入/输出时钟端。I/OCLOCK接收串行输入信号并完成以下四个功能:(1)在I/O CLOCK的前8个上升沿,8位输入数据存入输入数据寄存器。
29、(2)在I/OCLOCK的第4个下降沿,被选通的模拟输入电压开始向电容器充电,直到I/OCLOCK的最后一个下降沿为止。(3)将前一次转换数据的其余11位输出到DATA OUT端,在I/OCLOCK的下降沿时数据开始变化。(4)I/OCLOCK的最后一个下降沿,将转换的控制信号传送到内部状态控制位14REF+I正基准电压端。基准电压的正端(通常为Vcc)被加到REF+,最大的输入电压范围由加于本端与REF-端的电压差决定13REF-II 负基准电压端。基准电压的低端(通常为地)被加到REF- 20Vcc电源(3)D/A、A/D连接电路D/A 、A/D连接电路如图13所示。图13 D/A、A/D
30、连接电路图3.2 系统的原理图4 软件系统的设计4.1 单片机资源使用情况本设计用到了单片机控制DA和AD转换的功能,此外用到了单片机的中断功能,在数据的显示时所采用的是查表的方法,因此需要将表格、数据存到单片机的程序存储器中去。数控直流电流源的数据要存储到数据存储器中去,用到了30H到50H之间的单元。由于数控直流电流源需要可以进行调节,因此,需要在单片机的P口上加上按键,本设计采用行列式键盘,直接接在P2口上。用到的液晶显示器接到了单片机的P0口线上,液晶显示器的使能端用到了P3口线。4.2 软件系统的模块4.2.1 定时模块在本设计中用到了几个定时模块,第一个定时是用于定时按键的抖动时间
31、,因为当按键时都会出现电压抖动,但对键盘工作有影响的是键闭合时的抖动,所以为了确保键扫描的正确性,每当扫描到有闭合键时,都要进行去抖动处理。本设计中采用的是软件去抖动的方法,抖动的定时采用的软件的延时进行定时的。第二个定时的功能是在数码管显示时的延时时间,即在数码管显示时是采用查表的方法进行显示的,因此需要用到一定的延时,使得我们能够看的清楚所显示的内容,在这里用到的延时也是采用软件的延时。4.2.2 按键操作模块在本次设计中,我用到了三个独立式键盘进行按键的操作。因为本数控直流电流源的操作比较简单,而只用到了三个键,因此在键盘的操作时采用的是层层递进的方法,一步一步往下操作的,设置了键的名称
32、为ON/OFF键、ADD键、DEC键,在软件设计中是在ON/OFF键按下了之后才会有ADD键、DEC键的操作,键与键之间的功能采用层层套用使得程序看起来更加清晰明了。在按键的程序扫描中是采用查询的方法对按键进行操作的,当查询到按键有动作时,则执行相应的操作。独立式键盘的程序设计一般把键盘扫描程序设计成子程序,以便其它各程序调用。本设计中的键盘扫描子程序的名称为KEY,则键盘扫描子程序KEY应具有以下功能:判定有无按键动作;去抖动;确认是否真正有闭合键;计算并保存闭合键键码;判定闭合键是否释放;恢复闭合键键码。4.2.3 D/A转换模块本设计主要是利用单片机做处理器,然后经过数模转换模块进行转换
33、,将单片输出的二进制代码转换成相应的模拟电压输出,这样使得所设计的电流源更加精确。在此模块中,因为进行换挡的转换,在这里我所采用的是做除法,然后再存储除法得到的商和余数,这里面我用到了两个子程序,一个是将十进制转换为十六进制数,二个是采用移位相减的方法做除法。4.2.4 A/D转换模块当所设定的二进制代码经过数模转换模块输出之后,经过A/D转换模块进行采样之后,由单片机进行处理。然后输出相应的电流值大小。4.2.5 LCD显示模块寄存器选择控制表如表4所示。表4 寄存器选择控制表RSR/W操作说明00写入指令寄存器(清除屏等)01都busy flag(DB7),以及读取位址计数器(DB0DB6
34、)值10写入数据寄存器(显示各字型等)11从数据寄存器读取数据注:关于E=H脉冲开始时初始化E为0,然后置E为1,再清0。busy flag(DB7):在此位为被清除为0时,LCD将无法再处理其他的指令要求。1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。因为1602识别的是ASCII码,试验可以用ASCII码直接赋值,在单片
35、机编程中还可以用字符型常量或变量赋值,如“A”。4.3 程序流程图4.3.1 主控制流程图在此次设计的过程中,我是采用模块的设计方法,一个一个实现功能,可以说如果完成了一个任务的程序框图,就是完成了整个设计任务的百分之三十左右,在本次课程设计的过程中,我都是采用这种思想进行数控直流电流源的设计的。因此,在设计的过程,让我能够很轻易的就抓住了主要的设计核心。主控制流程图如图14所示。图14 主控制流程图4.3.2 按键操作流程图在本次程序设计中对于键盘的设计,我专门设计了一个键盘扫描子程序,它所完成的功能是,首先对键盘进行处理,给每一个键都设置了一个键码,那么只要判断键盘的键码就可以知道是否有键
36、按下,如若有键按下也可以判断是哪一个键按下了。这次设计中,键盘扫描子程序的代号为KEY,其键盘扫描程序设计的流程框图如图15所示。图15 按键扫描子程序流程图4.3.3 D/A转换、A/D转换流程图本设计主要是用到LTC1456进行数模转换,用到TLC2543进行模数转换,其转换的流程图如图16所示。 图16 D/A转换、A/D转换流程图4.3.4 数制转换流程图由于使用的十进制数,而在做除法的时候,要进行数制的转换,其转换的流程图如图17所示。图17 数制转换流程图4.3.5 LCD显示流程图由于本设计的显示比较简单,因此我所用到的是LCD显示,其LCD显示的流程图如图18所示。 图18 L
37、CD显示子程序流程图总结在本次数控直流电流源的设计过程中,有许多感触,首先对C语言,我觉得这是一门逻辑性很强的语言,但同时也是一门比较容易掌握的语言。这门语言和我们的实际联系很机密,比如说里面很多传送指令,都是根据实际存在的硬件而存在的,还有你面的与或指令、乘法、除法指令,其实都是和我们从小就学的数学息息相关的。就C语言而言,对于同一种效果可以采用不同的指令完成,也可以采用相同的指令完成,但因为你所选用的方案不同使得所产生的效果也就有所不同,因此这也锻炼了我们在思考同一个问题,如果能够采用发散思维的话,往往会得到意想不到的结果。谈完基本的工具之后,我要谈的就是这次的主题,数控直流电流源可以说是
38、我们非常熟悉的东西,但是没有学单片机这门功课时,谁也不会想它是怎么工作的,又是怎么做成的。在我自己动手完成了这次设计之后,我才发现其实在我们身边有好多东西是要我们自己去研究的,如果只在原地踏步的话,就会落后,随着社会的不断进步,我们身边的东西越来越高科技话,那么要我们学习的东西也就越来越多。我觉得在这次设计过程中,我学到了很多,不仅仅是对汇编语言有了自己的想法,更重要的是培养了一种用于面对问题,解决问题的精神,在我们以后走向社会的道路上还不知道会遇到多少问题,如果有了这种精神的话,我相信无论多么困难的问题,都会迎刃而解的。参考文献1韩峻峰,海涛,陈文辉.单片机原理及应用M.北京:机械工业出版社,2010年. 2王煜东.传感器及应用M.北京:机械工业出版社,2011年. 3唐治德.模拟电子技术基础M.北京:科学出版社,2009年. 4唐治德.数字电子技术基础M.北京:科学出版社,2009年.