版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、微机原理课程设计报告题 目: 畜舍通风换气风机自动控制设计 学生姓名: 刘桂奇 学 号: 200817010121 专业班级: 计算机科学与技术08101班 同组姓名: 王国策 指导教师: 杨红杰 设计时间: 2011年上学期第19周 指导老师意见:评定成绩: 签名: 日期: 年 月 日 15目录一、设计前言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六、课程设计总结15一、设计前言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灯的显示、pc端口
4、(c1)进行蜂鸣器的控制,并提取温度转换为非压缩的bcd码,显示到八段数码管上。该设计主要分为以下几个主要功能模块:2.1温度数据采集模块本模块利用实验箱自带的数字温度计ds18b20测量温度,程序通过可编程并行接口8255的pc0口对ds18b20写读写命令,并将读到的温度数据从pc0口按位读取出来,存放在ax寄存器内。2.2 温度转换及显示模块本模块将数据采集模块得到的温度数值首先转换为bcd码,提取温度数据,转换为非压缩型bcd码。具体转换过程可参考附录ii的核心代码的bcd转换部分。转换完后调用display8在八段数码管上显示温度。2.3 led显示控制模块根据此次课程设计的目的与要
5、求,当温度超过30时,红色发光二极管闪烁。用8255的pa端口来控制红灯亮,中间再调用一个延时,可以从视觉上看出红灯闪烁。具体过程可参考附录中的程度代码。2.4蜂鸣器控制模块根据此次课程设计的目的与要求,当温度值大于30时,要控制蜂鸣器做出报警。本程序是利用8255pc端口(pc1)来控制蜂鸣器发出报警声音。2.5直流电机控制模块根据此次课程设计的目的与要求,当温度超过20小于25时,要控制风机低速转动。当温度超过25小于30时,要控制风机中速转动,当温度超过30时,要控制风机高速转动。设计中通过不同区间数据的比较,给低、中、高三种不同的转速赋予不同的电压值传送给da0832,利用da0832
6、控制直流电机转动,由于输出高电平功率较小,导致无法自动驱动电机转动,所以在输出之后接试验箱的功放模块,放大功率后,输出高电平可自动驱动直流电机转动。三、课程设计过程3.1硬件设计3.1.1硬件电路连线表1 硬件连线e5:b、c-g5: b、ca3:cs1-b4:csa3:cs2-b4:csa3:cs5-e5:csa3:a0-e5:a0a3:a1、a0-b4:a1、a0g1:tout-b4:pc0g6:发光二极管-b4:jp56b2:2m-g1:tctrle2:in1-b3:oute2:out1-f1:ctrlb4:pc1-d1:ctrl3.2软件设计软件部分利用实验箱为运行平台,运用汇编指令编
7、写。控制程序主要包括温度数据采集模块、温度转换及显示模块、led显示控制模块、蜂鸣器控制模块、风机控制模块等。初始化程序包含:8255初始化程序、18b20初始化子程序。四、系统测试4.1系统调试按照硬件连线连接电路,为方便调试,将程序内的温度区间作了调整。将原来设计要求里的cs1;8255.pc.0-18b20.tout;a0-a0;a1-a1;18b2018b20.tout-8255.pc.7 con_8255 equ 0f003h pc_8255 equ 0f002h pb_8255 equ 0f001h pa_8255 equ 0f000h da0832 equ 0d000h extr
8、n display8:near.stack 300.data voltage db 0 buffer db 8 dup(0) ;温度临时存放区.code start: mov ax,data mov ds,ax mov es,ax nop call init8255 main: call start_temperature ;向ds18b20发送读温度指令 jb main call delaytime call rd_temperature ;读出温度值,并转换为bcd码 calltemperature_case call delaytime call dac0832 call dis_bcd
9、 ;提取温度数据,转换为非压缩型bcd码,并显示 jmp main;判断温度控制电机速度 temperature_case procnear pushax;写1(8255.pc.1=1) movdx,pc_8255 ;蜂鸣器不响 moval,03h outdx,al mov bx,ax cmpbx,0120h;18 jbcase1 cmpbx,0140h;20 jbcase2 cmpbx,0190h;25 jbcase3 cmpbx,01e0h;30 jbcase4 ;写0(8255.pc.1=0) movdx,pc_8255;超过30时,驱动蜂鸣器响 moval,02h outdx,al j
10、mp case5 return:popax ret case1: movvoltage,0fh jmpreturn case2: movvoltage,0fh jmpreturn case3: movvoltage,20h ;2025间风机开始低速转动 jmpreturn case4: movvoltage,55h ;2530间风机中速转动 jmpreturn case5: mov dx,pa_8255 ;超过30时风机高速转动,此时红灯闪烁 mov al,0cch out dx,al call delaytime mov dx,pa_8255 mov al,00h out dx,al mov
11、voltage,99h jmpreturn temperature_caseendp dac0832 proc near push ax mov dx,da0832 mov al,voltage out dx,al pop ax ret dac0832 endp;*;温度转换/显示;* dis_bcd proc near mov bx,ax lea di,buffer+7 std mov al,10h ;10h表示不需要显示 stosb stosb stosb stosb test ah,08h jnz dis_bcd1 stosb ;正数 jmp dis_bcd2 dis_bcd1: mov
12、 al,11h stosb ;负数 neg bx dis_bcd2: ;将温度整数位转换为asci shl bx,1 ;将温度的个位与十位合在bh中 shl bx,1 shl bx,1 shl bx,1 mov ax,10 xchg al,bh div bh cmp al,0 jnz dis_bcd3 ;判断温度的十位是否为0进行相应处理 mov al,10h ;十位为0 xchg al,di+1 stosb jmp dis_bcd4 dis_bcd3: stosb dis_bcd4: mov al,ah or al,80h ;小数点 stosb xor al,al ;转换小数部分 test
13、bl,10h jz dis_bcd5 mov al,6 dis_bcd5: test bl,20h jz dis_bcd6 add al,12h daa dis_bcd6: test bl,40h jz dis_bcd7 add al,25h daa dis_bcd7: test bl,80h jz dis_bcd8 add al,50h daa dis_bcd8: mov cl,4 ror al,cl and al,0fh stosb cld lea si,buffer ;显示温度 call display8 ret dis_bcd endp;延时程序 delaytime proc near
14、 xor cx,cx loop $ loop $ loop $ ret delaytime endp ;写 0 w_l proc near push ax mov dx,con_8255 mov al,80h out dx,al pop ax ret w_l endp;写 1 w_h proc near push ax mov dx,con_8255 mov al,01h out dx,al pop ax ret w_h endp;ds18b20复位初始化子程序 init_18b20 proc near call w_l ;主机发出501us复位低脉冲 mov cx,136 loop $ mo
15、v dx,con_8255 mov ax,89h out dx,al ;pc输入状态 dec dx mov cx,15 init_18b20_1: in al,dx test al,01h jz init_18b20_2 loop init_18b20_1 stc ;置位标志位,表示ds18b20不存在 ret init_18b20_2: mov cx,136 loop $ clc ;复位标志位,表示ds18b20存在 ret init_18b20 endp;写操作 write_18b20 proc near mov cx,8 ;一共8位数据 wri: call w_l ;0-pc0 ror
16、al,1 jnb wri1 call w_h wri2: push cx mov cx,12 loop $ ;延时55us pop cx call w_h loop wri ret wri1: push cx pop cx jmp wri2 write_18b20 endp;读操作 read_18b20 proc near mov cx,8 ;数据一共有8位 read: mov dx,con_8255 mov al,80h out dx,al ;0-pc0 mov al,89h out dx,al ;输入状态 nop nop nop mov dx,pc_8255 in al,dx ror al
17、,1 rcr bl,1 mov dx,con_8255 mov al,80h out dx,al mov al,01h out dx,al ;1-pc0 loop read mov al,bl ret read_18b20 endp;*; 判断ds18b20是否存在,启动ds18b20 ;cy为判断标志;* start_temperature: call init_18b20 ;先复位ds18b20 jb get_t mov al,0cch ;跳过rom匹配 call write_18b20 mov al,44h ;发出温度转换命令 call write_18b20 clc get_t: ret;*; 读出转换后的温度值,存在ax;* rd_temperature: call init_18b20 ;准备读温度前先复位 mov al,0cch ;跳过rom匹配 call write_18b20 mov al,0beh ;发出读温度命令 call write_18b20 call read_18b20 ;读出温度 mov ah,al ;存放到ax call read_18b20 xchg al,ah ret init8255 proc near mov dx,con_8255 mov al,80h out dx,al dec dx mov al,0ffh out dx,al ret
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年精赤沙糖项目可行性研究报告
- 封包线项目可行性研究报告
- 2025年度老旧小区改造承揽合同3篇
- 2025年度新能源汽车充电设施运营管理合同
- 2025年度企业研发贷款合同签订要点
- 2025年度国际人力资源外包合同规范
- 2025年度工矿企业矿山地质勘探与报告服务合同范本
- 2025年度建筑企业资质认证服务合同
- 2025年度脚手架工程设计与施工总承包合同 - 副本
- 2025年度酒店行业广告投放合同
- 博物馆布展项目施工组织设计(完整模板)
- 绘本创作方案
- 《童年的水墨画》的说课课件
- 地铁保洁服务投标方案(技术标)
- 2023年河南省新乡市凤泉区事业单位招聘53人高频考点题库(共500题含答案解析)模拟练习试卷
- 2023年小升初简历下载
- 广府文化的奇葩
- 公路工程标准施工招标文件(2018年版)解析
- 七年级地理下册期末试卷(人教版)
- 第八节 元代散曲
- 《自动化专业导论》课程教学大纲
评论
0/150
提交评论