基于STM32的万年历设计_第1页
基于STM32的万年历设计_第2页
基于STM32的万年历设计_第3页
基于STM32的万年历设计_第4页
基于STM32的万年历设计_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

基于 STM32的万年历设计班 级: 姓 名: 学 号: 成 绩: 电子通信工程系2题目:基于 STM32 的万年历设计前言: 随着科技的快速发展,时间的流逝,至从观太阳、摆钟到现在电子钟,人类不断研究,不断创新纪录。美国 DALLAS 公司推出的具有涓细电流充电能的低功耗实时时钟电路 DS12C887。它可以对年、月、日、周日、时、分、秒进行计时,还具有闰年补偿等多种功能,而且 DS12C887 的使用寿命长,误差小。对于数字电子万年历采用直观的数字显示,可以同时显示年、月、日、周日、时、分、秒和温度等信息,还具有时间校准等功能。该电路采用 AT89S52 单片机作为核心,采用数字式温度传感器 DS18B20 提取外界温度,功耗小,能在 3V 的低压工作,电压可选用 35V 电压供电。进入新世纪 LCD 显示屏的技术和产业都取得了长足的发展,作为重要的现代信息发布媒体之一,LCD 显示屏在证券交易、金融、交通、体育、广告等领域被广泛的应用。伴随社会信息化进程的推进,LCD 显示屏技术也在不断的推陈出新,应用领域愈加广阔。基于 STM32 的 LCD 显示可以更好的满足各种需求,也更便于操作和实现。现基于 STM32 在液晶显示屏幕上显示文本及图形。 目前,显示技术和显示工业的发展迅速。显示技术是传递视觉的信息技术。液晶显示器件 LCD 是当今最有发展前途的一种平板显示器件,它具有很多独到的优异特性。它具有显示信息多、易于多彩化、体积小、重量轻、功耗低、寿命长、价格低、无辐射、无污染、接口控制方便等优点。 截至目前,我国在液晶显示取得较大进步,我国 LCD 产业已经走过了近30 年的历程.经历几次大的投资浪潮之后,我国内地已经成为世界最大的 TN-LCD(扭曲液晶显示器)生产基地和主要的 STN-LCD(超扭曲液晶显示器)生产基地,并且从 2003 年开始,涉足 TFT-LCD(薄膜晶体管液晶显示器)领域.本课题设计采用STM32F103VE 开发板,实现在 LCD 显示屏上显示由按键可操控的万年历功能。本实验用到的硬件部分主要有 STM32 开发板、USB 线、LCD 液晶模块,在 LCD 显示屏上显示相关内容。综上所述万年历应具有读取方便、显示直观、功能多样、电路简洁等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景。本课题利用 STM32 的 RTC 实现一个简易的电子时钟,在液晶显示屏中显示时间值。显示时间格式为 XX:XX:XX(时:分:秒),当时间计数为: 23: 59: 59 时将刷新为: 00: 00: 00。31.功能描述 1.1 设计要求1.具有数字时钟功能。2.具有简单日历功能。3.具有手动校准时间功能。4.具有闰年识别功能。1.2 RTC(实时时钟)简介实时时钟是一个独立的定时器。 RTC 模块拥有一组连续计数的计数器,在相应软件配置下,可提供时钟日历的功能。修改计数器的值可以重新设置系统当前的时间和日期。RTC 模块和时钟配置系统(RCC_BDCR 寄存器)是在后备区域,即在系统复位或从待机模式唤醒后 RTC 的设置和时间维持不变。系统复位后,禁止访问后备寄存器和 RTC,防止对后备区域(BKP)的意外写操作。执行以下操作使能对后备寄存器和 RTC 的访问:1.设置寄存器 RCC_APB1ENR 的 PWREN 和 BKPEN 位来使能电源和后备接口时钟。2.设置寄存器 PWR_CR 的 DBP 位使能对后备寄存器和 RTC 的访问。当我们需要在掉电之后,又需要 RTC 时钟正常运行的话,单片机的 VBAT 脚需外接 3.3V 的锂电池。当我们重新上电的时候,主电源给 VBAT 供电,当系统掉电之后 VBAT 给 RTC 时钟工作, RTC 中的数据都会保持在后备寄存器当中。野火 STM32 开发板的 VBAT 引脚接了 3.3V 的锂电。3.STM32 自带了 RTC 时钟计数器,从 0 开始计数到 232。每一个计数代表秒计数,每六十个计数代表分计数,以此类推。24(小时)*60(分钟)*60(秒钟)=86400 代表一天的计数时间。假设当前计数为 count,count/86400 得到计数的天数,根据这个得到年月日。Count%86400 得到时分秒。4.根据 1 中得到的年月日时分秒,进行计算的程序有:闰年判断,星期几计算,当前月有多少天等等。另外,秒表为 RTC 一秒钟定时计数1.3 设计方案的选择1.3.1 可选择的芯片方案整个系统用 STM32F103VE 单片机作为中央控制器,由单片机执行采集内部4RTC 值,时钟信号通过单片机 I/O 口传给 LCD12864,单片机模块控制驱动模块驱动显示模块,通过显示模块来实现信号的输出、LCD12864 的显示及相关的控制功能。系统设有按键模块用于对时间进行调整及扩展多个小键盘。方案一:采用 89C51 芯片采用 89C51 芯片作为硬件核心,采用 Flash ROM,内部具有 4KB ROM 存储空间,能于 3V 的超低压工作,而且与 MCS-51 系列单片机完全兼容,但是运用于电路设计中时由于不具备 ISP 在线编程技术, 当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,对芯片的多次拔插会对芯片造成一定的损坏。 方案二:采用 AT89S52 芯片片内 ROM 全都采用 Flash ROM;能以 3V 的超底压工作;同时也与 MCS-51系列单片机完全该芯片内部存储器为 8KB ROM 存储空间,同样具有 89C51 的功能,且具有在线编程可擦除技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,不需要对芯片多次拔插,所以不会对芯片造成损坏。不使用时钟芯片,而直接用 AT89S52 单片机来实现电子万年历设计。AT89S52 是一种带 8K 字节闪烁可编程可擦除只读存储器的低电压,高性能 CMOS 8 位微处理器,俗称单片机。单片机的可擦除只读存储器可以反复擦写1000 余次。由于将多功能 8 位 CPU 和闪烁存储器组合在单个芯片中,ATMEL 的AT89S52 是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。若采用单片机计时,利用它的一个 16 位定时器/计数器每 50ms 产生一个中断信号,中断 20 次后产生一个秒信号,然后根据时间进制关系依次向分、时、日、星期、月、年进位。这样就实现了直接用单片机来实现电子万年历设计。方案三:采用 STM32 单片机STM32 是一个低功耗,高性能 32 位单片机,片内含 4k Bytes ISP(In-system programmable)的可反复擦写 1000 次的 Flash 只读程序存储器。主要性能有:与 MCS-51 单片机产品兼容、全静态操作:0Hz33Hz、 三级加密程序存储器、32 个可编程 I/O 口线、三个 16 位定时器/计数器、八个中断源、全双工UART 串行通道、掉电后中断可唤醒、看门狗定时器、双数据指针、掉电标识符、易编程。从单片机芯片主要性能角度出发,本数字电子钟单片机芯片选择设计采用方案采用 STM32F103VE。1.3.2 显示模块选择方案和论证: 方案一:采用 ILI9341LED 液晶显示屏5采用 LED 液晶显示屏,液晶显示屏的显示功能强大,可显示大量文字,图形,显示多样,清晰可见,显示质量高,没有电磁辐射,可视面积大,应用范围广,画面效果好,数字式接口,匀称小巧,功耗小。 方案二:采用点阵式数码管显示动态显示,即各位数码管轮流点亮,对于显示器各位数码管,每隔一段延时时间循环点亮一次。利用人的视觉暂留功能可以看到整个显示,但须保证扫描速度足够快,人的视觉暂留功能才可察觉不到字符闪烁。显示器的亮度与导通电流、点亮时间及间隔时间的比例有关。调整参数可以实现较高稳定度的显示。动态显示节省了 I/O 口,降低了能耗。 点阵式数码管是由八行八列的发光二极管组成,对于显示文字比较适合,如采用在显示数字显得太浪费,且价格也相对较高,所以也不用此种作为显示. 方案三: 采用 LED 数码管动态扫描LED 数码管价格适中,对于显示数字最合适,而且采用动态扫描法与单片机连接时,占用的单片机口线少。 从节省单片机芯片 I/O 口和降低能耗角度出发,本数字电子钟数码管显示选择设计采用方案一,既 ILI9341LED 显示。 1.3.3 时钟芯片的选择方案和论证:方案一:直接采用单片机定时计数器 直接采用单片机定时计数器提供秒信号,使用程序实现年、月、日、星期、时、分、秒计数。采用此种方案虽然减少芯片的使用,节约成本,但是,实现的时间误差较大。所以不采用此方案。 方案二:采用 DS1302 时钟芯片实现时钟采用 DS1302 时钟芯片实现时钟,DS1302 芯片是一种高性能的时钟芯片,可自动对秒、分、时、日、周、月、年以及闰年补偿的年进行计数,而且精度高,位的 RAM 做为数据暂存区,工作电压 2.5V5.5V 范围内,2.5V 时耗电小于300nA.方案三:采用 STM32 的 RTC 定时器由于 STM32 自带了实现计时功能的 RTC 时钟计数器,可以直接使用。1.3.4 电路设计最终方案综上各方案所述,对本课题方案选定: 采用 STM32F103VE 作为主控制芯片; STM32 自带的 RTC 提供时钟;LCD 液晶显示作为显示。1.4 电源电路 本设计所需电源电压为直流、电压值大小 5V 的电压源 。从硬件实物设计6简易程度与经费方面考虑,用两节电压值大小 2.5V 干电池与电路电压源引脚相连接即可达到硬件设计要求。即本设计可采用两节电压值大小 2.5V 干电池做硬件电路电压源。为了方便改写程序,本次实验采用 USB 线连接电脑进行操作。1.5 按键电路 本设计所需按键用于进行显示时间的调整与设置扩展的小键盘。 单片机芯片 4 个 I/O 口可与按键直接相连,通过编程,单片机芯片即可控制按键接口电平的高低,即按键的开与关,以达到用按键进行显示时间的调整与设置扩展的小键盘的设计要求。2.硬件设计2.1 设计组成框图电 脑USB线7STM32开发板LCD 液晶模块按键区图 设计的组成框图2.2 STM32F103VE 实验板STM32F103 系列属于中低端的 32 位 ARM 微控制器,该系列芯片是意法半导体(ST)公司出品,其内核是 Cortex-M3。该系列芯片按片内 Flash 的大小可分为三大类:小容量(16K 和 32K) 、中容量(64K 和 128K) 、大容量(256K、384K 和 512K) 。芯片集成定时器,CAN,ADC,SPI,I2C,USB,UART,等多种功能。 分为三大类: LD(小于 64K), MD(小于 256K) , HD(大于256K) , STM32F103VET6 类属第三类。 STM32F103ZET6 芯片介绍: 基于 ARM Cortex-M3 核心的 32 位微控制器,LQFP-144 封装. 512K 片内 FLASH(相当于硬盘),64K 片内 RAM(相当于内存) ,片内FLASH 支持在线编程(IAP).高达 72M 的频率,数据,指令分别走不同的流水线,以确保 CPU 运行速度达到最大化 . 通过片内 BOOT 区,可实现串口下载程序(ISP). 片内双 RC 晶振,提供 8M 和 32K 的频率. 支持片外高速晶振(8M),和片外低速晶振(32K).其中片外低速晶振可用于 CPU 的实时时钟,带后备电源引脚,用于掉电后的时钟行走. 42 个 16 位的后备寄存器(可以理解为电池保存的 RAM),利用外置的纽扣电池,和实现掉电数据保存功能. 支持 JTAG,SWD 调试.配合廉价的 J-LINK,实现高速低成本的开发调试方8案。多达 80 个 IO(大部分兼容 5V 逻辑),4 个通用定时器,2 个高级定时器,2个基本定时器,3 路 SPI 接口,2 路 I2S 接口,2 路 I2C 接口,5 路 USART,一个 USB从设备接口,一个 CAN 接口,SDIO 接口,可兼容 SRAM,NOR 和 NAND Flash 接口的16 位总线-FSMC。 3 路共 16 通道的 12 位 AD 输入,2 路共 2 通道的 12 位 DA 输出.支持片外独立电压基准.CPU 操作电压范围:2.0-3.6V2.3 USB 线USB 开发涉及主机和设备,为了避免开发驱动程序,使用 Windows 自带的驱动程序。所以设备枚举成 HID 类设备。USB 鼠标就是标准的 USB-HID 设备。不过操作系统阻止了应用程序直接访问 USB 鼠标返回的报告。所以本例使用自定义 HID 设备。一来免去了开发驱动程序,二来自定义的 HID 设备应用程序和设备可以自由收发数据(仅指数据内容) 。 USB 是一个外部总线标准,用于规范电脑与外部设备的连接和通讯。USB 接口即插即用和热插拔功能。USB 接口可连接 127 种外设,如鼠标和键盘等。USB是在 1994 年底由英特尔等多家公司联合在 1996 年推出后,已成功替代串口和并口,已成为当今电脑与大量智能设备的必配接口。USB 版本经历了多年的发展,到如今已经发展为 3.0 版本。对于大多数工程师来说,开发 USB2.0 接口产品主要障碍在于:要面对复杂的 USB2.0 协议、自己编写 USB 设备的驱动程序、熟悉单片机的编程。这不仅要求有相当的 VC 编程经验、还能够编写 USB 接口的硬件(固件)程序。所以大多数人放弃了自己开发 USB 产品。为了将复杂的问题简单化,西安达泰电子特别设计了 USB2.0 协议转换模块。USB20D 模块可以被看作是一个 USB2.0 协议的转换器,将电脑的 USB2.0 接口转换为一个透明的并行总线,就象单片机总线一样。从而几天之内就可以完成 USB2.0 产品的设计。2.4 液晶显示器 LCD 控制器简介 LCD 液晶显示器(Liquid Crystal Display: LCD)的构造是在两片平行的玻璃当中放置液态的晶体,两片玻璃中间有许多垂直和水平的细小电线,透过通电与否来控制杆状水晶分子改变方向,将光线折射出来产生画面。LCM(LCD Module)即 LCD 显示模组、液晶模块,是指将液晶显示器件,连接,控制与驱动9等外围电路,PCB 电路板,背光源,结构件等装配在一起的组件。由于液晶显示屏功耗低、体积小,承载的信息量大,因而被广泛用于信息输出、与用户进行交互。由于 STM32 内部没有集成专用的液晶屏和触摸屏的控制接口,所以在显示面板中应自带含有驱动芯片的驱动电路(液晶屏和触摸屏的驱动电路是独立的),STM32 芯片通过驱动芯片来控制液晶屏和触摸屏。以本实验 3.2 寸液晶屏(240*320)为例,它使用 ILI9341 芯片控制液晶屏,通过 XPT2046 芯片控制触摸屏。LCD 为非发光性的显示装置,它需要借助背光源才能达到显示功能,LED 控制器就是用来控制液晶屏中的 LED 背光源。 2.4.1 液晶显示器在内部电路结构上主要构成1.驱动板(也叫主板):主要是用以接收、处理从外部送进来的模拟(VGA)或者数字(DVI)视频信号,并通过屏线送出信号去控制液晶屏(PANEL)正常工作。驱动板上含有 MCU 单元,它是液晶显示器的检测控制中心和大脑。 2.电源板:用于将 90240V 的交流电压转变为 12V、5V、3V 等的直流电供给显示器工作。3.背光板(也叫高压板):用于将主板或电源板输出的 12V 的直流电压转变为 PANEL 需要的高频的 15001

温馨提示

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

最新文档

评论

0/150

提交评论