版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、武汉理工大学计算机控制技术课程设计说明书摘要计算机控制技术主要研究如何将计算机技术和自动控制理论应用于工业生产过程,并设计出所需要的计算机控制系统,是自动化专业的主干专业课程。生物培养液微机温度控制系统的设计涉及到传感与检测技术、A/D转换技术、自动控制技术、单片机的编程和应用等知识。本文详细地介绍了基于单片机AT89C51和温度传感器LM35的温度控制系统的设计方案与软硬件实现方案。系 统采用数字温度传感器LM35采集温度信号装化为模拟信号电压信号,经过ADC0808A/D转换成单片机可识别的数字电压信号,数码管显示温度测量值与设定值。当温度低于设定值时,单片机控制继电器启动加热电阻丝加热,
2、当温度高于设定值时,单片机控制继电器启动风扇制冷,从而实现了控制温度的目的。关键字:单片机、A/D转换、温度控制传感器、LED生物培养液微机温度控制系统1设计要求1.1初始条件设计一个生物培养液微型计算机温度控制系统,系统为一阶惯性纯滞后特性,温度在1525范围内连续可控,温度控制精度为 0.5;通过LED 显示温度。1.2要求完成的主要任务1. 输入通道及输出通道设计(温度传感器,A/D转换,PWM输出控制和温度调节驱动电路); 2. 键盘(温度设置)与LED(温度显示)接口设计; 3. 采用改进PID控制算法; 4. 系统软件流程及各程序模块设计; 5. 完成符合要求的设计说明书2总体设计
3、方案及框图2.1系统设计方案论证实现温度控制的方法主要有以下几种。方案一:采用纯硬件的闭环控制系统。该系统的优点在于速度较快,但可靠性比较差控制精度比较低、灵活性小、线路复杂、调试、安装都不方便。且要实现题目所有的要求难度较大。方案二:单片机与高精度温度传感器结合的方式。即用单片机完成人机界面,系统控制,信号分析处理,由前端温度传感器完成信号的采集与转换。这种方案克服了方案一的缺点,所以本设计方案是基于该方案。2.2系统结构框图该生物培养液微型计算机温度控制系统由以下几个部分组成:温度检测电路,信号放大电路,A/D转换电路,加热控制电路,降温电路,报警电路,键盘(温度设置)模块和LED(温度显
4、示)模块,单片机判断输入温度信号与设定的温度的差距,再通过改进的PID算法给以调节。放大器用来放大LM35的输出模拟信号, ADC0808是用来把采集到的模拟电压信号转换成单片机可以识别的数字信号。高阻抗加热丝和风扇(电机)是该温度控制系统的温度调节部分,当采集温度不符合要求时,则通过计算机判断后进行调节。风扇用来降温,高阻抗加热丝用来加温。显示部分则用来显示生物培养液的当前温度以及在设定时显示设置的温度值。温度检测电路采用温度传感器LM35来采集培养液的温度。通过以上的几个部分的组合,则组成了一个生物培养液微机温度控制系统。生物培养液微型计算机温度控制系统的结构图如下图2-1所示。温度显示电
5、路报警电路温度设置电路C51单片机风扇降温控制电路高阻抗加热丝升温控制电路A/D转换电路信号放大电路传感检测电路生物培养液 图2-1 生物培养液微机温度控制系统结构图3硬件设计3.1单片机选择单片机的选择在整个系统设计中至关重要,要满足大内存、高速率、通用性、价格便宜等要求,本课题选择AT89C51最为主控芯片。AT89C51是一种带4K字节FLASHC存储器( FPEROMFlash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。单
6、片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器。AT89C51芯片具有以下特性:与MCS-51 兼容 4K字节可编程FLASH存储器 寿命:1000写/擦循环 数据保留时间:10年 全静态工作:0Hz-24MHz 三级程序存储器锁定 1288位内部RAM 32可编程I/O线 两个16位定时器/计数器 5个中断源 可编程串行通道 低功耗的闲置和掉电模式 片内振荡器和时钟电路AT89C51芯片管脚说明:V
7、CC:供电电压。 GND:接地。 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P0口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口
8、为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为
9、高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。 P3口也可作为AT89C51的一些特殊功能口,如下表所示: 口管脚 备选功能 P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部中断0) P3.3 /INT1(外部中断1) P3.4 T0(记时器0外部输入) P3.5 T1(记时器1外部输入) P3.6 /WR(外部数据存储器写选通) P3.7 /RD(外部数据存储器读选通) P3口同时为闪烁编程和编程校验接收一些控制信号。 RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
10、ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但
11、在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 /EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET; /EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 振荡器特性: XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不
12、接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。AT89C51单片机引脚图如图3-1所示图3-1 AT89C51引脚图3.2温度检测电路温度检测电路包括温度传感器、由放大器和电阻组成的信号放大电路。选用的温度传感器型号为LM35,LM35是由National Semiconductor所生产的温度感测器,其输出电压与摄氏温标呈线性关系,转换公式如式(3-1),0C时输出为0V,每升高 1C,输出电压增加10mV。 即: Vout-LM35(T)=10mv/CTC (3-1)LM35 有多种不同封装型式,外观如图 2 所示
13、。在常温下,LM35 不需要额外的校准处理即可达到 1/4C的准确率。其电源供应模式有单电源与正负双电源两种,其引脚如图 3所示,正负双电源的供电模式可提供负温度的量测;两种接法的静默电流-温度关係如图 4所示,单电源模式在25C下静默电流约50A,非常省电。图3-2LM35封装及引脚排列图3-3单电源模式图3-4双电源模式由课程设计要求温度在1525范围内连续可控。因此,只需要单电源模式即可满足要求。又由于, LM35输出的电压太小,因此将输出用同相放大器放大十倍,参数设置根据公式Uo=Ui*(1+R2/R3) (3-2) 可以确定电阻的参数,其电路图如下图3-5所示。图3-5 温度传感模块
14、电路3.3A/D转换电路由于LM35温度传感器输出的是模拟量的温度电压值,单片机无法直接识别,因此需要对采集到的电压信号进行A/D转换,将其转化为单片机能识别的数字量。本设计采用ADC0808A/D转换器,下面介绍ADC0808的特性。3.3.1ADC0808主要特性(1)8路8位AD转换器,即分辨率8位。 (2)具有转换起停控制端。 (3)转换时间为100s(4)单个5V电源供电 (5)模拟输入电压范围05V,不需零点和满刻度校准。 (6)工作温度范围为-4085摄氏度 (7)低功耗,约15mW。 3.3.2ADC0808内部结构 ADC0809是CMOS单片型逐次逼近式AD转换器,内部结构
15、如图1322所示,它由8路模拟开关、地址锁存与译码器、比较器、8位开关树型DA转换器、逐次逼近。 3外部特性(引脚功能) ADC0808芯片有28条引脚,采用双列直插式封装,如图1323所示。下面说明各引脚功能。 IN0IN7:8路模拟量输入端。2-12-8:8位数字量输出端。ADDA、ADDB、ADDC:3位地址输入线,用于选通8路模拟输入中的一路。与ADC0809不同的是,ADC0808的out8为最低位out1为最高位,out8-out1分别接单片机的P0.0到P0.7端。图3-6 ADC0808通道选择ALE:地址锁存允许信号,输入,高电平有效。 START: AD转换启动信号,输入,
16、高电平有效。 EOC: AD转换结束信号,输出,当AD转换结束时,此端输出一个高电平(转换期间一直为低电平)。 OE:数据输出允许信号,输入,高电平有效。当AD转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。CLK:时钟脉冲输入端。要求时钟频率不高于640KHZ。 REF(+)、REF(-):基准电压。 Vcc:电源,单一5V。 GND:地。 ADC0808的工作过程是:首先输入3位地址,并使ALE=1,将地址存入地址锁存器中。此地址经译码选通8路模拟输入之一到比较器。START上升沿将逐次逼近寄存器复位。下降沿启动 AD转换,之后EOC输出信号变低,指示转换正在进行。直到AD
17、转换完成,EOC变为高电平,指示AD转换结束,结果数据已存入锁存器,这个信号可用作中断申请。当OE输入高电平 时,输出三态门打开,转换结果的数字量输出到数据总线上。 图3-7 ADC0808内部结构框图图3-8 ADC0808外部引脚图本系统中ADC0809的转化电路如下图3-9图3-9 ADC0809转换电路接线图3.4加热控制电路在读取到从温度传感模块采集到的温度数值后,与事先设定好的温度值进行比较,若当前检测得的温度比设定的温度低,则需要对培养液进行加热处理。本系统利用高阻抗的电阻丝来对培养液加热。如下图10所示,在检测到温度比设定的温度低时,P3.0管脚输出高电平,从而NPN管道通,驱
18、动继电器启动,从而高阻抗加热电阻丝导通加热生物培养液。利用改进的PID算法来计算PWM脉宽得出控制输出。从而根据检测到的温度而自动调节继电器导通时间,从而实现实际温度低于设定时加热的功能。继电器是具有隔离功能的自动开关,广泛用于遥控,遥测,通信,自动控制,机电一体化及电力电子设备中,是最重要的控制元件之一。继电器是在自动控制电路中起控制与隔离作用的执行部件,它实际上是一种可以用低电压、小电流来控制大电流、高电压的自动开关。在本系统中,继电器控制的自动温度调节电路和AT89C51单片机中程序构成温度自动监测电路,实现对生物培养液温度的监测和自动控制。图3-10 培养液电阻丝加热电路3.5降温控制
19、电路若当前检测得的温度比设定的温度高,则需要对培养液进行降温处理。本系统利用风扇来对培养液进行降温。实际使用中也是同电阻丝加热模块一样,采用继电器,在满足制冷条件下继电器接通,接通制冷电源,利用改进的PID算法来计算PWM脉宽得出控制输出,从而达到根据检测到的温度而自动调节继电器导通时间在满足制冷条件下继电器接通,电风扇的电机接通电源而转动制冷。也是利用改进的PID算法来计算PWM脉宽得出控制输出。从而达到根据检测到的温度而自动调节风扇的转速。图 3-11 培养液降温电路3.6LED温度显示电路由于任务书要求使用LED显示温度,而且温度在1525范围内连续可控,温度控制精度为 0.5。因此,本
20、系统采用了四位共阳极的七段数码管。如图10所示为4位7段数码管的原理图。由于所有的段选线并联到同一个 I/O,由这个 I/O 口来控制,因此,若是所 有的 4 位 8 段 LED 都选通的话,4 位 8 段 LED 将会显示相同的字符。要使各个位 的 8 段 LED 显示不同的字符,就必须采用动态扫描方法来轮流点亮每一位 8 段 LED,即在每一瞬间只选通一位 8 段 LED 进行显示单独的字符。在此段点亮时间内,段选控制 I/O 口输出要显示的相应字符的段选码,而位选控制 I/O 口则输出位选信号,向要显示的位送出选通电平(共阴极则送出低电平,共阳极则送出高电平),使得该位显示相应字符。这样
21、将四位 8 段 LED 轮流去点亮,使得每位分时显示该位应显示的字符。由于人眼的视觉暂留时间为 0.1 秒,当每位显示的间隔未超过 33ms 时,并在显示时保持直到下一位显示,则由于人眼的视觉暂留效果眼睛看上去就像是 4 位 8 段 LED 都在点亮。设计时,要注意每位显示的间隔时间,由于一位 8 段 LED 的熄灭时间不能超过 100ms,也就是说点亮其它位所用的时间不能超过 100ms,这样当有 N 位的 8 段 LED 用来显示时,每一位间隔的时间 t 就必须符合下面的式子: t100ms/(N-1),本系统中N4,则由式子可以算出 t33ms,就是每一位的间隔时间不能超过 33ms,本
22、系统延时5ms。图 3-12 LED的动态显示原理图图 3-13 LED温度显示模块电路在进行显示编程时,首先选定需要显示的位数,然后向段选位送数据。即可显示。由于单片机可以直接驱动LED显示管,因此不需外加驱动电路了,在LED的段选线上应加上上拉电阻,且由于是共阳极LED故上拉电阻1引脚接高电平。3.7温度设置电路本系统共有四个按键式键盘,分别是设置、温度的十位、温度的个位、清零,设置连P3.3,十位连P3.5,个位连P3.6,清零连P3.7。设置温度时,将设置按键按下使之不弹起,在按十位、个位、清零进行设置。图 3-14 温度设置电路3.8报警电路如果培养液里的温度过高或者是过低了,超出了
23、其允许的某个温度范围,则系统会自动报警,提醒用户,可以让用户采取更为快速和有效地措施来避免或是减少损失。报警电路图下图15所示。当微机判断当前温度值超出范围时,将P3.3管脚置低电平,利用非门来驱动喇叭报警。图3-15 报警电路电路图3.9系统总体原理图系统整体原理图如图3-16所示。图 3-16 系统总体原理图4.软件设计4.1总体流程分析与设计 软件设计基于硬件设计连接,由上面对于硬件的分析说明和设计,对整个程序流程需要有一个整体的思考和规划。程序需要实现以下几个功能:三位LED显示温度传感器的当前温度,可以通过按键设定所需要的温度,当温度超过1525摄氏度的时候报警,以及通过自动控制加热
24、、制冷模块控制温度。程序主要思想是通过单片机将ADC0808输入模拟量转化成数字量之后与设定温度进行比较,通过PID算法调节脉冲宽度即占空比来控制加热与制冷,完成温度控制。主程序流程图如图4-1所示。开始报警程序Y加热指示灯亮设定的温度值?=设定的温度值?温度超出? 控制量输出调用PID数据处理程序降温指示灯亮单片机系统初始化有键按下?温度采样与A/D转换调用LED显示NYNYN图 4-1主程序流程图对于代码段如下:/ 主程序 void main() uint i=0; Init_INT(); heat=0; cold=0; while(1) led_red=!led_red; ST=0;ST
25、=1;ST=0;/启动转换 while(EOC=0); /等待转换结果 OE=1; /允许输出 ad=P1*250/128; /显示A/D转换结果。线性度0.1,T=(P1/128)*255/0.1再乘以10放大以便取出小数位。 OE=0; /关闭输出 m1=ad/100%10; m2=ad/10%10; m3=ad%10; display(m1,m2,m3); pwm=PIDcalc(PID,ad,key_ad); /调用PID算法计算pwm占空比 /pwm=1500; if(pwm=0) /pwm控制制热 for(i=0;i2000;i+) if(ipwm) heat=1; else he
26、at=0; else if(pwm0) /pwm控制制冷 pwm=-pwm; for(i=0;i2000;i+) if(i250|ad150)beep=0;else beep=1; 4.2 PID控制算法分析与设计采用典型的反馈式温度控制系统,组成部分见下图4-1。其中数字控制器的功能由单片机实现。 图4-2 控制系统框图 已知培养皿的传递函数为 设,其中1为电阻加热的时间常数,为电阻加热的纯滞后时间,为采样周期。A/D转换器可划归为零阶保持器内,所以广义对象的传递函数为 (4-1) 广义对象的Z传递函数为 (4-2) 所以系统的闭环Z传递函数为: (4-3) 系统的数字控制器为:= (4-4
27、) 写成差分方程即为 : (4-5) 令 , 则有 (4-6)式中 第次采样时的偏差;第次采样时的偏差;第次采样时的偏差; 本生物培养液温控系统采用的数字PID算法由软件实现,增量PID控制算法的优点是编程简单,数据可以递推使用,占用存储空间少,运算快。但是对于温度这种响应缓慢、滞后性大的过程,不能用标准的PID算法进行控制。当扰动较大或者给定的温度值大幅度变化时,由于产生较大的偏差,加上温控本身的惯性及滞后,在积分作用下,系统往往产生较大的超调和长时间的振荡。因此,为克服这种不良的影响,采用积分分离法对增量PID算法进行改进。当偏差e(k)绝对值较大时,暂时取消积分作用;当偏差e(k)绝对值
28、小于某一设定值M时,才将积分作用投入。 (1)当| e(k)|M时,用PlD控制。偏差小,说明系统温度已经接近设定值,此时加入了积分作用,可以消除系统静差,保证系统的控制精度。根据递增原理可得:式中:e(K)=r(K)一y(K)为第K时刻所得偏差信号,其中r(K)是给定值,y(K)是实际输出值; (4-7)其中kp为比例增益;ki为积分系数;kd为微分系数。则增量式PID控制算法为: (4-8) (2)当| e(k)|M时,用PD控制。由于偏差大,说明系统温度远离设定值,应快速降温,采用PD控制,可以提高系统的动态响应速度,避免产生过大的超调,减小动态误差。对应程序段如下:float PIDc
29、alc(float *PID,uint show_ad,uint set_ad) int PID_pwm; PID0=set_ad-show_ad; /偏差 Error PID1+=PID0; /积分 iError PID2=PID0-PID3; /当前微分 dError PID3=PID4; /prev_Error=last_error PID4=PID0; /last_Error=Error PID_pwm=KP*PID0+KI*PID1+KD*PID2; return PID_pwm;4.3显示模块流程分析与设计 由硬件部分可知本系统选用红色四位共阳极LED数码管,LED有4个位选引脚读
30、入片选信号和8个段选引脚控制信号。用到的三个位选信号控制三位分时显示,通过延时程序的2ms延时使每位持续亮2ms直到下一位点亮,利用人眼视觉暂留,实现同时显示,将获取的温度的十位个位及小数位分别显示在LED上。对应程序段如下:/数码管显示函数void display(uchar shi,uchar ge,uchar xiao) P0=tableshi; C1=1;/十位点亮 delayms(5);/延时5ms C1=0;/十位熄灭 P0=tablege; dip=0; C2=1; delayms(5); C2=0; P0=tablexiao; C3=1; delayms(5); C3=0;温度
31、显示程序流程图如图4-3所示。开始延时2ms取消选择中的数码管读取十位数据选择数码管显示十位读取小数位数据选择数码管显示小数位延时2ms取消选中的数码管延时2ms取消选中的数码管读取个位数据选择数码港显示个位结束图4-3 数码显示温度流程图4.4按键模块流程分析与设计由于本系统需要对温度进行设置,且由于设置温度范围最高为25摄氏度,故在硬件上设计了十位与各位按键。设置按键按下进行设置,清零按键按下将设置的温度重置。对应的代码段如下:/键盘扫描程序 uint key_scan(void) static uint key_up=1;/按键按松开标志if(key_up&(key_shi=0|key_
32、ge=0)delayms(10);/去键盘机械抖动 key_up=0;if(key_shi=0)return 1;else if(key_ge=0)return 2;else if(key_shi=1&key_ge=1)key_up=1; return 0;/ 无按键按下按键扫描程序流程图如图4-4所示。返回值为1十位按下?开始十位或者个位按键按下?延迟去按键抖动按键松开标志 Y Y N NNY返回值为2个位按下?按键松开标志无键按下返回值为0图4-4 按键扫描程序流程图结束 5调试过程及记录5.1调试过程采用Keil uVision4进行程序编写,首先点击Project新建New uVisi
33、on Project,键入文件名保存后,点击atmel选择AT89C51。然后新建text,将程序写在text内并保存后缀为.c。然后将c文件添加进Target中的Source Groupe中,再点击魔术棒选择Output选项卡,勾选Create,,Hex Flie,最后保存编译。双击AT89C51添加生成的HEX,即可运行仿真。传感器温度以手动调节,设置温度低于实际测量温度后观察加热指示灯,加热指示灯点亮。设置温度高于实际测量温度后观察降温指示灯,降温指示灯点亮。并且LED可以显示当前温度和设置温度。超过25摄氏度或低于15摄氏度报警。起初LED显示出现了乱码,经过检查程序与硬件发现程序中写
34、入的是共阴极段码表,后来改成共阳极段码,还遇到问题是小数点不显示,后来修改程序将dip=1改为dip=0后小数点可以正常显示,由此将前面十位个位的标志位改为先赋值1再赋值0,修改后LED终于可以正常显示了。起初报警电路的喇叭,并没有连接非门,在程序中报警时将报警标志beep置1正常时置0。结果出现了正常温度范围报警,非正常范围不报警的错误。试图修改时,将beep报警置0正常置1发现蜂鸣器不响。后来连接非门才解决了问题,实现正常报警。起初在传感器输出信号的放大上出现问题,由于没有理解放大器的正向放大与反相放大,在电阻设置上设置了R2/R1=10。结果在用电压表测量放大器输出时发现电压没有准确放大
35、10倍,查阅资料后进行改正。本系统使用的是正向放大,故R2/R1应为9。改正后可以准确按照10倍放大传感器输出电压了。5.2仿真过程加热过程,设定温度为20摄氏度,实际温度为18度,加热过程仿真图如图5-1所示。图5-1 加热过程仿真图降温过程,设定温度为20摄氏度,实际温度为22摄氏度,降温过程仿真图如图5-2所示。图5-2 降温过程仿真图 实际温度为27摄氏度,超过25摄氏度,报警过程仿真图如图5-3所示。图5-3 报警过程仿真电路心得体会一周时间紧张而有序的课程设计结束了,虽然此次设计的方案并不具有很高的实际应用价值,但是它让我了解到了温度控制系统的基本重要模块的组成。在本次课程设计中,
36、通过查阅资料基本完成了硬件的设计,然后根据硬件电路进行软件设计,基本实现了生物培养液微机温度控制系统的功能要求。在老师的指导和同学们的帮助以及自己的努力下,我顺利完成了这次课程设计,通过这次课程设计,使我对单片机AT89C51的应用、计算机控制技术、传感器技术等等专业知识有了更深刻的了解,学习到了了许多在理论学习过程中不能理解的知识,提高了自己理论联系实际的能力,并且在实际应用理论知识过程中发现了很多问题,最后通过查找资料以及同学之间相互交流解决了问题。为今后在工作中专业知识的应用积累了宝贵的经验,也让更加了解了今后在工作中解决问题的方法。那就是静下心来,先认真把理论知识弄清楚,原理清楚了之后
37、在实际应用中遇到问题也可以很快的想到解决方案。通过本次温度监控系统的设计我了解到了设计系统时的主要方法,这些都是宝贵的经验。设计时可以采取先分后总的方式来设计总电路图。也就是说先根据功能把系统划分为几个独立的模块或者结构,然后再根据各个模块之间的联系性,把它们通过一定的关系综合起来,就得出了一个完整的系统。特别是在设计大型系统的时候就显得特别的重要,有几个或者几十个设计者来合作,为了节省时间,必须同时开始,这就得划分模块分工合作,最终再合起来。“先分后总”这是一种设计方式。另外在本次设计的过程中遇到了使得我重新复习了过去的知识,加深了对知识的了解。过去有些不了解的知识点经过现在的复习,有了更好
38、的理解。总的来说,本次课设让我对单片机程序、单片机应用、传感器、放大器、A/D转换等很多知识有更深一步的认识。 参考文献【1】 于海生 计算机控制技术,机械工业出版社,2007年5月【2】 刘教瑜 曾勇 单片机原理及应用,武汉理工大学出版社,2011年4月【3】 戴卓 传感与检测,武汉理工大学出版社,2003年4月【4】 陈立周 陈宇单片机原理术及应用,机械工业出版社,2007年1月【5】 何立民 单片机应用系统设计,北京航空航天大学出版社,,2000.年附录#include #include #define uchar unsigned char #define uint unsigned
39、intuchar code table=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e;/共阳极段码/ADC0808引脚定义sbit OE=P24;sbit EOC=P25;sbit ST=P26;/LED引脚定义,C1左起第二个数码管sbit C1=P21;sbit C2=P22;sbit C3=P23;sbit dip=P07;/按键sbit key_shi=P35;sbit key_ge=P36;sbit key_clean=P37;sbit led_red=P20;/加热、冷却模块sbit beep=P34;sbit heat=P27;sbit cold=P31;uint KP=10; /PID系数uint KI=0.5;uint KD=3;float PID5=0,0,0,0,0;/Error dError iError prev_Error last_Errorint pwm=0;uint ad,key_ad=0; /ad采样温度,key_ad设定温度uchar m1,m2,m3;/存放各个数位/延时子程序void delayms(uint ms)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论