课程设计小时钟课件_第1页
课程设计小时钟课件_第2页
课程设计小时钟课件_第3页
课程设计小时钟课件_第4页
课程设计小时钟课件_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、单片机小时钟实训报告单片机小时钟实训报告系系 别别: :信息工程系信息工程系专专 业业: :电气工程及其自动化电气工程及其自动化班班 级级: :13031303 班班姓姓 名名: :刘博伟刘博伟 刘娜刘娜学学 号号: :201325010328201325010328 201325010331201325010331指导教师指导教师: :陈海峰陈海峰2摘要摘要单片机自 20 世纪 70 年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广、发展很快。单片机体积小、重量轻、抗干扰能力强、环境要求不高、价格低廉、可靠性高、灵活性好、开发较为容易。由于具有上述优点,在我国,单片机已广泛

2、地应用在工业自动化控制、自动检测、智能仪器仪表、家用电器、电力电子、机电一体化设备等各个方面,而 51 单片机是各单片机中最为典型和最有代表性的一种。这次毕业设计通过对它的学习、应用,基于 STC89C52 单片机,以DS1307 芯片为核心,辅以必要的电路,设计了一个简易的电子时钟。3前言前言.4一、设计要求一、设计要求.5二、单片机模块介绍二、单片机模块介绍.6(一) STC12C5A60S2 系列单片机简介.6(二)STC12C5A60S2 系列单片机的内部结构.7(三)STC12C5A60S2 系列单片机管脚.8三、三、OLED 显示屏显示屏 .9(一) OLED 简介.9(二)特点.

3、9(三)OLED 显示图.10四、四、DS18B20 芯片芯片.11(一)特点.11(二)DS18B20 测温 .12五、五、DS1307 时钟芯片时钟芯片.13(一)实时时钟 DS1307 介绍: .13(二)DS1307 特性.13六、心得体会六、心得体会.16附录一附录一 效果图效果图.17附录二附录二 主要元器件、主要元器件、PCB 图以及电路原理图图以及电路原理图.18附录三附录三 主要程序主要程序.194前言前言时钟,自从它发明的那天起,就成为人类的朋友,但随着时间的推移,科学技术的不断发展,人们对时间计量的精度要求越来越高,应用越来越广。怎样让时钟更好的为人民服务,怎样让我们的老

4、朋友焕发青春呢?这就要求人们不断设计出新型时钟。现今,高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟,石英表,石英钟都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调校,数字式电子钟用集成电路计时,译码代替机械式传动,用显示器代替指针显示进而显示时间,减小了计时误差,这种表具有时,分,秒显示时间的功能,还可以进行时和分的校对,片选的灵活性好。时钟电路在计算机系统中起着非常重要的作用,是保证系统正常工作的基础。在一个单片机应用系统中,时钟有两方面的含义:一是指为保障系统正常工作的基准振荡定时信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢;二是指

5、系统的标准定时时钟,即定时时间,它通常有两种实现方法:一是用软件实现,即用单片机内部的可编程定时/计数器来实现,但误差很大,主要用在对时间精度要求不高的场合;二是用专门的时钟芯片实现,在对时间精度要求很高的情况下,通常采用这种方法,典型的时钟芯片有:DS1302,DS12887,X1203 等都可以满足高精度的要求。本设计利用单片机 STC895C52 对 DS1307 时钟芯片进行读写操作并通过 OLED 显示屏显示时钟信息,构成了一个单片机电子时钟。5一、设计要求一、设计要求1、采用 DS1307 芯片(IIC) ;2、采用 OLED 显示器显示时间;3、具有闹钟功能;4、采用温度传感器

6、DS18B20 显示室内温度。6二、单片机模块介绍二、单片机模块介绍(一)(一) STC12C5A60S2 系列单片机简介系列单片机简介STC12C5A60S2/AD/PWM 系列单片机是宏晶科技生产的单时钟/机器周期(1T)的单片机,是高速/低功耗/超强抗干扰的新一代 8051 单片机,指令代码完全兼容传统8051,但速度快 8-12 倍。内部集成 MAX810 专用复位电路,2 路 PWM,8 路高速 10 位A/D 转换,对电机控制,强干扰场合。1.增强型 8051 CPU,1T,单时钟/机器周期,指令代码完全兼容传统 8051。2.工作电压:STC12C5A60S2 系列工作电压:5.

7、5V - 3.5V(5V 单片机) ;STC12LE5A60S2 系列工作电压:3.6V - 2.2V(3V 单片机) 。3.工作频率范围:035MHz,相当于普通 8051 的 0420MHz。4.用户应用程序空间 8K /16K / 20K / 32K / 40K / 48K / 52K / 60K / 62K 字节.。5.片上集成 1280 字节 RAM。6.通用 I/O 口(36/40/44 个) ,复位后为:准双向口/弱上拉(普通 8051 传统 I/O 口) ,可设置成四种模式:准双向口/弱上拉,推挽/上拉,仅为输入/高阻,开漏推挽/上拉,仅为输入/高阻,开漏推挽/上拉,仅为输入/

8、高阻,开漏,每个 I/O 口驱动能力均可达到 20mA,但整个芯片最大不要超过 120mA。7.ISP(在系统可编程)/ IAP(在应用可编程) ,无需专用编程器,无需专用仿真器,可通过串口(P3.0/P3.1)直接下载用户程序,即可完成一片。8.有 EEPROM 功能(STC12C5A62S2/AD/PWM 无内部 EEPROM)。9.看门狗。10.内部集成 MAX810 专用复位电路(外部晶体 12M 以下时,复位脚可直接 1K 电阻到地) 。11.外部掉电检测电路:在 P4.6 口有一个低压门槛比较器,5V 单片机为 1.33V,误差为5%,3.3V,单片机为 1.31V,误差为3%。1

9、2.时钟源:外部高精度晶体/时钟,内部 R/C 振荡器(温漂为5%到10%以内),用户在下载用户程序时,可选择是使用内部 R/C 振荡器还是外部晶体/时钟。常温下7内部 R/C 振荡器频率为:5.0V单片机为:11MHz 17MHz3.3V单片机为:8MHz 12MHz精度要求不高时,可选择使用内部时钟,但因为有制造误差和温漂,以实际测试为准。13.共 4 个 16 位定时器:两个与传统 8051 兼容的定时器/计数器,16 位定时器 T0 和T1,没有定时器 2,但有独立波特率发生器做串行通讯的波特率发生器,再上 2 路PCA 模块可再实现 2 个 16 位定时器。14.3 个时钟输出口,可

10、由 T0 的溢出在 P3.4/T0 输出时钟,可由 T1 的溢出在 P3.5/T1输出时钟,独立波特率发生器可以在 P1.0 口输出时钟。15.外部中断 I/O7 路,传统的下降沿中断或低电平触发中断,并新增支持上升沿中断的PCA 模块,Power Down 模式可由外部中断唤醒,INT0/P3.2,INT1/P3.3,T0/P3.4, T1/P3.5, RxD/P3.0, CCP0/P1.3(也可通过寄存器设置到 P4.2),CCP1/P1.4(也可通过寄存器设置到 P4.3)。(可编程计数器阵列,路)也可用来当 2 路 D/A 使用,也可用来再实现 2 个定时器,也可用来再实现 2 个外部

11、中断(上升沿中断/下降沿中断均可分别或同时支持)。17.A/D 转换,10 位精度 ADC,共 8 路,转换速度可达 250K/S。18.通用全双工异步串行口(UART),由于 STC12 系列是高速的 8051,可再用定时器或 PCA 软件,可再用定时器或 PCA 软件实现多串口。19.STC12C5A60S2 系列有双串口,后缀有 S2 标志的才有双串口,RxD2/P1.2(可通过寄存器设置到 P4.2),TxD2/P1.3(可通过寄存器设置到 P4.3)。20.工作温度范围:-40 +85(工业级),0 75(商业级)。21.封装:LQFP-48, LQFP-44, PDIP-40, P

12、LCC-44, QFN-40,I/O 口不够时,可用 2 到3 根普通 I/O 口线外接 74HC164/165/595(均可级联)来扩展 I/O 口,还可用 A/D 做按键扫描来节省 I/O 口,或用双 CPU,三线通信,还多了串口。(二)(二)STC12C5A60S2 系列单片机的内部结构系列单片机的内部结构STC12C5A60S2 系列单片机的内部结构框图如下图所示。STC12C5A60S2 单片机中包含中央处理器(CPU)、程序存储器(Flash)、数据存储器(SRAM)、定时/计数器、UART 串口、串口 2、I/O 接口、高速 A/D 转换、SPI 接口、PCA、看门狗及片内8R/

13、C 振荡器和外部晶体振荡电路等模块。STC12C5A60S2 系列单片机几乎包含了数据采集和控制中所需的所有单元模块,可称得上一个片上系统。STC12C5A60S2 系列内部结构框图(三)(三)STC12C5A60S2 系列单片机管脚系列单片机管脚STC12C5A60S2 管脚图如下图所示9STC12C5A60S2 管脚图三、三、OLED 显示屏显示屏(一)(一) OLED 简介简介OLED 模块采用高亮度,低功耗的 OLED 屏,显示颜色纯正,在阳光下有很好的可视效果。模块供电可以是 3.3V 也可以是 5V,不需要修改模块电路,同时兼容 2 种通信方式:4 线 SPI、IIC,通信模式的选

14、择可以通信两个零欧电阻来跳选。该模块一共有三种颜色:蓝色、白色、黄蓝双色。OLED 屏具有多个控制指令,可以控制 OLED 的亮度、对比度、开关升压电路等指令。操作方便,功能丰富。同时为了方便应用在产品上,预留 4 个 M2 固定孔,方便用户固定在机壳上。(二)特点(二)特点1、高分辨率: 128X64 (和 D 12864LCD 相同分辨率,但该 D OLED 屏的单位面积像素点更多)2、超广可视角度:大于 1 16 60 0 (显示屏中可视角度最大的一种屏幕)3、超低功耗:正常显示时 0.06W (远低于 T TFT 显示屏)4、宽供电范围 : 直流 3V-5V ( 无需任何改动 , 直接

15、兼容常用的 V 3.3V 和V 5V 供电系统)5、工业级:工作温度范围 -30 70 6、超小体积: : (长) 27.8MM* (宽) 27.3MM* (厚) 4.3MM7、支持多种操作方式:4 4 线 线 SPI 、 IIC8、带片选 S CS 信号,可以实现多个 I SPI 或 或 C IIC 设备在同一总线工作9、兼容 V 3.3V 和 V 5V 控制芯片的 O I/O 电平(无需任何设置,直接兼容)10、亮度、对比度可以通过程序指令控制11、使用寿命不少于 16000 小时12、OLED 屏幕内部驱动芯片:SSD130610(三)(三)OLED 显示图显示图OLED 显示效果图11

16、四、四、DS18B20 芯片芯片(一)特点(一)特点 独特的单线接口仅需一个端口引脚进行通讯 简单的多点分布应用 无需外部器件 可通过数据线供电 零待机功耗 测温范围-55+125,以 0.5递增。华氏器件-67+2570 F,以 0.9 0 F 递增 温度以 9 位数字量读出 温度数字量转换时间 200ms(典型值) 用户可定义的非易失性温度报警设置 报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件 应用包括温度控制、工业系统、消费品、温度计或任何热感测系统DS18B20 引脚图12(二)(二)DS18B20 测温测温DS1820 是这样测温的:用一个高温度系数的振荡器确定一个门

17、周期,内部计数器在这个门周期内对一个低温度系数的振荡器的脉冲进行计数来得到温度值。计数器被预置到对应于-55的一个值。如果计数器在门周期结束前到达 0,则温度寄存器(同样被预置到-55)的值增加,表明所测温度大于-55。同时,计数器被复位到一个值,这个值由斜坡式累加器电路确定,斜坡式累加器电路用来补偿感温振荡器的抛物线特性。然后计数器又开始计数直到 0,如果门周期仍未结束,将重复这一过程。13五、五、DS1307 时钟芯片时钟芯片(一)实时时钟(一)实时时钟 DS1307 介绍介绍:DS1307 是低功耗、两线制串行读写接口、日历和时钟数据按 BCD 码存取的时钟/日历芯片。它提供秒、分、小时

18、、星期、日期、月和年等时钟日历数据。另外它还集成了如下几点功能:(1)56 字节掉电时电池保持的 NV SRAM 数据存储器(2)可编程的方波信号输出(3)掉电检测和自动切换电池供电模式(二)(二)DS1307 特性特性DS1307 把 8 个寄存器和 56 字节的 RAM 进行了统一编址,具体地址和寄器数据组织格式如下表:表 7-1 DS1307 内存组织结构格式数 据地址7 位6 位5 位4 位3 位2 位1 位0 位范围,说明00CH秒 十 位秒 个 位0-59010分 十位分 个 位0-5912时十位0-1202024PM/AM时十位时 个 位0-230300000星 期1-70400

19、日十位日 个 位0-3105000月十位月 个 位1-1206年 十 位年 个 位0-9907OUT00SQWE00RS1RS0控制(日期为 BCD 码)14地址7 位 0 位范围,说明08 H.3f H56X8 byte 用户数据存储区00-ff H1、在读写过程中 DS1307 内部维护一个地址指针,通过写操作可对它值,读和写每一字节时自动加一,当指针越过 DS1307 内部 RAM 尾时指针将返回到 0 地址处。DS1307 的时钟和日历数据按 BCD 码存储。2、方波信号输出功能方波信号输出功能从 SQW/OUT 引脚输出设置频率的方波,CONTROL 寄存器用于控制 SQW/OUT

20、脚的输出。3、BIT7(OUT):此位表示在方波输出被禁止时(BIT4=0) ,SQW/OUT 引脚的逻辑电平,在 BIT4=0(SQWE=0 方波输出禁止)时,若 BIT7(OUT) 为 1 则 SQL/OUT 引脚为高电平, 反之亦然。4、BIT4(SQWE)方波输出允许/禁止控制位,SQWE =1 允许方波输出(有效) ;BIT4=0 禁止方波输出。5、BIT0(RS0) 、BIT1(RS1)于设定输出波形的频率,如下表:RS1(位 1)RS0(位 0)7 脚 ( SQW/OUT )输出SQWE(位 4)OUT(位 7)001(Hz)频率1X014096(Hz)频率1x108192(Hz

21、)频率1x1132768(Hz)频率1xxx0 电平00 xx1 电平016、要注意的是,00h 地址的第 7 位为器件时钟允许位(CH),由于在在开始上电时内部 RAM 内容随机,所以在初始化时将 CH 位设零(时钟允许)是非常重要的。7、DS1307 在 TWI 总线上是从器件,地址(SLA)固定为”11010000”DS1307 写操作 TWI 被控接收模式15主控器件按如下顺序将数据写入到 DS1307 寄存器或内部 RAM 中:第一步.START 信号第二步.写 SLA+W(0 xd0)字节,DS1307 应答(ACK)第三步.写 1 字节内存地址(在以下第四步写入的第一字节将存入到

22、 DS1307 内该地址处) ,DS1307 应答。第四步.写数据(可写多个字节,每一字节写入后 DS1307 内部地址计数器加一,DS1307 应答)第五步.STOP 信号8、DS1307 读操作 TWI 被控发送模式主控器件按如下顺序将 DS1307 寄存器或内部 RAM 数据读取:第一步.START 信号第二步.写 SLA+R(0 xd1)字节,DS1307 应答(ACK)第三步.读数据(可读多个字节,读取数据的 DS1307 内部地址由上次写操作或读操作决定,读取每一字节 DS1307 内部地址计数器加一,主器件应答,读取最后一字节时主器件回应一 NACK 信号)第四步.STOP 信号

23、16六、心得体会六、心得体会一分耕耘,一分收获。纸上得来终觉浅,只有实践才能出真知。从一开始没有头绪,到慢慢地摸索,慢慢地有了想法,有设计思路,大家一起努力。从一开始的失败,到后面一次次地调试程序,不断地更正修改,到后来程序好了,整个时钟可以达到基本的显示时间等功能,又开始不断地朝着更好的方向走去,不断地挑战,完善这个时钟的功能,使它的功能多样化,经过这个实训,在单片机方面懂得的知识比以前更多了,实践是检验真理的唯一标准,也是激发创造创新能力的活动。17附录一附录一 效果图效果图课程设计效果图18附录二附录二 主要元器件、主要元器件、PCB 图以及电路原理图图以及电路原理图1、主要元器件:ST

24、C12C5A60S2 单片机、DS1307 模块、蜂鸣器、温度传感器DS18B20、OLED 显示屏、PCB 板等。2、电路原理图电路原理图3、PCB 图PCB 图19附录三附录三 主要程序主要程序MAIN.C#include STC89C52RC.h#include IIC.h#include DS1307.h#include OLED.h#include DS18B20.h sbit led = P14;sbit feng = P41;sbit K1 = P35;bit naozhong;bit wei = 0;void Weekday_OLED();void Time_OLED_Disp

25、lay();void DisTemp();extern unsigned char Second,Minute,Hour,Weekday,Day,Mouth,Year;extern unsigned char code font16x16_code288;void delay(unsigned char ms) unsigned char i; for(i=0;ims;i+);void main() OLED_Init(); FillScreen(0 x00); IIC_Init(); DS18B20_Init(); Write_Add(0 xd0,0 x07,0 x90); /Write_C

26、antrol(1); DS1307_Stop(); /Write_Calander(15,12,28,1,18,25,0); Write_Add(0 xd0,0 x08,20);20 Write_Add(0 xd0,0 x09,0); DS1307_Start(); IT0 = 1; EX0 = 1; EA = 1; WriteBuffer(0,100,0 x3f); /10 wei ReadBuffer(); WriteChar_6x8(1,6,2); WriteChar_6x8(1,12,0); WriteChar_6x8(1,30,-3); WriteChar_6x8(1,48,-3); WriteChar_6x8(5,30,10); WriteChar_6x8(5,48,10); WriteChinese16x16(1,18,星期); WriteChar_6x8(2,110,19); / WriteChar_6x8(1,120,10); WriteChar_6x8(2,90,-2); while(1) Time_OLED_Display(); Weekday_OLED(); StartTemConv(); ReadTemp(); DisTemp(); if(!K1) delay(100); if(!K1)while(!K1);naozho

温馨提示

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

评论

0/150

提交评论