160128中文显示温度与时间Word格式.docx
- 文档编号:8639848
- 上传时间:2023-05-12
- 格式:DOCX
- 页数:41
- 大小:425.80KB
160128中文显示温度与时间Word格式.docx
《160128中文显示温度与时间Word格式.docx》由会员分享,可在线阅读,更多相关《160128中文显示温度与时间Word格式.docx(41页珍藏版)》请在冰点文库上搜索。
6安装与调试28
6.1调试过程28
6.2电路仿真31
7性能测试与分析33
8设计总结33
9实验心得与体会34
参考文献35
前言
单片机是随着超大规模集成电路技术的发展而诞生的,由于它具有体积小、功能强、性价比高等特点,所以广泛应用于电子仪表、家用电器、节能装置、军事装置、机器人、工业控制等诸多领域,使产品小型化、智能化,既提高了产品的功能和质量,又降低了成本,简化了设计。
本设计主要介绍单片机在带实时日历时钟的温度检测系统中的应用。
它具有电路简单、功能齐全、制作成本低、性价比高,只需要提供家用电源供电即可。
该仪器采用美国Intel公司八位单片机作为控制核心,配以其他进口集成电路,加上对软件的精心设计,实现了仪表智能化。
系统软件部分采用MCS—51单片机C语言精心编写,其数据流程清晰地反映在程序中,增强了软件的可读性,便于改进和扩充,从而为其实用提供更好的软件支持。
1设计任务与要求
(1)利用单片机AT89C51控制整个设计电路。
(2)用实时时钟芯片DS1302对当前时间进行计时。
(3)用温度传感器DS18B20检测当前温度。
(4)在160128LCD上显示当前时间和温度。
2总体框图
2.1设计方案
(1)本课题所设计的显示温度与时间的液晶屏是将由单片机转送的时间、温度及日期显示出来。
(2)时钟芯片DS1302可以实时检测当前时间。
(3)温度传感器DS18b20可以模拟外界温度的变化。
当温度变化时,160128显示的数据也会实时改变。
2.2电路原理图
LCD160128中文显示温度及时间
温度传感器
时钟芯片
控制器件
图2.1
3实验元器件选择及其功能
3.1实验器件
AT89C511片
DS13021片
DS18B201片
LCD1601281块
3.2主要器件极其相关功能
(1)AT89C51
MCS51系列单片机是美国Intel公司于1980年推出的一种8位单片机系列。
该系列的基本型产品是8051、8031和8751。
这3种产品之间的区别只是在片程序存储器方面。
8051的片程序存储器(ROM)是掩膜型的,即在制造芯片时已将应用程序固化进去;
8031片没有程序存储器;
8751部包含有用作程序存储器的4KB的EPROM。
由于8051的编程需要制造商的支持,8751的价格昂贵,因此8031获得了更为广泛的使用。
MCS51系列单片机优异的性能/价格比使得它从面世以来就获得用户的认可。
Intel公司把这种单片机的核,即8051核,以出售或互换专利的方式授权给一些公司,如Atmel、Philips、ADI等。
这些公司的这类产品也被称为8051兼容芯片,这些8051兼容芯片在原来的基础上增加了许多特性。
本书应用电路中采用了Atmel公司的AT89S51芯片,它与MCS51单片机指令集兼容,同时它的部包含用作程序存储器的4KB的基于FLASH技术的只读存储器。
采用这款芯片既克服了采用8031需要添加外部程序存储器导致电路复杂的缺点,又克服了采用8751导致电路制作成本高的缺点。
AT89系列单片机在部结构上基本相同,其中不同型号的单片机只不过在个别模块和功能方面有些区别。
AT89C51单片机部硬件结构框图如图2.1所示。
它由一个8位中央处理器(CPU)、一个256B片RAM及4KBFlashROM、21个特殊功能寄存器、4个8位并行I/O口、两个16位定时/计数器、一个串行I/O口以及中断系统等部分组成,各功能部件通过片单一总线联成一个整体,集成在一块芯片上。
AT89C51单片机部结构如图所示:
时序和振荡电路
程序存储器ROM
数据存储器RAM
2个16位定时/
计数器
CPU
内部8位数据总线
中断
系统
并行
I/O口
串行I/O口
内部中断
外部中断
P0P1P2P3
RXDTXD
时钟源
外部事件
CPU是单片机部的核心部件,是一个8位二进制数的中央处理单元,主要由运算器、控制器和寄存器阵列构成。
(2)DS1302的结构与工作原理
DS1302是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V。
采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。
DS1302部有一个31×
8的用于临时性存放数据的RAM寄存器。
DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后背电源双电源引脚,同时提供了对后背电源进行涓细电流充电的能力。
DS1302的外部引脚功能所示:
DS1302封装图
X1,X2
32.768kHz晶振引脚
GND
地
RST
复位
I/O
数据输入/输出
SCLK
串行时钟
VCC1
电池引脚
VCC2
主电源引脚
下图为部寄存器的控制命令:
寄存器名称
7
6
5
4
3
2
1
RAM/CK
A4
A3
A2
A1
A0
RD/W
秒寄存器
分寄存器
小时寄存器
日寄存器
月寄存器
星期寄存器
年寄存器
写保护寄存器
慢充电寄存器
时钟突发寄存器
日历、时钟寄存器与控制字对照表
(3)DS18B20结构及工作原理
DS18B20数字温度计是DALLAS公司生产的1-Wire,即单总线器件,具有线路简单,体积小的特点。
因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便。
DS18B20数字温度计提供9-12位摄氏温度测量而且有一个由高低电平触发的可编程的不因电源消失而改变的报警功能。
DS18B20通过一个单线接口发送或接受信息,因此在中央处理器和DS18B20之间仅需一条连接线(加上地线)。
它的测温围为-55~+125℃,并且在-10~+85℃精度为±
5℃。
除此之外,DS18B20能直接从单线通讯线上汲取能量,除去了对外部电源的需求。
每个DS18B20都有一个独特的64位序列号,从而允许多只DS18B20同时连在一根单线总线上;
因此,很简单就可以用一个微控制器去控制很多覆盖在一大片区域的DS18B20。
这一特性在HVAC环境控制、探测建筑物、仪器或机器的温度以及过程监测和控制等方面非常有用。
DS18B20引脚图
DS18B20详细引脚功能描述:
序号
名称
引脚功能描述
地信号
DQ
数据输入/输出引脚。
开漏单总线接口引脚。
当被用着在寄生电源下,也可以向器件提供电源。
VDD
可选择的VDD引脚。
当工作于寄生电源时,此引脚必须接地。
DS18B20的使用方法
由于DS18B20采用的是1-Wire总线协议方式,即在一根数据线实现数据的双向传输,而对AT89S51单片机来说,硬件上并不支持单总线协议,因此,我们必须采用软件的方法来模拟单总线的协议时序来完成对DS18B20芯片的访问。
由于DS18B20是在一根I/O线上读写数据,因此,对读写的数据位有着严格的时序要求。
DS18B20有严格的通信协议来保证各位数据传输的正确性和完整性。
该协议定义了几种信号的时序:
初始化时序、读时序、写时序。
所有时序都是将主机作为主设备,单总线器件作为从设备。
而每一次命令和数据的传输都是从主机主动启动写时序开始,如果要求单总线器件回送数据,在进行写命令后,主机需启动读时序完成数据接收。
数据和命令的传输都是低位在先。
(4)LCD160128
160128是一种图形点阵液晶显示器,它主要由行驱动器/列驱动器及格160×
128全点阵液晶显示器组成。
可完成图形显示,也可以显示10×
8个(16×
16点阵)汉字。
主要技术参数和性能:
模块自带-15负压,用于LCD的驱动电压
1、电源VDD:
+5V;
2、显示容:
160(列)×
128(行)点
3、全屏幕点阵
4、十三种指令
5、与CPU接口采用8位数据总线并行输入输出
6、驱动路数1/128
7、工作温度:
0°
C∽+55°
C,存储温度:
-20°
C∽+70°
C
外形尺寸
项目
尺度
单位
模块体积
129.0×
102.0×
12.8
mm
视域
101.0×
82.0
行列点阵数
160×
128
点
点距离
0.58×
0.58
点大小
0.54×
0..54
模块外部接口:
4系统软硬件设计
4.1硬件电路设计
(1)时钟电路
单片机工作的时间基准是由时钟电路提供的。
在单片机的XTAL1和XTAL2两个引脚间,接一只晶振及两只电容就构成了单片机的时钟电路,
电路中的器件选择可以通过计算和实验确定,也可以参考一些典型电路的参数。
电路中,电容器C1和C2对振荡器频率有微调作用,通常的取值围30±
10pF;
石英晶体选择6MHZ或12MHZ都可以。
其结果只是机器周期时间不同,影响计数器的计数初值。
(2)温度检测电路
该电路只是利用DS18B20模拟外界环境温度的变化,从而实时显示在液晶屏上。
(3)LCD160128显示电路
4.2软件设计
应用程序
//---------------LCD_160128.c----------------
//LCD_160128的C文件,含控制函数
//------------------------------------------
#include<
stdarg.h>
stdio.h>
math.h>
intrins.h>
absacc.h>
string.h>
LCD_160128.h>
#defineASC_CHR_WIDTH8
#defineASC_CHR_HEIGHT12
#defineHZ_CHR_HEIGHT12
#defineHZ_CHR_WIDTH12
ucharcodeLCD_WIDTH=20;
ucharcodeLCD_HEIGHT=128;
ucharcodeASC_MSK[96*12]={
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//'
'
0x00,0x30,0x78,0x78,0x78,0x30,0x30,0x00,0x30,0x30,0x00,0x00,//'
!
'
0x00,0x66,0x66,0x66,0x24,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//'
"
0x00,0x6c,0x6c,0xfe,0x6c,0x6c,0x6c,0xfe,0x6c,0x6c,0x00,0x00,//'
#'
0x30,0x30,0x7c,0xc0,0xc0,0x78,0x0c,0x0c,0xf8,0x30,0x30,0x00,//'
$'
0x00,0x00,0x00,0xc4,0xcc,0x18,0x30,0x60,0xcc,0x8c,0x00,0x00,//'
%'
0x00,0x70,0xd8,0xd8,0x70,0xfa,0xde,0xcc,0xdc,0x76,0x00,0x00,//'
&
0x00,0x30,0x30,0x30,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//'
0x00,0x0c,0x18,0x30,0x60,0x60,0x60,0x30,0x18,0x0c,0x00,0x00,//'
('
0x00,0x60,0x30,0x18,0x0c,0x0c,0x0c,0x18,0x30,0x60,0x00,0x00,//'
)'
0x00,0x00,0x00,0x66,0x3c,0xff,0x3c,0x66,0x00,0x00,0x00,0x00,//'
*'
0x00,0x00,0x00,0x18,0x18,0x7e,0x18,0x18,0x00,0x00,0x00,0x00,//'
+'
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x38,0x60,0x00,//'
'
0x00,0x00,0x00,0x00,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,//'
-'
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x38,0x00,0x00,//'
.'
0x00,0x00,0x02,0x06,0x0c,0x18,0x30,0x60,0xc0,0x80,0x00,0x00,//'
/'
0x00,0x7c,0xc6,0xce,0xde,0xd6,0xf6,0xe6,0xc6,0x7c,0x00,0x00,//'
0'
0x00,0x10,0x30,0xf0,0x30,0x30,0x30,0x30,0x30,0xfc,0x00,0x00,//'
1'
0x00,0x78,0xcc,0xcc,0x0c,0x18,0x30,0x60,0xcc,0xfc,0x00,0x00,//'
2'
0x00,0x78,0xcc,0x0c,0x0c,0x38,0x0c,0x0c,0xcc,0x78,0x00,0x00,//'
3'
0x00,0x0c,0x1c,0x3c,0x6c,0xcc,0xfe,0x0c,0x0c,0x1e,0x00,0x00,//'
4'
0x00,0xfc,0xc0,0xc0,0xc0,0xf8,0x0c,0x0c,0xcc,0x78,0x00,0x00,//'
5'
0x00,0x38,0x60,0xc0,0xc0,0xf8,0xcc,0xcc,0xcc,0x78,0x00,0x00,//'
6'
0x00,0xfe,0xc6,0xc6,0x06,0x0c,0x18,0x30,0x30,0x30,0x00,0x00,//'
7'
0x00,0x78,0xcc,0xcc,0xec,0x78,0xdc,0xcc,0xcc,0x78,0x00,0x00,//'
8'
0x00,0x78,0xcc,0xcc,0xcc,0x7c,0x18,0x18,0x30,0x70,0x00,0x00,//'
9'
0x00,0x00,0x00,0x38,0x38,0x00,0x00,0x38,0x38,0x00,0x00,0x00,//'
:
0x00,0x00,0x00,0x38,0x38,0x00,0x00,0x38,0x38,0x18,0x30,0x00,//'
;
0x00,0x0c,0x18,0x30,0x60,0xc0,0x60,0x30,0x18,0x0c,0x00,0x00,//'
<
0x00,0x00,0x00,0x00,0x7e,0x00,0x7e,0x00,0x00,0x00,0x00,0x00,//'
='
0x00,0x60,0x30,0x18,0x0c,0x06,0x0c,0x18,0x30,0x60,0x00,0x00,//'
>
0x00,0x78,0xcc,0x0c,0x18,0x30,0x30,0x00,0x30,0x30,0x00,0x00,//'
?
0x00,0x7c,0xc6,0xc6,0xde,0xde,0xde,0xc0,0xc0,0x7c,0x00,0x00,//'
0x00,0x30,0x78,0xcc,0xcc,0xcc,0xfc,0xcc,0xcc,0xcc,0x00,0x00,//'
A'
0x00,0xfc,0x66,0x66,0x66,0x7c,0x66,0x66,0x66,0xfc,0x00,0x00,//'
B'
0x00,0x3c,0x66,0xc6,0xc0,0xc0,0xc0,0xc6,0x66,0x3c,0x00,0x00,//'
C'
0x00,0xf8,0x6c,0x66,0x66,0x66,0x66,0x66,0x6c,0xf8,0x00,0x00,//'
D'
0x00,0xfe,0x62,0x60,0x64,0x7c,0x64,0x60,0x62,0xfe,0x00,0x00,//'
E'
0x00,0xfe,0x66,0x62,0x64,0x7c,0x64,0x60,0x60,0xf0,0x00,0x00,//'
F'
0x00,0x3c,0x66,0xc6,0xc0,0xc0,0xce,0xc6,0x66,0x3e,0x00,0x00,//'
G'
0x00,0xcc,0xcc,0xcc,0xcc,0xfc,0xcc,0xcc,0xcc,0xcc,0x00,0x00,//'
H'
0x00,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x78,0x00,0x00,//'
I'
0x00,0x1e,0x0c,0x0c,0x0c,0x0c,0xcc,0xcc,0xcc,0x78,0x00,0x00,//'
J'
0x00,0xe6,0x66,0x6c,0x6c,0x78,0x6c,0x6c,0x66,0xe6,0x00,0x00,//'
K'
0x00,0xf0,0x60,0x60,0x60,0x60,0x62,0x66,0x66,0xfe,0x00,0x00,//'
L'
0x00,0xc6,0xee,0xfe,0xfe,0xd6,0xc6,0xc6,0xc6,0xc6,0x00,0x00,//'
M'
0x00,0xc6,0xc6,0xe6,0xf6,0xfe,0xde,0xce,0xc6,0xc6,0x00,0x00,//'
N'
0x00,0x38,0x6c,0xc6,0xc6,0xc6,0xc6,0xc6,0x6c,0x38,0x00,0x00,//'
O'
0x00,0xfc,0x66,0x66,0x66,0x7c,0x60,0x60,0x60,0xf0,0x00,0x00,//'
P'
0x00,0x38,0x6c,0xc6,0xc6,0xc6,0xce,0xde,0x7c,0x0c,0x1e,0x00,//'
Q'
0x00,0xfc,0x66,0x66,0x66,0x7c,0x6c,0x66,0x66,0xe6,0x00,0x00,//'
R'
0x00,0x78,0xcc,0xcc,0xc0,0x70,0x18,0xcc,0xcc,0x78,0x00,0x00,//'
S'
0x00,0xfc,0xb4,0x30,0x30,0x30,0x30,0x30,0x30,0x78,0x00,0x00,//'
T'
0x00,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0x78,0x00,0x00,//'
U'
0x00,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0x78,0x30,0x00,0x00,//'
V'
0x00,0xc6,0xc6,0xc6,0xc6,0xd6,0xd6,0x6c,0x6c,0x6c,0x00,0x00,//'
W'
0x00,0xcc,0xcc,0xcc,0x78,0x30,0x78,0xcc,0xcc,0xcc,0x00,0x00,//'
X'
0x00,0xcc,0xcc,0xcc,0xcc,0x78,0x30,0x30,0x30,0x78,0x00,0x00,//'
Y'
0x00,0xfe,0xce,0x98,0x18,0x30,0x60,0x62,0xc6,0xfe,0x00,0x00,//'
Z'
0x00,0x3c,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x3c,0x00,0x00,//'
['
0x00,0x00,0x80,0xc0,0x60,0x30,0x18,0x0c,0x06,0x02,0x00,0x00,//'
\'
0x00,0x3c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x3c,0x00,0x00,//'
]'
0x10,0x38,0x6c,0xc6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//'
^'
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0x00,//'
_'
0x30,0x30,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//'
`'
0x00,0x00,0x00,0x00,0x78,0x0c,0x7c,0xcc,0xcc,0x76,0x00,0x00,//'
a'
0x00,0xe0,0x60,0x60,0x7c,0x66,0x66,0x66,0x66
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 160128 中文 显示 温度 时间