1、摘 要 摘 要数字时钟在生活中随处可见,本系统以DS1302为核心芯片,STC89C52单片机为主控制器,采用1602液晶屏显示;单片机根据DS1302的读写时序采集时间数据,经过单片机数据处理,送给液晶显示;本系统采用主控模块和液晶控制显示模块,通过标准10pin牛头插座连接,时间设置按钮以及闹铃功能。实际测试结果表明,本系统走时准确,能够满足日常生活中对时间指示的基本要求。关键词: DS1302,单片机,1602液晶IIIAbstractABSTRACTdigital clock in life everywhere, this system to DS1302 as the core c
2、hip, mainly controller is the STC89C52 SCM, 1602 LCD shows; The reading and writing DS1302 microcontroller according to time data, collected by timing microcontroller and data processing, send a LCD display; The system USES the control module and LCD control and display module, through standard 10pi
3、n minotaur socket connection control board, expanded the LCD backlight control button, time Settings button and seconds indicator and button cell batteries. The actual test results show that the system accurately, and can satisfy the walking in daily life is the basic requirement of time instruction
4、s.Keywords: DS1302 ,single-chip microcomputer control,1602 LCD目录目录第1章引言11.1 课题背景11.2 单片机简介与发展概况11.3 设计要求31.4 主要内容3第2章方案选择与论证42.1 总体设计方案42.2 方案一42.3 方案二62.4 方案比较与选择7第3章系统硬件设计83.1 系统总体原理图83.2单片机最小系统93.3 系统供电设计123.3.1 单片机主板电源123.3.2 瞬态抑制二极管简介:133.3.3 LCD1602 液晶电源设计143.3.4 LM1117 简介153.4 DS1302电路163.5 按
5、键输入部分173.6 指示灯部分183.7 LCD显示部分183.7.1 PCD8544芯片简介203.8 SPI接口223.8.1 SPI总线介绍223.8.2 单片机模拟SPI233.9 扩展电路部分单片机程序下载电路24第4章系统软件设计274.1 软件流程图274.2 各程序模块284.2.1 LCD1602程序模块:284.2.2 DS1302程序模块:314.2.3 其他程序说明 :344.3 硬件电路调试374.4软件调试37第5章总结39参考文献40致谢41附录42附录一:系统总程序42外文资料原文58译文61第1章 引言第1章 引言1.1 课题背景20世纪末,电子技术获得了飞
6、速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。 数字钟是采用数字电路实现对.时,分,秒.数字显示的计时装置,与机械式时钟相比具有更高的准确性和直观性,装置,具有更长的使用寿命,已得到广泛的使用。数字钟的设计方法有许多种,例如,可用中小规模集成电路组成电子钟;也可以利用专用的电子钟芯片配以显示电路及其所需要的外围电路组成电子钟;还可以利用单片机来实现电子钟等等。这些方法都各有其特点,其中利用单片机实现的电子钟具有编程灵活,并便于功能的扩展。数字钟广泛用于个人家庭,车
7、站, 码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表, 钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。因此,研究数字钟及扩大其应用,有着非常现实的意义。本课题研究的基于51单片机数字钟采用专用实时时钟芯片,走时准确,且具有闹铃功能,采用新颖简单的图像点阵液晶显示,具有良好的人机界面;是很好的时间指示工具
8、。1.2 单片机简介与发展概况单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使11用单片机了解计算机原理与结构的最佳选择。可以说,二十世纪跨越了三个“电”的时代,即电气时代、电子时代和现已进入的电脑时代。不过,这种电脑,通常是指个人计算机,简称PC机。它由主机、键盘、显示器等组成)。还有一类计算机,大多数人却不怎么熟悉。这种计算机就是把智能赋予各种机械的单片机(亦称微控制器)。顾名思义,这种计算机的最小系统只用了一片集成电路,即可进行简单
9、运算和控制。因为它体积小,通常都藏在被控机械的“肚子”里。它在整个装置中,起着有如人类头脑的作用,它出了毛病,整个装置就瘫痪了。现在,这种单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词“智能型”,如智能型洗衣机等。现在有些工厂的技术人员或其它业余电子开发者搞出来的某些产品,不是电路太复杂,就是功能太简单且极易被仿制。究其原因,可能就卡在产品未使用单片机或其它可编程逻辑器件上。单片机的历史 :第一代:七十年代后期, 4 位逻辑控制器件发展到 8 位。使用 NMOS 工艺(速度低,功
10、耗大、集成度低)。代表产品: MC6800 、 Intel 8048 。 第二代:八十年代初,采用 CMOS 工艺,并逐渐被高速低功耗的 HMOS 工艺代替。代表产品: MC146805 、 Intel 8051 。 第三代:近十年来, MCU 的发展出现了许多新特点: (1)在技术上,由可扩展总线型向纯单片型发展,即只能工作在单片方式。 (2) MCU 的扩展方式从并行总线型发展出各种串行总线。 (3)将多个 CPU 集成到一个 MCU 中。 (4)在降低功耗,提高可靠性方面, MCU 工作电压已降至 3.3V 。 第四代:FLASH 的使用使 MCU 技术进入了第四代。I11.3 设计要求
11、能够显示年,月,日,时,分,秒;具有掉电保持功能,并能通过按键设置时间值,正确显示走时时间且走时准确。1.4 主要内容该系统采用51系列单片机作为整机的控制单元,通过根据DS1302的时序读取芯片的实时时钟数据,经过数据转换处理控制1602液晶屏显示时钟数据。按键输入部分是设置时间的按钮。DS1302实时时钟芯片 MUC主控芯片按键输入部分LCD时钟显示背光控制秒指示灯3v电池图1-1 系统硬件框架图91第2章 方案选择与论证第2章 方案选择与论证2.1 总体设计方案本设计方案主控芯片为一MCU,该MCU起到对按键输入事件进行相应处理,同时对LCD或数码管的输出显示数据进行同步更新。大致流程为
12、MCU对按键输入进行相应,MCU更新LCD或者数码管显示。由于以上的总设计方案可选相关元器件的范围相当宽泛,最终在两种方案中进行取舍。以下是二种方案的详细介绍。 2.2 方案一该方案采用单片机内部的定时器功能来实现数字钟, 51单片机内部共有两个16位可编程的定时/计数器,即定时器T0和定时器T1。它们既有定时功能又有计数功能,通过设置与它们相关的特殊功能寄存器来选择启用定时功能或计数功能。定时器是单片机内部一个独立的硬件部分,一旦开启定时功能后,定时器便在晶振的作用下开始计时,当定时器计数满后,会产生中断,即通知CPU做如何处理。定时器的实质是加1计数器(16位),有高8位和低8位两个寄存器
13、组成。TMOD为工作方式寄存器,确定工作方式;TCON为控制寄存器,控制启动停止及设置溢出标志。工作方式有4种,如下表:表2-1 定时器工作方式M1M0 工作方式00方式0, 13位定时器01方式1, 16位定时器10方式2, 8位定时器,自动重装11方式3, 仅适用于T0,分成两个8位计数器,T1不计数通过TMOD寄存器中的M1M0位来进行工作方式选择,我们使用工作方式1,逻辑结构框图如图所示:图2-1 定时器方式1逻结构框图定时器一旦启动,它便在原来的数值基础上开始加1计数,若在程序开始时,我们没有设置TH0和TL0,它们的默认值都是0,假设时钟频率为12MHz,12个时钟周期为一个机器周
14、期,那么此时机器周期就是1us,计满TH0和TL0就需要-1个数,溢出就向CPU申请中断。因此溢出一次共需65536us,约等于65.5ms,如果我们要定时50ms的话,就需要先给TH0和TL0装一个初值,在这个初值之上计50000个数后,定时器溢出,此时就刚好50ms,但要产生1s时,我们写程序产生20次50ms的定时器中断便可。即初值:TH0=(65536-N)/256TL0=(65536-N)%256 N=50000基于这个原理便可以设计数字钟了,设计要求具有掉电保持功能,所以就还需要一块存储芯片,可以选用24c02,用于掉电时数据保持,待单片机上电时在将上次保存的时间数据读出。系统简要
15、框图如下: 图2-2 方案一系统简要框图2.3 方案二该方案采用方法是专用实时时钟芯片DS1302,而不用单片机自身的定时器产生,只需要单片机模拟SPI时序对DS1302读写数据控制,便可获得准确的时钟信息。DS1302芯片本身也有掉电保持功能。DS1302是美国DALLAS 公司推出的一种高性能、低功耗的实时时钟芯片,附加31字节静态RAM,采用SPI 三线接口与CPU 进行 同步通信,并可采用突发方式一次传送多个字节的时钟信号和RAM 数据。实时时钟可提供秒、分、时、日、星期、月和年,一个月小与 31天时可以自动调整,且具有闰年补偿功能。工作电压宽达2.55.5V。采用双电源供电(主电源和
16、备用电源),可设置备用电源充电方式,提供了对后背电源进行涓细电流充电的能力。DS1302的外部引脚分配如图2-3及内部结构如图2-4所示。DS1302用于数据记录,特别是对某些具有特殊意义的数据点的记录上,能实现数据与出现该 数据的时间同时记录,因此广泛应用于测量系统中。此外,DS1302的功耗很低,保持数据和时钟信息时,功耗低于1mW。 图2-3 DS1302引脚分配 图2-4 DS1302的内部结构2.4 方案比较与选择在对以上两种方案进行认真对比与论证之后,最终选定方案二作为本次设计的设计方案,原因有如下几点: 方案一中的采用单片机的内部定时器有一定是时间误差,因为机器周期12(1/晶振
17、频率),若是使用11.0592Mhz的晶振,误差会更大。而方案二,由于使用的是时钟芯片,晶振频率,程序延时等都不会造成误差,保证了走时的准确。 方案一中采用掉电采用存储芯片保存数据,单片机上电读取的是上一次的时钟数据,而在这期间流逝的时间无法保存,所以不能满足实时性。而方案二中DS1302在主电源掉电后还有备用电池供电,继续保持走时,误差很小,实时性很高。所以综合考虑选择方案二。第3章 系统硬件设计第3章 系统硬件设计3.1 系统总体原理图本系统采用模块化的思想设计,分为几个部分,首先是单片机最小系统;然后电源部分,包含单片机的电源和1602液晶屏电源;DS1302电路;1602液晶电路;还有
18、按键输入部分以及指示灯部分。总原理图如图3-1所示:图3-1总电路原理图3.2单片机最小系统该部分为本电路的核心控制部分,单片机选用的是宏晶公司的STC89C52,该系列单片机以其加密性强,低功耗,超低价格,高速高可靠,强抗静电及干扰等特性在微控制领域应用相当广泛。且该单片机程序可直接通过串行通行接口载,十分方便和快捷,下载器电路搭建简单,下载软件操作简单等特点深受好评。以下是该单片机的主要特点及参数: 增强型6时钟/机器周期,12时钟/机器周期8051 CPU 工作电压5.5V-3.4V(5V单片机) 工作频率范围:0-40MHZ,相当于普通8051的 0-80M。实际工作频率可达48MHZ
19、 用户应用程序空间8K字节 片上集成512字节ROM 通用I/O口(32个),P0口做I/O口用是需加上拉电阻 ISP/IAP,通过串口(P3.0/P3.1)直接下载用户程序 EEPROM功能 3个16位定时器/计数器,其中定时器0可作为2个8位定时器使用 外部中断四路,下降沿中断或低电平触发中断 通用异步串行口UART 工作温度范围0-70 封装:PDIP-40第3章 系统硬件设计 图3-2 单片机引脚图以下对其所有引脚做简单的说明:VCC: AT89C51电源正端输入,接+5VVSS(GND):电源地端XTAL1:单芯片系统时钟的反相放大器输入端XTAL2:系统时钟的反相放大器输出端(注:
20、一般在设计上只要在XTAL1和XTAL2上接一个石英晶体振荡器就可以是单片机工作了,此外可在两引脚与地之间加一个20pF的小电容,可以使系统更加稳定,避免噪声干扰而死机。也可以用外部时钟,将外部时钟脉冲接到XTAL1端,XTAL2悬空即可。)RST:复位引脚EA/VPP:外部访问允许。低电平有效,Flash存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压VppALE/PROG:ALE表示地址锁存器启用新号。AT89C51可以利用此引脚来接触外部的8位锁存器,将端口0的地址锁入锁存器中。此外在烧录8751程序代码时,此引脚被当成程序规划的特殊功能来使用
21、PSEN:程序出差启用,当8051被设成为读取外部程序代码工作模式时(EA=0),会送出信号以便取得程序代码P0口(P0.0P0.7):P0是一组8位漏极开路型双向输入/输出口,也即地址/数据总线复用口作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口写“1”可作为高阻抗输入端用,Flash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻P1口(P1.0P1.7):P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作为输入端。Fl
22、ash编程和程序校验期间,P1接收低8位地址P2口:P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻吧端口拉至高电平,此时可作输入端。Flash编程或校验时,P2亦接收高位地址和其他控制信号P3口:做普通I/O口时功能同P1口,P3口可以接收一些用于Flash闪存存储器编程和程序校验的控制信号。此外,P3口各引脚还有特殊的功能:P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 INT0(外中断0)P3.3 INT1(外中断1)P3.4 T0(定时/计数0外部输入)P3.5 T1(定时/计数器1外部输
23、入)P3.6 WR(外部数据存储器写选通)P3.7 RD(外部数据存储器读选通) 单片机最小系统,主要有单片机,振荡电路,复位电路构成。单片机中有一个用于构成内部振荡器的高增益反相放大器,引出XTAL1和XTAL2分别是该放大器的输入和输出端。这两个放大器与作为反馈元件的片外石英晶体或者陶瓷振荡器一起构成自激振荡器,即最小系统要求的振荡电路(本系统中,内部振荡电路即可满足系统要求)。此电路有两个电容和一个石英晶体振荡器构成。另外,还需要一个外部复位电路,方便系统调试时对系统进行手动复位。如图3-3所示:图3-3 单片机最小系统电路3.3 系统供电设计3.3.1 单片机主板电源本设计中主控MCU
24、、LCD、以及DS1302所用的直流5V电源,是直接用AC-DC 5V电源适配器,方便而且稳定。适配器的电源与单片机主控板通过标准电源头子DC-005连接。在单片机控制板上放置电容进行滤波以减小干扰,同时还设计了瞬态抑制二极管,防止浪涌,过冲,选用的型号为双极性的p6ke15ca,使电源更加安全可靠。如图3-4所示为单片机主板电源电路图:图3-4 主板电源电路3.3.2 瞬态抑制二极管简介:瞬态二极管(Transient Voltage Suppressor)简称TVS,是一种二极 管形式的高效能保护器件。当TVS 二极管的两极受到反向瞬态高能量冲击时,它 能以10的负12次方秒量级的速度,将
25、其两极间的高阻抗变为低阻抗,吸收高达数千瓦的 浪涌功率,使两极间的电压箝位于一个预定值,有效地保护电子线路中的精密元 器件,免受各种浪涌脉冲的损坏。三大作用:1、将TVS 二极管加在信号及电源线上,能防止微处理器或单片机因瞬间的脉冲,如静电放电效应、交流电源之浪涌及开关电源的噪音所导致的失灵。2、静电放电效应能释放超过10000V、60A 以上的脉冲,并能持续10ms;而 一般的TTL 器件,遇到超过30ms 的10V脉冲时,便会导至损坏。利用TVS 二极管,可有效吸收会造成器件损坏的脉冲,并能消除由总线之间开关所引起的干扰 3、将TVS 二极管放置在信号线及接地间,能避免数据及控制总线受到不
26、必 要的噪音影响。 特性参数 :最大反向漏电流ID和额定反向关断电压VWM。VWM 是TVS 最大连续工作的直流或脉冲电压,当这个反向电压加入TVS 的两极间时,它处于反向关断状态,流过它的电流应小于或等于其最大反向漏电流 ID。最小击穿电压VBR 和击穿电流IR;VBR 是TVS 最小的雪崩电压。25时,在这个电压之前,TVS 是不导通的。当TVS 流过规定的1mA 电流(IR)时,加入TVS 两极间的电压为其最击穿电压VBR。按TVS 的VBR 与标准值的离散程度,可把TVS 分为5%VBR和10%VBR 两种。对于5%VBR来说,VWM=0.85VBR;对于10%VBR 来说,VWM=0
27、.81VBR。最大箝拉电压VC 和最大峰值脉冲电流IPP;当持续时间为20微秒的脉冲峰值电流IPP 流过TVS 时,在其两极间出现的最大峰值电压为VC。它是串联电阻上和因温度系数两者电压上升的组合。VC 、IPP反映 TVS 器件的浪涌抑制能力。VC 与VBR 之比称为箝位因子,一般在1.21.4之间。电容量C;电容量C 是TVS 雪崩结截面决定的、在特定的1MHZ频率下测得的。C 的大与TVS 的电流承受能力成正比,C 过大将使信号衰减。因此,C 是数据接口电 路选用TVS 的重要参数。最大峰值脉冲功耗PM ;PM 是TVS 能承受的最大峰值脉冲耗散功率。其规定的试验脉冲波形和各种TVS 的
28、PM 值,请查阅有关产品手册。在给定的最大箝位电压下,功耗PM 越大,其浪涌电流的承受能力越大;在给定的功耗PM 下,箝位电压VC 越低,其浪涌电流的承受能力越大。另外,峰值脉冲功耗还与脉冲波形、持续时间和环境温度有关。而且TVS 所能承受的瞬态脉冲是不重复的,器件规定的脉冲重复频率(持续时间与间歇时间之比)为0.01%,如果电路内出现重复性脉冲,应考虑脉冲功率的“累积”,有可能使TVS 损坏。 箝位时间TC;TC 是TVS两端电压从零到最小击穿电压VBR 的时间。对单极性TVS 于110-12秒;对双极性TVS 于是110-11 秒。选用技巧:1、确定被保护电路的最大直流或连续工作电压、电路
29、的额定标准电压和“高端”容限。2、TVS额定反向关断VWM 应大于或等于被保护电路的最大工作电压。若选用的VWM 太低,器件可能进入雪崩或因反向漏电流太大影响电路的正常工作。串行连接分电压,并行连接分电流。3、TVS 的最大箝位电压VC 应小于被保护电路的损坏电压。4、在规定的脉冲持续时间内,TVS 的最大峰值脉冲功耗PM 必须大于被保护电路内可能出现的峰值脉冲功率。在确定最大箝位电压后,其峰值脉冲电流应大于瞬态浪涌电流。5、对于数据接口电路的保护,还必须注意选取具有合适电容C 的TVS 器件。6、根据用途选用TVS 的极性及封装结构。交流电路选用双极性TVS较为合理;多线保护选用TVS 阵列
30、更为有利。7、温度考虑。瞬态电压抑制器可以在55+150之间工作。如果需要TVS在一个变化的温度 工作,由于其反向漏电流ID是随增加而增大;功耗随TVS结温增加而下降,从+25到+175,大约线性下降50雨击穿电压VBR 随温度的增加按一定的系数增加。因此,必须查阅有关产品资料,考虑温度变化对其特性的影响。3.3.3 LCD1602 液晶电源设计由于1602液晶对电压有特殊要求,所以需要单独考虑。屏幕电压:1602屏幕的最佳工作电压是3V-3.6V; 过高会灰度加重,影响显示效果,过低会显示不清晰(数据口的逻辑电平可以是5V)。背光电压:背光电压3V-3.2V,如果电压过高请使用串联电阻分压的
31、形式给背光降压。超过电压背光LED会烧掉。液晶电源如3-3-A屏幕电源电路图和3-3-B背光控制电路图所示:图3-3-A 屏幕电源电路图3-3-B 背光控制电路图如图3-3-A所示,屏幕电源采用的是低压差3.3v稳压芯片LM1117-3.3v,电路简单。只需外接电容便可以了,输出电压稳定可靠,满足屏幕工作电压3.0-3.6v的要求。如图3-3-B所示,背光电源采用的是三极管控制电路,控制背光的亮灭,MMBT3906为NPN三极管,高电平导通,低电平断开;基极通过一个4.7k的电阻接单片机的控制引脚,同时还有一个10k的上拉电阻,保证上电时为高电平,三极管导通,背光开,以后就由程序控制了。由于在
32、集电极和电源之间串了一个200欧姆的电阻,所以当导通时,在电阻R6上就会有压降,测试大概有0.17v作用,忽略三极管CE脚间的压降,所以背光脚的电压就为3.3V-0.17V=3.14V;满足背光电压要求,同时还可以得出背光的功3.14*(0.17/200)=2.669mW;可以看出功耗是很小的。3.3.4 LM1117 简介LM1117是一个低压差电压调节器系列。其压差在1.2V输出,负载电流为800mA时为1.2V。它与国家半导体的工业标准器件LM317有相同的管脚排列。LM1117有可调电压的版本,通过2个外部电阻可实现1.2513.8V输出电压范围。另外还有5个固定电压输出(1.8V、2
33、.5V、2.85V、3.3V和5V)的型号。LM1117提供电流限制和热保护。电路包含1个齐纳调节的带隙参考电压以确保输出电压的精度在1%以内。LM1117系列具有LLP、TO-263、SOT-223、TO-220和TO-252 D-PAK封装。输出端需要一个至少10uF的钽电容来改善瞬态响应和稳定性。特性:1.提供1.8V、2.5V、2.85V、3.3V、5V和可调电压的型号2.节省空间的SOT-223和LLP封装 3.电流限制和热保护功能4.输出电流可达800mA5.线性调整率:0.2% (Max)6.负载调整率:0.4% (Max)7.温度范围:L
34、M1117:0125 LM1117I:-401253.4 DS1302电路DS1302芯片是本次设计中的重要芯片,为单片机提高准确的时钟数据,引脚分配图及内部结构图参见图2-3和图2-4。各引脚的功能为: Vcc1:主电源;Vcc2:备份电源。当Vcc2Vcc1+0.2V 时, 由Vcc2 向DS1302供电,当Vcc2 Vcc1时,由Vcc1 向DS1302供电。 SCLK:串行时钟,输入,控制数据的输入与输出; I/O:三线接口时的双向数据线; CE:输入信号,在读、写数据期间,必须为高。该引脚有两个功能:第一,CE 开始控制字访问移位寄存器的控制逻辑;其次, CE 提供结束单字节或多字节
35、数据传输的方法。本设计中的电路如图 3-5 DS1302电路图所示:图3 - 5 DS1302电路图可以看出CE ,I/O,CLK脚分别连接的是单片机的P26,P25,P24。B1为3v锂电池,是DS1302的备用电源。3.5 按键输入部分如图3-6按键输入电路图所示:图3-6按键输入电路图KEY2键作为液晶背光控制键,与单片机的P32口相连,即单片机的中断0口,当按下一次KEY2键,外部中断0产生中断,程序进入中断服务程序,中断服务程序中即把控制背光三极管的引脚拉低,背光电源便断开;当再按下KEY2键一次,外部中断0再次产生中断,程序再次进入中断服务程序,中断服务程序中即把控制背光三极管的引
36、脚电平翻转,即拉高,背光电源便接通。KEY6键作为数字钟的设置键,当按下一次KEY6键,DS1302时钟停止震荡,进入分钟设置,LCD上的分钟位置变成“?”形式,这是可通过K3,K4键进行加减,范围是0-59,当加到59是自动清0,当减到0时自动置为59。当二次按下一次KEY6键,进入小时设置,LCD上的小时位置变成“?”形式,这是可通过K3,K4键进行加减,范围是0-24,当加到24是自动清0,当减到0时自动置为24。当三次按下一次KEY6键,进入日期设置,LCD上的日期位置变成“?”形式,这是可通过K3,K4键进行加减,范围是0-31,当加到31是自动清0,当减到0时自动置为31。当四次按
37、下一次KEY6键,进入月份设置,LCD上的月份位置变成“?”形式,这是可通过K3,K4键进行加减,范围是0-12,当加到12是自动清0,当减到0时自动置为12。当五次按下一次KEY6键,进入年设置,LCD上的年位置变成“?”形式,这是可通过K3,K4键进行加减,范围是0-99,当加到99是自动清0,当减到0时自动置为99。当六次按下一次KEY6键,自动回到分钟设置。 KEY5键作为数字钟的确认键,当按KEY6键设置好时间日期后,按下KEY5键,单片机就将设定的数据写入DS1302中,时钟开始震荡,DS1302就按设定的时间数据为起始时间开始走时。KEY4键作为作为数字钟的加键,只有设定KEY6
38、键才会作用,每按一次数加1。当加到程序设定值时,自动清0, 参见KEY6键介绍。KEY3键作为作为数字钟的减键,只有设定KEY6键才会作用,每按一次数减1。当减到0时,自动置为程序设定值, 参见KEY6键介绍。3.6 指示灯部分主要有两个指示灯,一个是电源指示灯,为绿色指示灯;另一个是秒指示灯接单片机的P27口,为红色指示灯,每隔一秒,指示灯亮或灭一次。电路如3-7 指示灯电路图所示:图3-7 指示灯电路图3.7 LCD显示部分显示部分,选用的是飞利浦公司生产PCD8544芯片为驱动的48X84点矩阵LCD屏,该液晶屏应用广泛,只需要5根串行线无需另外器件驱动,接法比数码管,功耗也比数码管要低
39、;价格和5110液晶差不多,能够显示图形,这是5110液晶不能比拟的;与12864相比性价比高出很多,该屏早期应用是作为1602手机显示屏使用。所以又叫它1602液晶屏。以下是参数与引脚说明: 基本参数液晶行点阵数量 48液晶列点阵数量 84串行通信最高速率 4.0Mbit/S使用温度范围 -25至70 引脚说明VCC 模块电源GND 模块电源地,背光地SCE 芯片使能RST 外部复位输入端D/C 数据/命令DIN 串行数据输入端SCLK 串行时钟输入端LED 背光电源本设计的电路如图3-8所示: 图3-8 LC1602接口电路如上图所示,P1为标准2.54mm间距10pin牛头座,方便牢固,
40、通过它与单片机相连接,便于模块化。3.7.1 PCD8544芯片简介1.特征 单芯片LCD 控制/驱动 48 行,84 列输出 显示数据RAM 48*84 位 芯片集成: LCD 电压发生器(也可以使用外部电压供应) LCD偏置电压发生器 振荡器不需要外接元件(也可以使用外部时钟) 外部RES(复位)输入引脚 串行界面最高4.0Mbits/S CMOS 兼容输入 混合速率:48 逻辑电压范围VDD 到VSS:2.7V3.3V 显示电压范围VLCD 到VSS: 6.08.5V LCD 内部电压发生器(充许电压发生器) 6.09.0V LCD 外部电压供应(电压发生器关闭) 低功耗,适用于电池供电
41、系统 关于VLCD 的温度补偿 使用温度范围:-2570 2. 概述 PCD8544 是一块低功耗的CMOS LCD 控制驱动器,设计为驱 48 行 84 列的图形显示。所有必须的显示功能集成在一块芯片上,包 括LCD 电压及偏置电压发生器,只须很少外部元件且功耗小。 PCD8544 与微控制器的接口使用串行总线。PCD8544 采用 CMOS 工艺。 方块图如图3-9所示 图3-9 PCD8544方块图3.8 SPI接口3.8.1 SPI总线介绍由于本设计中DS1302和LCD1602液晶屏使用了SPI接口与单片机进行通信,所以这里有必要对SPI接口以及其通信协议进行一下简略的介绍。SPI:
42、高速同步串行口。是一种标准的四线同步双向串行总线,英语缩写为Serial Peripheral interface。该接口是Motorola首先在其MC68HCXX系列处理器上定义的。SPI接口主要应用在 EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。SPI,是一种高速的,全双工,同步的 通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,现在越来越多的芯片集成了这种通信协议。SPI总线系统是一种同步串行外设接口,它可以使MCU与各种外围设备以串行方式进行通信以交换信息。外围设
43、置FLASHRAM、网络控制器、LCD显示驱动器、A/D转换器和MCU等。SPI总线系统可直接与各个厂家生产的多种标准外围器件直接接口,该接口一般使用4条线:串行时钟线(SCK)、主机输入/从机输出数据线MISO、主机输出/从机输入数据线MOSI和低电平有效的从机选择线SS(有的SPI接口芯片带有中断信号线INT、有的SPI接口芯片没有主机输出/从机输入数据线MOSI)。 SPI的通信原理很简单,它以主从方式工作,这种模式通常有一个主设备和一个或多个从设备,需要至少4根线,事实上3根也可以(用于单向传输时,也就是半双工方式)。也是所有基于SPI的设备共有的,它们是SDI(数据输入),SDO(数
44、据输出),SCK(时钟),CS(片选)。(1)SDO 主设备数据输出,从设备数据输入(2)SDI 主设备数据输入,从设备数据输出(3)SCLK 时钟信号,由主设备产生(4)CS 从设备使能信号,由主设备控制其中CS是控制芯片是否被选中的,也就是说只有片选信号为预先规定的使能信号时(高电位或低电位),对此芯片的操作才有效。这就允许在同一总线上连接多个SPI设备成为可能。接下来就负责通讯的3根线了。通讯是通过数据交换完成的,这里先要知道SPI是串行通讯协议,也就是说数据是一位一位的传输的。这就是SCK时钟线存在的原因,由SCK提供时钟脉冲,SDI,SDO则基于此脉冲完成数据传输。数据输出通过 SD
45、O线,数据在时钟上升沿或下降沿时改变,在紧接着的下降沿或上升沿被读取。完成一位数据传输,输入也使用同样原理。这样,在至少8次时钟信号的改变(上沿和下沿为一次),就可以完成8位数据的传输。要注意的是,SCK信号线只由主设备控制,从设备不能控制信号线。同样,在一个基于SPI的设备中,至少有一个主控设备。这样传输的特点:这样的传输方式有一个优点,与普通的串行通讯不同,普通的串行通讯一次连续传送至少8位数据,而SPI允许数据一位一位的传送,甚至允许暂停,因为SCK时钟线由主控设备控制,当没有时钟跳变时,从设备不采集或传送数据。也就是说,主设备通过对SCK时钟线的控制可以完成对通讯的控制。SPI还是一个数据交换协议:因为SPI的数据输入和输出线独立,所以允许同时完成数据的输入和输出。不同的SPI设备的实现方式不尽相同,主要是数据改变和采集的时间不同,在时钟信号上沿或下沿采集有不同定义,具体请参考相关器件的文档。在点对点的通信中,SPI接口不需要进行寻址操作,且
版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。
Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1
陕公网安备 61072602000132号 违法和不良信息举报:0916-4228922