单片机课设任务书数字温度计.docx
《单片机课设任务书数字温度计.docx》由会员分享,可在线阅读,更多相关《单片机课设任务书数字温度计.docx(10页珍藏版)》请在冰豆网上搜索。
单片机课设任务书数字温度计
单片机课程设计任务书
题目:
基于Proteus仿真的单片机C程序设计
——能显示时间的数字温度计
一、设计目的
1、掌握单片机定时器的编程方法;
2、熟练运用C语言中的程序数组、字符串等知识;
3、熟悉单片机C语言体系内容程序设计方法和开发流程;
4、综合运用所学的理论知识去解决实际问题;
5、培养调查研究、查阅技术文献、资料手册的能力。
二、设计要求
1、测量并显示温度值,温度测量误差≤±1℃;
2、测量温度范围为-55℃——+128℃;
3、显示当前测量时间、星期、温度;
4、可调整显示时间、星期;
5、显示温度值若百位为0,则灭0,若十位为0,也灭0;
6、温度超过设定的报警温度时指示灯报警即红灯亮,否则绿灯亮;
7、可调整报警温度;
8、显示报警温度时,若百位为0,则灭0,若十位为0,也灭0。
三、设计器材
1、计算机一台,需安装keilc及Proteus软件;
2、微控制器采用AT89C51单片机;
3、温度传感器采用DS18B20;
4、LCM1602液晶显示温度及时间。
四、设计内容
1、单片机最小应用系统仿真电路设计;
2、LM1602液晶与AT89C51连接电路设计及调试
要求:
连接好电路后,编程测试使LM1602能够按照指令正常显示字符;
3、数字钟的设计
要求:
先在在LM1602液晶的第一行中间位置显示时、分、秒,
增加星期显示;
4、时钟调整功能的设计
要求:
增加三个按键开关,分别为功能键、加一调整键、减一调整键,通过控制功能键分别实现星期、小时、分、秒的调整;
5、DS18B20温度传感器与以上系统连接电路设计;
6、DS18B20温度显示的设计
要求:
在LM1602第二行左边位置显示“temp:
-35.5℃”;
7、温度报警电路设计
要求:
增加红色及绿色两个LED,当温度高于设定报警温度时红灯量,否则绿灯亮,报警温度显示LM1602第一行最右端;
8、报警温度调整设计
要求:
增加两个按键开关,分别控制报警温度的加和减
五、设计报告要求
1、设计任务书;
2、系统总体功能及技术指标描述;
3、电路原理及硬件资源分配描述
4、系统电路原理图;
5、软件流程图<包括所有子函数及主函数流程图)
6、软件清单,程序要求加详细注释;
7、设计总结及体会。
注:
报告要求使用提供的封面模板、word格式,只提交电子稿。
文件夹以组号命名,要求包含的文件:
液晶数字钟.uv2;液晶显示.c;液晶数字钟.c;校时数字钟.c;温度显示.c;温度数字钟.c;报警温度数字钟.c;倒计时.c;第几组.doc;液晶.dsn。
流程图:
液晶初始化子函数;中断初始化子函数;T0中断服务函数;
主函数。
要求:
A4纸,正文宋体小四,标题黑体小三,英文timesnewroman小四
六、时间安排
项目
天数
节次
课设内容
实训场地
设备
第
一
天
1--2
任务原理讲解及任务分配
机房
3--4
5--6
程序流程图设计
7--8
第
二
天
1--2
源程序设计及仿真调试
机房
3--4
5--6
7--8
第
三
天
1--2
源程序设计及仿真调试
机房
3--4
5--6
7--8
第
四
天
1--2
源程序设计及仿真调试
机房
3--4
5--6
程序下载及硬件调试
7--8
程序下载及硬件调试
第
五
天
1--2
3--4
5--6
7--8
第
六
天
1--2
书写课设报告<要求为word形式)
教室
3--4
5--6
7--8
备注
1、“场地“一栏填:
机房、教室、其他。
2、同一课设的教师,需商榷后共填一表。
3、如课设1-4或1-6节次完全相同,将表合并后填写内容。
七、参考资料
1、单片机C51技术应用<北京理工大学出版社杨打生宋伟)
2、DS18B20使用说明
DS18B20数字温度计是DALLAS公司生产的1-Wire,即单总线器件,具有线路简单、体积小的特点。
因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以接多个的相同数字温度计,十分方便。
DS18B20产品的特点
<1)只要求一个端口即可实现通信。
<2)在DS18B20中的每个器件上都有独一无二的序列号。
<3)实际应用中不需要外部任何元器件即可实现测温。
<4)测量温度范围在-55℃到+125℃之间。
<5)数字温度计的分辨率用户可以从9位到12位选择。
<6)内部有温度上、下限告警设置。
DS18B20的引脚介绍
TO-92封装的DS18B20的引脚排列见下图,其引脚功能描述见下表
<底视图)
DS18B20详细引脚功能描述
序号
名称
引脚功能描述
1
GND
地信号
2
DQ
数据输入/输出引脚。
开漏单总线接口引脚。
当被用着在寄生电源下,也可以向器件提供电源。
3
VDD
可选择的VDD引脚。
当工作于寄生电源时,此引脚必须接地。
DS18B20的使用方法
因为DS18B20采用的是1-Wire总线协议方式,即在一根数据线实现数据的双向传输,而对AT89S51单片机来说,硬件上并不支持单总线协议,因此,我们必须采用软件的方法来模拟单总线的协议时序来完成对DS18B20芯片的访问。
因为DS18B20是在一根I/O线上读写数据,因此,对读写的数据位有着严格的时序要求。
DS18B20有严格的通信协议来保证各位数据传输的正确性和完整性。
该协议定义了几种信号的时序:
初始化时序、读时序、写时序。
所有时序都是将主机作为主设备,单总线器件作为从设备。
而每一次命令和数据的传输都是从主机主动启动写时序开始,如果要求单总线器件回送数据,在进行写命令后,主机需启动读时序完成数据接收。
数据和命令的传输都是低位在先。
1)DS18B20的复位时序图
DS18B20复位时序图
2)DS18B20的读时序图
对于DS18B20的读时序分为读0时序和读1时序两个过程。
对于DS18B20的读时隙是从主机把单总线拉低之后,在15s之内就得释放单总线,以让DS18B20把数据传输到单总线上。
DS18B20在完成一个读时序过程,至少需要60us才能完成。
DS18B20读时序图
3)DS18B20的写时序图
对于DS18B20的写时序仍然分为写“0”时序和写“1”时序两个过程。
对于DS18B20写“0”时序和写“1”时序的要求不同,当要写“0”时序时,单总线要被拉低至少60us,保证DS18B20能够在15us到45us之间能够正确地采样IO总线上的“0”电平,当要写“1”时序时,单总线被拉低之后,在15us之内就得释放单总线。
DS18B20写时序图
3、LCM1602使用说明
1602液晶也叫1602字符型液晶它是一种专门用来显示字母、数字、符号等的点阵型液晶模块它有若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符。
每位之间有一个点距的间隔每行之间也有间隔起到了字符间距和行间距的作用,正因为如此所以他不能显示图形。
LCM1602特性
+5V电压,对比度可调
内含复位电路
提供各种控制命令,如:
清屏、字符闪烁、光标闪烁、显示移位等多种功能
有80字节显示数据存储器DDRAM
内建有192个5X7点阵的字型的字符发生器CGROM
8个可由用户自定义的5X7的字符发生器CGRAM
1602LCD特征及应用
微功耗、体积小、显示内容丰富、超薄轻巧,常用在袖珍式仪表和低功耗应用系统中。
1602寄存器选择功能
RS
R/W
操 作
0
0
指令寄存器(IR>写入
0
1
忙标志和地址计数器读出
1
0
数据寄存器(DR>写入
1
1
数据寄存器读出
1602模块引脚功能
引线号
符号
名称
功能
1
Vss
电源地
0V
2
VDD
电路电源
5V±10%
3
VEE
液晶驱动电压
保证VDD-VEE=4.5∽5V电压差
V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高<对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。
4
RS
寄存器选择
高电平1时选择数据寄存器、低电平0时选择指令寄存器
5
R/W
读/写信号
高电平(1>时进行读操作,低电平(0>时进行写操作。
6
E
片选信号
E(或EN>端为使能(enable>端
下降沿触发,锁存数据
7
|
14
DB0
|
DB7
数据线
数据传输
第15~16脚:
空脚或背灯电源。
15脚背光正极,16脚背光负极。
1602字符集
1602液晶模块内部的字符发生存储器已经存储了160个不同的点阵字符图形,这些字符有:
阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B<41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。
因为1602识别的是ASCII码,实验可以用ASCII码直接赋值,在单片机编程中还可以用字符型常量或变量赋值,如'A’。
以下是1602的16进制ASCII码表地址:
读的时候,先读左边那列,再读上面那行,如:
感叹号!
的ASCII为0x21,字母B的ASCII为0x42<前面加0x表示十六进制)
1602指令集
1602通过D0~D7的8位数据端传输数据和指令。
显示模式设置:
(初始化>
00110000[0x38]设置16×2显示,5×7点阵,8位数据接口;
显示开关及光标设置:
(初始化>
00001DCBD显示(1有效>、C光标显示(1有效>、B光标闪烁(1有效>
000001NSN=1(读或写一个字符后地址指针加1&光标加1>,
N=0(读或写一个字符后地址指针减1&光标减1>,
S=1且N=1(当写一个字符后,整屏显示左移>
s=0当写一个字符后,整屏显示不移动
数据指针设置:
数据首地址为80H,所以数据地址为80H+地址码(0-27H,40-67H>
其他设置:
01H(显示清屏,数据指针=0,所有显示=0>;02H(显示回车,数据指针=0>。