LCD160128中文显示温度与时间.doc

上传人:laozhun 文档编号:2883068 上传时间:2023-03-01 格式:DOC 页数:34 大小:1.07MB
返回 下载 相关 举报
LCD160128中文显示温度与时间.doc_第1页
第1页 / 共34页
LCD160128中文显示温度与时间.doc_第2页
第2页 / 共34页
LCD160128中文显示温度与时间.doc_第3页
第3页 / 共34页
LCD160128中文显示温度与时间.doc_第4页
第4页 / 共34页
LCD160128中文显示温度与时间.doc_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《LCD160128中文显示温度与时间.doc》由会员分享,可在线阅读,更多相关《LCD160128中文显示温度与时间.doc(34页珍藏版)》请在三一办公上搜索。

1、附件1:学 号: 课 程 设 计题 目LCD160128中文显示温度与时间学 院计信学院专 业自动化班 级三班学生姓名陈强指导教师刘传文2011年12月16日重庆工商大学课程设计成绩评定表学院:计信学院 班级: 2009级 学生姓名:陈强 学号:2009133351 项目分值优秀(100x90)良好(90x80)中等(80x70)及格(70x60)不及格(x2.0V之前,RST必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。I/O为串行数据输入输出端(双向),后面有详细说明。SCLK为时钟输入端。 下图为DS1302的引脚功能图: DS1302的内部结构如下图所示,主要组成部

2、分为:移位寄存器、控制逻辑、振荡器、实时时钟以及RAM。虽然数据分成两种,但是对单片机的程序而言,其实是一样的,就是对特定的地址进行读写操作。DS1302的内部结构图DS1302工作时为了对任何数据传送进行初始化,需要将复位脚(RST)置为高电平且将8位地址和命令信息装入移位寄存器。数据在时钟(SCLK)的上升沿串行输入,前8位指定访问地址,命令字装入移位寄存器后,在之后的时钟周期,读操作时输出数据,写操作时输出数据。时钟脉冲的个数在单字节方式下为8+8(8位地址+8位数据),在多字节方式下为8加最多可达248的数据。3、软件系统3、1程序设计本文主要内容是利用AT89C51单片机与160*1

3、28的液晶、DS18B20和DS1302组合设计的显示温度与时间系统,在160*128的液晶上显示当前的时间、日期和DS18B20中的温度值。当温度超过上下限时,并用LED警示。3、2 DS8B20流程图开始初始化DS18B20应答脉冲发起ReadOneByte的命令发起WriteOneByte的命令延时4s等待温度转换完成初始化DS18B20应答脉冲发起Read_Temperature命令读取第一二字节即为温度数据否是否是3、3 DS1302流程图3、4 总流程图4、系统运行环境及注意事项4、1 系统运行环境WINDOWS XP ,WINDOWS 7PROTEUS 7.7 SP2Keil u

4、v2 2.124、2 注意事项AT89C51单片机,P0口输出时,必须使用上拉电阻,提高电压,否则无法得到输出结果。5、结论本文主要内容是利用AT89C51单片机与160*128的液晶、DS18B20和DS1302组合设计的显示温度与时间系统,在160*128的液晶上显示当前的时间、日期和DS18B20中的温度值。当温度超过上下限时,并用LED警示。此次课程设计能够满足老师要求的基本功能,能够正确显示当前的时间,星期,日期。DS18B20的温度范围为-55度到128度,次课程设计能够正确显示DS18B20的温度。并且在这基础上还加了温度警示功能,当温度小于设定的-20度和大于100度时,LED

5、灯就会自动点亮,当温度回归到-20度和100度之间时,LED灯自动熄灭。本来该课程设计还可以增加设置警示温度值的功能,但是由于时间问题就没有加进去,有点遗憾。回顾起此次单片机课程设计,至今我仍感慨颇多。从理论到实践的过程可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。参考文献1 侯玉宝等基于profuse的51系列单片

6、机设计与仿真北京:电子工业出版社,20082 李朝青单片机原理及接口技术北京:北京航空航天大学出版社,20063 朱清慧等Profuse电子线路设计、制版与仿真北京:清华大学出版社,20085 张毅刚.单片机原理极其应用.哈尔滨:哈尔滨工业大学出版社,20046 彭伟编.单片机C语言程序设计实训100例-基于8051+Proteus仿真M.北京:电子工业出版社,20107 谭浩强编.C语言设计M.北京: 清华大学出版社,20058 阎石编.数字电子技术基础(第五版)M.北京高等教育出版社,2005附录附程序源代码:/-main.c-/内含DS1302驱动程序/-#include #includ

7、e #include #include #define uchar unsigned char#define uint unsigned intextern void cls();extern uchar LCD_Initialise();extern uchar Display_Str_at_xy(uchar x,uchar y,char *fmt ) reentrant;extern uchar code ASC_MSK96*12; extern uchar Current_Temp_Display_Buffer;sbit SDA = P10;sbit CLK = P11;sbit RST

8、 = P12;sbit hi=P16;sbit lo=P17;uchar tCount=0;/星期的中文对照表char code*WeeksTable=日,一,二,三,四,五,六;uchar DateTime7;char dat_str13;bit DS18B20_IS_OK=1; /传感器正常标志/向DS1302写入一个字节void Write_A_Byte_TO_DS1302(uchar x) uchar i; for(i=0;i=1; /从DS1302读取一个字节uchar Get_A_Byte_FROM_DS1302() uchar i,b,t; for(i=0;i=1;t=SDA;

9、b|=t7;CLK=1;CLK=0; return b/16*10+b%16; /从DS1302指定位置读数据uchar Read_Data(uchar addr) uchar dat; RST=0;CLK=0;RST=1; Write_A_Byte_TO_DS1302(addr); dat=Get_A_Byte_FROM_DS1302(); CLK=1;RST=0; return dat; /读取当前时间void GetTime() uchar i; for(i=0;i(20-1) lo=1;elselo=0; else sprintf(dat_str,%c%c%c.%c,t/100+0,t

10、/10%10+0,t%10+0,(a%16)*10/16+0); Display_Str_at_xy(16,104,dat_str); if(t(100-1) hi=1; elsehi=0; /主程序 void main() LCD_Initialise(); Read_Temperature(); Delay(50000); Delay(50000); IE=0x82; hi=0;lo=0; TH0=-50000/256; TL0=-50000%256; TR0=1; Display_Str_at_xy(16,88,当前温度:); Display_Str_at_xy(60,104,); wh

11、ile(1);/-LCD_160128.c-/LCD_160128的C文件,内含控制函数/-#include #include #include #include #include #include #include #define ASC_CHR_WIDTH 8#define ASC_CHR_HEIGHT 12#define HZ_CHR_HEIGHT 12#define HZ_CHR_WIDTH 12 sbit RESET=P33;uchar code LCD_WIDTH = 20;uchar code LCD_HEIGHT = 128;uchar code ASC_MSK96*12=0x

12、00,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,

13、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,0

14、x18,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,0

15、xfe,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,/ 00x00,0x10,0x30,0xf0,0x30,0x30,0x30,0x30,0x30,0xfc,0x00,0x00,/ 10x00,0x78,0

16、xcc,0xcc,0x0c,0x18,0x30,0x60,0xcc,0xfc,0x00,0x00,/ 20x00,0x78,0xcc,0x0c,0x0c,0x38,0x0c,0x0c,0xcc,0x78,0x00,0x00,/ 30x00,0x0c,0x1c,0x3c,0x6c,0xcc,0xfe,0x0c,0x0c,0x1e,0x00,0x00,/ 40x00,0xfc,0xc0,0xc0,0xc0,0xf8,0x0c,0x0c,0xcc,0x78,0x00,0x00,/ 50x00,0x38,0x60,0xc0,0xc0,0xf8,0xcc,0xcc,0xcc,0x78,0x00,0x00

17、,/ 60x00,0xfe,0xc6,0xc6,0x06,0x0c,0x18,0x30,0x30,0x30,0x00,0x00,/ 70x00,0x78,0xcc,0xcc,0xec,0x78,0xdc,0xcc,0xcc,0x78,0x00,0x00,/ 80x00,0x78,0xcc,0xcc,0xcc,0x7c,0x18,0x18,0x30,0x70,0x00,0x00,/ 90x00,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,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,/ A0x00,0xfc,0x66,0x66,0x66,0

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号