1、 辽宁工程技术大学专业课程综合训练项目说明书题 目: 温度检测系统设计 课程名称:单片微型计算机和应用 班级: 机电14-4 学 号: 姓名: 指导老师: 李文华 完成日期: .12 一、 设计题目温度检测系统设计二、设计内容1-温度由8个LED小灯显式040温度范围,即,8个小灯全灭表示目前温度小于0,全亮为大于40,在此其间有8个档位,每亮一盏小灯表示升高5。2-单片机经过读取DS18B20温度寄存器,取得目前温度值并显示在8个LED灯上。三、综合训练要求设计说明书(30005000字) 1份四、 评分标准序号评分标准满分实际得分1设计方案是否可行,设计依据是否充足,软硬件资源分配是否合理
2、42设计说明书设计过程是否清楚,设计内容是否全方面,计算是否正确,行文章节格式是否规范43绘图是否清楚,标注是否表示正确规范2总分10补充评分要求:对综合训练项目中,能够采取开发板调试,或软件仿真形式实现功效,将视难易程度及能够按时提交情况酌情提分,但不超出每个综合项目满分10分标准。五、指导老师评语该生设计过程中表现 ,设计内容反应基础概念及计算 ,设计方案 ,说明书撰写 ,答辩表现 。成 绩: 指导老师日期 目录1 系统总体设计1.1 1.2 :2 硬件设计2.1 2.2 :3 软件设计3.1 3.2 :4 结论参考文件1 系统总体设计1.1设计思绪:1. 读DS18B20温度寄存器,取得
3、目前温度,存入80H和81H,80H存低8位,81H存高8位。2.温度小数只显示一位,采取只舍不进。2. .每升高5度,亮一盏灯 1.2设计目标:1、经过课程设计,熟悉和掌握微机系统软件、硬件设计方法、设计步骤,得到微机开发应用方面初步训练。2、熟练掌握微机系统和接口扩展电路设计方法,熟练应用8086汇编语言编写应用程序和实际设计中硬软件调试方法和步骤,熟悉微机系统硬软件开发工具使用方法1.3设计步骤: 1.分析问题 2.确定算法 3.设计程序步骤图 4.分配内存单元 5.编写汇编语言源程序 6.调试程序方案: 本设计要求温度由8个LED小灯显式040温度范围,即,8个小灯全灭表示目前温度小于
4、0,全亮为大于40,在此其间有8个档位,每亮一盏小灯表示升高5。2-单片机经过读取DS18B20温度寄存器,取得目前温度值并显示在8个LED灯上。读取DS18B20传感器温度,判定温度大小,在05区间时亮一盏灯,每升高5度再亮一盏,以这类推。2 硬件设计1.硬件组成:51单片机,DS18B20温度寄存器,8个LED灯。DS18B20是常见温度传感器,含有体积小,硬件开销低,抗干扰能力强,精度高特点。2.DS18B20测温原理:低温度系数晶振振荡频率受温度影响很小,用于产生固定频率脉冲信号送给计数器1。高温度系数晶振随温度改变其振荡率显著改变,所产生信号作为计数器2脉冲输入。计数器1和温度寄存器
5、被预置在-55所对应一个基数值。计数器1对低温度系数晶振产生脉冲信号进行减法计数,当计数器1预置值减到0时,温度寄存器值将加1,计数器1预置将重新被装入,计数器1重新开始对低温度系数晶振产生脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值累加,此时温度寄存器中数值即为所测温度。斜率累加器用于赔偿和修正测温过程中非线性,其输出用于修正计数器1预置值。2.1 硬件电路基础结构根据单片机系统扩展和系统配置情况,单片机应用系统可分为最小系统、最小功耗系统及经典系统等。AT89C51单片机是美国ATMEL企业生产低电压、高性能CMOS 8位单片机,含有丰富内部资源:4kB闪存、128B
6、RAM、32根I/O口线、2个16位定时/计数器、5个向量两级中止结构、2个全双工串行口,含有4.255.50V电压工作范围和024MHz工作频率,使用AT89C51单片机时无须外扩存放器。所以,本流水灯实际上就是一个带有八个发光二极管单片机最小应用系统,即为由发光二极管、晶振、复位等电路和必需软件组成单个单片机。2.2 各部分电路基础功效1.晶振电路 此次流水灯设计,我们用12MHZ晶振和30pf电容,它们组成一个稳定自己振荡器。电容大小能够影响震荡频率高低,振荡器稳定性和起振快速性。为单片机提供标按时钟。2.复位电路 此次流水灯设计,我们采取上电复位,每次单片机通电时。单片机全部从初始状态
7、开始运动。单片机复位后,除P1.0P1.7端口锁存器被设置成FFH、堆栈指针SP设置成07H和串行口SBUF无确定值外,其它各专用寄存器包含程序计数器PC均被设置成00H。片内RAM不受复位影响,上电后RAM中内容是随机。P1端口初始FFH即八个发光二极管全部不亮,伴随单片机运作,八个发光二极管按程序发光。3.LED电路 上图中A端为发光二极管阳极,B端为发光二极管阴极,要想点亮发光二极管,阴极必需加一个低电平(0V),发光二极管许可电流在3mA至10mA之间,发光二极管被点亮最小电流为3mA。已知发光二极管被点亮后压降值为1.7V,VCC=+5V,电阻上电压为3.3V,依据欧姆定律R=3.3
8、V/3mA=1.1K,所以要选择1K电阻4. 基于DS18B20多点温度测量系统以AT89C51为关键器件,以KEIL为系统开发平台,用C语言进行程序设计,以PROTEUS作为仿真软件设计而成。系统关键由传感器电路、电源电路组成,系统图图所表示DS18B20是数字温度传感器,它输入/输出采取数字量,以单总线技术,接收主机发送命令,依据DS18B20内部协议进行对应处理,将转换温度以串口发送给主机。主机根据通信协议用一个IO口模拟DS18B20时序,发送命令(初始化命令、ROM命令、RAM命令)给DS18B20,转换完成以后读取温度值,在内部进行对应数值处理,用图形液晶模块显示各点温度。在系统开
9、启之时,能够经过44键盘设置各点温度上限值,当某点温度超出设置值时,报警器开始报警,液晶显示该传感器路数、设置温度值、实际温度值,从而实现了对各点温度实时监控。3 软件设计ORG 0000H 复位入口 LJMP MAIN 调到主函数MAIN: DS18B20 DATA 0100H 温度寄存器地址 MOV A, DS18B20 把DS18B20中数给A MOV R0, #05H 把5给R0 MOV R1, #05H 把5给R1 MOV R2, #01H 把01H给R2 CLR C 把C清零 SUBB A, #0 A减0 JNC LOOP1 A小于0跳转CLR C 将C清0SUBB A, #40
10、A减40 JC LOOP2 A大于40跳转CLR C 将C清0L1: SUBB A, R0 A减R0 JC LOOP3 A大于R0跳转 MOV A, R2 把R2给A MOV P1, A 把A给P1 MOV A, R3 把R3给ALOOP1:MOV A, R2 把R2给A MOV P1, A 把A给P1LOOP2: MOV A , #0FFH 把0FFH给A MOV P1 A 把A给P1LOOP3:INC R0 R0加1 DJNZ R1 ,LOOP3 判定R1是否为0MOV A, R2 把R2给ARLC A 把A左移INC A A加1MOV R2, A 把A给R1 MOV A, R3 把R3给
11、ASJMP L1 返回L1END4结论 这次设计中,我收获最大是对于相关位指令掌握,比如,温度寄存器向单片机输出一位二进制数字时候,通常见C语言来说,能够用循环结构,以达成能够循环次数,而对于单片机语言来说,只有加一指令,比如INC Rn,它意思是Rn此时所指向地址加一,而每个地址里面是8位二进制数字,所以它只能用八次相同方法,一位一位输入,同时应用比较转移指令CJNZ实现跳转,才能不停输入。还有就是应用更多是,位数据传送指令,经过MOV实现数字传输,还应该注意,位数据传送指令中必需要用到累加器中CY,所以在设计中,要包含到很多经过CY来传送数据。还有是位地址表示方法比如:ACC.7和位逻辑运
12、算指令关键用来区分不一样温度下属于哪一组,首先要找出一组(在此次设计中具体指五个数),有什么共同点,因为八位二进制数,只能用零和一表示,极难找到共同点,不过应用逻辑运算指令,能够找到一组相同点,然后才能够给P2口赋值,以实现LED灯显示。参考文件1 胡乾彬,单片微型计算机原理和应用 第三版M,武汉: 华中科技大学出版社, 。2 喻萍,郭文川主编,单片机原理及接口技术。3 边春元,李文涛,江杰,杜萍,C51单片机经典模块设计和应用,机械工业出版社,。4 张萌,和湘,姜斌,杜萍,单片机应用系统开发综合实例,清华大学出版社,。5从宏寿, 电子设计自动化-proteus在电子电路和51单片机中应用,西安电子科技大学出版社。
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100