项目十-单片机简易万年历设计课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《项目十-单片机简易万年历设计课件.ppt》由用户(ziliao2023)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 项目 单片机 简易 万年历 设计 课件
- 资源描述:
-
1、回目录回目录上一页上一页下一页下一页结结 束束项目十项目十 单片机简易万年历设计单片机简易万年历设计 一、学习目标一、学习目标1了解红外线工作原理。2掌握SPI总线协议。3掌握DS1302驱动方法。4.掌握LCD128*64驱动显示中文的方法。回目录回目录上一页上一页下一页下一页结结 束束项目十项目十 单片机简易万年历设计单片机简易万年历设计 二、学习任务二、学习任务 随着电子技术的发展,人类不断研究,不断创新纪随着电子技术的发展,人类不断研究,不断创新纪录。万年历目前已经不再局限于以书本形式出现。以录。万年历目前已经不再局限于以书本形式出现。以电脑软件或者电子产品形式出现的万年历被称为电子电
2、脑软件或者电子产品形式出现的万年历被称为电子万年历。与传统书本形式的万年历相比,电子万年历万年历。与传统书本形式的万年历相比,电子万年历得到了越来越广泛的应用,采用电子时钟作为时间显得到了越来越广泛的应用,采用电子时钟作为时间显示已经成为一种时尚。目前市场上各式各样的电子时示已经成为一种时尚。目前市场上各式各样的电子时钟数不胜数,但多数是只针对时间显示,功能单一不钟数不胜数,但多数是只针对时间显示,功能单一不能满足人们日常生活需求。能满足人们日常生活需求。本项目任务分解为具体本项目任务分解为具体2个学习任务:个学习任务:任务一任务一 DS1302时钟数码管显示;时钟数码管显示;任务二任务二 简
3、易万年历设计。简易万年历设计。回目录回目录上一页上一页下一页下一页结结 束束项目十项目十 单片机简易万年历设计单片机简易万年历设计 三、任务分解三、任务分解任务一任务一 DS1302时钟数码管显示时钟数码管显示【任务描述【任务描述】随着社会、科技的发展,人类得知时间,从观太阳、随着社会、科技的发展,人类得知时间,从观太阳、摆钟到现在电子钟,不断研究、创新。为了在观测摆钟到现在电子钟,不断研究、创新。为了在观测时间,能够了解与人类密切相关的信息,比如星期、时间,能够了解与人类密切相关的信息,比如星期、日期等,电子时钟诞生了,它集时间、日期、星期日期等,电子时钟诞生了,它集时间、日期、星期等功能于
4、一身,具有读取方便、显示直观、功能多等功能于一身,具有读取方便、显示直观、功能多样、电路简洁等诸多优点,符合电子仪器仪表的发样、电路简洁等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景。展趋势,具有广阔的市场前景。使用实时时钟芯片使用实时时钟芯片DS1302,设计一简易万年历,设计一简易万年历,显示日期和时间,做到可以调时。显示日期和时间,做到可以调时。回目录回目录上一页上一页下一页下一页结结 束束项目十项目十 单片机简易万年历设计单片机简易万年历设计【任务分析【任务分析】DS1302时钟芯片是美国时钟芯片是美国DALLAS公司推出的具有公司推出的具有涓细电流充电功能的低功耗实时时钟
5、芯片,它可以涓细电流充电功能的低功耗实时时钟芯片,它可以对年、月、日、星期、时、分、秒进行计时,还具对年、月、日、星期、时、分、秒进行计时,还具有闰年补偿等多种功能,而且有闰年补偿等多种功能,而且DS1302的使用寿命的使用寿命长,误差小;数字显示是采用的长,误差小;数字显示是采用的LED显示屏来显示,显示屏来显示,可以同时显示年、月、日、星期、时、分、秒和温可以同时显示年、月、日、星期、时、分、秒和温度等信息。此外,该电子时钟还具有时间校准等功度等信息。此外,该电子时钟还具有时间校准等功能。能。回目录回目录上一页上一页下一页下一页结结 束束项目十项目十 单片机简易万年历设计单片机简易万年历设
6、计【相关知识【相关知识】SPISPI总线总线回目录回目录上一页上一页下一页下一页结结 束束项目十项目十 单片机简易万年历设计单片机简易万年历设计 是是串行串行外围设备接口外围设备接口,是一种高速的,是一种高速的,全双工全双工,同步同步的的通信总线,并且在芯片的管脚上只占用四根线通信总线,并且在芯片的管脚上只占用四根线.RSPISPI的通信原理很简单,它以的通信原理很简单,它以主从方式主从方式工作,通常有一个主设备工作,通常有一个主设备和一个或多个从设备,需要和一个或多个从设备,需要至少至少4 4根线。根线。RSDO SDO 主设备数据输出,从设备数据输入主设备数据输出,从设备数据输入RSDI
7、SDI 主设备数据输入,从设备数据输出主设备数据输入,从设备数据输出RSCLK SCLK 用来为数据通信提供同步时钟信号,由主设备产生用来为数据通信提供同步时钟信号,由主设备产生RCS CS 从设备使能信号,由主设备控制从设备使能信号,由主设备控制RSPISPI接口是接口是全双工全双工、同步同步、串口串口、单主机。单主机。回目录回目录上一页上一页下一页下一页结结 束束项目十项目十 单片机简易万年历设计单片机简易万年历设计 SPI从机从机从主机获得时钟和片选信号,从主机获得时钟和片选信号,因此因此cs和和sclk都是输入信号。都是输入信号。SPI接口在内部硬件实际上是个简单的接口在内部硬件实际上
8、是个简单的移位寄存器移位寄存器,传输的数据为传输的数据为8位位,在主器件在主器件产生的从器件使能信号和移位脉冲下产生的从器件使能信号和移位脉冲下,按位传输按位传输,高位在前高位在前,低位在后低位在后。SPI从机的内部结构回目录回目录上一页上一页下一页下一页结结 束束项目十项目十 单片机简易万年历设计单片机简易万年历设计 SPI总线寻址:寻址:MOSIMOSI:When master,out line;when slave,in lineWhen master,out line;when slave,in lineMISOMISO:When master,in line;when slave,o
9、ut lineWhen master,in line;when slave,out line回目录回目录上一页上一页下一页下一页结结 束束项目十项目十 单片机简易万年历设计单片机简易万年历设计 SPISPI从机的内部结构从机的内部结构SPISPI接口实际上是两个简单的移位寄存器接口实际上是两个简单的移位寄存器,传输的数据为传输的数据为8 8位位,在主器件产在主器件产生的从器件使能信号和移位脉冲下生的从器件使能信号和移位脉冲下,按位传输按位传输,高位在前高位在前,低位在后。低位在后。上升沿发送,下降沿接收。(有的器件是上升沿接收,下降沿发送)上升沿发送,下降沿接收。(有的器件是上升沿接收,下降沿
10、发送)D7D7.D0D0D0D0.D7D7回目录回目录上一页上一页下一页下一页结结 束束项目十项目十 单片机简易万年历设计单片机简易万年历设计 SPISPI总线总线 R在在SPISPI传输中,数据是传输中,数据是同步进行同步进行发送和接收的。发送和接收的。R数据传输的时钟基于来自数据传输的时钟基于来自主处理器主处理器的时钟脉冲,的时钟脉冲,R当当SPISPI接口上有多个接口上有多个SPISPI接口的单片机时,应区别其主从地位,在某一时刻接口的单片机时,应区别其主从地位,在某一时刻只能由一个单片机为主器件。只能由一个单片机为主器件。R从器件只能在主机发命令时从器件只能在主机发命令时,才能接收或向
11、主机传送数据。才能接收或向主机传送数据。R其数据的传输格式是其数据的传输格式是高位(高位(MSBMSB)在前,低位)在前,低位(LSB(LSB)在)在RSPISPI接口的一个接口的一个缺点缺点:没有应答机制确认是否接收到数据。:没有应答机制确认是否接收到数据。R如果只是进行写操作,主机只需忽略收到的字节;反过来,如果主机要读取外设的如果只是进行写操作,主机只需忽略收到的字节;反过来,如果主机要读取外设的一个字节,就必须发送一个空字节来引发从机的传输。一个字节,就必须发送一个空字节来引发从机的传输。回目录回目录上一页上一页下一页下一页结结 束束项目十项目十 单片机简易万年历设计单片机简易万年历设
12、计 SPISPI总线总线添加从器件:每个从器件需要一个单独的从选择信号。总信号数最终为 n+3 个,其中 n 是总线上从器件的数量。在 SPI 总线上添加新的从器件也不方便。对于额外添加的每个从器件,都需要一条新的从器件选择线回目录回目录上一页上一页下一页下一页结结 束束项目十项目十 单片机简易万年历设计单片机简易万年历设计 R一个完整的传送周期是一个完整的传送周期是1616位,即两个字节,因为,首先主机位,即两个字节,因为,首先主机要发送命令过去,然后从机根据主机的命令准备数据,主机要发送命令过去,然后从机根据主机的命令准备数据,主机在下一个在下一个8 8位时钟周期才把数据读回来位时钟周期才
13、把数据读回来。回目录回目录上一页上一页下一页下一页结结 束束项目十项目十 单片机简易万年历设计单片机简易万年历设计 SPI总线的硬件接口电路 回目录回目录上一页上一页下一页下一页结结 束束项目十项目十 单片机简易万年历设计单片机简易万年历设计 SPI接口的串行时钟芯片DS1302 实时时钟,可对秒、分、时、日、周、月以及实时时钟,可对秒、分、时、日、周、月以及带闰年补偿带闰年补偿的年进行计数;的年进行计数;用于高速数据暂存的用于高速数据暂存的318 RAM;简单的简单的SPI三线串口;三线串口;/RST引脚引脚:复位兼片选,读:复位兼片选,读/写操作时写操作时必须为高必须为高电平电平。回目录回
14、目录上一页上一页下一页下一页结结 束束项目十项目十 单片机简易万年历设计单片机简易万年历设计 单片机与DS1302的接口回目录回目录上一页上一页下一页下一页结结 束束项目十项目十 单片机简易万年历设计单片机简易万年历设计 DS1302的内部结构回目录回目录上一页上一页下一页下一页结结 束束项目十项目十 单片机简易万年历设计单片机简易万年历设计 DS1302的工作原理 单片机开始数据传送时,必须将单片机开始数据传送时,必须将DS1302的的/RST置高,且把包含有地址置高,且把包含有地址和命令信息的和命令信息的8位数据发送给位数据发送给DS1302.数据在数据在SCLK的的上升沿入,下降沿串行上
15、升沿入,下降沿串行出出;单片机对单片机对DS1302的读的读/写是命令字来初写是命令字来初始化的。命令字格式:始化的。命令字格式:命令字节的命令字节的D7必须为必须为1,若,若D7=0,写保写保护;护;D6=0,表示存取日历时钟数据;表示存取日历时钟数据;D6=1,表示存取表示存取RAM数据数据.D5D1指示操作单元的地址;指示操作单元的地址;D0=0,表示写;表示写;D0=1,表示读;表示读;回目录回目录上一页上一页下一页下一页结结 束束项目十项目十 单片机简易万年历设计单片机简易万年历设计 DS1302的寄存器回目录回目录上一页上一页下一页下一页结结 束束项目十项目十 单片机简易万年历设计
16、单片机简易万年历设计 回目录回目录上一页上一页下一页下一页结结 束束项目十项目十 单片机简易万年历设计单片机简易万年历设计 数据在数据在SCLKSCLK的的上升沿入上升沿入,下降沿下降沿串串行行出出;单字节操作单字节操作:每次对:每次对DS1302的写入或读出都由的写入或读出都由命命令字节引导令字节引导,每次只传送,每次只传送1字节数据。字节数据。单字节写操作:单字节写操作:单片机通过单片机通过8个个sclk下降沿传送写下降沿传送写命令字节后,在接下来的命令字节后,在接下来的8个个sclk时钟的下降沿传时钟的下降沿传送一字节数据。如果有送一字节数据。如果有更多的更多的sclk周期周期,DS13
17、02将会忽略。将会忽略。单字节读操作:单字节读操作:单字节读操作每次需单字节读操作每次需16个时钟,个时钟,地址字节在前地址字节在前8个时钟周期的上个时钟周期的上升沿输入升沿输入,而数据,而数据字节在后字节在后8个时钟周期的个时钟周期的下降沿输出下降沿输出。.DS1302输输出的第一出的第一位数据是在命令字节最后一位的第一个下位数据是在命令字节最后一位的第一个下降沿处,如果有降沿处,如果有更多的更多的sclk周期周期,DS1302将重新将重新发送数据字节。发送数据字节。回目录回目录上一页上一页下一页下一页结结 束束项目十项目十 单片机简易万年历设计单片机简易万年历设计 多字节操作 多字节操作多
18、字节操作:每次对:每次对DS1302的写的写入或读出都由命令字节引导,然后入或读出都由命令字节引导,然后对时钟寄存器的对时钟寄存器的7个寄存器或个寄存器或31个个RAM依次按顺序写入依次按顺序写入/读出。读出。多字节写操作:多字节写操作:单片机通过单片机通过8个个sclk下降沿传送命令字节后,在接下降沿传送命令字节后,在接下来的下来的8个个sclk时钟的下降沿传送时钟的下降沿传送一字节数据一字节数据,以次类推。以次类推。多字节读操作:多字节读操作:单片机通过单片机通过8个个sclk下降沿传送命令字节后,在紧下降沿传送命令字节后,在紧接着的的接着的的8个个sclk时钟的下降沿时钟的下降沿DS13
19、02传送一字节数据传送一字节数据,以次类推。以次类推。回目录回目录上一页上一页下一页下一页结结 束束项目十项目十 单片机简易万年历设计单片机简易万年历设计 特殊寄存器 在在DS1302的的时钟日历时钟日历或或RAM进行进行数据传送数据传送时,时,DS1302必须必须首先发送命令字节首先发送命令字节。若进行。若进行单字节传送,单字节传送,8位命令字节传送结束之后,在位命令字节传送结束之后,在下下8个个SCLK周期的下降沿输出数据字节。周期的下降沿输出数据字节。DS1302与与RAM相关的寄存器分为两类相关的寄存器分为两类:一类一类是单个是单个RAM单元,共单元,共31个,每个单元组态为个,每个单
20、元组态为一个一个8位的字节,其命令控制字为位的字节,其命令控制字为C0HFDH,其中奇数为读操作,偶数为写操作;其中奇数为读操作,偶数为写操作;再一类再一类为突发方式下的为突发方式下的RAM寄存器,在此方式下可寄存器,在此方式下可一次性读、写所有的一次性读、写所有的RAM的的31个字节。命令个字节。命令字为字为BEH和和BFH 写保护寄存器:写保护寄存器:写保护寄写保护寄存器存器命令字命令字D7 D6 D5 D4 D3 D2 D1 D08EH或8FHWP 0 0 0,0 0 0 0回目录回目录上一页上一页下一页下一页结结 束束项目十项目十 单片机简易万年历设计单片机简易万年历设计 RAM单元单
21、元 命令字命令字D7 RAM/CK D5 D4 D3 D2 D1 R/W0单元单元C0H或或C1H1 100,000R/W1单元单元C2H或或C3H1 100,001R/W2单元单元C4H或或C5H1 100,010R/W34.31单元单元C6H或或C7H.C8H或或C9H.FCH或或FDH.1 100,011R/W1 100,100R/W.11 11,110R/W回目录回目录上一页上一页下一页下一页结结 束束项目十项目十 单片机简易万年历设计单片机简易万年历设计 程序举例:初始化日历寄存器片内片内RAM说明说明68H(秒秒)0101,00105267H(分分)0011,01003466H(时
22、)(时)1965H(日)(日)0164H(星期)(星期)周三周三63H(月)(月)1062H(年)(年)1161H(写保护(写保护寄存器)寄存器)00h回目录回目录上一页上一页下一页下一页结结 束束项目十项目十 单片机简易万年历设计单片机简易万年历设计 DS1302的寄存器回目录回目录上一页上一页下一页下一页结结 束束项目十项目十 单片机简易万年历设计单片机简易万年历设计【任务实施【任务实施】+5vX112MHzCY1CY2CY3S2U1R110k10F30pF30pF19P2.0/A08P2.1/A09P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/
23、A153938373635343332D0D1D2D3D4D5D6D7OELEQ0Q1Q2Q3Q4Q5Q6Q774LS373VCC1VCC2RSTSCLKI/OX1X2DS1302A B C D E F G DP1 2 3 4 5 6 7 8+5vABCE1E2E374LS138+5v+5vQ0Q1Q2Q3Q4Q5Q6Q0 Q1 Q2 Q3 Q4 Q5Q6P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7XTAL1XTAL2RSTALEPSENEA123
24、4567810111213141516172122232425262728189293031VccAT89C511.5V1.5V32.768KHzX2U2U3U4R2R3R410K10K10KRSTSCKIORSTSCKIOP3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RDP2.0/A08P2.1/A09P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15+5v回目录回目录上一页上一页下一页下一页结结 束束项目十项目十 单片机简易万年历设计单片机简易万年历设计 单片机驱动单片机
25、驱动DS1302数码管显示对应的程序代码如下:数码管显示对应的程序代码如下:#include#include#define uchar unsigned char#define uint unsigned intsbit sck=P30;sbit io=P31;sbit rst=P32;unsigned char table1=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f,0 x40;unsigned char table2=0 xe0,0 xc0,0 xa0,0 x80,0 x60,0 x40,0 x20,0 x00;
展开阅读全文