




已阅读5页,还剩31页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
附件1:学 号: 课 程 设 计题 目lcd160128中文显示温度与时间学 院计信学院专 业自动化班 级三班学生姓名陈强指导教师刘传文2011年12月16日重庆工商大学课程设计成绩评定表学院:计信学院 班级: 2009级 学生姓名:陈强 学号:2009133351 项目分值优秀(100x90)良好(90x80)中等(80x70)及格(70x60)不及格(x2.0v之前,rst必须保持低电平。只有在sclk为低电平时,才能将rst置为高电平。i/o为串行数据输入输出端(双向),后面有详细说明。sclk为时钟输入端。 下图为ds1302的引脚功能图: ds1302的内部结构如下图所示,主要组成部分为:移位寄存器、控制逻辑、振荡器、实时时钟以及ram。虽然数据分成两种,但是对单片机的程序而言,其实是一样的,就是对特定的地址进行读写操作。ds1302的内部结构图ds1302工作时为了对任何数据传送进行初始化,需要将复位脚(rst)置为高电平且将8位地址和命令信息装入移位寄存器。数据在时钟(sclk)的上升沿串行输入,前8位指定访问地址,命令字装入移位寄存器后,在之后的时钟周期,读操作时输出数据,写操作时输出数据。时钟脉冲的个数在单字节方式下为8+8(8位地址+8位数据),在多字节方式下为8加最多可达248的数据。3、软件系统3、1程序设计本文主要内容是利用at89c51单片机与160*128的液晶、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 uv2 2.124、2 注意事项at89c51单片机,p0口输出时,必须使用上拉电阻,提高电压,否则无法得到输出结果。5、结论本文主要内容是利用at89c51单片机与160*128的液晶、ds18b20和ds1302组合设计的显示温度与时间系统,在160*128的液晶上显示当前的时间、日期和ds18b20中的温度值。当温度超过上下限时,并用led警示。此次课程设计能够满足老师要求的基本功能,能够正确显示当前的时间,星期,日期。ds18b20的温度范围为-55度到128度,次课程设计能够正确显示ds18b20的温度。并且在这基础上还加了温度警示功能,当温度小于设定的-20度和大于100度时,led灯就会自动点亮,当温度回归到-20度和100度之间时,led灯自动熄灭。本来该课程设计还可以增加设置警示温度值的功能,但是由于时间问题就没有加进去,有点遗憾。回顾起此次单片机课程设计,至今我仍感慨颇多。从理论到实践的过程可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。参考文献1 侯玉宝等基于profuse的51系列单片机设计与仿真北京:电子工业出版社,20082 李朝青单片机原理及接口技术北京:北京航空航天大学出版社,20063 朱清慧等profuse电子线路设计、制版与仿真北京:清华大学出版社,20085 张毅刚.单片机原理极其应用.哈尔滨:哈尔滨工业大学出版社,20046 彭伟编.单片机c语言程序设计实训100例-基于8051+proteus仿真m.北京:电子工业出版社,20107 谭浩强编.c语言设计m.北京: 清华大学出版社,20058 阎石编.数字电子技术基础(第五版)m.北京高等教育出版社,2005附录附程序源代码:/-main.c-/内含ds1302驱动程序/-#include #include #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 = 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; 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+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,); while(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=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,/ 00x00,0x10,0x30,0xf0,0x30,0x30,0x30,0x30,0x30,0xfc,0x00,0x00,/ 10x00,0x78,0xcc,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,/ 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,0x7c,0x66,0x66,0x66,0xfc,0x00,0x00,/ b0x00,0x3c,0x66,0xc6,0xc0,0xc0,0xc0,0xc6,0x66,0x3c,0x00,0x00,/ c0x00,0xf8,0x6c,0x66,0x66,0x66,0x66,0x66,0x6c,0xf8,0x00,0x00,/ d0x00,0xfe,0x62,0x60,0x64,0x7c,0x64,0x60,0x62,0xfe,0x00,0x00,/ e0x00,0xfe,0x66,0x62,0x64,0x7c,0x64,0x60,0x60,0xf0,0x00,0x00,/ f0x00,0x3c,0x66,0xc6,0xc0,0xc0,0xce,0xc6,0x66,0x3e,0x00,0x00,/ g0x00,0xcc,0xcc,0xcc,0xcc,0xfc,0xcc,0xcc,0xcc,0xcc,0x00,0x00,/ h0x00,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x78,0x00,0x00,/ i0x00,0x1e,0x0c,0x0c,0x0c,0x0c,0xcc,0xcc,0xcc,0x78,0x00,0x00,/ j0x00,0xe6,0x66,0x6c,0x6c,0x78,0x6c,0x6c,0x66,0xe6,0x00,0x00,/ k0x00,0xf0,0x60,0x60,0x60,0x60,0x62,0x66,0x66,0xfe,0x00,0x00,/ l0x00,0xc6,0xee,0xfe,0xfe,0xd6,0xc6,0xc6,0xc6,0xc6,0x00,0x00,/ m0x00,0xc6,0xc6,0xe6,0xf6,0xfe,0xde,0xce,0xc6,0xc6,0x00,0x00,/ n0x00,0x38,0x6c,0xc6,0xc6,0xc6,0xc6,0xc6,0x6c,0x38,0x00,0x00,/ o0x00,0xfc,0x66,0x66,0x66,0x7c,0x60,0x60,0x60,0xf0,0x00,0x00,/ p0x00,0x38,0x6c,0xc6,0xc6,0xc6,0xce,0xde,0x7c,0x0c,0x1e,0x00,/ q0x00,0xfc,0x66,0x66,0x66,0x7c,0x6c,0x66,0x66,0xe6,0x00,0x00,/ r0x00,0x78,0xcc,0xcc,0xc0,0x70,0x18,0xcc,0xcc,0x78,0x00,0x00,/ s0x00,0xfc,0xb4,0x30,0x30,0x30,0x30,0x30,0x30,0x78,0x00,0x00,/ t0x00,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0x78,0x00,0x00,/ u0x00,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0x78,0x30,0x00,0x00,/ v0x00,0xc6,0xc6,0xc6,0xc6,0xd6,0xd6,0x6c,0x6c,0x6c,0x00,0x00,/ w0x00,0xcc,0xcc,0xcc,0x78,0x30,0x78,0xcc,0xcc,0xcc,0x00,0x00,/ x0x00,0xcc,0xcc,0xcc,0xcc,0x78,0x30,0x30,0x30,0x78,0x00,0x00,/ y0x00,0xfe,0xce,0x98,0x18,0x30,0x60,0x62,0xc6,0xfe,0x00,0x00,/ z0x00,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,/ a0x00,0xe0,0x60,0x60,0x7c,0x66,0x66,0x66,0x66,0xdc,0x00,0x00,/ b0x00,0x00,0x00,0x00,0x78,0xcc,0xc0,0xc0,0xcc,0x78,0x00,0x00,/ c0x00,0x1c,0x0c,0x0c,0x7c,0xcc,0xcc,0xcc,0xcc,0x76,0x00,0x00,/ d0x00,0x00,0x00,0x00,0x78,0xcc,0xfc,0xc0,0xcc,0x78,0x00,0x00,/ e0x00,0x38,0x6c,0x60,0x60,0xf8,0x60,0x60,0x60,0xf0,0x00,0x00,/ f0x00,0x00,0x00,0x00,0x76,0xcc,0xcc,0xcc,0x7c,0x0c,0xcc,0x78,/ g0x00,0xe0,0x60,0x60,0x6c,0x76,0x66,0x66,0x66,0xe6,0x00,0x00,/ h0x00,0x18,0x18,0x00,0x78,0x18,0x18,0x18,0x18,0x7e,0x00,0x00,/ i0x00,0x0c,0x0c,0x00,0x3c,0x0c,0x0c,0x0c,0x0c,0xcc,0xcc,0x78,/ j0x00,0xe0,0x60,0x60,0x66,0x6c,0x78,0x6c,0x66,0xe6,0x00,0x00,/ k0x00,0x78,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x7e,0x00,0x00,/ l0x00,0x00,0x00,0x00,0xfc,0xd6,0xd6,0xd6,0xd6,0xc6,0x00,0x00,/ m0x00,0x00,0x00,0x00,0xf8,0xcc,0xcc,0xcc,0xcc,0xcc,0x00,0x00,/ n0x00,0x00,0x00,0x00,0x78,0xcc,0xcc,0xcc,0xcc,0x78,0x00,0x00,/ o0x00,0x00,0x00,0x00,0xdc,0x66,0x66,0x66,0x66,0x7c,0x60,0xf0,/ p0x00,0x00,0x00,0x00,0x76,0xcc,0xcc,0xcc,0xcc,0x7c,0x0c,0x1e,/ q0x00,0x00,0x00,0x00,0xec,0x6e,0x76,0x60,0x60,0xf0,0x00,0x00,/ r0x00,0x00,0x00,0x00,0x78,0xcc,0x60,0x18,0xcc,0x78,0x00,0x00,/ s0x00,0x00,0x20,0x60,0xfc,0x60,0x60,0x60,0x6c,0x38,0x00,0x00,/ t0x00,0x00,0x00,0x00,0xcc,0xcc,0xcc,0xcc,0xcc,0x76,0x00,0x00,/ u0x00,0x00,0x00,0x00,0xcc,0xcc,0xcc,0xcc,0x78,0x30,0x00,0x00,/ v0x00,0x00,0x00,0x00,0xc6,0xc6,0xd6,0xd6,0x6c,0x6c,0x00,0x00,/ w0x00,0x00,0x00,0x00,0xc6,0x6c,0x38,0x38,0x6c,0xc6,0x00,0x00,/ x0x00,0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x3c,0x0c,0x18,0xf0,/ y0x00,0x00,0x00,0x00,0xfc,0x8c,0x18,0x60,0xc4,0xfc,0x00,0x00,/ z0x00,0x1c,0x30,0x3
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025制造工人劳动合同
- 花式台球技巧与实战教学指南
- 小学语文第二册第5课教案指导
- 学校后勤人员绩效考核细则范本
- 矿用电机车装配工节假日后复工安全考核试卷含答案
- 拉链制作工节假日后复工安全考核试卷含答案
- 飞机结合测量工节假日后复工安全考核试卷含答案
- 糖汁中和工节假日后复工安全考核试卷含答案
- 铸件清理工节假日后复工安全考核试卷含答案
- 2025年度个人购房合同协议书
- 《机械制图》课件(共十一章)-上
- 水利工程质量检测员网上继续教育考试题库及答案
- 化工石油消防安全知识培训课件
- 财税服务公司费用报销问题研究
- 安全生产例会会议记录以及会议内容
- 眼视光技术介绍
- 危险品运输资格(装卸管理人员)考试2025年题库及答案
- 电子设备调试工基础技能培训手册
- 巨量千川-内容创意(初级) 营销师认证考试题及答案
- 氧气吸入操作并发症及防治
- 展会礼仪培训课程
评论
0/150
提交评论