您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 其它相关文档 > 【单片机课程设计】基于MCS51单片机的直冷式电冰箱的控制
2009/2010学年度第一学期计算机控制技术(MCS51单片机)课程设计报告书题目:直冷式电冰箱的控制班级:姓名:学号:指导教师:日期:目录1.课程设计目的…………………………………………………………………………………12.课程设计题目和要求…………………………………………………………………………13.设计内容………………………………………………………………………………………14设计总结………………………………………………………………………………………14参考书目…………………………………………………………………………………………14附录………………………………………………………………………………………………151课程设计目的1.1以MCS51单片机为主完成计算机控制技术(单片机)课程设计,掌握此次课程设计所用知识。1.2理解课程设计使用原理,使此次设计的程序及电路能够正常使用。2直冷式电冰箱的控制要求2.1课程设计的要求2.1.1设定2个测温点,测量范围:-26C~+26C,精度±0.5C;2.1.2利用功能键分别控制温度设定、冷藏室及冷冻室温度设定等;2.1.3制冷压缩机停机后自动延时3分钟后方能再启动;3电冰箱控制系统硬件电路3.1硬件设计3.1系统硬件结构图3.1.1单片机采用INTEL公司的高效微控制器MCS51。是一个低功耗,高性能CMOS8位单片机,片内含4kBytesISP的可反复擦写1000次的Flash只读程序存储器,芯片内集成了通用8位中央处理器和ISPFlash存储单元,功能强大的微型计算机的AT89C51可为许多嵌入式控制应用系统提供高性价比的解决方案。INTEL公司的AT89C51芯片具有以下特性:○14KB片内在系统可编程Flash程序存储器;○2时钟频率为0~33MHz;○3128字节片内随机读写存储器(RAM);○432个可编程输入/LED显示器键盘时钟电路复位电源MCS51单片机功放压缩机加热丝A/D转换器放大器锁存器放大器放大器冷冻室温度传感器冷藏室温度传感器除霜传感器输出引脚;○52个16位定时/计数器;○65个中断源,2级优先级;○7全双工串行通信接口;○8监视定时器;○92个数据指针。图3.2MCS51内部结构图23.1.2电源供电电路本设计总电源是有效值220V,频率50Hz的单相交流电网电压,通过变压器降压输出一组9V和一组24V低压交流电,然后再经过整流桥1D和2D整流输出直流电压。前者提供给数字电路部分,后者为模拟电路部分提供电能。为了得到标准的±12V,±5V,+5V直流电,故选用三端稳压器7912,7812,7905和7805作为稳压元件,使输出直流电压基本不受电网电压波动和负载电阻变化的影响,从而输出得到足够高稳定性的直流电源。图3.3数字电路供电图图3.4模拟电路供电图3.1.3温度测量电路如图3.5所示,温度传感器选用了MF53-1型热敏电阻,具有负温度系数,灵敏度较高。其阻值和温度的关系为:R(t)=286/(26.8+t)-2.68kΩ利用温度传感器可以很容易测得冷藏室温度和冷冻室温度。3图3.5温度测量电路43.1.4键盘与显示电路从图3.7中可以看出,键盘电路和LED显示电路由串行口扩展5片74LS164实现。系统采用了6个功能键控制冷冻室、冷藏室及速冻时间设定,4个LED数码管用于显示冷冻室、冷藏室温度及压缩机启、停和故障等状态。图3.7键盘与显示电路3.2软件设计3.2.1主程序主程序是整个电冰箱的总控制程序,如控制各单元初始化、控制中断、定时、显示、键盘程序的启动与重复等。为系统软件的主干部分。5开始设堆栈指针工作区清零设置定时器工作方式设置串口工作方式0启动定时器开中断调显示子程序调键盘分析程序速冻键温度设置键增加键减少键冷冻室温显键冷藏室温显键正常工作键依标志调相应显示子程序清速冻标志减一处理置冷冻室显示标志置冷藏室显示标志加一处理置速冻标志YYYYYYYNNNNNNNY图3.8主程序流程图3.2.2初始化子程序初始化模块主要完成初始化I/O口、中断、内存单元,并读出存放在闪烁存储器上的温度设定值。温度设定值存放在闪烁存储器上即使断电也可保存。3.2.3键盘扫描子程序扫描程序采用边延时边扫描的方法,当设置键SET_KEY按下一次,指示灯L1亮,按ADD(+)键和SUB(-)键设置冷藏室温度。当设置键SET_KEY按下二次,指示灯L2亮,L1灭,按ADD(+)键和SUB(-)键设置冷冻室温度。当设置键SET_KEY按下三次,设置完成,指示灯L1,L2均灭。如果3S内无键按下,表示误按或用户放弃设置。退出扫描。4设计总结本系统实现测控一体化、体积小、精度高、使用方便,报警界限值可以由用户根据需要随时进行调整,具有很高的性能/价格比。系统的使用者来说,能够很稳定的控制温度而且稳定性很高。能实现电冰箱温度的自动控制。在系统的设计过程中,应用了多门学科的知识,使我对各学科有了更深入的理解,加强了知识的灵活应用。同时学会了一个完整系统设计的步骤和方案的选择,以及获取资料的方法,最重要的是设计过程中的团队合作,这些都为我以后工作实践打下了良好基础。参考书目:参考书目:1张旭涛曾现峰单片机原理及应用北京:北京理工出版社,20102邹振春MCS-51系列单片机原理及接口技术机械工业出版社,19953房小翠单片机实用系统设计技术[M].北京:国防工业出版社,19994李广第单片机基础[M].(修定本)北京:北京航空航天大学出版社,20005舒怀林单片机原理与接口技术[M].武汉:华中科技大学出版社,20016郭维芹实用模拟电子技术.北京:电子工业出版社,1999主程序ORG0000HAJMPMAINORG0003HLJMPDY_INT6ORG000BLJMPTIME0_INTORG0030HDATAEQUP1.0V1EQUP1.3V2EQUP1.4V3EQUP1.5SET_KEYEQUP1.5V3EQUP1.5V3EQUP1.5SET_KEYEQUP1.5ADD_KEYEQUP1.6SUB_KEYEQUP1.7L1EQUP0.6L2EQUP0.7L3EQUP2.5L4EQUP2.6MAIN:CLRASTART:LCALLINIT1;初始化LCALLKEY;键盘扫描LCALLGETWD;获得冷藏室温度MOV62H,R0INCDATALCALLGETWD;获得冷冻室温度MOV63H,R0DECDATAMOVR3,62H;显示两室温度值MOVR4,63HLCALLDISPMOVA,60HCLRCHIGH:CJNEA,62H,HIGH1;冷藏室温度等于高于设定值时7AJMPHIGH2HIGH1:JCHIGH3HIGH2:SETBV1;开启压缩机LCALLOPENAJMPLOWHIGH3:MOVA,61HCLRCCJNEA,63H,HIGH4;冷冻室温度等于高于设定值时AJMPHIGH5HIGH4:JCLOWHIGH5:SETBV2;开启压缩机LCALLOPENLOW:MOVA,61HCLRCCJNEA,63H,LOW1;冷冻室温度等于低于最低值时AJMPLOW2LOW1:JNCLOW3LOW2:CLRV2;关闭压缩机LCALLCLOSEAJMPLSLOW3:MOVA,60HCLRCCJNEA,62H,LOW4;冷冻室温度等于低于最低值时AJMPLOW5LOW4:JNCLSLOW5:CLRV1;关闭压缩机LCALLCLOSELS:MOVR1,#10H;延时1SLS1:LCALLDLY_100MSDJNZR1,LS1INC65H;化霜时间计数加1MOVA,65H8CJNEA,#00H,LS2INC66HLS2:MOVA,65HCJNEA,#08H,LOOPMOVA,66HCJNEA,#07H,LOOPJBV1,LOOP;化霜定时时间到且V1,V2均关闭JBV2,LOOPSETBV3;打开V3开始化霜MOVR0,#50;化霜时间5SLS3:LCALLDLY_100MSDJNZR0,LS3LOOP:AJMPSTARTEND初始化子程序9INTI1:CLRAMOVDPTR,#20H;读取冷藏室温度设定值MOVCA,@DPTRLCALLDLY_100MS;延时确保数据读完MOV60H,AINCDPTR;读取冷藏室温度设定值MOVCA,@DPTRLCALLDLY_100MS;延时确保数据读完MOV61H,AMOV64H,#00H;清空各状态位SETBEX0;允许外部中断0中断SETBIT0;选择边沿触发方式SETBEA;CPU开中断RET键盘扫描子程序10KEY:CLRA;键盘扫描子程序MOVR0,#00HSTART:MOVR4,#1EH;边延时边扫描3SLOOP:LCALLDLY_100MSJNBSETB_KEY,SETJNBADD-KEY,ADDJNBSUB_KEY,SUBDJNZR4,LOOPAJMPEXIT;3S内没有键按下结束扫描SET:CJNER0,#03H,SET1;设置键按下三次,设置完成CLRL1CLRL2AJMPEXITSET1:INCR0CJNER0,#01H,SET2;设置键按下一次SETBL1AJMPSTARTSET2:CLRL1;设置键按下二次SETBL2AJMPSTART;加键按下ADD:CJNER0,#01H,ADD1;冷藏室温度为正时加1MOVA,60HJBACC.7,ADD_1INCAMOV60H,AAJMPDSPADD_1:CLRACC.7;冷藏室温度为负时加1DECASETBACC.7MOV60H,AAJMPDSPADD1:CJNER0,#02H,START11MOVA,61H;冷冻室温度为正时加1JBACC.7,ADD1_1INCAMOV61H,AAJMPDSPADD1_1:CLRACC.7;冷冻室温度为负时加1DECASETBACC.7MOV61H,AAJMPDSP;减键按下SUB:CJNER0,#01H,SUB1;冷藏室温度为正时减1MOVA,60HJBACC.7,SUN_1DECAMOV60H,AAJMPDSPSUB_1:CLRACC.7;冷藏室温度为负时减1INCASETBACC.7MOV60H,AAJMPDSPSUB1:CJNER0,#02H,STARTCLRACC.7;冷冻室温度为正时减1JBACC.7,SUB1_1DECAMOV61H,AAJMPDSPSUB1_1:CLRACC.7;冷冻室温度为负时减1INCASETBACC.7MOV61H,AAJMPDSP12DSP:MOVDPTR,#20H;将设定值存放在闪烁存储器上MOVA,62HMOVC@DPTR,ALCALLDLY_100MSINCDPTRMOVA,63HMOVC@DPTR,ALCALLDLY_100MSMOVR3,60H;显示设定值MOVR4,61HLCALLDISPAJMPSTARTEXIT:RETOPEN:CLRA;延时子程序DLY_100MS:MOVR1,#64HLOOP1:MOVR2,#7DHLOOP2:NOPDJNZR2,LOOP213DJNZR1,LOOP1RET14112233445566DDCCBBAATitleNumberRevisionSizeBDate:2006-6-11SheetofFile:D:\爱云\aiyun\AIYUN.SCHDOCDrawnBy:74LS164ABQ0Q7~LED474LS164ABQ0Q7~LED374LS164ABQ0Q7~LED274LS164ABQ0Q7~LED12XIN4001CPCPCPCP74LS164ABQ0Q7~CP5.1K+5ABC+5VCCVREF+10KIN0冷冻室测温冷藏室测温10KIN11321LM3241321LM32410K20K10K2.68K热敏电阻10KIN2除霜测温1321LM32410KIN310K+5V1K0.1uF100K68KW1~220VIN4IN5IN6IN7GNDVREF-1D2D3D1Q2Q3QALESTARTOE231123231WRP1.6
本文标题:【单片机课程设计】基于MCS51单片机的直冷式电冰箱的控制
链接地址:https://www.777doc.com/doc-2821237 .html