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