版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、题 目: 畜舍通风换气风机自动控制设计 学生姓名: 刘桂奇 学 号: 200817010121 专业班级: 计算机科学与技术08101班 同组姓名: 王国策 指导教师: 杨红杰 设计时间:目录一、设计前言 . 21.1设计目的意义 . 21.2设计任务 . 21.3设计要求 . 2二、总体设计 . 22.1温度数据采集模块. 32.2 温度转换及显示模块 . 32.3 LED显示控制模块. 42.4蜂鸣器控制模块 . 42.5直流电机控制模块. 4三、课程设计过程 . 53.1硬件设计 . 53.2软件设计 . 5四、系统测试 . 64.1系统调试 . 64.2过程调试 . 6五、程序代码清单
2、 . 7六、课程设计总结 . 151一、设计前言1.1设计目的意义随着智能畜禽农业规模的不断扩大,环境的好坏对农业产品健康的影响逐步地体现出来,只有创造一个空气新鲜,温、湿度适宜,干暖舒适的环境条件,才能让农业产品更好的生长,保持旺盛,发病率降低,获得较高的增长速度和转换率,创造较高的经济效益。因此,调控好室内空气、湿度和温度等环境,是农业产品管理的最根本问题 。1.2设计任务通过A/D采集并存储蓄舍温度,根据蓄舍温度要求,通过D/A输出控制信号,控制风机的转速及风机的启动、停止,实现蓄舍温度及空气的自动调节。1.3设计要求(1)当 温度18,风机不转动,并且四个红灯闪烁。(2)当18 温度
3、20,启动风机低速转动。(3)当20 温度 25,启动风机中速转动。(4)当25 温度 30,启动风机高速转动。(5)当温度超过30,红色发光二极管全亮、喇叭连续发声报警。(6)用直流电机带动风机,计算机输出的数字量经D/A转换后变为高、中、低三种电压,控制直流风机的三种转速。二、总体设计使用可编程并行接口8255对实验箱上的温度检测芯片DS18B20进行控制和数据传输,编写程序对数据进行读取并转换为相应的BCD码,判断从外界采集的温度并根据此温度与所在的不同区间的温度来调用的相应的子程序,并利用DA0832进行数模转换来控制风机的转动。利用8255PA端口控制LED灯的显示、2PC端口(C1
4、)进行蜂鸣器的控制,并提取温度转换为非压缩的BCD码,显示到八段数码管上。该设计主要分为以下几个主要功能模块:2.1温度数据采集模块本模块利用实验箱自带的数字温度计DS18B20测量温度,程序通过可编程并行接口8255的PC0口对DS18B20写读写命令,并将读到的温度数据从PC0口按位读取出来,存放在AX寄存器内。2.2 温度转换及显示模块本模块将数据采集模块得到的温度数值首先转换为BCD码,提取温度数据,转换为非压缩型BCD码。具体转换过程可参考附录II的核心代码的BCD转换部分。转换完后调用Display8在八段数码管上显示温度。32.3 LED显示控制模块根据此次课程设计的目的与要求,
5、当温度超过30时,红色发光二极管闪烁。 用8255的PA端口来控制红灯亮,中间再调用一个延时,可以从视觉上 看出红灯闪烁。具体过程可参考附录中的程度代码。2.4蜂鸣器控制模块根据此次课程设计的目的与要求,当温度值大于30时,要控制蜂鸣器做出报警。本程序是利用8255PC端口(PC1)来控制蜂鸣器发出报警声音。2.5直流电机控制模块根据此次课程设计的目的与要求,当温度超过20小于25时,要控制风机低速转动。当温度超过25小于30时,要控制风机中速转动,当温度超过30时,要控制风机高速转动。设计中通过不同区间数据的比较,给低、中、高三种不同的转速赋予不同的电压值传送给DA0832,利用DA0832
6、控制直流电机转动,由于输出高电平功率较小,导致无法自动驱动电机转动,所以在输出之后接试验箱的功放模块,放大功率后,输出高电平可自动驱动直流电机转动。4三、课程设计过程3.1硬件设计表1 硬件连线3.2软件设计软件部分利用实验箱为运行平台,运用汇编指令编写。控制程序主要包括温5度数据采集模块、温度转换及显示模块、LED显示控制模块、蜂鸣器控制模块、风机控制模块等。初始化程序包含:8255初始化程序、18B20初始化子程序。四、系统测试4.1系统调试按照硬件连线连接电路,为方便调试,将程序内的温度区间作了调整。将原来设计要求里的<=10暂时设定为18到20,10到30设定为25到30。系统启
7、动后,温度传感器得到当前室温,但是温度过低。之后给温度采集模块的Ctrl引脚一定的电压,手动升温,当温度到20不超过25风机开始低速转动,当温度到了25但不超过30时,风机开始中速转动,当温度超过30时,此时蜂鸣器开始发出报警声,红色发光二极管开始闪烁,表示温度过高。4.2过程调试在调试过程中,虽然遇到了很多的问题,程序代码有错误,线路连接的不恰当等,通过老师和同学的帮助,出通过查一些资料,最终解决了这些问题。完成了设计。设计中,当温度低于20或者温度大于40时,需要控制蜂鸣器报警,设计初期想利用可编程并行接口8255的PC1口输出低电平控制蜂鸣器,但是调试过程中发现,由于程序运行过程中需要对
8、8255不断的进行初始化操作,导致PC1口的电平不稳定,使蜂鸣器不能很好的控制,通过查资料,修改设计,利用PC1、PC2 、PC3输出高电平,接74LS138译码器控制蜂鸣器报警,这样就能很好的解决该问题。调试中,由于室内的温度过低,在要求的温度范围内带动风机不能转动,所以决定加上一定的电压使采集的温度不至少于太低,经过调试后,由于输出的功率不高,带动风机转动不明显,所以在DA0832的输出端口OUT端连上了功放电6路,这时当温度在某个区间时,风机就可以明显地看出转速的快慢。由此解决了电机的控制问题。设计中,利用可编程并行接口8255的PA口控制发光管。当需要某一颜色的发光管常亮时,其他的发光
9、管需要处于熄灭状态,但通过调试发现,实际运行过程中,当某一颜色的发光管常亮时,其他发光管长时间处于熄灭状态,但还会出现一个短暂的点亮的过程,导致其他发光管出现闪烁,后来经过请教老师得知,由于程序运行过程中需要对8255不断的进行初始化操作,每次初始化,8255的PA口会输出高电平,导致某些发光管出现短暂的闪烁,解决方法是可以使用另外一个可编程并行接口8255,用这个8255的PA口来控制发光管,程序运行过程不会多次对这个8255初始化,所以不会再出现上一个问题。经过测试,这样做可以解决该问题。五、程序代码清单.MODEL TINY;连线;8255 CS->CS1; A0->A0;
10、A1->A1CON_8255 EQU 0F003HPC_8255 EQU 0F002HPB_8255 EQU 0F001HPA_8255 EQU 0F000HDA0832 EQU 0D000HEXTRN DISPLAY8:NEAR.STACK 300.DATAVOLTAGE DB 0BUFFER DB 8 DUP(0) ;温度临时存放区7.CODESTART: MOV AX,DATAMOV DS,AXMOV ES,AXNOPCALL INIT8255MAIN: CALL START_TEMPERATURE ;向DS18B20发送读温度指令JB MAINCALL DELAYTIMECALL
11、 RD_TEMPERATURE ;读出温度值,并转换为BCD码CALL TEMPERATURE_CASECALL DELAYTIMECALL DAC0832CALL DIS_BCD ;提取温度数据,转换为非压缩型BCD码,并显示JMP MAIN;判断温度控制电机速度TEMPERATURE_CASE PROC NEARPUSH AXMOV DX,PC_8255 ;蜂鸣器不响MOV AL,03HOUT DX,ALMOV BX,AXCMP BX,0120H ;18JB CASE1CMP BX,0140H ;20JB CASE2CMP BX,0190H ;25JB CASE3CMP BX,01E0H
12、;30JB CASE4MOV DX,PC_8255 ;超过30时,驱动蜂鸣器响MOV AL,02HOUT DX,AL8JMP CASE5RETURN: POP AXRETCASE1: MOV VOLTAGE,0FHJMP RETURNCASE2: MOV VOLTAGE,0FHJMP RETURNCASE3: MOV VOLTAGE,20H ;2025间风机开始低速转动JMP RETURNCASE4: MOV VOLTAGE,55H ;2530间风机中速转动 JMP RETURNcase5:MOV DX,PA_8255 ;超过30时风机高速转动,此时红灯闪烁MOV AL,0CCHOUT DX,
13、ALCALL DELAYTIMEMOV DX,PA_8255MOV AL,00HOUT DX,ALMOV VOLTAGE,99HJMP RETURNTEMPERATURE_CASE ENDPDAC0832 PROC NEARPUSH AXMOV DX,DA0832MOV AL,VOLTAGEOUT DX,ALPOP AXRETDAC0832 ENDP9;*;温度转换/显示;*DIS_BCD PROC NEARMOV BX,AXLEA DI,BUFFER+7STDMOV AL,10H ;10H表示不需要显示 STOSBSTOSBSTOSBSTOSBTESTJNZSTOSBJMPDIS_BCD1:
14、 MOVSTOSBNEGDIS_BCD2:SHLSHLSHLSHLMOVXCHGDIVCMPJNZ处理MOVXCHGSTOSBJMPDIS_BCD3: STOSBDIS_BCD4: MOVORSTOSBXORTESTJZMOVDIS_BCD5: TESTAH,08H DIS_BCD1 ;正数 DIS_BCD2 AL,11H ;负数 BX ;将温度整数位转换为ASCI BX,1 ;将温度的个位与十位合在BH中 BX,1 BX,1 BX,1 AX,10 AL,BH BH AL,0 DIS_BCD3 ;判断温度的十位是否为0进行相应 AL,10H ;十位为0 AL,DI+1 DIS_BCD4 AL,
15、AH AL,80H ;小数点 AL,AL ;转换小数部分 BL,10H DIS_BCD5 AL,6 BL,20H 10JZ DIS_BCD6 ADD AL,12H DAADIS_BCD6: TEST BL,40H JZ DIS_BCD7 ADD AL,25H DAADIS_BCD7: TEST BL,80H JZ DIS_BCD8 ADDDAADIS_BCD8: MOVRORANDSTOSBCLDLEACALLRETDIS_BCD ENDP;延时程序DELAYTIME PROCXORLOOPLOOPLOOPRETDELAYTIME ENDP;写 0W_L PROCPUSHMOVMOVOUTPO
16、PRETW_L ENDP;写 1W_H PROCPUSHMOVAL,50H CL,4 AL,CL AL,0FH SI,BUFFER ;显示温度DISPLAY8 NEAR CX,CX $ $ $ NEAR AX DX,CON_8255 AL,80H DX,AL AX NEAR AX DX,CON_8255 11MOV AL,01HOUT DX,ALPOP AXRETW_H ENDP;DS18B20复位初始化子程序INIT_18B20 PROC NEARCALL W_L ;主机发出501us复位低脉冲 MOV CX,136LOOP $MOV DX,CON_8255MOV AX,89HOUT DX,
17、AL ;PC输入状态DEC DXMOV CX,15INIT_18B20_1: IN AL,DXTEST AL,01HJZ INIT_18B20_2LOOP INIT_18B20_1STC ;置位标志位,表示DS18B20不存在 RETINIT_18B20_2: MOV CX,136LOOP $CLC ;复位标志位,表示DS18B20存在 RETINIT_18B20 ENDP;写操作WRITE_18B20 PROC NEARMOV CX,8 ;一共8位数据WRI: CALL W_L ;0->PC0ROR AL,1JNB WRI1CALL W_HWRI2: PUSH CXMOV CX,12L
18、OOP $ ;延时55usPOP CXCALL W_HLOOP WRIRETWRI1: PUSH CXPOP CX12JMP WRI2WRITE_18B20 ENDP;读操作READ_18B20 PROC NEARMOV CX,8 ;数据一共有8位 READ: MOV DX,CON_8255MOV AL,80HOUT DX,AL ;0->PC0MOV AL,89HOUT DX,AL ;输入状态NOPNOPNOPMOV DX,PC_8255IN AL,DXROR AL,1RCR BL,1MOV DX,CON_8255MOV AL,80HOUT DX,ALMOV AL,01HOUT DX,AL ;1->PC0LOOP READMOV AL,BLRETREAD_18B20 ENDP;*; 判断DS18B20是否存在,启动DS18B20 ;CY为判断标志 ;*START_TEMPERATURE:CALL INIT_18B20 ;先复位DS18B20 JB GET_TMOV AL,0CCH ;跳过ROM匹配 CALL WRITE_18B20MOV AL
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 保安培训教案
- 食品安全专业知识
- 服装批发市场房产转让协议模板
- 流行病怎预防
- 玩具公司法务聘用合同
- 挖掘机港口物流协议
- 酒店总经理任职合同及条款
- 私人影棚建造合同
- 矿山安全清罐施工协议
- 糖尿病分娩护理
- 中国航空协会:2024低空经济场景白皮书
- 2025年公务员考试时政专项测验100题及答案
- 部编版二年级上册-课文一-快乐读书吧:读读童话故事-孤独的小螃蟹(课件)(共26张课件)
- 人教版(2024)七年级地理上册3.2《世界的地形》精美课件
- 中国保险行业协会官方-2023年度商业健康保险经营数据分析报告-2024年3月
- TfS:化工行业产品碳足迹指南
- GB/T 32722-2016土壤质量土壤样品长期和短期保存指南
- GB/T 31326-2014植物饮料
- 2020湖南湖南省建筑施工开工安全生产条件承诺书
- 先进先出(FIFO)
- 2020年四年级上册语文素材-全册课文梳理(1-27课)-人教(部编版)全册可修改打印
评论
0/150
提交评论