毕业设计(论文)基于AT89S52单片机的数字万年历设计_第1页
毕业设计(论文)基于AT89S52单片机的数字万年历设计_第2页
毕业设计(论文)基于AT89S52单片机的数字万年历设计_第3页
毕业设计(论文)基于AT89S52单片机的数字万年历设计_第4页
毕业设计(论文)基于AT89S52单片机的数字万年历设计_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

1、摘要 在当代繁忙的工作与生活中,时间与我们每一个人都有非常亲密的关系,每个人都收到时间的影响,为了更好的利用我们自己的时间,我们必须对时间有一个度量,因此产生了钟表。随着社会、科技的发展,人类得知时间,从观太阳、摆钟到现在电子钟,不断研究、创新。为了在观测时间的同时能够了解其他与人类密切相关的信息,比如温度、星期、日期等,电子万年历诞生了,它集时间、日期、星期和温度于一身,具有读取方便、显示直观、功能多样、电路简洁等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景。该电子万年历主要采用at89s52单片机作为主控核心,由ds1302时钟芯片提供时钟、led动态扫描显示屏显示,at89s

2、52单片机具有功耗小,片内rom全都采用flashrom:能以3v的超低电压工作,同时也与mcs-51系列单片机完全兼容,该芯片内部存储器为8kb rom存储空间,同时具有89c51的功能,且具有在线编程可擦除技术,当在对电路进行调试时,由于程序的错误修改或程序的新增功能需要烧入程序时,不需要对芯片进行多次插拔,所以不会对芯片造成损坏。ds1302时钟芯片是美国dallas公司推出的具有涓流电流充电功能的低功耗实时时钟芯片,它可以对年、月、日等进行计时,还有闰年补偿等功能,而且使用寿命长,误差小,数字显示是采用的lcd液晶显示,可以同时显示各种需要的信息。此外,该电子万年历还具有时间校准等功能

3、。关键字:时钟电路时钟芯片ds1302 lcd液晶显示单片机at89s52目 录摘 要 第一章 绪论11.1 选题背景11.2 系统目标11.3 设计意义1第二章 系统分析32.1 系统总体结构32.2 系统功能分析3第三章 总体设计与详细设计53.1 总体设计53.2详细设计5第四章 系统实现7第五章 调试与测试9总结与心得10附录:1 源代码112 参考文献19第一章 绪论1.1选题背景:在社会迅速发展的今天,单片机的的运用已经渗透到我们生活的每个角落,也似乎很难找到哪个领域没有单片机的足迹。智能仪表、医疗器械,导弹的导航装置,智能监控、通讯与数据传输,工业自动化过程的实时控制和数据处理,

4、广泛使用的各种智能 ic 卡,汽车的安全保障系统,动控制领域的机器人,数码像机、电视机、全自动洗衣机的控制,电话机以及程控玩具、电子宠物等等,这些都离不开单片机。 所以,单片机的学习、开发与应用将对于现代社会的发展,经济的繁荣,和提高满足人类日益增长的物质文化需求有着至关重要的作用。也成就了一批又一智能化控制的工程师和科学家。科技越发达,智能化的东西就越多。学习单片机是社会发展的必然需求,也是我们现代高级技工所必须要掌握的技能。1.1.1单片机的简介:1.1.1微型计算机(single chip microcomputer) 微型计算机的主要特点:cpu集成于一个芯片中。 单片机(micro

5、controller unit)是把组成微型计算机的各功能部件:cpu、ram、rom、定时/计数器、中断控制器、并行和串行接口均集成在一个芯片中。其一个芯片就构成了一个比较完整的计算机系统。微型计算机与单片机是微电子领域的两个分支。微型计算机的特点是运算速度快、存储容量大,适合于信息管理、科学计算等领域;而单片机的特点为体积小、价格低,适合于仪器、设备的控制,常常嵌入到仪器、设备中。故单片机也称作微控制器(microcontroller)。1.1.2单片机的生产与发展(1).单片机的生产:目前世界上单片机的生产公司有上百家,如intel、philips、microchip、motorola、

6、siemens、nec、amd、zilog、ti、atmel等。但在国内广泛应用的只有intel 系列和microchip pic系列,(2).单片机的发展:第1阶段(19761980):单片机发展初级阶段。集成了8位cpu、ram、rom、定时器、并行口(无串行口)等部件,但性能低,寻址范围小(4kb),中断系统、定时器也简单。典型机型:intel mcs-48系列。 第2阶段(19801983):高性能单片机阶段。此阶段的单片机普遍带有串行口,有多级中断处理系统,多个16位定时/计数器,片内rom、ram的容量加大,寻址范围达64kb。典型机型:intel mcs-51系列。第3阶段(19

7、8380年代末):16位单片机和高性能8位机并行发展阶段。此阶段intel推出16位单片机mcs-96系列,其他公司也推出了各种16位单片机。同时高性能8位单片机的性能更为完善。第4阶段(90年代):单片机在集成度、功能、速度、可靠性等方面全面发展,如采用flash rom,加入了一些特殊功能部件(ad转换器,pwm输出,监视定时器wdt,dma,调制解调器,通信控制器,浮点运算单元等)。至今,单片机的性能已比较完善,且专业化的特点很强,为各种应用提供了很大的方便。1.1.2单片机的应用单片机由于体积小,价格低,功耗低、控制功能强且控制逻辑可由软件来实现,因此可以很方便地完成由一般数字电路很难

8、实现的控制逻辑。所以在测控系统,智能仪表,机电一体化产品,智能接口,智能民用产品,机器人等领域得以广泛应用。1.在智能仪器仪表上的应用(如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量)只需结合不同类型的传感器即可控制,使得仪表达到数字化。智能化、微型化(示波器)。2.在工业控制中的应用(如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等)多用于构成多样的控制系统,数字采集系统。设计用于实现特定功能,从而在各种电路中进行模块化应用,而不要求使用人员了解其内部结构,在大型电路中,这种模块化应用极大地缩小了体积,简化了

9、电路,降低了损坏、错误率,也方便于更换。3.在家用电器中的应用(洗衣机、电冰箱、空调机、彩电、及其他音响视频器材,电子秤量设备等)极大的方便了我们的生活。4.在计算机网络和通信领域中的应用(手机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、集群移动通信,无线电对讲机等)利用单片机的通讯接口可以方便的与计算机进行数据通,为在计算机网络通讯设备间的应用提供了很好的物质条件。7.单片机在汽车设备领域中的应用(如汽车中的发动机控制器,基于can总线的汽车发动机智能电子控制器,gps导航系统,abs防抱死系统,制动系统等)此外,单片机在工商,金融,科研、教育,国防航空航天等领域都有着十分

10、广泛的用途。8多机应用利用单片机的串行接口和并行接口,多个单片机子系统可以彼此进行通信,构成一个网络。可以构成一个集散式的控制系统,从而控制和处理大量的控制对象和信息,且可以通过并行运算方式来提高处理速度。总之在单片机系统中,单片机是作为控制中枢,数字电路器件是作为外围电路,二者是相辅相成的。1.1.3单片机的发展趋势 目前,为了适应各种嵌入式系统的应用需求,单片机将向着高集成度、增强工能。提高速度、降低成本和功耗等方向发展。这组要表现在以下几个方面。 1处理性能的增强:单片机的处理性能取决于其内部数据总线宽度、指令执行速度、片内存储器容量等指标。近几年发展起来的16位和32位单片机就体现了这

11、个发展趋势。 2增强功能:未来单片机的增强功能主要在网络功能。a/d和d/a功能、isp功能、dma功能、显示器驱动等方面另外为了能有效地保护嵌入式系统的知识产权,对单片机内部软件的加密是必要的,单片机的内部的程序代码存储器带有加密特性是单片机的一种增强功能。 3高集成度:随着集成电路技术的和工艺的不断提高,单片机技术的发展及其应用领域不断拓展提高单片机的集成度,增加片内功能器件,减少外围器件的扩展,实现真正的“单片”系统已成为发展趋势集成更多的i/o端口和特殊接口,直接驱动led、vfd、lcd等显示器,带有直接中断方式键盘端口等。近年来,单片机结合专用集成电路(application sp

12、ecific integrated circuit, asic)和精简指令集计算机(reduced instruction set computer, risc)技术,发展为嵌入式处理器(embedded processor),适用于数据与数值分析、信号处理、智能机器人及图像处理等高技术领域。由于我做的小实验用的是宏晶公司的stc89c54rd+单片机所以下面我就详细介绍stc89c54通过它来反映单片机的开发应用过程!我所用stc89c54rd+是一个低功耗,高性能的8位单片机片内含有串行编程可反复擦写1000次的flash只读程序存储器器件采用高密度、非易失性存储技术制造,兼容标准的mcs

13、-51指令系统及80c51引脚的结构,芯片内集成了通用8位中央处理器和isp flash存储单元,功能强大的at89c51可为许多嵌入式应用式控制性应用系统提供高性价比的解决方案!stc89c54rd+具有以下特性: 兼容mcs-51指令系统,32个双向i/o口,2个16位可编程定时/计数器、全双工uart串行中断口线、两个外部中断源、中断唤醒省电模式、看门狗(wdt)电路、灵活的isp字节和分页编程、4kb可反复擦写(大于1000次)isp flash rom、4.5v5.5v工作电压、时钟频率03mhz、128*8bit内部ram、低功耗空闲和省电模式、三级加密位、软件空闲和省电功能、双数

14、据寄存器指针。(1) 增强型6时钟/机器周期、12时钟、机器周期任意设置。(2) 工作电压:5.5v-3.4v(5v单片机)/2.0v-3.8v(3v单片机)(3) 工作频率:0-40mhz,相当于普通8051单片机;实际使用范围为0-80mhz。(4) 16kb片内flash程序存储器,擦写次数10万次以上。(5) 片上集成512ram数据存储器。(6) 四组通用i/o口,复位后为:p1、p2、p3、p4是弱上拉/准双向口;p0口是开漏输出口,作为总线扩展时用,不用加上拉电阻;p0口作为i/o口用时,需要加上拉电阻。(7) t0定时器0 txal2 接外部晶振 t1定时器1 txal1 接外

15、部晶振除此之外,stc89c54单片机自身还有很多独特的优点:(1)加密性强,无法解密。(2)超强抗干扰。主要表现在:高抗经典,可以轻松抗御2kv/4kv快速脉冲干扰,宽电压、不怕电源抖动,宽温度范围,i/o口经过特殊处理,单片机内部的电源供电系统、时钟电路、复位电路及看门狗电路都经过特殊的处理。(3)超低功耗:掉电模式,典型电流损耗0.1ua,空闲模式,典型电流损耗为2ma;正常工作模式,典型电流损耗4-7毫安。1.2 选题目的:随着人们生活水平的提高和生活节奏的加快,对时间的要求越来越高,精准数字计时的消费需求也是越来越多。二十一世纪的今天,最具代表性的计时产品就是电子万年历,它是近代世界

16、钟表界的第三次革命。第一次是摆和摆轮游丝的发明,相对稳定的机械振荡频率使钟表的走时差从分级缩小到秒级,代表性的产品就是带有摆和摆轮游丝的机械表或钟。第二次革命是石英晶体振荡器的应用,发明了走时精度更高的石英电子钟表,使钟表的走时月差从分级缩小到了秒级。第三次革命就是单片机数码计时技术的应用(电子万年历),使计时产品的走时日差从分级缩小到了百万分之一秒,从原有传统指针计时的方式发展为人们日常更为熟悉的夜光数字显示式,直观明了,并增加了全自动日期、星期、温度以及其他日常附属信息的显示功能,他更符合消费者的生活需求,因此,电子万年历的出现带来了钟表计时业跨越性的进步。1.3设计意义我国生产的电子万年

17、历有很多种,总体上来说以研究多功能电子万年历为主,使万年历除了具有原来的显示时间,日期等基本功能外,还具有闹铃,报警等功能,商家生产的电子万年历更从质量,价格,使用上考虑,不断的改进电子万年历的设计,使其更加具有市场。本设计为软件,硬件相结合的一组设计,在软件设计过程中,应对硬件部分有相关的了解,这样有助于对设计题目的更深了解,有助于软件设计,基本的要了解一些主要期间的基本功能和作用。除了采用集成化的时钟芯片外,还有采用mcu的方案,利用at89系列单片机微机制成万年历电路,采用软件和硬件相结合的方法,控制液晶输出显示。其最大的特点是:硬件电路简单,安装方便易于实现,软件设计独特,可靠。本文介

18、绍了基于at89s52单片机设计的电子万年历。首先简单介绍了单片机的发展和应用。并且论述了在本次设计中的设计方案,并在此基础上实现了万年历的基本电路设计,然后使用单片机c语言程序的设计,程序采用模块化设计,使得逻辑关系简单明了,维护方便。一 设计要求与方案论证1.1 设计要求1.1.1基本功能 设计一个能够显示年、月、日、时、分、秒、星期功能的数字万年历。采用led或lcd显示并具备以下功能。(1) 能够任意设定年、月、日、时、分、星期;(2) 能够任意设定报时时间;(3) 能够区分平年、闰年、大小月份。1.1.2发挥部分(1)能够完成掉电保护(2)能够在夜间自动关闭lcd 显示(3)具有温度

19、显示功能和温度报警功能。1.2系统基本方案选择和论证1.2.1单片机芯片的选择和方案论证:方案一:采用89c51芯片作为硬件核心,内部具有4kb rom存储空间,能于3v的超低电压工作,而且与mcs-51系列单片机完全兼容,但是运用于电路设计中时由于不具备isp在线编程技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,对芯片的多次查吧会对芯片造成一定的损坏。 方案二: 采用at89s52片内rom全都采用flashrom:能以3v的超低电压工作,同时也与mcs-51系列单片机完全兼容,该芯片内部存储器为8kb rom存储空间,同时具有89c51的功能,且具有在线编

20、程可擦除技术,当在对电路进行调试时,由于程序的错误修改或程序的新增功能需要烧入程序时,不需要对芯片进行多次插拔,所以不会对芯片造成损坏。 综上所述,所以采用at89s52作为主控系统。1.2.2显示模块选择方案和论证:方案一:采用led数码管动态扫描,led数码管价格适中,对于显示数字最合适,而且采用动态扫描法与单片机相连接时,占用的单片机口线少,但所需要的数码管数量太多,焊接困难极易出错,所以不采用led数码管作为显示。方案二:采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对于显示文字比较合适,如果用在显示数字显得太浪费,且价格也相对较高,所以也不用此种作为显示。方案三:采

21、用lcd液晶显示屏,液晶显示屏的显示功能强大,可显示大量文字,图形,显示多样,清晰可见,但是价格昂贵,需要的接口线多,本设计所需显示较多且需要文字,所以在本次设计中采用lcd液晶显示屏。1.2.3时钟芯片的选择方案和论证:方案一:直接采用单片机定时计数器提供秒信号,使用程序实现年、月、日、星期、时、分、秒技术,采用此种方案虽然减小芯片的使用,节约成本,但是,实现的时间误差较大,所以不采用此方案。方案二:采用ds1302时钟芯片实现时钟,ds1302芯片是一种高性能的时钟芯片,可自动对秒、分、时、日、周、月、年以及闰年补偿的年进行计数,而且精度高,位的ram作为数据暂存区,工作电压2.5v-5.

22、5v范围内,2.5v时耗电小于300ma。1.2.4温度传感器的选择方案论证:方案一:使用热敏电阻作为传感器,用热敏电阻与一个相应阻值电阻相串联分压,利用热敏电阻阻值随温度变化而变化的特性,采集这两个电阻变化的分压值,并进行a/d转换,此设计方案需要a/d转换电路,增加了硬件成本而且热敏电阻的感温特性曲线并不是严格性的,会产生较大的测量误差。方案二:采用数字式温度传感器ds18b20,此类传感器为数字式传感器,而且仅需要一条数据线进行数据传输,易于与单片机连接,可以去除a/d模块,降低了硬件成本,简化系统电路。另外,数字式温度传感器还具有测量精度高,测量范围广等优点。1.3电路设计最终方案决定

23、:综上各方案所述,对此次设计的方案选定:采用at89s52作为主控系统;ds1302提供时钟;数字式温度传感器;lcd液晶显示屏作为显示。二 系统的硬件设计与实现:2.1 系统硬件概述: 本电路是由at89s52单片机作为控制核心,具有在线编程功能,低功耗,能在3v超低压工作;时钟电路由ds1302提供,它是一种高性能、低功耗、带ram的实时时钟电路,它可以对年、月、日、时、分、秒等进行计时,具有闰年补偿功能,工作电压为2.5v-5.5v。采用三线接口与cpu进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或ram数据。ds1302内部有一个用于临时存放数据的ram寄存器。可产生年、月

24、、日、时、分、秒等,具有使用寿命长,精度高和低功耗等特点,同时具有掉电自动保存功能;温度的采集由ds18b20构成,显示部分为lcd液晶显示屏,能够实现字符与数字同时显示的功能。2.2 主要单元电路的设计:2.2.1 控制系统的设计 使用at89s52作为单片机的主控芯片,at89s52单片机为40引脚双列直插芯片,有四个i/o口p0,p1,p2,p3,每一条i/o线都能独立地作输出或输入。 单片机的最小系统如下图所示,18引脚和19引脚接时钟电路,xtal1接外部晶振和微调电容的一端,在片内它是振荡器倒相放大器的输入,xtal2接外部晶振和微调电容的另一端,在片内它是振荡器倒相放大器的输出,

25、第9引脚为复位输入端,接上电容,电阻及开关后构成上电复位电路,20引脚为接地端,40引脚为电源端,如图2-1所示: 图 2-1主控制系统2.2.2时钟电路模块的设计:图2-2示出ds1302的引脚排列,其中vcc1为后备电源,vcc2为主电源,在主电源关闭的情况下,也能保持时钟的连续运行,ds1302由vcc1或vcc2两者中的较大者供电,当vcc2大于vcc1+0.2v时,vcc2给ds1302供电,当vcc2小于vcc1时候vcc1供电。x1和x2是振荡源,外接32.768khz晶振,rst是复位片选线,通过把rst输入驱动置高电平来启动所有的数据传送。rst输入有两种功能:首先,rst接

26、通控制逻辑,允许地址/命令序列送入移位寄存器;其次,rst提供终止单字节或多字节数据的传送手段,当rst为高电平时,所有的数据传送被初始化,允许对ds1302进行操作,如果在传送过程中rst置为低电平,则会终止此次数据传送,i/o引脚变为高阻态,上电运行时,在vcc大于等于2.5v之前,rst必须保持低电平,中有在sclk为低电平时,才能将rst置为高电平,i/o为串行数据输入端,sclk始终是输入端。时钟电路芯片ds1302引脚图如下图所示: 图2-2 ds1302的引脚图 2.2.3 温度采集模块设计 如图2-3所示,采用数字式温度传感器ds18b20,它是数字式温度传感器,具有测量精度高

27、,电路连接简单特点,此类传感器仅需要一条数据线进行数据传输,使用i/o口与ds18b20连接加一上拉电阻,vcc接电源,vss接地。芯片管脚图如下图所示:- 图 2-3 ds18b20温度采集2.2.4电路原理及说明(1)时钟芯片ds1302的工作原理ds1302在每次进行读、写程序前都必须初始化,先把sclk端置“0”,接着把rst端置“1”,最后才给予sclk脉冲;读/写时序如下图2-4所示,图2-5为ds1302的控制字,此控制字的位7必须置1,若为0则不能把对ds1302进行读写数据,对于位6,若对程序进行读/写时ram=1,对时间进行读/写时,ck=0,位1至位5指操作单元的地址。位

28、0是读/写操作位,进行读操作时,该位为1;该位为0则表示进行的是写操作,控制字节总是从最低开始输入/输出的。“wp”为1时,写保护位防止对任一寄存器的写操作。(2)ds1302的控制字节 ds1302的控制字的高有效位(位7)必须是逻辑,如果它为0,则不能把数据写入ds1302中,位6如果是0,则表示存取日历时钟数据,为1表示存取ram数据;位5至位1指操作单元的地址;最低有效位如果为0表示要进行写操作,为1表示进行读操作,控制字节总是从最低位开始输出。(4) 数据输入输出(i/o)在控制指令字输入后的下一个sclk时钟的上升沿时,数据被写入ds1302,数据输入从低位即位0开始。同样,在紧跟

29、8位的控制指令字后的下一个sclk脉冲的下降沿读出ds1302的数据,读出数据时从低位0到高位7.如下图所示: 图 2-4 ds1302读/写时序图 2.2.5 液晶显示模块概述本次设计采用由香港静电公司的“mdls-”字符型液晶显示模块,该系列是目前世界上品种最全的字符型lcm系列,它具有各种规格,广泛应用于智能仪表、通讯、办公自动化及军工等领域。字符型液晶显示模块目前在国际上已经规范化,无论显示屏的规格如何变化,其电特性和接口形式都是统一的。因此只要设计出一种型号的接口电路,在指令设置上稍加改动即可使用各种规格的字符型液晶显示模块。在这次设计采用的mdls系列接口特性如下表所示: 表2-1

30、 mdls系列接口特性表通过对mdls的时序的了解后可知,在对ds1302读或写操作的过程中必需要保持rst为高电平,且在sclk为低电平时置位rst,读写操作完毕后需要对rst复位,并且要置位sclk避免时序错乱。另外由动作时序图还可看出在读写数据前都要写指令,且读写的数据是紧紧的跟在指令的后面,即在此过程中,时钟信号是连续发送的,其占空比是相同的,如果写完指令后将rst复位,再来读写数据是行不同的,因其占空比发生了变化,读写的数据不是紧紧的跟在指令的后面的。从ds1302中读出的数据均为bcd码,要使其在lcd上显示出来需要将其转换成ascii码。在调时模式下,则需要将其转换为十进制数。相

31、应的要将一个数写入ds1302中则需要先将数据转换为bcd码。在编程对芯片的了解后对其有以下总结: (1)引脚的认识 1:vss 电源引脚 接+5v直流电源 2: vdd 接地引脚 3:vee 背光引脚 调节lcd亮度 4:rs 数据/状态引脚 1为数据;0为状态 5: rw 读/写引脚 1为读; 0为写 6:e 使能引脚 高电平有效(可对其读写数据) 714:d0d7 数据线 (2)控制字 0x02:光标、画面,及ac回首地址 0x05:画面平移(平移速度相当快) 0x06:ac自动加1,且画面不动 0x0c:显示开即可显示数据 0x08:显示关不可显示数据及光标,但屏亮 0x0e:显示开且

32、光标显示 0x09:显示开光标显示且闪烁0x18:画面右移一位(*注 本人用时发现此指令不可用,会使屏关)0x1c:画面左移一位0x10:光标左移一位0x14:光标右移一位0x38:lcd双行显示0x30:lcd单行显示(第一行显示)第三章 系统的软件设计软件系统在本次设计中尤其重要,基本功能大部分是由软件完成的,发挥功能的关键控制部分同样需要软件的密切配合才能顺利实现。鉴于软件设计的复杂性和规模性,我们采用keil编译器支持的c语言编程,放弃了效率高但可读性不强的汇编语言。整个软件系统采用规模化的程序设计方法,共分为时间设定、闹铃设定、和温度检测系统。软件系统的主要特点是整个过程完全在键盘的

33、控制之下,实现了完全的友好的人机交互功能。主程序通过判断键盘的输入情况调用不同的子程序。子程序的功能实现也是在键盘的配合下完成的。总 结本系统以at89s52为核心部件,使用串行时钟芯片ds1302,实现时间和闹钟的功能设置。通过键盘和液晶显示屏可方便地校对时钟和设置闹钟时间,本系统基本完成了实用电子钟的功能,尽量做到了硬件电路简单稳定,减少电磁干扰和其他环境干扰。在该系统设计,调试完成之后,对最后的成功进行分析,同时结合在调试过程中出现的错误进行综合分析,总结在实际系统设计和调试过程中的宝贵经验。在系统硬件设计之前,要结合当前系统的发展趋势和现状对系统功能进行定位,使系统在实际应用中具有竞争

34、力。该系统最大的特点就是界面友好,走时准确,和现在使用led显示数据的万年历相比,体积更小,可以作为轿车车载显示装置,系统采用液晶显示器,可以使系统应用到更加现代化的地方,使系统采用模块化程序设计犯法,同时保留了很多的微控制器i/o口,扩展十分方便,以往的采用led显示数据的万年历要想实现的功能扩展,除需要对系统程序进行修改,还必须增加或减少led数码管,同时要对led图片界面进行更换,硬件改动较大,该系统的显示部分除可以显示数据外,还可以显示图片,所以说,其界面改动非常灵活,仅仅改动程序就能实现界面的修改,用户还可以选择自己喜欢的界面,这是以led作为显示装置的数字万年历所不能实现的。系统具

35、有温度检测功能,可以作为工业温度检测装置,同时可提供温度报警,系统的按键输入功能,可以读取决策,我们可以通过按键发送指令,控制工业现场机器的动作,实现远程控制。可见,该系统本身不仅具有很大的灵活性,友好的界面,方便的可扩展性,同时,在其基础上的系统市场需求也很客观,工业控制的很多场合对时间要求比较严格,在实际系统中,系统各装置按照预定的时间动作,本系统可以很好的满足这些系统的要求。在该系统进行软件设计的时候,采用模块化设计方法,除了便于升级外,在调试过程中,模块化的程序设计将使系统更容易调试,我们在调试的过程中,可以分块调试,最后总组装,如果不采用模块化设计方法,将很难找出调试中的错误,无论是

36、在系统硬件焊接还是在软件编程时,都要细心,比如在开始的时候,时钟芯片主电源和别用电源焊接颠倒,不能写入数据。这样很小的错误,却很大影响系统的性能,甚至导致系统根本无法工作。在本次单片机控制课程设计过程当中,指导老师张风涛和其他老师以及同学们都给予了很大的帮助支持,张老师严谨的治学态度和务实的求知精神给我留下了很深的印象,他们鼓励我孜孜不倦,锐意进取,特别是在困难的时候,他有意识地培养我独立思考和解决问题的能力。张老师的严格要求,令我以后的工作和生活当中受益匪浅。在此,对他们所给予的指导和帮助表示最衷心的感谢。 致谢 大学四年的学习和生活就要随着这篇论文的答辩而结束了。有许许多多的不舍,也有许许

37、多多的感谢要说。毕业设计,实时上就是综合的运用四年所学知识去分析、解决一个问题,在做毕业设计的过程中,把所学知识梳理一遍,它既是一次检阅,又是一次锻炼。在设计中,我遇到过很多问题,比如课题需要用什么元器件,主电路图如何设计,子程序该怎么编写等都是一点头绪都没有,但是我在设计的这一段时间里查询了大量的资料:硬件设计、原理图绘制、程序编写测试与调试,并且在指导老师的帮助下我学会和懂得了很多,逐渐完成了对硬件电弧与软件编程两方面设计,掌握了硬件调试、软件调试基本方法,掌握了从子程序到总程序、从基本功能到复杂功能等程序编写的基本思路及方法。 首先要衷心的感谢的事我的指导老师,罗薇罗老师!在我学习期间不

38、仅传授了知识上的秘诀,更教育了我做人的准则。这些都将使我终生受益。无论是在理论学习阶段,还是在论文的选题、资料的查询、开题、研究和撰写的每一个环节,都得到了罗薇老师无微不至的悉心指导和帮助。我愿借此机会向导师表示衷心的感谢! 其次要感谢所有教育过我的老师!是你们缠手给我的专业知识是我不断成长的源泉,也是完成本论文的基础。我还要向关心和支持我学习的朋友们表示真挚的谢意!感谢他们对我的关系、关注和支持! 大学的生活让我有了坚强的性格,冷静的头脑和永远乐观的态度。最重要的是让我有了责任感,对自己、对家人和对社会的责任感。 我愿在未来的学习过程中,以更加丰厚的成果来答谢曾经关心、帮助和支持我的所有领导

39、、老师、同学和朋友。永远以一颗为人民服务的心来回报社会。附录参考文献1胡乾斌李光斌李玲喻红.单片微型计算机原理及应用m.华中科技大学出版社.2005年8月第2版.2任为民.电子技术基础课程设计m.中央广播电视大学出版社.1997年5月第1版.3谭浩强.c程序设计(第二版).m清华大学出版社.1999年12月第2版.。4赵亮,候国锐.单片机c语言编程与实例m.北京:人民邮电出版社,20035范风强,兰婵丽.单片机语言c51应用实战集锦m(修订版).电子工业出版社.6刘振海.单片机原理及应用技术m.北京:高等教育出版社,20037沈红卫.单片机应用系统设计实例与分析m.北京:北京航空航天大学出版社

40、,20028于复生,宋现春等,时钟芯片ds1302及其在数据记录中的应用电子技术应用m2000年3月9李宏.液晶显示器件应用技术m.北京:机械工业出版社,200410johnp.uyemura.数字系统设计入门教程集成方法(英文影印版)m.科学出版社.2002年3月第1版第1次印刷11张景元.基于单片机的多用途定时器的设计与实现m.电子工程师2000年第8期12李洪涛.一种单片机控制的定时打铃器.电子世界m.1990年第2期13何业军李超.基于单片机控制的高精度定时打铃器的设计m.电子技术.2001年第7期14关宗安仲丛久.基于单片机实现的多路定时控制器的设计m.沈阳航空工业学院学报.2004

41、年6月.第21卷第3期15atmel.microcontrollermdatabook,200216范立南.单片微机接口与控制技术m.沈阳:辽宁大学出版社,199617张友德.单片微型机原理、应用与实践m.上海:复旦大学出版社,199218李华.mcs-51系列单片机实用接口技术m,北京:北京航空航天大学出版社,1993参考文献【1】.maxim公司,1-wire单总线的基本原理【eb/ol1-13【2】.于永学、葛健,1-wire总线数字温度传感器ds18b20及应用j,电子产品 世界2003(4)16-24【3】.马云峰、陈子夫、李全培,数字温度传感器ds18b20的原理与应用eb/ol1

42、-25【4】.胡振宇、刘鲁源、杜振辉,ds18b20接口的c语言程序设计j,单片机与嵌入式系统应用,2002-24-43【5】.李钢,1-wire总线数字温度传感器ds18b20原理及应用,现代电子ijishuj,2005(8)21-23【7】.廖常初,现场总线概述j,电工技术,1989,19-67【8】.阎 石,数字电子技术基础(第三版)m,高等教育出版社,1989,19-67【9】.陈跃东,ds18b20集成温度传感器原理与应用j,安徽教育出版社,2002(4)5-23【10】.李广弟,单片机基础m,北京航空航天大学出版社,1994,1-56【11】.dallas corp,ds18b20

43、eb/ol1-24【12】.李朝青,单片机原理及接口技术(简明修订版)m,北京航空航天大学出版社,1998.17-227【13】.金伟正,单线数字温度传感器的原理与应用l.电子技术应用,2000(6)3-24【14】.沙占友,智能化集成温度传感器原理与应用,2002.84-105#include/*位定义*/sbit io=p15; /ds1302的串行数据i/o口sbit clk=p16; /ds1302的时钟口sbit rst=p17; /ds1302的复位口sbit acc0=acc0; /移位时的第0位sbit acc7=acc7; /移位时用的第7位sbit busy=p07; /l

44、cd 忙标志位sbit rs=p20; /lcd 数据状态位sbit rw=p21; /lcd 读写控件位sbit re=p22; /lcd 使能位sbit menu=p30; /菜单sbit inc=p31; /加一sbit dec=p32; /减一sbit quit=p33; /退出/*全局变量*/unsigned char sec,min,hour,day,month,week,year; /秒,分,时,日,月,星期,年char newsec,newmin,newhour,newday,newmonth,newweek,newyear; /重写数据用的秒,分,时unsigned char

45、 bksec,bkmin,bkhour,bkweek,bkday,bkmonth,bkyear,down,count; /闪烁标志位unsigned char flag,daflag; / 加减标志位,时间日期标志位unsigned char timete8,timede10; /分别存放,时分秒;年月日unsigned char week13=sun; /星期日unsigned char week23=mon; / 一unsigned char week33=tue; / 二unsigned char week43=wed; / 三unsigned char week53=thu; / 四u

46、nsigned char week63=fri; / 五unsigned char week73=sat; / 六unsigned char name=wanli; /制作者(本人)的名字/*函数申明*/void delay(unsigned char ms); /延时void writebyte(unsigned char wdat);/写一字节到ds1302unsigned char readbyte(); /从ds1302中读一字节unsigned char readdat(); /读ds1302某地址数据void writedat(unsigned char waddr,unsigne

47、d char x);/写数据到ds1302的某地址void ifprotect(flag); /是否写允许void timebuf(); /时间缓冲区void checkbusy(); /测试lcd忙碌状态void wrcom(unsigned char com); /写指令到lcdvoid wrdat(unsigned char dat); /写数据到lcdvoid lcdinit(); /lcd初始化void scanmenu(); /menu扫描void funcmenu(); /menu功能void scaninc(); /扫描加能函数void scandec(); /扫描减一函数vo

48、id scanquit(); /扫描退出函数void funcinc(); /加一功能函数void funcdec(); /减一功能函数void funcquit(); /退出功能函数void turn_sub(unsigned char newval,unsigned char newbk,unsigned char newaddr); /调时子函数void sub_buf(unsigned char subk,unsigned char bfte,unsigned char fda); /时间缓冲子函数void sub_week(unsigned char num); /显示星期子函数/*ds1302函数部分*/void delay(unsigned char ms) /延时函数 unsigned char i; unsigned char m=4; while(ms-) for(i=0;i0;i-) io=acc0; /从最低位开始传送 clk=1; /产生一个边沿 在写指令时供产生上升沿,在写数据时供产生紧挨着的下降沿 clk=0; acc=1; unsigned char readbyte() /从ds1302中读一字节 unsigned char

温馨提示

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

评论

0/150

提交评论