《课程设计说明书恒温控制电路的设计.doc》由会员分享,可在线阅读,更多相关《课程设计说明书恒温控制电路的设计.doc(9页珍藏版)》请在三一办公上搜索。
1、课程设计说明书 NO.1设计题目:恒温控制电路的设计一.课程设计的目的计算机控制系统课程设计是自动化专业的一个重要实践教学环节。在课程设计过程中,学生通过一个较完整的设计过程,可以加深对本门课程所学理论知识的理解与应用,提高学生对所学理论知识的综合运用能力,使学生对计算机控制系统有一个整体认识,掌握计算机控制系统的设计方法。通过课程设计,还可以培养学生独立工作能力,为将来毕业设计打好基础。二设计方案论证1功能要求设置部分数字键,再设置一个“增1键”和一个“减1键”来实现020恒温值的设定,报警部分直接通过软件比较程序实现,当温度高于设定温度时,可采用自然冷却,当低于设定温度时,使微机发出一个控
2、制命令接通加热电阻加热。2.方案论证 按要求,系统采用1片51单片机、1片A/D转换器ADC0809、键盘和4个共阴极7段LED显示器件。系统框图如图1所示。MCS-51单片机显示设定温度和当前温度加温控制电路A/D测温元件热敏电阻键盘设定温度图1. 恒温控制系统原理图 沈 阳 大 学课程设计说明书 NO.23.硬件电路设计图2数据采集与温度控制4.硬件电路的功能(分模块介绍)(1) 动态显示电路: 假设温度在100 一下,因此可以选择4个共阴极的七段LED,前两个显示设定温度,后两个显示当前温度。单片机与8255A相连,用8255A的A口连接段码,B口连接位码实现动态显示。具体电路如图3所示
3、。单片机与8255A的连接电路略,假设8255A的地址为FFF0H -FFF3H。 沈 阳 大 学课程设计说明书 NO.3PA6PA0PB0PB38255AagagagagX1X2X3X4图3.动态显示电路(2)A/D转换与温度控制电路:图4.ADC0809 沈 阳 大 学课程设计说明书 NO4ADC0809是单片机控制的关键环节,将检测的温度通过ADC0809转换成数字量传给计算机,计算机通过程序对检测到的温度进行控制。数据采集选用A/D转换器0809,程序中循环采集A/D转换值,采集完成由单片机接收采集的数据,经计算分析,确定是否加温,加温有8255A的PC0控制。 从连接电路中可知,08
4、09芯片的地址是7FFFH,0809的控制端CBA与地相连,因此只可采集IN0的信号。采样结束信号EOC与8255的PC7相连,可通过查询测试A/D转换状态。 UNL2803反向驱动电路,A端为0时,A为12V,停止加温;A端为1时,A为0V,开始加温。ADC0809芯片各引脚功能如下: IN0IN7:8路模拟量输入端。 D0D7:8位数字量输出端。 ADDA、ADDB、ADDC:3位地址输入线,用于选通8路模拟输入中的一路 ALE:地址锁存允许信号,输入,高电平有效。 START: AD转换启动脉冲输入端,输入一个正脉冲(至少100ns宽)使其启动(脉冲上升沿使0809复位,下降沿启动A/D
5、转换)。 EOC: AD转换结束信号,输出,当AD转换结束时,此端输出一个高电平(转换期间一直为低电平)。 OE:数据输出允许信号,输入,高电平有效。当AD转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。 CLK:时钟脉冲输入端。要求时钟频率不高于640KHZ。 REF(+)、REF(-):基准电压。 Vcc:电源,单一5V。 GND:地。(3)键盘电路 键盘是用来设置恒温时的温度值,根据要求,可设置两个按键开关,K1用于增加设定值,K2用于减小设定值,两个开复安分别接在两个外部中断请求端INT0和INT1上,每按一次开关,温度值变化一次,开关电路如图5所示。由于外部中断是低电
6、平或低脉冲出发,故连接时将K端与中断请求端相连。 沈 阳 大 学课程设计说明书 NO.5 图5.按键电路5. 程序设计系统程序分为主程序、数据转换与控制子程序和中断服务程序。(1)主程序: 完成系统的8255初始化、启动A/D转换并采集数据、循环显示设定温度和采集温度。程序流程如果6所示。 沈 阳 大 学课程设计说明书 NO.6图6.主程序流程图(2)数据转换与控制子程序:从A/D转换器接收的数据经计算得到Rt,经查表形成温度值,存入相应单元,并比较设定值与实际温度,控制加热电路。子程序流程图如下图7所示。图7.数据转换与控制子程序流程图(3)中断服务程序 中断服务程序由两个外部中断服务程序组
7、成,其中一个完成设定温度加1,另一个完成设定温度减1。6.程序清单#include#include#include#define uchar unsigned char#define uint unsigned int 沈 阳 大 学课程设计说明书 NO.7/定义09的共阴极显示代码Code unchar Table10=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f; /定义热敏电阻值与温度关系表(表为2039电阻值,温度间隔为1)code unit wd20=0x30CC,0x2EA6,0x2C9C,0x2AAB,0x2802,0x271
8、0,0x2564,0x23CC,0x2248,0x20D6,0x1F76,0x1E26,0x1CE7,0x1BB6,0x1A93,0x197D,0x1874,0x1778,0x1687,0x15A0;uint wd_s,wd_c /分别存放设定温度和当前温度unit x; /定义变量存放采样值/数据转换与控制子程序void change()unit rt,I;rt=510*(256-x)/x; /计算Rtfor(i=1;i=wdi) break; wd_c=20+i; /保存温度 if (wd_cwd_s) /当前温度大于设定温度时,停止加热 XBYTE0XFFF2=0; /0号中断服务程序
9、void int0_fun(void) interrupt 0wd_s+; /1号中断服务程序void int0_fun(void) interrupt 1wd_s-;/主程序main()unchar m4; /存放温度各位数unchar com=0xfe; /显示位码 沈 阳 大 学课程设计说明书 NO.8unchar i; /定义循环变量IE=0x85; /中断初始化IT0=1;IT1=1;XBYTE0x7FFF3=00X88; /8255A初始化while(1) XBYTE0x7FFF=0; /启动转换 if (XBYTE0x7FFF2&0x80=0); x=XBYTE0x7FFF;ch
10、ange() m0=wd_s/10; /形成设定温度的十位和个位m1=wd_s%10;m2=wd_c/10; /形成当前温度的十位和个位m3=wd_c%10;/显示温度for (i=0;i4;i+)XBYTE0xFFF1=0xff;XBYTE0xFFF0=tablemi;XBYTE0xFFF1=com;com=_crol_(com,1);3设计结果与分析本次实验采用了C语言编程方式,实现了温度的测量与控制,完全达到了本次实验的要求,该实验的测量误差小于1度,控制精度小于0.45度,已基本实现本实验扩展部分的要求。实现简单,成本低。综上所示,本系统的方案具有实用推广价值。本系统通过添加一个传感器
11、,还有一个12V供电的加热片,使系统能够实时显示温度和快速加热。但设计方案不是最佳,调节时间较长。如果需要更高的控制精度,则我们的模糊控制将不适应,需要修改程序。 沈 阳 大 学课程设计说明书 NO.9四.设计体会此单片机恒温控制系统基本上满足了温度控制的要求,具有超调量小,振荡幅度小,设定值可以随时用按键人为设定等优点,使采样温度较准确的反映了实际温度。经过几天的忙碌,终于完成了课程设计,在这个过程中,虽然遇到了很多困难,但是,通过老师的指导和同学的互相交流,最后克服了一个又一个难题。通过几天的忙碌,完成的是一份课程设计,学到的却不只这些。经历了这个过程,我把学到的知识重新温故了一次,把学到的知识联系到了一起。同时,我深刻地感受到:做任何事情都要有认真严谨的态度,都要有团体合作的精神。这些道理让我终生受益。五.参考文献1范立南单片机原理及应用教程M. 北京: 北京大学出版社, 2006.1:240-2602何立民单片机应用技术选编M北京:北京航空航天大学出版社,1995.6:210-2403李群芳编著单片微型计算机实用系统设计M北京:电子工业出版社,2005.4:130-0604戴梅萼微型计算机技术及应用M. 北京: 清华北京大学出版社,1999.1:240-2605潘新民单片微型计算机系统M北京:电子工业出版社,2003.5:120-140 沈 阳 大 学