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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

单片机课程设计万年历.docx

1、单片机课程设计万年历 单片机技术课程设计说明书 万 年 历 课程设计任务书课 程: 单片机技术 课程设计题目: 数字电子钟 数字频率计 数字电压表 交通灯 抢答器 密码锁 波形发生器 数字温度计 计算器 数字式秒表 万年历 摘要随着当今世界经济的快速发展和信息化时代的来临,各种各样的小型智能家电产品陆续出现在我们的生活当中,电子万年历作为一种功能十分强大的日常计时工具,它可以对年、月、日、星期、时、分、秒进行计时,还具有闰年补偿等多种功能,而且DS1302的使用寿命长、误差小。对于数字电子万年历采用直观的数字显示,可以同时显示年、月、日、星期、时、分、秒等信息,还具有时间校准等功能,已逐步的出

2、现在我们的日常生活中。一般日常生活中大都使用的是纸质日历。纸质日历显示效果不太好并且使用寿命不长,造成了一定的资源浪费。 针对传统的纸质日历局限性,本论文设计了一款基于单片机的电子万年历系统。本设计以AT89S52单片机为核心,构成系统主控制电路。AT89S52是一种带8K字节闪速可编程可擦除只读存储器的低电压、高性能CMOS 8位为控制器,全部信息用12864液晶显示时间、日期、闹铃及界面的切换由四个独立按键来实现,并可对闹铃开关进行设置。日历能显示阳历和阴历年、月、日以及星期、时、分、秒。如有节气及生日都会有提醒显示的功能。 电子万年历采用智能电子控制和显示技术,改善了纸制日历的缺陷。它集

3、时间、日期、星期等功能于一身,具有读取方便、显示直观、功能多样、电路简洁等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景。 关键词:电子万年历;AT89S52;TLC549;12864液晶显示屏AbstractWith the rapid development of economy and the advent of the information era, a variety of small intelligent home appliances products began to appear in our life, the electronic calendar as a

4、 very strong function of the daily timing tool, it can be for the year, month, day, week, hours, minutes and seconds for time, also has a leap year compensation a variety of functions such as DS1302, and long service life, small error.For digital electronic calendar using visual digital display, can

5、 display year, month, day, week, time, minutes and seconds, and other information, but also has time calibration and other functions, has gradually appeared in our daily life.General daily life are used paper calendar.Paper calendar display effect is not very good and the service life is not long, r

6、esulting in a waste of resources.Aiming at the limitations of traditional paper calendar, this paper designs a chip electronic calendar system.The design for AT89S52 core, system consists of main control circuit.AT89S52 is a 8K byte flash programmable and erasable read only memory of the low voltage

7、, high performance 8 bit CMOS as controller, all the information with 12864 liquid crystal display time, date, alarm clock and the interface of the switch is composed of four independent keys to achieve, and the alarm switch settings.The calendar can display the solar calendar and lunar calendar yea

8、r, month, date and week, when, minutes and seconds.If there is a solar term and birthday will remind the display function.Electronic calendar using intelligent electronic control and display technology, improved the paper calendar defect.It sets the time, date, week and other functions in a body, is

9、 convenient, intuitive display, multiple functions, simple circuit and many other advantages, comply with the development trend of electronic instrumentation, has broad market prospects.Key words:electronic calendar; AT89S52; TLC549; 12864 liquid.目 录1 设计要求与方案1 1.1 设计要求1 1.2 设计创新1 1.3 系统基本方案选择1 1.4 系

10、统工作原理说明22 硬件系统的设计5 2.1 时钟芯片的选择方案和论证5 2.2 单片机主控制模块的设计5 2.3 单元电路设计5 2.3.1 时钟电路5 2.3.2 单片机最小控制系统6 2.3.3 液晶显示模块6 2.3.4 液晶FYD12864-0402B概述7 2.3.5 液晶FYD12864-0402B基本特性7 2.3.6 液晶FYD12864-0402B 串口接口管脚信号83 课程设计整体电路9 3.1 整体原理图9 3.2 PCB线路图10 3.3 元件分布图11 3.4 实物图114 课程设计程序12 4.1 main主程序12 4.2 LCD12864函数13 4.3 显示

11、程序145 设计总结及结论15 5.1 系统仿真及结果15 5.2 设计体会16致谢18参考文献19附录201 设计要求与方案1.1 设计要求 (1)具有年、月、日、星期、时、分、秒等功能。(2)闹钟功能,一旦走时到该时间,能以声音的形式告警提示。(3)设计5V直流电源 系统时钟电路、复位电路。 1.2 创新要求(1)万年历具有阴历显示功能。 (2)具有节气、生日提醒的功能。 1.3 系统基本方案选择和论证 方案一:采用89C51芯片作为硬件核心采用Flash ROM内部只具4KBROM存储空间,由于本设计程序比较长,单片机内部的Flash ROM不够,需要加外部扩展ROM芯片24C016,电

12、路设计较为复杂。同时此单片机也具有89C51的功能,且具有在线编程可能于3V的超低压工作,而且与MCS-51系列单片机完全兼容。但是运用于电路设计中时由于不具备ISP在线编程技术,当在对电路进行调试时。由于程序的错误修改或对程序的新增功能需要烧入程序时,对芯片的多次拔插会对芯片造成一定的损坏。 方案二:采用LED数码管动态扫描数码管价格适中,对于显示数字最合适,但不能显示汉字、图形、显示效果比较差,并且采用LED数码管连接时接线多,硬件电路较为复杂。所以在此设计中不采用LED数码管显示。 方案三:采用LCD液晶显示屏液晶显示屏的显示功能强大,可显示大量文字,图形,显示多样,清晰可见,所以在此设

13、计中采用FYD12864-0402B液晶显示屏。1.4系统工作原理说明本电路包括基本的时钟电路模块、液晶显示模块、语音报时模块、温度传感器模块。各功能模块通过控制芯片连接起来,完成本设计要求。电路实现的基本功能是电子万年历。通过液晶LCD12864,可显示年月日、时分秒、星期等基本信息。增强功能是具备时钟语音报时功能。即每到整点,系统会自动语音报时,报时信息包括日期及时间。同时具备显示环境温度的功能。具体工作流程如图1程序流程图: 图1 时间运行流程图ds1302子程序: 图2 ds1302子程序 ds1302程序流程框图: 图3 ds1302程序流程框图2硬件系统的设计2.1时钟芯片的选择方

14、案 采用DS1302时钟芯片实现时钟。DS1302芯片是一种高性能的时钟芯片,可自动对秒、分、时、日、周、月、年进行计数,而且精度高,位的RAM做为数据暂存区。工作电压2.5V-5.5V范围内,2.5V时耗电小于300nA。按照系统设计功能的要求,初步确定系统由主控模块、时控模块、及显示模块和键盘接口模块共4个模块组成。主控芯片使用51系列AT89S52单片机时钟芯片使用美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟DS1302。采用DS1302作为计时芯片可以做到计时准确。更重要的是 DS1302可以在很小电流的后备电源2.5-5.5V电源,再2.5V时耗电小于300nA,

15、而且DS1302可以编程选择多种充电电流来为备电源进行慢速充电,可以保证后备电源基本不耗电,显示模块采用液晶显示屏。2.2单片机主控制模块的设计AT89S52系列单片机是宏品科技生产的单片机,它是高速、低功耗、超强抗干扰的新一代8051单片机,指令代码完全兼容传统80C51,但速度快812倍。内部集成MAX810专用复位电路,250K/S即25万次/秒,针对电机控制、强干扰场合。它有高速、高可靠、低功耗、超低价、强抗静电、强抗干扰的功能。AT89S52系列工作电压5.5V 3.5V,工作频率范围0MHz35MHz相当于普通8051的0MHz420MHz。在芯片上,拥有灵巧的8 位CPU 和在系

16、统,可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 AT89S52具有以下标准功能:8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。2.3单元电路设计2.3.1时钟电路时钟芯片DS1302,控制电路如图4所示: 图4 时钟电路时钟电路采用的是ds1302芯片,DS1302 是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V5.

17、5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。工作电压与单片机的输入电压比较适合。上面是它的一些基本的应用介绍。 2.3.2单片机最小控制系统控制芯片使用AT89S52,控制部分最小系统如图5所示:图5 单片机系统2.3.3液晶显示模块 显示模块使用液晶FYD12864-0402B,电路原理图如图6所示 图6 液晶显示2.3.4液晶FYD12864-0402B概述FYD12864-0402B是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为12864, 内置8192个1

18、6*16点汉字,和128个16*8点ASCII字符集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示84行1616点阵的汉字。由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多。2.3.5液晶FYD12864-0402B基本特性(1)低电源电压(VDD:+3.0-+5.5V)(2)显示分辨率:12864点(3)内置汉字字库,提供8192个1616点阵汉字(简繁体可选)(4)内置 128个168点阵字符(5)2MHZ时钟频率(6)显示方式:STN、半透、正显(7)驱动方式:1/32DUTY,1/5BIAS(

19、8)视角方向:6点(9)背光方式:侧部高亮白色LED,功耗仅为普通LED的1/51/10(10)通讯方式:串行、并口可选(11)内置DC-DC转换电路,无需外加负压(12)无需片选信号,简化软件设计2.3.6液晶FYD12864-0402B串口接口管脚信号如表1、表2所示:表1 液晶屏管脚管脚号名称LEVEL功能1VSS0V电源地2VDD+5V电源正(3.0V5.5V)3V0-对比度(亮度)调整4CSH/L模组片选端,高电平有效5SIDH/L串行数据输入端6CLKH/L串行同步时钟:上升沿时读取SID数据15PSBLL:串口方式(见注释1)17/RESETH/L复位端,低电平有效(见注释2)1

20、9AVDD背光源电压+5V(见注释3)20KVSS背光源负端0V (见注释3)表2 液晶屏管脚功能管脚号管脚名称电平管脚功能描述1VSS0V电源地2VCC3.0+5V电源正3V0-对比度(亮度)调整4RS(CS)H/LRS=“H”,表示DB7DB0为显示数据RS=“L”,表示DB7DB0为显示指令数据5R/W(SID)H/LR/W=“H”,E=“H”,数据被读到DB7DB0R/W=L,E=HL,DB7DB0的数据被写到IR或DR6E(SCLK)H/L使能信号7DB0H/L三态数据线8DB1H/L三态数据线9DB2H/L三态数据线10DB3H/L三态数据线11DB4H/L三态数据线12DB5H/

21、L三态数据线13DB6H/L三态数据线14DB7H/L三态数据线15PSBH/LH:8位或4位并口方式,L:串口方式(见注释1)16NC-空脚17/RESETH/L复位端,低电平有效(见注释2)18VOUT-LCD驱动电压输出端19AVDD背光源正端(+5V)(见注释3)20KVSS背光源负端(见注释3)3、课程设计整体电路3.1整体原理图如图7所示:图7 原理图3.2 PCB线路整体如图8所示: 图8 PCB线路3.3 元件分布如图9所示:图9 元器件分布3.4 实物图如图10所示:图10 实物图4、课程设计部分程序4.1 main主程序#include #include #include

22、LCD12864.h /液晶显示木块头文件#include ds18b20.h /温度模块头文件#include ds1302.h /时钟模块头文件#include delay.h /延时模块头文件#include beep.h /报警模块头文件#define uchar unsigned char#define uint unsigned intuchar temp,TNL,almtemp;void main() almtemp=32; /设报警温度值为32,可以根据需要设置 Set_RTC(); /设置万年历初始时间 delay(500); lcdset(); /液晶显示屏初始化 beep

23、off(); /关闭蜂鸣器 while(1) TNL=shuju1302(); /读-年-月-日-时-分-秒,并将万年历函数变量返回值送给闹铃变量TNL if(TNL=1) beepon(); /蜂鸣器报警 else beepoff(); disply1302(); /送液晶显示屏显示 temp=ReadyReadTemp(); / 读温度值,并将温度函数变量返回值送给temp if(temp=almtemp) /判temp临界报警温度值的大小 beepon(); /蜂鸣器报警 else beepoff(); display18b20(); /送液晶显示屏显示 4.2 LCD12864函数#i

24、nclude LCD12864.h#includedelay.h#include #define uchar unsigned charsbit rs = P31;sbit rw = P36;sbit en = P37;/=液晶写命令函数=void writecommand(uchar command) delay(100); rs=0; rw=0; en=1; P0=command; /液晶数据线P0 en=0; /=液晶写数据函数=void writedata(uchar date) delay(100); rs=1; rw=0; en=1; P0=date; en=0; /=液晶设置函数

25、= void lcdset(void) writecommand(0x30); /基本指令集 writecommand(0x01); /清屏,DDRAM的地址归零 writecommand(0x02); /地址归位 writecommand(0x0c); /显示开,光标关,反白关 writecommand(0x06); /DDRAM地址加1 /=液晶显示函数=void display(uchar y, uchar x, uchar *p) switch (y) case 1:writecommand(0x7f+x); break; /液晶第一行 case 2:writecommand(0x8f

26、+x); break; /0x90+(x-1) case 3:writecommand(0x87+x); break; case 4:writecommand(0x97+x); break; default:break;while(*p) writedata(*p+); 4.3显示程序#include ds1302.h#include LCD12864.h#includedelay.h#include #include #define uchar unsigned char#define uint unsigned intuchar code yejingtable=0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x03,0x2d;/0-9uchar l_tmpdate7=0, 26, 13, 20, 8, 1, 12;/秒分时日月周年08-05-15 12:00:00/

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2