ImageVerifierCode 换一换
格式:DOCX , 页数:45 ,大小:1.07MB ,
资源ID:4344637      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4344637.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基51单片机的电子万年历黄雨龙.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基51单片机的电子万年历黄雨龙.docx

1、基51单片机的电子万年历黄雨龙河南机电高等专科学校毕业设计论文论文题目:基51单片机的电子万年历系 部 电子通信工程系 专 业 应用电子技术 班 级 学生姓名 学 号 指导教师 白宏伟 2012年 3月10日摘 要 2Abstract 3一、设计要求与方案论证 41.1设计要求 41.2 系统基本方案选择和论证 41.2.1单片机芯片的选择方案和论证 41.2.2 显示模块选择方案和论证 41.2.3时钟芯片的选择方案和论证 51.2.4 键盘模块的选择 5二.系统的硬件设计与实现 62.1 电路设计框图 62.2 系统硬件概述 62.3 主要单元电路的设计 62.3.1单片机主控制模块的设计

2、 62.3.2时钟电路模块的设计 72.3.3蜂鸣器模块设计 82.4电路原理及说明 82.4.1 时钟芯片DS1302的工作原理 92.4.2 Nokia5110显示模块工作原理 102.4.3键盘模块工作原理 17三、系统的软件设计 183.1主程序流程框图 183.2设置模块流程图 18四、系统功能简介 19五、设计总结 20致谢 20参考文献 20附录一 系统原理图 21附录2 PCB 21附录3 源程序代码 22摘 要单片机应用技术飞速发展,纵观我们现在生活的各个领域,从导弹的导航装置,到飞机上各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时控制和数据处理,以及我

3、们生活中广泛使用的各种智能IC卡、电子宠物等,这些都离不开单片机。单片机是集CPU ,RAM ,ROM ,定时,计数和多种接口于一体的微控制器。它体积小,成本低,功能强,广泛应用于智能产业和工业自动化上。而51系列单片机是各单片机中最为典型和最有代表性的一种。这次毕业设计通过对它的学习,应用,从而达到学习、设计、开发软、硬的能力。 本文通过对一个基于单片机的能实现万年历功能电子时钟的设计,从而达到学习、了解单片机相关指令在各方面的应用。系统由主控制器AT89S52、时钟电路DS1302、显示电路、按键电路、和复位电路等部分构成,能实现年月日时分秒及周信息,具有可调整日期和时间功能。 关键词:单

4、片机,时钟芯片DS1302,nokia5110显示屏 AbstractSCM application technology develop rapidly, looking around us now in all spheres of life, from missiles, navigation equipment, to the various instruments on the aircraft control from a computer network communications and data transmission, industrial automation to

5、real-time process control and data processing, and our lives extensive use of the smart card, electronic pets, which is inseparable from the microcontroller. Monolithic single-chip is the set of CPU, RAM, ROM, the timing, number and variety of interface integrated microcontrollers. Its small size, l

6、ow cost, high performance, which are widely used in smart industries, and industrial automation. And 51 Series SCM is the most typical and the most representative one. The graduation design Through the study, and thereby achieve the study, design, development hardware and software capabilities.In th

7、is paper, a microcontroller-based design to achieve a perpetual calendar function electronic clock, so as to achieve the learning, understanding the application of SCM-related instruction in all aspects. The system of DS1302 by the master controller AT89S52, clock circuits, circuit, circuit button,

8、and reset circuit parts, to achieve the date, hour and weeks, with adjustable date and time functions.Keywords:SCM ,Clock chip DS1302 ,nokia5110 display一、设计要求与方案论证1.1设计要求1 具有年、月、日、星期、时、分、秒等显示功能;2 具备年、月、日、星期、时、分、秒调整功能;3 利用单片机自身功能实现闹钟;1.2 系统基本方案选择和论证1.2.1单片机芯片的选择方案和论证方案一: 采用89C51芯片作为硬件核心,采用Flash ROM,内

9、部具有4KB ROM 存储空间,能于3V的超低压工作,而且与MCS-51系列单片机完全兼容,但是运用于电路设计中时由于不具备ISP在线编程技术, 当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,对芯片的多次拔插会对芯片造成一定的损坏。方案二: 采用AT89S52,片内ROM全都采用Flash ROM;能以3V的超底压工作;同时也与MCS-51系列单片机完全该芯片内部存储器为8KB ROM 存储空间,同样具有89C51的功能,且具有在线编程可擦除技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,不需要对芯片多次拔插,所以不会对芯片造成损坏。

10、由于此次制作的万年历程序较大,4KB可能会不够,而且AT89S52调试更为方便,所以选择采用AT89S52作为主控制系统.1.2.2 显示模块选择方案和论证方案一: 采用 LCD1602作为显示模块。能显示两行数据,体积精小,成本低,但是不能显示中文。方案二: 采用 LCD12864作为显示模块。能显示多行数据并能显示图片和中文,但体积庞大,成本高。方案三:采用LED数码管动态扫描,对于显示数字最合适,而且采用动态扫描法与单片机连接时,占用的单片机口线少。但是不能显示汉字,字母。方案五:采用nokia5110液晶屏,其控制与驱动芯片为PCD8544 ,PCD8544 是一块低功耗的 CMOS

11、LCD 控制驱动器 ,设计为驱动48行84列的图形显示. 所有必需的显示功能集成在一块芯片上 ,包括 LCD 电压及偏置电压发生器 ,只需很少外部元件且功耗小. 而且现在拆机的屏幕价格便宜,性价比较高。本次设计的万年历需要显示年,月,日,时,分,秒,农历 所以最终选择了价格便宜,显示效果相对出色的nokia5110液晶显示屏。1.2.3时钟芯片的选择方案和论证方案一: AT89S52单片机内部带有定时/计数功能,此定时功能是通过对外部晶振的脉冲进行计数,从而达到计时功能,因此可以利用此功能实现计时,但因为只有单一的计时功能要实现“万年历”的功能需要较复杂的程序,而且时间误差较大。方案二: DS

12、1302是美国DALLAS公司推出的一种高性能、低功耗的实时时钟芯片,附加31字节静态RAM,采用SPI三线接口与CPU进行通信,并可采用突发方式一次传送多个字节的时钟信号和RAM数据。实时时钟可提供秒、分、时、日、星期、月和年,一个月小与31天时可以自动调整,且具有闰年补偿功能。工作电压宽达2.55.5V。采用双电源供电(主电源和备用电源),可设置备用电源充电方式,提供了对后备电源进行涓细电流充电的能力。利用单片机强大的控制功能就可实现实时计时的功能,而且消耗的系统资源少,程序简单。为了简化程序,避免掉电数据丢失所以采用方案二。1.2.4 键盘模块的选择在对日期和时间进行切换,对日期和时间进

13、行调节校准过程中,系统需要产生激励电流,因此需要用按键。 方案一:使用独立式键盘。独立式键盘是指直接用I/O口线构成的单个按键电路。独立式按键电路配置灵活,软件结构简单。 方案二:使用矩阵式键盘。矩阵式键盘是由行线和列线组成,按键位于行、列的交叉点上,行线、列线分别连接到按键开关的两端。其特点是简单且不增加成本,这种键盘适合按键数量较多的场合。 根据以上的论述,因本系统需要的按键较少而且方案一软件设计相对简单。所以采用方案一独立式键盘。二.系统的硬件设计与实现2.1 电路设计框图图2-1 电路设计框图2.2 系统硬件概述本电路是由AT89S52单片机为控制核心,具有在线编程功能,低功耗,能在3

14、V超低压工作;时钟电路由DS1302提供,它是一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个31*8的用于临时性存放数据的RAM寄存器。可产生年、月、日、周日、时、分、秒,具有使用寿命长,精度高和低功耗等特点,同时具有掉电自动保存功能;显示模块是诺基亚5110手机显示屏,其控制与驱动芯片为PCD8544 ,设计为驱动48行84列的图形显示.可以显示4 行汉字。采用串行接口与主处理器进行通信,接口

15、信号线数量大幅度减少,包括电源和地在内的信号线仅有9 条。支持多种串行通信协议(如AVR 单片机的I、MCS51 的串口模式等),传输速率高达4Mbps,可全速写入显示数据,无等待时间。可通过导电胶连接模块与印制版,而不用连接电缆,用模块上的金属钩可将模块固定到印制板上,因而非常便于安装和更换。采用低电压供电,正常显示时的工作电流在200A 以下,且具有掉电模式。2.3 主要单元电路的设计2.3.1单片机主控制模块的设计AT89S52单片机为40引脚双列直插芯片,有四个I/O口P0,P1,P2,P3, MCS-51单片机共有4个8位的I/O口(P0、P1、P2、P3),每一条I/O线都能独立地

16、作输出或输入。单片机的最小系统如下图所示,18引脚和19引脚接时钟电路,XTAL1接外部晶振和微调电容的一端,在片内它是振荡器倒相放大器的输入,XTAL2接外部晶振和微调电容的另一端,在片内它是振荡器倒相放大器的输出.第9引脚为复位输入端,接上电容,电阻及开关后够上电复位电路,20引脚为接地端, 31引脚为EA/VPP,当输入高电平时,CPU从片内程序存储器地址0000H单元开始执行程序。当地址超出4KB时,将自动执行片外程序存储器的程序。当EA输入低电平时,CPU仅访问片外程序存储器。40引脚为电源端.如图2-2 所示 图2-2 主控制系统2.3.2时钟电路模块的设计 DS1302的引脚排列

17、,其中Vcc1为后备电源,VCC2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由Vcc1或Vcc2两者中的较大者供电。当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电。当Vcc2小于Vcc1时,DS1302由Vcc1供电。X1和X2是振荡源,外接32.768kHz晶振。RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中

18、RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。上电运行时,在Vcc2.0V之前,RST必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。I/O为串行数据输入输出端(双向),后面有详细说明。SCLK为时钟输入端。 下面两个图分别为DS1302的引脚功能图,DS1302与单片机的接口电路。图2-3 DS1302功能引脚图2-4 DS1302与单片机接口电路2.3.3蜂鸣器模块设计 当前时间等于闹钟所设置时间时蜂鸣器便会发出声音提示,该模块与单片机连接如图2-5所示。图2-5 蜂鸣器与单片机连接2.4电路原理及说明2.4.1 时钟芯片DS1302的工作原理 (一)DS

19、1302的基本操作 DS1302在每次进行读、写程序前都必须初始化,先把SCLK端置 “0”,接着把RST端置“1”,最后才给予SCLK脉冲;读/写时序如下图4所示。图5为DS1302的控制字,此控制字的位7必须置1,若为0则不能把对DS1302进行读写数据。对于位6,若对程序进行读/写时RAM=1,对时间进行读/写时,CK=0。位1至位5指操作单元的地址。位0是读/写操作位,进行读操作时,该位为1;该位为0则表示进行的是写操作。控制字节总是从最低位开始输入/输出的。表6为DS1302的日历、时间寄存器内容:“CH”是时钟暂停标志位,当该位为1时,时钟振荡器停止,DS1302处于低功耗状态;当

20、该位为0时,时钟开始运行。“WP”是写保护位,在任何的对时钟和RAM的写操作之前,WP必须为0。当“WP”为1时,写保护位防止对任一寄存器的写操作。(2) DS1302的控制字节DS1302的控制字如表2-1所示。控制字节的高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入DS1302中,位6如果0,则表示存取日历时钟数据,为1表示存取RAM数据;位5至位1指示操作单元的地址;最低有效位(位0)如为0表示要进行写操作,为1表示进行读操作,控制字节总是从最低位开始输出表2-1 DS1302的控制字格式 RAM RD 1 A4 A3 A2 A1 A0 / CK /WR (3) 数据输入输出

21、(I/O)在控制指令字输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302,数据输入从低位即位0开始。同样,在紧跟8位的控制指令字后的下一个SCLK脉冲的下降沿读出DS1302的数据,读出数据时从低位0位到高位7。如下图2-6所示 图2-6 DS1302读/写时序图(4) DS1302的寄存器DS1302有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式,其日历、时间寄存器及其控制字见表2-2。表2-2 DS1302的日历、时间寄存器 此外,DS1302 还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关的寄存器等。时钟突发寄存器可一次性顺序

22、读写除充电寄存器外的所有寄存器内容。 DS1302与RAM相关的寄存器分为两类:一类是单个RAM单元,共31个,每个单元组态为一个8位的字节,其命令控制字为C0HFDH,其中奇数为读操作,偶数为写操作;另一类为突发方式下的RAM寄存器,此方式下可一次性读写所有的RAM的31个字节,命令控制字为FEH(写)、FFH(读)。2.4.2 Nokia5110显示模块工作原理 (一)Nokia5110显示屏原理图与封装图图2-7 Nokia5110液晶屏原理图图2-8 Nokia5110液晶屏pcb封装图(二)各个引脚功能说明表2-3 各个引脚功能说明 (三) SPI接口时序写数据/命令 Nokia51

23、10(PCD8544)的通信协议是一个没有MISO只有MOSI的SPI协议,如果单片机有富裕的SPI接口,也可以利用硬件SPI,但通常没有必要,只需要软件程序模拟即可。图2-9为串行总线协议传送一个字节时序图。图2-9 串行总线协议传送一个字节时序图/* 函数名称:LCD_write_byte函数功能:模拟SPI接口时序写数据/命令LCD入口参数:data :写入的数据; command :写数据/命令选择;出口参数:无 备 注: */void LCD_write_byte(unsigned char dat, unsigned char command) unsigned char i; L

24、CD_CE = 0; /5110片选有效,允许输入数据 if (command = 0) /写命令 LCD_DC = 0; else LCD_DC = 1; /写数据 for(i=0;i8;i+) /传送8bit数据 if(dat&0x80) SDIN = 1; else SDIN = 0; SCLK = 0; dat = dat 1; SCLK = 1; LCD_CE = 1; /禁止5110 管脚D/C(LCD_DC)用于选择写的是命令(D/C=0)还是数据(D/C=1)。(四) Nokia5110的初始化接通电源后,内部寄存器和RAM的内容是不确定的,这需要一个RES低电平脉冲复位一下。

25、当VDD变为高电平,达到VDDmin(或更高)之后,最多100ms,RST输入低电平(电平幅度0.3VDD)。图2-10为Nokia5110液晶屏复位时序图。图2-10 5110复位时序/* 函数名称:LCD_init函数功能:5110初始化入口参数:无出口参数:无 备 注: */void LCD_init(void) LCD_RST = 0; / 产生一个让LCD复位的低电平脉冲 delay_1us(); LCD_RST = 1; LCD_CE = 0; / 关闭LCD delay_1us(); LCD_CE = 1; / 使能LCD delay_1us(); LCD_write_byte(

26、0x21, 0); / 使用扩展命令设置LCD模式 LCD_write_byte(0xc8, 0); / 设置液晶偏置电压 LCD_write_byte(0x06, 0); / 温度校正 LCD_write_byte(0x13, 0); / 1:48 LCD_write_byte(0x20, 0); / 使用基本命令,V=0,水平寻址 LCD_clear(); / 清屏 LCD_write_byte(0x0c, 0); / 设定显示模式,正常显示 LCD_CE = 0; / 关闭LCD (五)设置Nokia5110液晶的坐标Nokia5110(PCD8544)的命令集:表2-4 Nokia51

27、10命令集命令字符解释:表2-5 命令字符解释要注意的是“功能设置”命令的“H”和“V”。H=0使用基本指令集命令,H=1使用扩展指令集命令。V=0水平寻址,V=1垂直寻址。图2-11 格式和寻址 48*84点阵的格式如上图,数据以字节8bit为单位下载到PCD8544的48*84bit显示数据RAM矩阵。列通过地址指针寻址,地址范围为X 083(1010011),Y 05(101)。地址不允许超过这个范围。图2-12 用垂直寻址方式(v=1)往RAM写数据的次序 在垂直寻址(V=1),Y地址在每个字节之后递增,经最后的Y地址(Y=5)之后,Y绕回0,X递增到下一列的地址。图2-13 用水平寻

28、址方式(v=0)往RAM写数据的次序 在水平寻址模式(V=0),X地址在每个字节之后递增,经最后的X地址(X=83)之后,X绕回0,Y递增到下一行的地址。经每一个最后地址之后(X=83,Y=5),地址指针绕回地址(X=0,Y=0)。/* 函数名称:LCD_set_XY函数功能:设置LCD坐标函数入口参数:X :083 Y :05出口参数:无 备 注: */void LCD_set_XY(unsigned char X, unsigned char Y) LCD_write_byte(0x40 | Y, 0); / column LCD_write_byte(0x80 | X, 0); / ro

29、w 2.4.3键盘模块工作原理(一)按键开关去抖动问题按键开关在电路中的连接如图所示。按键未按下时,A点电位为高电平5V;按键按下时,A点电位为低电平。A点电位就用于向CPU传递按键的开关状态。但是由于按键的结构为机械弹性开关,在按键按下和断开时,触点在闭合和断开瞬间还会接触不稳定,引起A点电平不稳定,如图2-14 b)所示,键盘的抖动时间一般为510ms,抖动现象会引起CPU对一次键操作进行多次处理,从而可能产生错误。因此必须设法消除抖动的不良后果。图2-14 按键开关电路及按键抖动消除抖动的不良后果的方法有硬、软件两种。为了节省硬件,通常在单片机系统中,一般不采用硬件方法消除键的抖动,而是用软件消除抖动的方法。根据抖动特性,在第一次检测到按键按下后,执行一段延时510ms让前延抖动消失后再一次检测键的状态,如果仍保持闭合状态电平,则确认真正有键按下。当检测到按键释放后,也要给510ms的延时,待后延抖动消失后才转入该键处理程序。三、系统的软件设计3.1主程序流程框图图3-1 主程序流程图3.2设置模块流程图图3-2 设置模块流程图四、系统功能简介该万年历采用DS1302作为时钟芯片,NOKIA5110手机屏幕作为显示设备,AT89S52作为主控芯片,而且采用备用电池供电正正实现了掉电时间正常,而且时钟芯片精确度很高,一天只有几秒钟误差,nokia5110显

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1