资源预览内容
第1页 / 共18页
第2页 / 共18页
第3页 / 共18页
第4页 / 共18页
第5页 / 共18页
第6页 / 共18页
第7页 / 共18页
第8页 / 共18页
第9页 / 共18页
第10页 / 共18页
亲,该文档总共18页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
室温检测与万年历显示系统本设计使用SMG12864ZK液晶屏、DS18B20温度传感器与单片机最小系统构成的温度检测与成年历显示系统,其具有实时显示检测温度,并利用软件编程实现成年历在液晶屏上显示。一、SMG12864ZK液晶显示模块概述1.1液晶显示模块是128 64点阵的汉字图形型液晶显示模块,可显示汉字及图形,内置国标GB2312码简体中文字库(16X16点阵)、128个字符(8X16点阵)及64X256点阵显示RAM(GDRAM )。可与CPU直接接口,提供两种界面来连接微处理机:8-位并行及串行两种连接方式。具有多种功能:光标显示、画面移位、睡眠模式等。1.2显示资料RAM 提供64X 2个位元组的空间,最多可以控制 4行16字(64个字)的中文字 型显示,当写入显示资料 RAM 时,可以分别显示 CGROM、HCGROM 与CGRAM 的字型;ST7920A 可以显示三种字型,分别是半宽的HCGROM字型、CGRAM字型及中文CGROM字型,三种字 型的选择,由在DDRAM 中写入的编码选择,在 0000H 0006H的编码中将自动的结合下一个位元 组,组成两个位元组的编码达成中文字型的编码(A140 D75F )。二、DS18B20温度传感器简介2.1 DS18B20是DALLAS公司生产的一线式数字温度传感器, 采用3引脚TO-92型小体积封装; 温度测量范围为-55 C+125C,可编程为9位12位A/D转换精度,测温分辨率可达 0.0625C, 被测温度用符号扩展的 16位数字量方式串行输出。2.2 DS18B20的内部结构如图1所示,主要由以下几部分组成: 64位ROM、温度传感器、非挥 发的温度报警触发器 TH(温度高)和TL(温度低)、配置寄存器、暂存寄存器(SCRATCHPAD) 存储器 控制逻辑。DQ为数字信号输入/输出端。图E DS18B20的内部结构框图ROM中的64(8位产品家族编号、48位ID号、8位CRC)位序列号是出厂前刻好的,这64位序列号具有惟一性,每个 DS18B20的64位序列号均不相同。8位CRC生成器可以完成通信时的校验。暂存寄存器有9个字节,包含温度测量结果、温度报警寄存器、CRC校验码等内容。2.3操作步骤对DS18B20的操作分为3个步骤:初始化、ROM命令和DS18B20功能命令。初始化单片机与DS18B20通信,首先必须完成初始化。 单片机产生复位信号,DS18B20返回响应脉冲。2.3.2 ROM 命令该步骤完成单片机与总线上的某一具体DS18B20建立联系。ROM命令有搜寻ROM(SEARCHROM)、读 ROM(READ ROM)、匹配 ROM(MATCH ROM)、忽略 ROM(SKIP ROM)、报警查找等命 令(ALARM SEARCH)。单片机只连接 1个DS18B20,因此只使用读 ROM命令,来读取 DS18B20 的48位ID号。2.3.3 DS18B20功能命令单片机在该步骤中完成温度转换(CONVERTT)、写暂存寄存器(WRITE SCRATCHPAD)、读暂存寄存器(READ SCRATCHPAD)、拷贝暂存寄存器(COPYSCRATCHPAD)。操作时序主机发愛位脉冲480Tjc*G*960jis一主机接收存在缰号至少480ms -*r了(aj初始化时序VCC 1-WireBUS_CND写“1”时问usimo* 样MIN TYP MAX35*0*时间6QTk-0*120jj iDSlg妣0采样MIN TYP MAXIS p s30 p s主机读“时间一*主机读“旷时何Vcc-1-WIRBBUS CND写时序图2 DS18B20的l-Wire 作时序三、温度采集和显示与单片机的接口电路图设计DS18B20采用电源供电方式,使用4.7K的上拉电阻,可以加多个 DS18B20温度传感器,直接连P0.0 口上,实现单总线数据传输。 显示数据传输接口也接到P0 口,电路如图3所示。得到的PCB电路图如图4所示。AT89S52图3温度与显示硬件电路图图4电路PCB图四、软件设计本硬件使用12MHZ的晶振源,万年历由定时器定时中断决定,中断一次为50MS ,所以产生20次中断为1S,以此可以设计出万年历的秒、分、时、日、月、年,DS18B20完成一次的读写操作大约要8MS左右,读写N个DS18B20器件则要8*N( MS),由此可知中断里最多只能加上六个 DS18B20器件。本设计使用两个温度传感器,大概要用17MS,所以可把温度传感器的读写放到中断里完成。而温度传感器的读写是每一秒才进行一次,也就是中断次数能被20整除的中断才进行DS18B20的读写。另外的每次中断可以利用起来作按键检测,用来调整时间或不同测温点之间的显 示变换(些为扩展功能部分,还要进一步的设计)。程序简单流程图如图5所示。图5程序流程图五、设计结果显示硬件调试结果如下图 6。遅代时何&亍耳圻 4*9室莒:21匕 日期or n*oia *- O花t日办圖巧苛* |殊日町图6显示结果程序如下:#include #include/变量类型标识的宏定义#include#define uchar unsigned char/引脚定义/引脚定义/引脚定义/引脚定义/引脚定义#define uint unsigned intsbit cs仁 P1A3;sbit cs2=P1A4;sbit di=P1A5;sbit rw=P1A6;sbit e=P1A7;sbit DQ=P0A0;void delay15us(uchar n);void delayms(uchar n);uchar data num1=0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00;uchar data num2=0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00;uint data tem=0x00,0x00;uchar data Y_add,Y_lin,disp_data,com,zq,x_pagn,lr; /分别是 12864 里寄存器 uint nian;/存储年份uchar shi,fen,miao,day,yue,DD;/分别是时、分、秒、天、月、中断次数uchar code s_z1=/*- 文字 : 温 -*/*- 新宋体12;此字体下对应的点阵为:宽 x高=16x16-*/0x10,0x21,0x86,0x70,0x00,0x7E,0x4A,0x4A,0x4A,0x4A,0x4A,0x7E,0x00,0x00,0x00,0x00,0x02,0xFE,0x01,0x40,0x7F,0x41,0x41,0x7F,0x41,0x41,0x7F,0x41,0x41,0x7F,0x40,0x00,/*-文字 : 度 -*/*- 新宋体12;此字体下对应的点阵为:宽x高=16x16-*/0x00,0x00,0xFC,0x04,0x24,0x24,0xFC,0xA5,0xA6,0xA4,0xFC,0x24,0x24,0x24,0x04,0x00,0x80,0x60,0x1F,0x80,0x80,0x42,0x46,0x2A,0x12,0x12,0x2A,0x26,0x42,0xC0,0x40,0x00,/*-文字 : 时 -*/*- 新宋体12;此字体下对应的点阵为:宽x高=16x16-*/0x00,0xFC,0x44,0x44,0x44,0xFC,0x10,0x90,0x10,0x10,0x10,0xFF,0x10,0x10,0x10,0x00,0x00,0x07,0x04,0x04,0x04,0x07,0x00,0x00,0x03,0x40,0x80,0x7F,0x00,0x00,0x00,0x00,/*-文字 : 间 -*/*- 新宋体12;此字体下对应的点阵为:宽x高=16x16-*/0x00,0xF8,0x01,0x06,0x00,0xF0,0x92,0x92,0x92,0x92,0xF2,0x02,0x02,0xFE,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x07,0x04,0x04,0x04,0x04,0x07,0x40,0x80,0x7F,0x00,0x00,/*-文字 : 显 -*/*- 新宋体12;此字体下对应的点阵为:宽x高=16x16-*/0x00,0x00,0x00,0x3E,0x2A,0xEA,0x2A,0x2A,0x2A,0xEA,0x2A,0x3E,0x00,0x00,0x00,0x00,0x20,0x21,0x22,0x2C,0x20,0x3F,0x20,0x20,0x20,0x3F,0x28,0x24,0x23,0x20,0x20,0x00,/*- 文字 : 示 -*/*- 新宋体 12; 此字体下对应的点阵为:宽 x 高 =16x16 -*/ 0x00,0x20,0x20,0x22,0x22,0x22,0x22,0xE2,0x22,0x22,0x22,0x22,0x22,0x20,0x20,0x00, 0x10,0x08,0x04,0x03,0x00,0x40,0x80,0x7F,0x00,0x00,0x01,0x02,0x0C,0x18,0x00,0x00,/*- 文字 : 系 -*/*- 新宋体 12; 此字体下对应的点阵为:宽 x 高 =16x16 -*/ 0x00,0x00,0x02,0x22,0xB2,0xAA,0x66,0x62,0x22,0x11,0x4D,0x81,0x01,0x01,0x00,0x00, 0x00,0x40,0x21,0x13,0x09,0x05,0x41,0x81,0x7F,0x01,0x05,0x09,0x13,0x62,0x00,0x00,/*- 文字 : 统 -*/*- 新宋体 12; 此字体下对应的点阵为:宽 x 高 =16x16 -*/ 0x20,0x30,0x2C,0xA3,0x60,0x10,0x84,0xC4,0xA4,0x9D,0x86,0x84,0xA4,0xC4,0x84,0x00, 0x20,0x22,0x23,0x12,0x12,0x92,0x40,0x30,0x0F,0x00,0x00,0x3F,0x40,0x41,0x70,0x00,/*- 文字 : 张 -*/*- 楷体 _GB231212; 此字体下对应的点阵为:宽 x 高 =16x16 -*/ 0x00,0xC8,0x28,0x24,0x1C,0x80,0x80,0xFE,0xA0,0x50,0x48,0x44,0x40,0x00,0x00,0x00, 0x00,0x11,0x21,0x11,0x0F,0x00,0x00,0x3F,0x10,0x09,0x02,0x04,0x0C,0x08,0x08,0x00,/*- 文字 : 青 -*/*- 楷体 _GB2312
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号