C51程序设计__课程设计报告.doc_第1页
C51程序设计__课程设计报告.doc_第2页
C51程序设计__课程设计报告.doc_第3页
C51程序设计__课程设计报告.doc_第4页
C51程序设计__课程设计报告.doc_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

changchun institute of technology实 验 报 告 实习名称: c51程序设计 学生姓名: 学院名称: 电气与信息工程学院 专业班级: 电子1042班 学 号: 指导教师: 姜航 成 绩 评 定考核内容实习表现实习报告实习成果或答辩综合评定成绩成绩2013 年 10月 16日实习纪律要求和成绩考核办法(纪律要求和成绩考核办法在封皮背面打印)1实习必须听从教师指导,严格遵守安全操作规程。不准违规操作,未经指导教师允许不准启动任何非自用设备、仪器、工具等;操作项目和内容必须按实习要求进行,特别要注意防止电烙铁烧烫伤、不用时要及时切断电源。2实习教室内不准吸烟、吃食物(含零食),不准带无关人员到实习教室活动,否则扣平时表现分。3参加本次实习时间不足三分之二或旷课3天以上者,不得参加本次考核,按不及格处理。4病事假必须有请假条,需经班主任或有关领导批准,否则按旷课处理。5实习过程考核和实习成绩在教师手册中要有记载。6实习成绩的考核由指导教师根据实习表现(出勤、遵守纪律情况等)、实习报告、实习成果、现场操作、口试或笔试等几个方面,给出各项成绩或权重,综合后给出实习总成绩。7成绩评定采用五级分制,即优、良、中、及格、不及格。8实习结束一周内,指导教师提交实习成绩和实习总结。实习报告要求实习报告内容、格式各专业根据实习类别(技能实习、认识实习、生产实习、毕业实习等)统一规范,经教研室主任审核、主管院长审批备案。注意: 1实习任务书和实习指导书在实习前发给学生,实习任务书放置在实习报告封面后和正文目录前。2为了节省纸张,保护环境,便于保管实习报告,统一采用a4纸,实习报告建议双面打印(正文采用宋体五号字)或手写,左侧装订,订两个钉。本作业包含以下内容:一88led点阵屏仿电梯数字滚动显示二lcd160128中文显示温度与时间三用adc0832设计的两路电压表四可以调控的走马灯五高仿真数码管电子钟一88led点阵屏仿电梯数字滚动显示摘 要:伴随着我国现代化程度的提高,电梯成为高层建筑中的重要交通工具,它是高层建筑中安全、可靠、垂直上下的运载工具,对改善劳动条件、减轻劳动强度起到很大的作用。同时也给人们的生活带来了便利,为我国现代化建设的加速发展提供了强大的保障。电梯的应用范围很广,可用于宾馆、饭店、办公大楼、商场、娱乐场所,仓库以及居民住宅大楼等。因此,在现代社会中电梯已成为人类必不可少的垂直运输交通工具。利用单片机控制电梯有成本低,通用性强,灵活性大以及易于实现复杂控制等优点。基于单片机的电梯智能控制系统的设计分别从系统要求、硬件设计、软件设计等几个部分设计,介绍了以at89c51系列单片机为核心,并结合74ls245和led等芯片以及与之相配套的汇编语言软件等进行电梯模拟的具体实现方法,该方法不仅可以实现电梯的基本功能,而且可以设置电梯直达、急停、停电检修等功能,从而可实现电梯的智能控制及相应的最佳路线选择,提高电梯的有效利用率。关键词:单片机;电梯;系统;控制1.课题设计内容本课题的主要任务是完成一个电梯系统的智能控制模块,即根据每个楼层不同顾客的按键要求,让电梯做出合理的判断,正确高效的指导电梯完成各项载客任务。设计基于单片机的电梯智能控制系统的硬件电路与软件程序,给出硬件系统的电路原理图,对硬件电路与软件分别进行调试,得到调试成功的基于单片机的电梯智能控制系统。根据此任务,本课题需要研究的内容有:1、根据系统的技术要求,进行系统硬件的总体方案设计;2、学习单片机的相关知识,并且加以运用;3、选择适当的芯片,并对其内部协议有所掌握,便于应用。4、研究单片机c语言编程,并且规定电梯的工作规则,用c语言加以实现;5、对软件和硬件进行调试,让其协调工作,完成指定任务。图1-1 硬件结构框图2. 硬件电路中器件选择a. at89c51单片机at89c51是一个低电压,高性能cmos8位单片机带有4k字节的可反复擦写的程序存储器(penrom)。和128字节的存取数据存储器(ram),这种器件采用atmel公司的高密度、不容易丢失存储技术生产,并且能够与mcs-51系列的单片机兼容。片内含有8位中央处理器和闪烁存储单元,有较强的功能的at89c51单片机能够被应用到控制领域中。 本设计采用at89c51,它提供以下的功能标准:4k字节闪烁存储器,128字节随机存取数据存储器,32个i/o口,2个16位定时/计数器,1个5向量两级中断结构,1个串行通信口,片内震荡器和时钟电路。另外,at89c51还可以进行0hz的静态逻辑操作,并支持两种软件的节电模式。闲散方式停止中央处理器的工作,能够允许随机存取数据存储器、定时/计数器、串行通信口及中断系统继续工作。掉电方式保存随机存取数据存储器中的内容,但震荡器停止工作并禁止其它所有部件的工作直到下一个复位。引脚图如图1-2所示。图1-2 at89c51引脚vcc:电源电压 gnd:地p0口:p0口是一组8位漏极开路双向i/o口,即地址/数据总线复用口。作为输出口时,每一个管脚都能够驱动8个ttl电路。当“1”被写入p0口时,每个管脚都能够作为高阻抗输入端。p0口还能够在访问外部数据存储器或程序存储器时,转换地址和数据总线复用,并在这时激活内部的上拉电阻。p0口在闪烁编程时,p0口接收指令,在程序校验时,输出指令,需要接电阻。p1口:p1口一个带内部上拉电阻的8位双向i/o口,p1的输出缓冲级可驱动4个ttl电路。对端口写“1”,通过内部的电阻把端口拉到高电平,此时可作为输入口。因为内部有电阻,某个引脚被外部信号拉低时输出一个电流。闪烁编程时和程序校验时,p1口接收低8位地址。p2口:p2口是一个内部带有上拉电阻的8位双向i/o口,p2的输出缓冲级可驱动4个ttl电路。对端口写“1”,通过内部的电阻把端口拉到高电平,此时,可作为输入口。因为内部有电阻,某个引脚被外部信号拉低时会输出一个电流。在访问外部程序存储器或16位地址的外部数据存储器时,p2口送出高8位地址数据。在访问8位地址的外部数据存储器时,p2口线上的内容在整个运行期间不变。闪烁编程或校验时,p2口接收高位地址和其它控制信号。p3口:p3口是一组带有内部电阻的8位双向i/o口,p3口输出缓冲故可驱动4个ttl电路。对p3口写如“1”时,它们被内部电阻拉到高电平并可作为输入端时,被外部拉低的p3口将用电阻输出电流。p3口除了作为一般的i/o口外,更重要的用途是它的第二功能,如下表所示:端口引脚第二功能p3.0rxdp3.1txdp3.2int0p3.3int1p3.4t0p3.5t1p3.6wrp3.7rd表1-3p3口还接收一些用于闪烁存储器编程和程序校验的控制信号。rst:复位输入。当震荡器工作时,ret引脚出现两个机器周期以上的高电平将使单片机复位。ale/ :当访问外部程序存储器或数据存储器时,ale输出脉冲用于锁存地址的低8位字节。即使不访问外部存储器,ale以时钟震荡频率的1/16输出固定的正脉冲信号,因此它可对输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ale脉冲时,闪烁存储器编程时,这个引脚还用于输入编程脉冲。如果必要,可对特殊寄存器区中的8eh单元的d0位置禁止ale操作。这个位置后只有一条movx和movc指令ale才会被应用。此外,这个引脚会微弱拉高,单片机执行外部程序时,应设置ale无效。psen:程序储存允许输出是外部程序存储器的读选通信号,当at89c51由外部程序存储器读取指令时,每个机器周期两次psen 有效,即输出两个脉冲。在此期间,当访问外部数据存储器时,这两次有效的psen 信号不出现。ea/vpp:外部访问允许。欲使中央处理器仅访问外部程序存储器,ea端必须保持低电平。需要注意的是:如果加密位lbi被编程,复位时内部会锁存ea端状态。如ea端为高电平,cpu则执行内部程序存储器中的指令。闪烁存储器编程时,该引脚加上+12v的编程允许电压vpp,当然这必须是该器件是使用12v编程电压vpp。xtal1:片内振荡器反相放大器和时钟发生线路的输入端。使用片内振荡器时,连接外部石英晶体和微调电容。xtal2:片内振荡器反相放大器的输出端。当使用片内振荡器时,外接石英晶体和微调电容。图1-474ls24574ls245是我们常用的芯片,用来驱动led或者其他的设备,它是8路相同三态双向总线收发器,可双向传输数据。74ls245还具有双向三态功能,既可以输出,也可以输入数据。当8051单片机的p0口总线负载达到或超过p0口最大负载能力时,必须接入74ls245等总线驱动器。 当片选端/ce低电平有效时,dir=“0”,信号由b向a传输;(接收)dir=“1”,信号由a向b传输;(发送)当ce为高电平时,a、b均为高组态。 由于p2口始终输出地址的高8位,接口时74ls245d 三态控制端1g和2g接地,p2口与驱动器输入线对应相连。p0口与74ls245输入端相连,e端接地,保证数据线畅通。8051的/rd和/psen相与后接dir,使得rd且psen有效时,74ls245输入(p0.1d1),其他时间处于输出(p01d1)。c.led点阵图1-5 led点阵外观显示屏是由发光二极管行列组成的led点阵模块组成显示屏体。本设计中选择8*8的点阵是由64个发光二极管按规律组成的。如图1-6。图1-6 led点阵内部结构如图1-6所示的发光二极管,行接高电平,列接低电平,发光二极管导通发光。8x8点阵共需要64个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一列置1电平,某一行置0电平,则相应的二极管就亮。3. 硬件设计基于单片机智能控制系统的设计系统电路原理图如下2-2所示。系统由控制模块,led显示模块,电源模块三部分组成。图1-7 88led点阵屏仿电梯数字滚动显示原理图3.1 控制模块图1-8 控制模块原理图控制模块原理图如图1-8所示。主控制器采用at89c51。at89c51是一个低电压,高性能cmos8位单片机带有4k字节的可反复擦写的程序存储器(penrom)。它具有4k字节闪烁存储器,128字节随机存取数据存储器,32个i/o口,2个16位定时/计数器,1个5向量两级中断结构,1个串行通信口,片内震荡器和时钟电路。在本设计中,p1口用于对电梯按钮的控制,连接输入设备。p3口用于对led点阵显示器的控制。p0口用于连接锁存器74ls245,以保护单片机的输出端口。3.2按键模块图1-9按键模块原理图乘客可由按键控制电梯上升下降,按下对应楼层按键,点阵屏数字将从当前位置向下或向上平滑滚动显示到指定楼层位置。3.3 led显示模块图1-10led输出显示模块led输出显示模块如图2-5所示,采用led点阵显示器,其中点阵列接单片机p3口,行接锁存器74ls245。在单片机的输出口接驱动电路74ls245,以保护单片机的输出端口。3.4 电源电路 整个系统采用的电源电压只需+5v电压,将交流电经变压器变换为12v交流电,再用整流桥得到8.5v左右的直流电,采用不可调的3端稳压器件lm7805将电源稳定在5v直流输出。4. 软件设计图1-11 电梯智能控制功能实现流程图4.1 主程序模块系统主程序主要用于变量及其他部件的初始化,如定时器t0的初始化,以便能够准确的进行相应的操作。同时进行相应的功能键判断,从而实现特殊功能。其相应的流程图如下:图1-12主程序流程图4.2 判断子程序系统判断子程序的相应流程图如图所示。在相应的中断子程序中,需要进行相应楼层的逻辑判断,尤其是两个楼层申请的时候,一般都需要根据现在的楼层状态以及相应的升降标志位进行相应的处理,例如在上升状态时,若第二个楼层的申请较第一个申请离现在的楼层状态更近,则应先响应第二个申请的响应,然后再对第一个申请进行响应;若有楼层申请在当前楼层的下面,也应根据升降的标志位进行判断,如果是上升状态,应先响应上面的楼层,然后再响应其他的申请。当然,如果处于下降状态,则以相反的顺序进行响应。这里只是两个楼层申请时的讨论。当有更多楼层响应时,还需进一步进行逻辑的思考与判断。图1-13 判断子程序流程图5. 结束语本文设计了实现单片机控制下电梯智能控制系统的设计方案。由于条件的限制,没有做成真正的电梯。但做成的电梯智能控制系统的硬件电路已能演示。可以按照乘客的要求,将乘客送到要去的目的层。但是,电梯还有很多的扩展的空间并未实现,比如电梯自动语音报站系统的设计,楼层监控系统,节能设计以及其它更多的服务。参考文献1 何立民.单片机应用技术选编m.北京:北京航空航天大学出版社,1999.2 陈小忠.单片机接口技术使用子程序m.北京:人民邮电出版社,2005.3 丁元杰,吴大伟.单片机微机实题集与实验指导书m.北京:机械工业出版社,2004.4 51单片机c语言教程m.北京:电子工业出版社,2009.5 黄宏安,allegro pcb layout.高速电路版设计m.台科大图书股份有限公司,2003.6 于海生.微型计算机控制技术m.北京:清华大学出版社,1998.7 李广弟.单片机基础m.第3版,北京:国防工业出版社,2001.8 谢剑英,贾青.微型计算机控制技术m.北京:清华大学出版社,1998.9 苏凯,刘国庆,陈国平.mcs-51系列单片机系统原理与设计j.北京:冶金工业出版社,200310 潘新民,王艳芳.微型计算机控制技术j.北京:电子工业出版社,2003.11 张毅坤,陈善久,裘雪红.单片微型机及应用m.西安:西安电子科技大学学出版大学出版社,1998.12 全国大学生电子设计竞赛组委会.全国大学生电子设计竞赛获奖作品精选m.北京:北京理工大学出版社,2000.13 赵晶主.电路设计与制版protel99 高级应用j.北京:人民邮电出版社,2000.14 何希才.新型实用电子电路400列m.北京:电子工业出版社,2006.附录1程序清单#include /52系列单片机头文件#include #define uchar unsigned char #define uint unsigned intuchar code table_of_digits=0x00,0x3c,0x66,0x42,0x42,0x66,0x3c,0x00,/00x00,0x08,0x38,0x08,0x08,0x08,0x3e,0x00,/10x00,0x3c,0x04,0x04,0x3c,0x20,0x3c,0x00,/2 0x00,0x3c,0x04,0x3c,0x04,0x04,0x3c,0x00,/3 0x00,0x20,0x28,0x28,0x3c,0x08,0x08,0x00,/4 0x00,0x3c,0x20,0x20,0x3c,0x04,0x3c,0x00,/5 0x00,0x20,0x20,0x20,0x3c,0x24,0x3c,0x00,/6 0x00,0x3c,0x04,0x04,0x04,0x04,0x04,0x00/7 ;uint r = 0;char offset = 0;uchar current_level = 1,dest_level = 1,x = 0,t = 0;/-/主程序/-void main() p3 = 0x80; current_level = 1; dest_level = 1; tmod = 0x01; th0 = -4000/256; tl0 = -4000%256; tr0 = 1; ie = 0x82; while(1);/-/ to 中断/-void led_screen_display() interrupt 1uchar i ;if (p1 !=0xff & current_level=dest_level) if (p1 = 0xfe) dest_level = 5; if (p1 = 0xfd) dest_level = 4; if (p1 = 0xfb) dest_level = 3; if (p1 = 0xf7) dest_level = 2; if (p1 = 0xef) dest_level = 1; th0 = -4000/256; tl0 = -4000%256; p3 = _crol_(p3 , 1); i = current_level * 8 + r + offset; p0 = table_of_digitsi; /上升显示 if (current_level dest_level) if( +r = 8) r = 0; if (+x = 4) x = 0; if (-offset = -8) offset = 0; current_level-; /停止滚动,保持稳定的刷新显示 else if( +r = 8) r = 0; 附录2:基于单片机的电梯智能控制系统的元器件目录表序号型 号(名称)数量作用1at89c521单片机274ls2451锁存器310k排阻1上拉电阻48*8led点阵显示器1显示数字5按钮6复位按钮等622pf瓷片电容12晶振电路用710f电解电容26上电复位812mhz13晶振二lcd160128中文显示温度与时间摘要:本文主要内容是利用at89c51单片机与160*128的液晶、ds18b20和ds1302组合设计的显示温度与时间系统,在160*128的液晶上显示当前的时间、日期和ds18b20中的温度值。关键词:单片机;温度;时间;pg160128a;ds18b20; ds13020引言单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机,和计算机相比,单片机只缺少了i/o设备。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。单片机应用的重要意义在于,它从根本上改变了传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。 利用单片机显示当前时间与温度是单片机与pg160128 、ds18b20和ds1302的组合应用,对于开发单片机更深层次应用有非常现实的意义。1系统总体方案设计 单片微型计算机简称单片机,是典型的嵌入式微控制器(microcontroller unit),常用英文字母的缩写mcu表示单片机,它最早是被用在工业控制领域。单片机由芯片内仅有cpu的专用处理器发展而来。最早的设计理念是通过将大量外围设备和cpu集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。at89c51作为单片机中最早的技术相对成熟的产品,即使在各种更加高级,功能更加强劲的芯片如msp430,hcs12,已经各种fpga,arm的日益成熟的今天,51以其易学,易用,可扩展性强仍然被广泛用于简单工控系统和最佳的初学者芯片。lcd160128液晶,作为与51单片机兼容的液晶,像素高达160*128,可寻址,可以通过编程实现字库设置和图像显示,并有丰富的命令字可以实现各种丰富的显示效果,用简单的51单片机结合软件就能模拟各种实际功能,本设计主要研究如何模拟使通过51单片机与pg160128lcd的联合应用,利用at89c51单片机与160*128的液晶、ds18b20和ds1302组合设计的显示温度与时间系统,在160*128的液晶上显示当前的时间、日期和ds18b20中的温度值。2系统硬件方案设计整个硬件电路由单片机的复位和晶振电路,pg160128液晶显示器,电阻,2个独立led温度警示灯,ds18b20和ds1302组成。本硬件系统的子系统下面单独介绍。2.1实验原理图图2-1 系统原理图2.2 at89c51单片机 at89c51是一种带4k字节闪烁可编程可擦除只读存储器(fperomfalsh programmable and erasable read only memory)的低电压,高性能cmos8位微处理器,俗称单片机。at89c2051是一种带2k字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用atmel高密度非易失存储器制造技术制造,与工业标准的mcs-51指令集和输出管脚相兼容。由于将多功能8位cpu和闪烁存储器组合在单个芯片中,atmel的at89c51是一种高效微控制器,at89c2051是它的一种精简版本。at89c单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。2.2.1 主要特性:与mcs-51 兼容 4k字节可编程闪烁存储器 寿命:1000写/擦循环数据保留时间:10年全静态工作:0hz-24hz三级程序存储器锁定128*8位内部ram32可编程i/o线两个16位定时器/计数器5个中断源 可编程串行通道低功耗的闲置和掉电模式片内振荡器和时钟电路 2.2.2管脚说明:vcc:供电电压。gnd:接地。 p0口:p0口为一个8位漏级开路双向i/o口,每脚可吸收8ttl门电流。当p1口的管脚第一次写1时,被定义为高阻输入。p0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在fiash编程时,p0 口作为原码输入口,当fiash进行校验时,p0输出原码,此时p0外部必须被拉高。 p1口:p1口是一个内部提供上拉电阻的8位双向i/o口,p1口缓冲器能接收输出4ttl门电流。p1口管脚写入1后,被内部上拉为高,可用作输入,p1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在flash编程和校验时,p1口作为第八位地址接收。 p2口:p2口为一个内部上拉电阻的8位双向i/o口,p2口缓冲器可接收,输出4个ttl门电流,当p2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,p2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。p2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,p2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,p2口输出其特殊功能寄存器的内容。p2口在flash编程和校验时接收高八位地址信号和控制信号。p3口:p3口管脚是8个带内部上拉电阻的双向i/o口,可接收输出4个ttl门电流。当p3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,p3口将输出电流(ill)这是由于上拉的缘故。p3口也可作为at89c51的一些特殊功能口,如下表所示:口管脚 备选功能p3.0 rxd(串行输入口)p3.1 txd(串行输出口)p3.2 /int0(外部中断0)p3.3 /int1(外部中断1)p3.4 t0(记时器0外部输入)p3.5 t1(记时器1外部输入)p3.6 /wr(外部数据存储器写选通)p3.7 /rd(外部数据存储器读选通)p3口同时为闪烁编程和编程校验接收一些控制信号。 rst:复位输入。当振荡器复位器件时,要保持rst脚两个机器周期的高电平时间。 /ea/vpp:当/ea保持低电平时,则在此期间外部程序存储器(2.3振荡器特性: xtal1和xtal2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,xtal2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。2.4芯片擦除: 整个perom阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ale管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,at89c51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,cpu停止工作。但ram,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存ram的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。 2.5 pg160128lcdl 160 x 128 字符显示点阵;l 并行 8 线数据通信;l 黑色点阵,黄色背景,独立led背光电源;l 工作温度宽, 工业级 lcm, 超薄外型设计。 图2-2 pg160128lcd引脚图2.6 ds18b20温度系统2.6.1 主要特性1、适应电压范围更宽,电压范围:3.05.5v,在寄生电源方式下可由数 据线供电 2、独特的单线接口方式,ds18b20在与微处理器连接时仅需要一条口线即可实现微处理器与ds18b20的双向通讯 3、 ds18b20支持多点组网功能,多个ds18b20可以并联在唯一的三线上,实现组网多点测温 4、ds18b20在使用中不需要任何外围元件,全部 传感元件及转换电路集成在形如一只三极管的集成电路内 5、温范围55125,在-10+85时精度为0.5 6、可编程 的分辨率为912位,对应的可分辨温度分别为0.5、0.25、0.125和0.0625,可实现高精度测温 7、在9位分辨率时最多在 93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快 8、测量结果直接输出数字温度信号,以一 线总线串行传送给cpu,同时可传送crc校验码,具有极强的抗干扰纠错能力 9、负压特性:电源极性接反时,芯片不会因发热而烧毁, 但不能正常工作。2.6.2 ds18b20的外形和内部结构ds18b20内部结构主要由四部分组成:64位光刻rom 、温度传感器、非挥发的温度报警触发器th和tl、配置寄存器。ds18b20的外形及管脚排列如下图1: 图2-3 ds18b20外形及管脚排列图2.6.2.1 ds18b20引脚定义: (1)dq为数字信号输入/输出端; (2)gnd为电源地; (3)vdd为外接供电电源输入端(在寄生电源接线方式时接地)。2.6.2.2 ds18b20内部结构图 图2-4 ds18b20内部结构图2.6.3 ds18b20的工作原理 ds18b20的读写时序和测温原理与ds1820相同,只是得到的温度值的位数因分辨率不同而不同,且温度转换时的延时时间由2s 减为750ms。 ds18b20测温原理如图3所示。图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。高温度系数所测温度的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值。2.7 ds1302 时间系统2.7.1 ds1302的结构及工作原理ds1302 是美国dallas公司推出的一种高性能、低功耗、带ram的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5v5.5v。采用三线接口与cpu进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或ram数据。ds1302内部有一个318的用于临时性存放数据的ram寄存器。ds1302是ds1202的升级产品,与ds1202兼容,但增加了主电源/后背电源双电源引脚,同时提供了对后背电源进行涓细电流充电的能力。2.7.2 ds1302的引脚功能及结构ds1302的引脚排列,其中vcc1为后备电源,vcc2为主电源。在主电源关闭的情况下,也能保持时钟的连续运vcc2大于vcc10.2v时,vcc2给ds1302供电。当vcc2小于vcc1时,ds1302由vcc1供电。x1和x2是振荡源,外接32.768khz晶振。rst是复位/片选线,通过把rst输入驱动置高电平来启动所有的数据传送。rst输入有两种功能:首先,rst接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,rst提供终止单字节或多字节数据的传送手段。当rst为高电平时,所有的数据传送被初始化,允许对ds1302进行操作。如果在传送过程中rst置为低电平,则会终止此次数据传送,i/o引脚变为高阻态。上电运行时,在vcc2.0v之前,rst必须保持低电平。只有在sclk为低电平时,才能将rst置为高电平。i/o为串行数据输入输出端(双向),后面有详细说明。sclk为时钟输入端。 下图为ds1302的引脚功能图: 图2-5 ds1302引脚功能图ds1302的内部结构如下图所示,主要组成部分为:移位寄存器、控制逻辑、振荡器、实时时钟以及ram。虽然数据分成两种,但是对单片机的程序而言,其实是一样的,就是对特定的地址进行读写操作。图2-6 ds1302的内部结构图ds1302工作时为了对任何数据传送进行初始化,需要将复位脚(rst)置为高电平且将8位地址和命令信息装入移位寄存器。数据在时钟(sclk)的上升沿串行输入,前8位指定访问地址,命令字装入移位寄存器后,在之后的时钟周期,读操作时输出数据,写操作时输出数据。时钟脉冲的个数在单字节方式下为8(8位地址+8位数据),在多字节方式下为8加最多可达248的数据。3系统软件方案设计本文主要内容是利用at89c51单片机与160*128的液晶、ds18b20和ds1302组合设计的显示温度与时间系统,在160*128的液晶上显示当前的时间、日期和ds18b20中的温度值。开始初始化ds18b20应答脉冲发起readonebyte的命令发起writeonebyte的命令延时4s等待温度转换完成初始化ds18b20应答脉冲发起read_temperature命令读取第一二字节即为温度数据否是否是4系统硬件设计方案(1)时钟电路单片机工作的时间基准是由时钟电路提供的。在单片机的xtal1和xtal2两个引脚间,接一只晶振及两只电容就构成了单片机的时钟电路,电路中的器件选择可以通过计算和实验确定,也可以参考一些典型电路的参数。电路中,电容器c1和c2对振荡器频率有微调作用,通常的取值范围3010pf;石英晶体选择6mhz或12mhz都可以。其结果只是机器周期时间不同,影响计数器的计数初值。 图2-7 时钟电路原理图2)温度检测电路该电路只是利用ds18b20模拟外界环境温度的变化,从而实时显示在液晶屏上。 图2-8 温度检测电路原理图(3) lcd160128显示电路 图2-9 显示电路原理图5总结 本次课程设计是通过at89c51单片机原理来控制电路,并利用c语言进行程序设计。基于选题要求,我们设计了温度测量、时间测量、lcd显示功能。硬件方面我们使用了pg160128alcd、ds1302、ds18b20测温元件。这种控制电路结构简单,可靠性高,应用性强;软件程序适应范围广,对于不同的客户只需要改变相应的定时常数即可。对单片机以及日常生活中的推前事件的应用有一定的借鉴价值系统软件部分采用mcs51单片机汇编语言精心编写,其数据流程清晰地反映在程序中,增强了软件的可读性,便于改进和扩充,从而为其实用提供更好的软件支持。从设计过程中我也学到了很多专业知识了解到了更多的元器件的使用。参考文献1 阎石主编:数字电子技术基础m,北京,高等教育出版社,2006.52 康华光主编:电子技术基础 m,北京,高等教育出版社,1999.63谭浩强主编:c语言程序设计m,北京,清华大学出版社,2005.74高卫东主编:51单片机原理与实践m,北京,北京航空航天大学出版社,2011.15彭伟主编:单片机c语言程序设计实训100例m,北京,电子工业出版社,2009.6附录附件一:源程序如下/-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 12uchar 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,0x7

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论