(完整word版)基于单片机的万年历设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于单片机的万年历设计
二、实验要求
设计一个万年历,将时钟显示在LCD1602的显示屏上并且可以进行年、月、日以及时、分、秒的设置。此外还可以通过按键进行闹钟设置以及事件提醒功能,用蜂鸣器进行闹铃提醒。最后附加一个温湿度检测的功能,用温湿度传感器检测室内的温湿度并将温湿度数据在显示屏上显示出来。
三、实验设备和仪器
1.用 STC89C52芯片作为系统板的主控芯片
2.DHT11温湿度传感器
3.DS1302时钟芯片
4.LCD1602显示屏
四、实验各模块原理介绍
4.1 STC89C52单片机
STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有8K字节系统可编程Flash存储器。STC89C52使用经典的MCS-51内核,具有传统51单片机不具备的功能。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
(1)主要特性
8K字节程序存储空间;
512字节数据存储空间;
内带4K字节EEPROM存储空间;
可直接使用串口下载;
(2)器件参数
1. 增强型8051单片机,6时钟/机器周期和12时钟/机器周期可以任意选择,指令代码完全兼容传统8051。
2. 工作电压:5.5V~
3.3V(5V单片机)/3.8V~2.0V(3V 单片机)
3.工作频率范围:0~40MHz,相当于普通8051的0~80MHz,实际工作频率可达48MHz
4. 用户应用程序空间为8K字节
5. 片上集成512字节RAM
6. 通用I/O 口(32个),复位后为:P1/P2/P3 是准双向口/弱上拉,P0口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需加上拉电阻。
7. ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器,可通过串口(RXD/P3.0,TXD/P3.1)直接下载用户程序,数秒即可完成一片。
8. 具有EEPROM 功能
9. 共3个16位定时器/计数器。即定时器T0、T1、T2。
10.外部中断4 路,下降沿中断或低电平触发电路,Power Down 模式可由外部中断低电平触发中断方式唤醒。
11. 通用异步串行口(UART),还可用定时器软件实现多个UART。
12. 工作温度范围:-40~+85℃(工业级)/0~75℃(商业级)
13. PDIP封装
1、STC89C52单片机引脚图
图4.1 STC89C52单片机引脚图
①主电源引脚(2根)
VCC(Pin40):电源输入,接+5V电源
GND(Pin20):接地线
②外接晶振引脚(2根)
XTAL1(Pin19):片内振荡电路的输入端
XTAL2(Pin20):片内振荡电路的输出端
③控制引脚(4根)
RST/VPP(Pin9):复位引脚,引脚上出现2个机器周期的高电平将使单片机复位。
ALE/PROG(Pin30):地址锁存允许信号
PSEN(Pin29):外部存储器读选通信号
EA/VPP(Pin31):程序存储器的内外部选通,接低电平从外部程序存储器读指令,如果接高电平则从内部程序存储器读指令。
④可编程输入/输出引脚(32根)
STC89C52单片机有4组8位的可编程I/O口,分别位P0、P1、P2、P3口,每个口有8位(8根引脚),共32根。
PO口(Pin39~Pin32):8位双向I/O口线,名称为P0.0~P0.7 P1口(Pin1~Pin8):8位准双向I/O口线,名称为P1.0~P1.7 P2口(Pin21~Pin28):8位准双向I/O口线,名称为P2.0~P2.7 P3口(Pin10~Pin17):8位准双向I/O口线,名称为P3.0~P3.7。
2、STC89C52单片机最小系统
STC89C52单片机最小系统主要由复位电路和时钟电路组成。复位功能通过外部电路来实现,按下按键K1控制单片机的复位。时钟电路主要通过晶振来实现,为单片机提供运行时钟。根据不同的需求选用的晶振频率会有差异,在本次课程设计中采用11.0592MHZ的晶振频率。单片机复位电路如图4.2所示,晶振电路如图4.3所示。
图4.2 复位电路
图4.3晶振电路
4.2 DS1302芯片
DS1302是DALLAS公司出的一款实时时钟芯片,它广泛应用于电话、传真、便携式仪器等产品领域,主要性能指标如下:
1、DS1302是一个实时时钟芯片,可以提供秒、分、小时、日期、月、年等信息,
具有软件自动调整的能力,可以通过配置AM/PM来决定采用24小时格式还是12小时格式。
2、拥有31字节数据存储RAM。
3、串行I/O通信方式。
4、DS1302的工作电压比较宽,在2.0V~5.5V范围内均可正常工作。采用双电源供电,当主电源比备用电源高0.2V时,由主电源供电,否则采用备用电源,一般是一个纽扣电池。
5、DS1302实时时钟芯片的功耗很低,当工作电压为2.0V时,工作电流小于300nA。
6、DS1302共有8个引脚,有两种封装形式,一种是DIP-8封装,芯片宽度(不
含引脚)是300mil,一种是SOP-8封装,有两种宽度,一种是150mil,一种是208mil。(1) DS1302引脚及其功能
图 4.4 DS1302芯片引脚图
(1)Vcc2:主电源引脚,当Vcc2比Vcc1高0.2v以上时,DS1302由Vcc2供电,当Vcc2低于Vcc1时,由Vcc1供电。
(2、3)X1、X2:这两个引脚需要接一个32.768k的晶振,为了给DS1302提供一个基准。但是该晶振的引脚负载电容必须为6pF,若使用有源晶振,接到X1
上即可,X2则悬空。
(4)GND:接地
(5)CE:DS1302的输入引脚。该引脚内部有一个40k的下拉电阻,当该引脚
为高电平,对DS1302进行读写。
(6)I/O:该引脚是一个双向通信引脚,且内部含有一个40k的下拉电阻,可进行数据的读写。
(7)SCLK:该引脚是输入引脚,且内部含有一个40k的下拉电阻,作为通信的时钟信号。
(8)Vcc1:备用电源引脚。
(2) DS1302与单片机接线图
DS1302引脚与单片机接线图如图4.5所示,从图4.5可看出,引脚X1与
X2之间接一个32.768K的晶体正振荡器,Vcc1通过一个纽扣能电池再接地。