毕业设计(论文)基于AT89S52单片机的数字万年历设计与实现

上传人:仙*** 文档编号:31638090 上传时间:2021-10-12 格式:DOC 页数:71 大小:1.96MB
收藏 版权申诉 举报 下载
毕业设计(论文)基于AT89S52单片机的数字万年历设计与实现_第1页
第1页 / 共71页
毕业设计(论文)基于AT89S52单片机的数字万年历设计与实现_第2页
第2页 / 共71页
毕业设计(论文)基于AT89S52单片机的数字万年历设计与实现_第3页
第3页 / 共71页
资源描述:

《毕业设计(论文)基于AT89S52单片机的数字万年历设计与实现》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于AT89S52单片机的数字万年历设计与实现(71页珍藏版)》请在装配图网上搜索。

1、河南理工大学毕业设计(论文)说明书摘要随着电子技术的迅速发展,特别是大规模集成电路的出现,人类生活发生了根本性的变化。以单片机技术为核心的产品已走进了千家万户,数字万年历的出现更是给人们的生活带来诸多方便,本文就实现了基于 AT89S52 单片机的多功能数字万年历的设计。本设计以 AT89S52 单片机技术为核心,以各种硬件电路为基础,软件采用汇编语言进行编写,为了便于扩展和更改,采用模块化的程序设计方法,使程序设计的逻辑关系更加简洁明了,系统升级更加简单方便。系统以点阵式带字库 12864 液晶模块为载体显示数据,所以具有人性化的操作界面和美观的页面效果,可以显示公历日期、时间、农历日期、星

2、期、温度,并有闹铃功能。用户可以通过按键调节系统时间、设定闹铃时间。最后完成了组装与调试。关键词:AT89S52 单片机;数字万年历;12864 液晶模块 河南理工大学毕业设计(论文)说明书AbstractWith the rapid development of electronic technology, especially the emergence of large-scale integrated circuits, human life there has been a fundamental change. The products have entered tens of t

3、housands of households whose core is single-chip technology, the emergence of digital calendar is to bring a lot of peoples lives easy, This article worked out a design of multi-functional digital calendar based on the single chip AT89S52.The design of single-chip AT89S52 technology as the core, bas

4、ed on a variety of hardware circuitry and used assembly language for the preparation of software, In order to facilitate the expansion and changes to the design, procedures for the use of modular design method so that the logic of the relationship between program design more concise, the system more

5、 simple and convenient to upgrade. System use dot-matrix LCD Module 12864 font display as the data carrier and therefore have a human interface and aesthetic page will show the calendar date, time, Chinese date, week, temperature, and has alarm functions. Users can adjust the system time or set the

6、alarm time through the button. I completed the assembly and commissioning finally.Key words: Single-chip AT89S52 Digital Calendar LCD Module 12864河南理工大学毕业设计(论文)说明书目录1 引言 11.1 课题研究背景与现状11.2 本课题所做的工作22 数字万年历硬件设计 32.1 电源电路设计32.2 微控制器选择42.3 温度测量环节设计82.4 时钟芯片环节102.5 显示电路设计132.6 定时闹铃、按键电路设计163 数字万年历软件设计 1

7、83.1 软件总体设计183.2 按键扫描并处理程序流程193.3 相应数据加一程序流程203.4 游标显示控制程序流程223.5 温度测量元件控制程序流程223.6 时钟芯片读写程序流程234 系统调试 254.1 系统硬件调试254.1.1 微控制器硬件调试 254.1.2 时钟芯片硬件调试 254.1.3 蜂鸣器硬件电路调试 264.2 系统软件调试264.2.1 时钟芯片软件调试 274.2.2 显示部分软件调试 274.2.3 按键部分软件调试 285 总结 29致谢 31参考文献 32附录 33附 1:系统原理总图33附 2: 系统实物图片34附件 3:系统程序35河南理工大学毕业

8、设计(论文)说明书11 1 引言引言1.1 课题研究背景与现状时间是科学技术中最基本的物理量之一,无论是农业生产,还是工业自动控制,都与时间息息相关,尤其是中国的农业生产,和农历日期联系紧密,准确的农历日期,为农业生产、农民生活带来极大方便。工业生产中的延时动作,定时动作等对时间的精确度要求较高。小到运动员的百米赛跑,大到一项工程的实施,都和时间密不可分,所以,万年历随处可见。但是,随着科技的发展,人们生活水平不断提高,人们所关心的不仅仅是时间,还有其他一些像室内温度、农历日期、星期等和人们生活联系紧密的数据,甚至对数字万年历的外观也提出新的要求,这就对万年历的功能提出新的更高的要求。近年来随

9、着计算机在社会各领域的渗透, 单片机的应用正在不断地走向深入,同时带动传统控制方式日新月益。控制方式有从模拟控制向数字控制转变的发展趋势。微控制芯片具有强大的逻辑运算能力,它的出现,使得数字万年历不仅能给人们提供时间,而且还能提供很多新的功能,例如:温度显示、农历显示、节气提示、语音提示、日程表、生日提示、星座查询、录音放音、风景控制等。现在的好多数字万年历产品都通过控制内置灯光对万年历表面装饰图片进行扫描,实现动态风景;通过控制语音芯片发出各类鸟叫的声音,使人们生活在自己的房间里,仿佛身处大自然!可见,现在的数字万年历不仅仅是一个智能化的、可以提供多信息的器件,更是室内的一道风景。上海礼品公

10、司生产的多功能万年历具有 LED 灯显示、年历、月历、时间显示、12 小时或 24 小时制式、选择四组定时闹铃、整点铃响、按键音、小于100 小时倒计时、世界 16 个城市现在时查询、1900 年到 2099 年月历查询、八位数四则运算、百分比计算 M+、M-和 MRC 存储运算功能货币换汇计算。可见,多功能智能化数字万年历是以后万年历发展的方向,基于微控制芯片的数字万年历可以满足人们对万年历的多功能、界面友好和智能化的要求,数字控制技术将引起万年历新的重大改变。河南理工大学毕业设计(论文)说明书21.2 本课题所做的工作 首先,本课题对系统主要功能进行分析,确定该系统的主要功能是:阳历日期、

11、时间显示、农历日期显示、星期显示、环境温度显示和定时闹铃,并可以修改时间,在修改时间的过程中,可以对月份天数自动判断。其次,系统设计要做的工作是电源分析和设计,该设计选用的集成芯片都采用+5V 电源供电,所以,要先对常见 220V 交流电源进行变换,得到较为稳定的、可以满足系统要求的+5V 稳压电源。最后,要对选用的芯片进行学习,尤其是其工作时序,这是实现系统的关键。温度检测采用 DS18B20,由于 DS18B20 是单总线温度传感器,所以,对其控制需要较严格的时序。通过查阅资料和仿真掌握单总线数字温度传感器的时序要求和工作流程,该系统主要应用了 DS18B20 的跳过 ROM 匹配、温度转

12、换、读取温度指令等。时钟芯片采用 DS1302,为三总线时钟芯片,为了能够使其正常工作,要学习其中的寄存器格式、寄存器特殊位作用、读取时间寄存器数据、写入时间寄存器数据等。DS1302 时钟芯片内部没有集成备用电源,所以,要对其掉电保护环节进行考虑和设计。显示器件选用点阵带字库型 12864 液晶模块,由于液晶模块在写入指令或数据后,要经过一段时间才能完成内部动作,所以,对其读写控制时要有必要的延时,以等待液晶模块完成内部动作,才能使写入的数据或指令有效。带字库型液晶模块有基本指令集和扩充指令集,本设计不需要显示图片,所以,采用基本指令集。在时间设定环节,要有设定提示,本系统以游标闪烁方式提示

13、用户当前所修改的数据,为此,要对游标闪烁控制方式进行学习。 河南理工大学毕业设计(论文)说明书37805123INPUTGNDOUTPUT2 数字万年历硬件设计数字万年历硬件设计该系统采用 220V 交流电供电,自带电源变换电路,在交流断电的情况下,仍能保持正确走时。微控制芯片采用 Atmel 公司的 AT89S52,其内部含有 8k 字节 Flash,支持 USBISP 编程,十分方便。温度传感器选用 DS18B20,它支持3V5.5V 的电压范围,使系统设计更灵活、方便。时钟芯片选用美国 Dallas公司推出的具有涓细电流充电能力的低功耗实时时钟芯片 DS1302。显示部分选用界面友好的

14、YM12864R 液晶模块,其内部采用 ST7920A 控制器,内置 8192 个中文汉字(1616) ,编程方便,可以节约很多的程序存储器空间。稳压芯片选用三端稳压器件 7805,简单易用、价格低廉。2.1 电源电路设计电源是系统能够工作的基础,电源的好坏直接影响到系统的性能。一个好的电源,可以给系统提供足够的能量,从而使系统运行稳定。我们常见的、也比较容易获得的电源是 220V 交流电,而该系统以集成芯片为硬件基础,其需要大约+5V 的直流电源。如何对易得的 220V 交流电进行变换,使其符合系统+5V 的电压、功率需求,是首先要解决的问题。 图 2-1 7805 管脚7805 为三端正稳

15、压电路,TO-220 封装,如图 2-1 所示。在输入电压范围为 7V-15V 时,输出端输出较为稳定的+5V 电压。内含过流、过热和过载保护电路。带散热片时,输出电流可达 1A,且价格低廉,应用十分广泛,能够满足该系统+5V 工作电压需求,所以该系统选取 7805 作为稳压元件。220V 交流电经河南理工大学毕业设计(论文)说明书4C42200ufINPUT1GND2OUTPUT37805三三三三7805IN1IN2+3-4DB107三三三220V1220V29V39V4三三三三三三220V220V+5三三三三过 9V 变压器,再经过 DB107 全桥整流芯片,经过 2200uf 电容滤波作

16、为 7805的输入电压,在 7805 输出端就可以得到系统所需要的+5V 电源,其硬件电路原理如图 2-2 所示。图 2-2 电源电路硬件原理2.22.2 微控制器选择微控制器选择今天,微处理器已经无处不在,无论是录像机、智能洗衣机、移动电话等家电产品,还是汽车引擎控制,以及数控机床、导弹精确制导等都要嵌入各类不同的微处理器。微处理器不仅是微型计算机的核心部件,也是各种数字化智能设备的关键部件,其芯片管脚如图 2-3 所示。河南理工大学毕业设计(论文)说明书5AT89S52P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78RST9P3.010P3.111P3.21

17、2P3.313P3.414P3.515P3.616P3.717XTAL218XTAL119GND20VCC40P0.039P0.138P0.237P0.336P0.435P0.534P0.633P0.732EA31ALE30PSEN29P2.728P2.627P2.526P2.425P2.324P2.223P2.122P2.021AT89S52图 2-3 AT89S52 芯片管脚AT89S52 是一种低功耗、高性能 CMOS8 位微控制器。AT89S52 具有 8K 在线系统可编程 Flash 存储器。使用 Atmel 公司高密度非易失性存储器技术制造,与工业 80C51 产品指令和引脚完全兼

18、容。片上 Flash 允许程序存储器在线系统可编程,亦适于常规编程器。在芯片上,具有灵巧的 8 位 CPU 和在线系统可编程 Flash,使得 AT89S52 为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89S52 具有以下标准功能:8k 字节 Flash,256 字节 RAM,32 位I/O 口线,看门狗定时器,2 个数据指针,三个 16 位定时器/计数器,一个 6向量 2 级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52 可降至 0Hz 静态逻辑操作,支持 2 种软件可选择节电模式。空闲模式下,CPU 停止工作,允许 RAM、定时器/计数器、串口、中断继续工

19、作。掉电保护方式下,RAM 内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。P0 口:P0 口是一个 8 位漏极开路的双向 I/O 口。作为输出口,每位能驱动 8 个 TTL 逻辑电平。对 P0 端口写“1”时,引脚用作高阻抗输入。当访问外河南理工大学毕业设计(论文)说明书6部程序和数据存储器时,P0 口也被作为低 8 位地址/数据复用口,在这种模式下,P0 口具有内部上拉电阻。在 Flash 编程时,P0 口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。 P1 口:P1 口是一个具有内部上拉电阻的 8 位双向 I/O 口,P1 输出

20、缓冲器能驱动 4 个 TTL 逻辑电平。对 P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入口使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流。 引脚号第二功能:P1.0 T2(定时器/计数器 T2 的外部计数输入) ,时钟输出 P1.1 T2EX(定时器/计数器 T2 的捕捉/重载触发信号和方向控制) P1.5 MOSI(系统编程用) P1.6 MISO(系统编程用) P1.7 SCK(系统编程用) P2 口:P2 口是一个具有内部上拉电阻的 8 位双向 I/O 口,P2 输出缓冲器能驱动 4 个 TTL 逻辑电平。对 P2 端口写“1”时,内部上拉电阻把

21、端口拉高,此时可以作为输入口使用。作为输入口使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流。 在访问外部程序存储器或用 16 位地址读取外部数据存储器(例如执行MOVX DPTR)时,P2 口送出高八位地址。在这种应用中,P2 口使用很强的内部上拉发送 1。在使用 8 位地址(如 MOVX RI)访问外部数据存储器时,P2 口输出 P2 锁存器的内容。在 Flash 编程和校验时,P2 口也接收高 8 位地址字节和一些控制信号。 P3 口:P3 口是一个具有内部上拉电阻的 8 位双向 I/O 口,P2 输出缓冲器能驱动 4 个 TTL 逻辑电平。对 P3 端口写“1”时,内部上拉电阻把

22、端口拉高,此时可以作为输入口使用。作为输入口使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流。 P3 口亦作为 AT89S52 特殊功能(第二功能)使用,如下所示。 在 Flash 编程和校验时,P3 口也接收一些控制信号。 河南理工大学毕业设计(论文)说明书7P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 INTO(外中断 0)P3.3 INT1(外中断 1)P3.4 TO(定时/计数器 0)P3.5 T1(定时/计数器 1)P3.6 WR(外部数据存储器写选通)P3.7 RD(外部数据存储器读选通)此外,P3 口还接收一些用于 Flash 闪存编程和程序校验的控

23、制信号。RST复位输入。当振荡器工作时,RST 引脚出现两个机器周期以上高电平将使单片机复位,其上电复位硬件原理如图 2-4 所示。图 2-4 上电复位硬件原理ALE/PROG当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低 8 位字节。一般情况下,ALE 仍以时钟振荡频率的 1/6 输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个 ALE 脉冲。河南理工大学毕业设计(论文)说明书8AT 89S52P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78RST9P3.010P3.11

24、1P3.212P3.313P3.414P3.515P3.616P3.717XTAL218XTAL119GND20VCC40P0.039P0.138P0.237P0.336P0.435P0.534P0.633P0.732EA31ALE30PSEN29P2.728P2.627P2.526P2.425P2.324P2.223P2.122P2.021三三三AT89S521KR522ufC130ufC330ufC2+5+512M HZ对 Flash 存储器编程期间,该引脚还用于输入编程脉冲(PROG) 。如有必要,可通过对特殊功能寄存器(SFR)区中的 8EH 单元的 D0 位置位禁止 ALE 操作。该

25、位置位后,只有一条 MOVX 和 MOVC 指令才能将 ALE 激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置 ALE 禁止位无效。PSEN程序存储器允许(PSEN)输出,是外部程序存储器的读选通信号,当 AT89S52 由外部程序存储器取指令(或数据)时,每个机器周期两次 PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次 PSEN信号。EA/Vpp外部访问允许,欲使 CPU 仅访问外部程序存储器(地址为0000H-FFFFH) ,EA 端必须保持低电平(接地) 。需注意的是:如果加密位 LB1被编程,复位时内部会锁存 EA 端状态。如 EA 端为高电平(

26、接 Vcc 端) ,CPU 则执行内部程序存储器的指令。Flash存储器编程时,该引脚加上+12V 的编程允许电源 Vpp,当然这必须是该器件是使用 12V 编程电压 Vpp。该系统主控制电路硬件原理如图 2-5 所示。 河南理工大学毕业设计(论文)说明书9DS18B201 2 3GNDI/OVDD图 2-5 系统主控制电路硬件原理2.3 温度测量环节设计如今,温度传感器的总类可谓五花八门,各温度传感器的精度和控制方式都有所不同,价格也相差很大。如何选择满足该系统测量室温的精度要求,并且价格低廉的温度传感器,是一个重要问题。Dallas 半导体公司的数字化温度传感器 DS18B20 是一线总线

27、接口的温度传感器,一线总线具有独特而经济的特点,性能价格比非常出色。该系统需要测量室温,精度要求不是太高,所以,该系统选用 DS18B20 作为温度传感器,其管脚排列如图 2-6 所示。 图 2-6 DS18B20 管脚微控制器控制 DS18B20 完成温度转换必须经过三个步骤:每一次读写之前要对 DS18B20 进行复位,复位成功后发送一条 ROM 指令,最后发送 RAM 指令,这样才能对 DS18B20 进行预定的操作。复位要求微控制器将数据线下拉 500 微秒,然后释放,DS18B20 收到信号后等待 1660 微秒左右,然后发出 60240微秒的存在低脉冲,微控制器收到此信号表示复位成

28、功,如果没有收到复位成功信号,则表示 DS18B20 出现问题,可以用来作为系统设计时的故障提示、判断信号。DS18B20 的单总线数据传输特点,决定了它严格的控制时序。微控制器写1 时,数据线必须先被拉至低电平,然后就被释放,使数据线在写时间片开始之后的 15 微秒之内拉至高电平。微控制器写 0 时,数据线必须先被拉至低电平且至少保持逻辑低电平 60 微秒。微控制器把数据线从高电平拉至低电平时,产生读时间片,数据线必须保持在逻辑低电平至少 1 微秒;来自 DS18B20 的输河南理工大学毕业设计(论文)说明书10+5GND1DQ2VDD3DS18B20DS18B 20三三三三三读数据写 06

29、0 微秒15 微秒45 微秒15 微秒45 微秒15 微秒DS18B20 写时间间隙DS18B20 读时间间隙写 1出数据在读时间片下降沿之后 15 微秒有效。因此,为了读取从时间片开始算起 15 微秒的数据线状态,微控制器必须停止把数据线驱动至低电平。在读时间片结束时,数据线经过外部的上拉电阻拉回至高电平。所有读时间片的最短持续期限为 60 微秒,各个读时间片之间必须有最短为 1 微秒的恢复时间。其读写时序如图 2-7 所示。图 2-7 DS18B20 读写时间间隙该系统对 DS18B20 进行操作用到的指令为:跳过 ROM 匹配,命令字为0CCH;温度转换指令,命令字为 44H;读温度指令

30、,命令字为 0BEH。系统温度检测部分硬件原理如图 2-8 所示。河南理工大学毕业设计(论文)说明书11图 2-8 系统温度检测部分硬件电路2.4 时钟芯片环节DS1302 是美国 Dallas 公司推出的一种高性能、低功耗、带 RAM 的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,采用三线接口与 CPU 进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或 RAM 数据。DS1302 内部有一个 318 的用于临时存放数据的 RAM寄存器。DS1302 采用主电源/后备电源双电源引脚,同时提供了对后备电源进行涓细电流充电的能力。DS1302 电路的接口

31、简单、价格低廉、工作电压为2.5V5.5V,使用方便,被广泛地采用,所以,该系统选用 DS1302。图 2-9 DS1302 管脚图 2-9 所示为 DS1302 的引脚排列,其中 Vcc1为后备电源,Vcc2为主电源,在主电源关闭的情况下,也能保持时钟的连续运行。DS1302 由 Vcc1或 Vcc2两者中的较大者供电。当 Vcc2大于 Vcc10.2V 时,Vcc2给 DS1302 供电。当Vcc2小于 Vcc1时,DS1302 由 Vcc1供电。X1 和 X2 是振荡源,外接 32.768kHz晶振。RST 是复位/片选线,通过把 RST 输入驱动至高电平来启动所有的数据传送。RST 输

32、入有两种功能:首先,RST 接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST 提供终止单字节或多字节数据的传送手段。当 RST 为高电平时,所有的数据传送被初始化,允许对 DS1302 进行操作。如果在传送过程中 RST 置为低电平,则会终止此次数据传送。I/O 引脚变为高阻态。上电运行时,在 Vcc2.5V 之前,RST 必须保持低电平,只有在 SCLK 为低电平时,才能将 RST 置为高电平。I/O 为串行数据输入输出端(双向),SCLK 始终是输入端。河南理工大学毕业设计(论文)说明书12在对 DS1302 进行读写操作时,要首先了解它的控制字。DS1302 的控制字如图 2

33、-10 所示。控制字节的最高有效位(位 7)必须是逻辑 1,如果它为 0,则不能把数据写入 DS1302 中,位 6 如果为 0,则表示存取日历时钟数据,为 1 表示存取 RAM 数据;位 5 至位 1 表示操作单元的地址;最低有效位(位 0)如为 0表示要进行写操作,为 1 表示进行读操作,控制字节总是从最低位开始输出。在控制指令字输入后的下一个 SCLK 时钟的上升沿,数据被写入 DS1302,数据输入从低位即位 0 开始。同样,在紧跟 8 位控制指令字后的下一个 SCLK 脉冲的下降沿读出 DS1302 的数据,读出数据时从低位 0 到高位 7。1RAMCKA4A3A2A1A0RAMK图

34、 2-10 DS1302 控制字该系统需要对时间进行读取和设定,所以,在掌握控制字之后,还必须熟悉 DS1302 内部各寄存器的地址和特殊状态位,其内部各寄存器的地址和特殊状态位如表 2-1 所示。表 2-1 日历、时间寄存器及其控制字命令字各位内容名写读取值范围76543210秒80H81H00-59CH10SECSEC分82H83H00-59010MINMIN时84H85H01-12 或 00-2312/24010HRHR日86H87H01-28、29、30、310010DATEDATE月88H89H01-1200010MMONTH周8AH8BH01-0700000DAY年8CH8DH00

35、-9910YEARYEAR河南理工大学毕业设计(论文)说明书133VVCC21X12X23GND4VCC18SCLK7I/O6RST5DS1302DS1302三三三三+532.768KHZ系统时钟芯片部分硬件原理如图 2-11 所示。图 2-11 系统时钟芯片部分硬件原理2.5 显示电路设计现在,大多数字万年历都采用 LED 显示数据,但是,LED 只能显示数字,不能显示汉字。要想实现更好的人机界面,用液晶显示器显示数据是最佳选择。YM12864R 点阵带字库液晶显示模块可显示汉字及图形,内置 8192 个中文汉字(1616 点阵) 、128 个字符(816 点阵),其引脚功能如表 2-2 所

36、示。该系统中,微控制芯片采用 8 位并口的方式对 YM12864R 进行控制,所以PSB 引脚接固定高电平。在对 YM12864R 进行控制时,要清楚它的读写时序,在本设计中,主要是对 YM12864R 进行写操作,所以,下面介绍 YM12864R 的写控制时序,其写控制时序如图 2-12 所示。河南理工大学毕业设计(论文)说明书14R/WRSE延时有效低电平“写”命令、数据选择DB0-DB7DB0-DB7表 2-2 YM12864R 引脚功能说明引脚号引脚名称方向功能说明1VSS-模块的电源地2VDD-模块的电源正端3VO-LCD 驱动电压输入端4RS(CS)H/L并行的指令/数据选择信号:

37、串行的片选信号5R/W(SID)H/L并行的读写选择信号:串行的数据口6E(CLK)H/L并行的使能信号:串行的同步时钟7DB0H/L数据 08DB1H/L数据 19DB2H/L数据 210DB3H/L数据 311DB4H/L数据 412DB5H/L数据 513DB6H/L数据 614DB7H/L数据 715PSBH/L并/串行接口选择:H-并行:L-串行16NC空脚17/RETH/L复位 低电平有效18NC空脚19LED_A-背光电源正极(LED+5V)20LED_K-背光电源负极(LED-0V)河南理工大学毕业设计(论文)说明书15图 2-12 YM12864 写时序图 2-12 给出 Y

38、M12864R 的写控制时序,对 YM12864R 写控制时,在使能信号 E 下降沿有效。在使能信号 E 下降沿后,为了保证数据或指令可靠写入,需要在使能信号 E 下降沿后有一段延时,使 YM12864R 完成内部动作。YM12864R的指令集分为基本指令集和扩充指令集,扩充指令集提供绘图功能,可以显示图片;在本设计当中,仅需要基本指令集以显示汉字、数字和字母,表 2-3 给出 YM12864R 的基本指令集。清除显示指令将 DDRAM 填满“20H” ,并且设定DDRAM 的地址计数器(AC)为“00H” 。 地址归位指令设定 DDRAM 的地址计数器(AC)为“00H” ,并且将游标移到开

39、头原点位置,这个指令并不改变 DDRAM 的内容。在显示状态开/关指令中,D=1,整体显示 ON,C=1,游标 ON,B=1,游标位置 ON。在功能设定指令中 DL=1(必须为 1),RE=1,扩充指令集动作,RE=0,基本指令集动作。表 2-3 YM12864R 基本指令指令码指令RSRWDB7DB6DB5DB4DB3DB2DB1DB0设定 DDRAM 地址001AC6AC5AC4AC3AC2AC1AC0写资料到 RAM10D7D6D5D4D3D2D1D0清除显示0000000001地址归位000000001X显示状态开/关0000001DCB游标或显示移位控制000001S/CR/LXX功

40、能设定00001DLXREXX对 YM12864 操作时需要注意的问题:1:对 YM12864R 操作前,要初始化,本设计在初始化时主要是进行 DDRAM河南理工大学毕业设计(论文)说明书16+5+5三三三10K三三: 2009-05-22三三: 2009-04-2813:51:20 三三三三三三三: 25三RS4R/W5E6DB07DB18DB29DB310DB411DB512DB613DB714PSB15NC16/RST17NC18LED19LED20VSS1VDD2VO3三三三三12864+5三三三PNP+5BUZZER+1-2三三三地址设定,基本指令集选择,显示状态开,游标显示开等。2

41、:在对 YM12864R 写控制时,必须保证在使能信号 E 的下降沿后有一段的延时才能写入有效的数据或指令。3:在显示中文字型时,将两字节编码连续写入 DDRAM 中,范围为 A140H-F7FFH(GB 码)或 A140H-D75FH(BIG5 码)。显示半宽字形时将一字节编码写入DDRAM 中,范围为 02H-7FH,系统显示部分硬件电路原理如图 2-13 所示。图 2-13 系统显示部分硬件电路2.6 定时闹铃、按键电路设计该系统具有定时闹铃功能,当定时到的时候,微控制器由 P1.7 发出控制信号,控制三极管导通关断,从而控制蜂鸣器发出时长一分钟的闹铃声。蜂鸣器采用+5V 供电,所以需要

42、三极管驱动,其驱动控制电路如图 2-14 所示。河南理工大学毕业设计(论文)说明书17三三三三三三三三10KR 410KR 310KR 210KR 1+5图 2-14 系统闹铃部分硬件电路在该系统中,用户可以通过按键对日期、时间、定时时间进行修改。系统提供四个按键,分别为:设定、选择、调节、确定。四个按键分别接到微控制器 P3.0、P3.1、P3.2、P3.3 引脚,在按键没有被按下时,引脚为逻辑低电平,按下则为逻辑高电平,系统按键部分硬件原理如图 2-15 所示。图 2-15 系统按键部分硬件电路河南理工大学毕业设计(论文)说明书183 3 数字万年历软件设计数字万年历软件设计一个系统,硬件

43、的设计往往只是其中的一部分,或者说一小部分。尤其随着微电子技术、大规模集成电路制作技术的发展,很多我们所需要的元件都可以在市场上找到。集成芯片系统的硬件电路往往非常简单,因为它们都采用总线和微控制器对话。硬件电路设计完成后,要让系统按照我们设计的要求工作,就需要软件来控制微控制器和外围芯片对话,软件是该系统的灵魂!3.1 软件总体设计该系统软件采用汇编语言设计,模块化的设计方法使得该系统以后的升级改动更为灵活。系统软件流程为:上电显示制作者开机界面、送开始转换温度指令、读取温度值到缓冲区、读取全部时钟日历数据到缓冲区、显示阳历日期和时间、阳历农历转换、显示农历日期、显示温度、定时判断、判断是否

44、有按键被按下、返回到开始。本系统采用四个按键和微处理器对话,可以修改时间,设定定时时间。微处理器采用查询方式扫描按键状态。主程序执行流程如图 3-1 所示。河南理工大学毕业设计(论文)说明书19显示开机界面转换温度并读取温度读取全部时钟数据显示阳历日期、时间、星期调用阳历农历转换显示农历日期、环境温度定时到了吗?蜂鸣器控制信号取反YN开始按键扫描并处理图 3-1 主程序流程3.2 按键扫描并处理程序流程要设定闹铃时间,就要求外界和微处理器对话,以告知微处理器人们的意愿。按键输入方便、简单,应用广泛,例如电脑键盘。 ,按键扫描并处理程序流程如图 3-2 所示。河南理工大学毕业设计(论文)说明书2

45、0设定按下?加一按下?N转换温度并读取温度选择按下?修改游标地址刷新屏幕Y相应数据加一刷新屏幕Y确认按下?NNYN写入修改后数据转换温度并读取温度Y图 3-2 按键扫描并处理程序流程3.3 相应数据加一程序流程河南理工大学毕业设计(论文)说明书21根据数据指针值加一相应数据判断数据指针数据超过范围?N刷新屏幕数据清零Y刷新屏幕图 3-3 相应数据加一程序流程相应数据加一程序流程如图 3-3 所示,在对数据加一处理程序中,需要对各数据范围进行判断,年的最大值为 99,即该系统最长可显示到 2099 年的日期、时间。月的最大值为 12,时的最大值为 23,分的最大值为 59,秒的最大值为 59。该

46、系统能够对每月的天数进行自动判断,阳历的月份信息为:1、3、5、7、8、10、12 月,每月 31 天;4、6、9、11 月,每月 30 天;二月最为特殊,非闰年为 28 天,闰年为 29 天,所以,要想实现日期加一,除了要判断月份值外,还需要判断年份是否为闰年。日期加一的程序流程如图 3-4 所示。河南理工大学毕业设计(论文)说明书22月份为 2 吗?日期最大?日期值清零日期加一YNNY是闰年?日期为29?Y日期为28?N日期清零Y日期加一NY日期清零N日期加一图 3-4 日期加一程序流程3.4 游标显示控制程序流程该数字万年历可以对时间进行修改、闹铃设定。当需要修改时间和闹铃设定时,系统以

47、游标闪烁的方式提示用户当前修改的数据。游标指针是连续加一的,要能正确显示游标的位置,需要对其进行变换,得到 YM12864R 的实际游标闪烁地址,游标闪烁控制程序流程如图 3-6 所示。河南理工大学毕业设计(论文)说明书23复位 DS18B20跳过 ROM 匹配送温度转换指令延时等待温度转换结束复位 DS18B20跳过 ROM 匹配送读温度指令接收并保存温度数据3.5 温度测量元件控制程序流程室内环境温度和人们的生活息息相关,随着人们生活水平的提高,人们对和气候相关的数据越来越关心。本系统具有室内温度测量功能,并且通过液晶显示器显示出来,界面直观,可以让人们很方便的了解当前的环境温度。该系统采

48、用 DS18B20 作为温度传感器,一个微控制器引脚可以挂接多个 DS18B20,在微控制器发送指令时,究竟哪一个 DS18B20 接收指令,由 ROM 匹配环节确定。本设计只用到一片 DS18B20,所以不需要 ROM 匹配,直接发送跳过 ROM 匹配指令即可。温度传感器 DS18B20 控制程序流程如图 3-5 所示。图 3-5 DS18B20 控制程序流程3.6 时钟芯片读写程序流程河南理工大学毕业设计(论文)说明书24移位寄存器写保护关闭发送多字节方式读取指令接收所有时钟日历数据并保存到缓冲区图 3-7 DS1302 多字节读取数据程序流程移位寄存器写保护关闭发送多字节写入指令送数据到

49、 I/O 口图 3-8 DS1302 多字节写入程序流程图YM12864R 地址归位判断游标指针值判断游标需要右移的次数游标右移 在该系统中,微控制器所做的主要工作就是不断的读取时钟芯片内部的日历寄存器数据并将其显示在液晶屏幕上。DS1302 采用三总线与微控制器对话,微控制器读写时钟芯片内日历寄存器数据的程序流程如图 3-7、3-8 所示。图 3-6 游标闪烁控制程序流程河南理工大学毕业设计(论文)说明书254 系统调试一个完整的系统在开始着手设计的时候往往要考虑很多的环节,该系统在设计的时候就要考虑温度检测、时钟准确走时、数据显示、闹铃、按键识别与处理等很多环节。假如我们直接把所有硬件焊接

50、起来,倘若系统不能正常工作,那么检查起来将非常麻烦,所以,该系统在进行调试的时候,采用模块化,分步骤进行的方式,把一块一块的功能实现了,再组装起来进行联合调试,可以取得事半功倍的效果。4.1 系统硬件调试硬件是系统的载体,没有硬件,系统根本无法实现。在硬件焊接的过程中,难免会出现一些问题,在微控制器控制系统中,对硬件每一部分的细节都要求很高,任何一个环节出现很小的问题都将导致系统不能正常工作,系统功能无法实现。4.1.1 微控制器硬件调试在本系统硬件调试过程中,首先确定微控制器各引脚能够正常输出逻辑高低电平。在微控制器硬件电路焊接完毕之后,装入简单测试程序,让微控制器所有管脚输出逻辑高电平,然

51、后,用万用表测量各管脚是否为高电平;再装入测试程序,让所有微控制器管脚输出逻辑低电平,用万用表测量各管脚是否为低电平。这种装入简单测试程序以测量部分硬件电路是否工作正常的方式在该系统的调试过程中显得非常有用。4.1.2 时钟芯片硬件调试 时钟芯片在该系统中有着非常重要的地位。在时钟芯片硬件电路焊接好之后,装入测试程序,发现不能正常工作,如果拿金属物接触 DS1302 数据管脚,就能正常工作,这种现象很少见,因为只拿金属物接触时钟芯片数据管脚,并没有构成任何回路,所以这个问题非常隐蔽。开始猜测这种现象是由于杜邦线插头接触不良造成,所以用手接触所有杜河南理工大学毕业设计(论文)说明书26邦线,发现

52、画面闪烁,有时时钟芯片可以正常工作,有时又不能正常工作。经过多次触摸杜邦线试验,发现接触时钟芯片数据线之后,画面闪烁最为厉害。由于时钟芯片的三根杜邦线是一排线,并没有拆开,所以试着把这三根杜邦线拆开,结果发现画面稳定,说明时钟芯片工作正常。由此看来,杜邦线的距离非常近,相互干扰是结果不正常的原因,这将是一个宝贵的经验。时钟芯片 DS1302 没有掉电保护功能,为了在系统主电源断开后系统仍能保持正常走时,需要对 DS1302 加后备电源。该系统采用两节 1.5V 电池作为时钟芯片 DS1302 的后备电源。对后备电源调试的时候,是先切断主电源,等一段时间再接通主电源,观察时间是否仍然正确。开始,

53、在切断主电源的时候,发现有的时候时钟芯片能够正常走时,有的时候不能正常走时。当按下电源开关速度比较快的时候,能够正常走时;当按下电源开关速度比较慢的时候不能正常走时,时钟数据混乱。开始猜测是由于电压突变,时钟芯片不能正确切换到备用电源造成的,所以,考虑在时钟芯片电源管脚加电容,但是仍不能满足要求。最后经过多次阅读时钟芯片说明书,发现主电源和备用电源焊颠倒了,这说明我们在焊接硬件电路的时候一定要准确了解各个管脚的功能。4.1.3 蜂鸣器硬件电路调试定时闹铃在万年历中属于基本功能,本系统在闹铃环节采用 5V 有源蜂鸣器发出闹铃信号。在对蜂鸣器环节初次试验时,直接接到单片机引脚,发现无声响,直接接到

54、电源端,发出声响,可见需要驱动电路。在本系统中,蜂鸣器采用一个 PNP 三极管驱动,微控制器发出低电平控制信号有效。4.2 系统软件调试在本系统中,硬件电路看上去非常简单,全部采用集成芯片设计。每一个集成芯片都有相应的控制方法,即工作时序。我们在应用一个集成芯片的时候,首先要认真阅读其读写时序,再了解它的初始化流程及指令集。该系统除含有单总线温度传感器芯片外,还含有液晶显示模块,其控制方式都非常麻烦,对软件的设计要求很严格,尤其是温度传感器芯片,在对其读写过程中,要求有河南理工大学毕业设计(论文)说明书27R/WRSE延时有效低电平“写”命令、数据选择DB0-DB7DB0-DB7严格的延时。4

55、.2.1 时钟芯片软件调试在开始的时钟芯片读写过程中,发现不能正确读出时钟芯片数据,读出的时钟芯片数据全部为 0FFH。经仔细阅读资料发现时钟芯片 DS1302 内部含有写保护寄存器,当其最高位为 0 时,可以写入移位寄存器,反之则不能写入,而在开始初始化 DS1302 时,并没有包含写保护寄存器最高位清零的环节,所以程序中的所有写入、读出语句全部无效,不能被 DS1302 所接收。在程序设计的开始加入关闭写保护语句,可以正确写入、读出时钟芯片日历寄存器数据。4.2.2 显示部分软件调试为了使系统具有良好的人机交互界面,该系统采用液晶显示器显示所有数据,但是,液晶显示模块的控制要比 LED 数

56、码管复杂得多。不同的液晶显示模块可能采用不同的控制器,在选用液晶模块的时候,要对其进行控制,首先要学习它的控制器,该系统所选液晶模块采用 ST7920 控制器。液晶模块采用 8 位并口和微控制器对话,在时钟下降沿有效。在开始的显示部分软件调试过程中,液晶显示模块白屏,即所送指令和数据根本没有被液晶模块所接收。河南理工大学毕业设计(论文)说明书28图 4-1 液晶显示模块写时序阅读液晶模块写入时序,如图 4-1 所示,发现在 E 下降沿后,要保持数据一段时间,以等待液晶模块完成内部动作。在每一个 E 下降沿之后加一段延时程序,发现显示部分工作正常。4.2.3 按键部分软件调试在本系统中,用户可以

57、使用键盘修改时间、设定闹铃时间。以前学习过读取微控制器引脚状态的基本语句。按照理论设计程序,并观察按键按下之后显示界面是否按照理论设计的结果变化,发现在按下一次“选择”键之后,游标不是移动一位,而是移动很多位,这说明硬件有抖动。本设计在最后按键部分软件设计过程中,采用软件消抖和按键释放判断,很好的解决了这个问题。 河南理工大学毕业设计(论文)说明书295 总结在该系统设计、调试完成之后,对最后的成功进行分析,同时结合在调试过程中出现的错误进行综合分析,总结在实际系统设计和调试过程中的宝贵经验。在系统硬件设计之前,要结合当前系统的发展趋势和现状对系统功能进行定位,使系统在实际应用中具有竞争力。该

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

59、所不能实现的。系统具有温度检测功能,可以作为工业温度检测装置,我们只要坐在办公室,就可以从液晶显示器上观察到机器设备的温度值,同时可提供温度报警。系统的按键输入功能,可以读取决策,我们可以通过按键发送指令,控制工业现场机器的动作,实现远程控制。可见,该系统本身不仅具有很大的灵活性、友好的界面、方便的可扩展性,同时,在其基础上的系统的市场需求也很可观。工业控制的很多场合对时间要求比较严格,在实际应用系统中,系统各装置需要按照预定的时间动作,比如我们要在春节零晨向广大客户发送祝福短信,就要判断时间;我们在孵化系统中,除了要对孵化温度进行控制外,还要对时间进行控制。学校的电铃,要根据时间进行动作;自

60、动配电系统,要根据时间进行通电或断电,等很多场合需要根据时间量进行控制,本系统可以很好的满足这些系统的要求。河南理工大学毕业设计(论文)说明书30该系统在进行软件设计的时候,采用模块化设计方法,除了便于升级外,在调试过程中,模块化的程序设计将使系统更容易调试。我们在调试过程中,可以分块调试,最后总组装。如果不采用模块化设计方法,将很难找出调试中的错误。无论是在系统硬件焊接还是在软件编程时,都要细心,比如在开始的时候,时钟芯片主电源和备用电源焊颠倒,12864 不能写入数据等,都是很小的错误,却很大的影响了系统的性能,甚至导致系统根本无法工作。河南理工大学毕业设计(论文)说明书31致谢本设计做出

61、了实物,在实际电路设计的过程当中遇到很多问题。在此,首先要感谢我的指导老师乔美英老师,她渊博的专业知识和热心的指导给我留下深刻的印象。在设计本系统的过程中,曾经在遇到困难的时候很迷茫,是乔老师一次次的鼓励我,并且严格要求、指导我完成设计。在此谨向敬爱的乔美英老师表示衷心的感谢。在该系统设计过程中,还得到其他老师的帮助和同学的鼓励。在此,向他们和所有热心帮助过我的朋友表示衷心的感谢!衷心地感谢在百忙之中参加评阅论文和答辩的各位专家、教授!河南理工大学毕业设计(论文)说明书32参考文献1 祝木田. 单片机原应用教程.北京:中国财经经济出版社,2005.82 李广弟.单片机基础.北京:北京航空航天大

62、学出版社,1999.103 沈德金.单片机应用程序实例.北京:北京航空航天大学出版社,19904 胡汉才.单片机原理及接口技术. 北京:清华大学出版社,19965 康华光.模拟电子技术基础.北京:高等教育出版社,20066 余修武.单片机原理及应用.成都:电子科技大学出版社,2008.17 李秀忠.单片机应用技术.北京:人民邮电出版社,2007.128 三恒星科技.MCS-51 单片机原理与应用实例.北京:电子工业出版设,2008.19 王为青.51 单片机应用开发案例精选.北京:人民邮电出版社,2007.810 欧阳文.ATMEL89 系列单片机的原理与开发实践.北京:中国电力出版社,200

63、7.611 林伸茂.8051 单片机彻底研究实习篇.北京:中国电力出版社,200612 黄嘉宁.数字电子基础.北京:中国计量出版社,2008.113 郭强.最新液晶显示应用.北京;电子工业出版社,2006.1014 李宏.液晶显示器件应用技术.北京:机械工业出版社,2007.615 李志广、李晓泉、淮俊霞. 中文图形 12864 点阵液晶显示模块与 51单片机的并行接口电路及 C51 程序设计.现代显示, 2008 年 07 期 16 孙鹏. 51 单片机综合学习系统12864 点阵型液晶显示篇.电子制作,2008 年 02 期河南理工大学毕业设计(论文)说明书333VBATTERY三三三PN

64、PAT89S52P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78RST9P3.010P3.111P3.212P3.313P3.414P3.515P3.616P3.717XTAL218XTAL119GND20VCC40P0.039P0.138P0.237P0.336P0.435P0.534P0.633P0.732EA31ALE30PSEN29P2.728P2.627P2.526P2.425P2.324P2.223P2.122P2.021三三三AT89S52VCC21X12X23GND4VCC18SCLK7I/O6RST5DS1302DS1302三三三三三三三三三三

65、三三10KR410KR310KR210KR11KR522UFC130UFC330UFC2C42200UF+5+5+5+5+5+5INPUT1GND2OUTPUT37805三三三三7805IN1IN2+3-4DB107三三三220V1220V29V39V4三三三三三三220V220V+5+5+5GND1DQ2VDD3DS18B20DS18B20三三三三三32.768KHZXTAL12M HZXTAL三三三10K三三: 2009-05-22三三: 2009-04-2813:51:20 三三三三三三三: 25三RS4R/W5E6DB07DB18DB29DB310DB411DB512DB613DB71

66、4PSB15NC16/RST17NC18LED19LED20VSS1VDD2VO3三三三三12864+5三三三三KEY5主主主主主主主主主BUZZER+1-2三三三附录附 1:系统原理总图 河南理工大学毕业设计(论文)说明书34附 2: 系统实物图片河南理工大学毕业设计(论文)说明书35河南理工大学毕业设计(论文)说明书35附件 3:系统程序START_YEAR EQU 100B20 EQU P1.6RS EQU P1.3RW EQU P1.4E EQU P1.5RST EQU P1.1SCLK EQU P1.2IO EQU P1.0;p1.7 蜂鸣器控制信号WENDU1 EQU 20HWENDU2 EQU 21HMIAO EQU 22HFEN EQU 23HSHI EQU 24HRIQI EQU 25HYUE EQU 26HXINGQI EQU 27HNIAN EQU 28HXIEBAOHU EQU 29HNONGLINIAN EQU 30HNONGLIYUE EQU 31HNONGLIRI EQU 32HTIME_YEAR DATA 30HTIME_MONTH DATA 31HTI

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!