基于8952单片机实时时钟设计.doc

上传人:文库蛋蛋多 文档编号:4147880 上传时间:2023-04-07 格式:DOC 页数:38 大小:472KB
返回 下载 相关 举报
基于8952单片机实时时钟设计.doc_第1页
第1页 / 共38页
基于8952单片机实时时钟设计.doc_第2页
第2页 / 共38页
基于8952单片机实时时钟设计.doc_第3页
第3页 / 共38页
基于8952单片机实时时钟设计.doc_第4页
第4页 / 共38页
基于8952单片机实时时钟设计.doc_第5页
第5页 / 共38页
点击查看更多>>
资源描述

《基于8952单片机实时时钟设计.doc》由会员分享,可在线阅读,更多相关《基于8952单片机实时时钟设计.doc(38页珍藏版)》请在三一办公上搜索。

1、目 录绪 论3一、单片机概述41.1 单片机的发展历史41.2 单片机的发展趋势41.3 单片机的特点51.4 单片机的应用51.5 单片机的串行接口61.6 基本概念7二、硬件设计82.1 STC89C52单片机简介82.1.1 STC89C52功能特性描述92.1.2 MCS-51的串行和控制寄存器132.2 显示模块152.3 DS1302的结构及工作原理18三、软件设计203.1 设计方法203.2 设计实例203.3 原理图和程序233.3.1原理图233.3.2程序24结 论35致 谢36参 考 文 献37基于89C52的单片机实时时钟设计摘要:本设计是以89C52为控制核心,通过

2、外围的不同模块可以让用户进行单片机的各种实验或者项目的开发。本开发板主要设计实时时钟电路,开发板主要由以下几个部分组成:MCU控制器、显示、DS1302。其中MCU采用的是STC89C52芯片;显示模块为1602液晶显示;用DALLAS公司的DS1302向单片机提供包括秒、分、时、日、月、年等在内的实时时间信息。通过所学的应用软件进行绘图及编程,使其仿真演示出来。关键字:89C52 单片机 DS1302 LCD1602The design of real-time clock based on 89C52 microcontrollerAbstract: The design is a sys

3、tem used 89C52 for the control of the control of the core, allows users to conduct various experiments or the SCM project development through the external different modules. The development board design and real-time clock circuit, The development board mainly contain the following modules: MCU cont

4、roller, display, DS1302. STC89C52 is used as MCU; the display module is LCD1602; Provides including the second, divides, Japan, the month, the year with DALLAS Corporations DS1302 to the monolithic integrated circuit and so on real-time time information. Through the application software which studie

5、s carries on the cartography and the programming, causes its simulation to demonstrate.Keyboard : 89C52 MCU DS1302 LCD1602绪 论随着单片机在各个领域的广泛应用,越来越多的单片机爱好者开始动手开发自己的产品。而单片机产品都是由单片机最小系统通过外围的不同扩展电路来实现对某一输出的控制。翻阅了很多单片机应用的书,大体的结构一般都是先介绍单片机的结构,而后就是单片机的外围电路,综合看来,单片机的外围电路正常就是那几个部分:显示、输入、D/A、A/D、控制等,所以一般设计者都需要搭

6、建最基础的电路,包括单片机最小系统、基本的显示模块等。如果每次做电路的时候都要重复的做着这些事情,无疑会浪费设计者的时间,介于这方面的考虑,本设计做的就是一些基本的单片机外围模块,从而减少开发用户DIY的时间。另一方面,本开发板可以为单片机初学者提供一个很好的学习平台。单片机的初学者肯定要从最基础的做起,一步一步了解单片机,熟悉去各个方面的应用,如果仅是从理论上学习是远远不够的,必须联系实践,即实验来达到消化和巩固的目的。本设计中主要就是用了以下几个简单模块:单片机最小系统、液晶显示、DS1302等。本设计只是简易的开发板设计,对STC89C52芯片进行程序的烧写,使实时时钟显示。设计的时候也

7、考虑了用户很有可能不用上面的模块,需要自己扩展模块,所以在单片机的各个引脚边加了相应的插针,用于用户自己调配扩展模块。下面对本设计的各个方面做深入的介绍,可以作为简易开发板的说明书使用。一、单片机概述单片机也被称作“单片微型计算机”、“微控制器”、“嵌入式微控制器”。单片机一词最初是源于“Single Chip Microcomputer”,简称SCM。随着SCM在技术上、体系结构上不断扩展其控制功能,单片机已不能用“单片微型计算机”来表达其内涵。国际上逐渐采用“MCU”(Micro Controller Unit)来代替,形成了单片机界公认的、最终统一的名词。为了与国际接轨,以后应将中文“单

8、片机”一词和“MCU”唯一对应解释。在国内因为“单片机”一词已约定俗成,故而可继续沿用。1.1 单片机的发展历史如果将8位单片机的推出作为起点,那么单片机的发展历史大致可以分为以下几个阶段:第一阶段(19761978):单片机的探索阶段。以Intel公司的MCS-48为代表。MCS-48的推出是在工控领域的探索,参与这一探索的公司还有Motorola、Zilog等。都取得了满意的效果。这就是SCM的诞生年代,“单片机”一词即由此而来。第二阶段(19781982):单片机的完善阶段。Intel公司在MCS-48基础上推出了完善的、典型的单片机系列MCS-51。它在以下几个方面奠定了典型的通用总线

9、型单片机体系结构。1.完善的外部总线。MCS-51设置了经典的8位单片机的总线结构,包括8位数据总线、16位地址总线、控制总线及具有多机通信功能的串行通信接口。2.CPU外围功能单元的集中管理模式。3.体现工控特性的地址空间及位操作方式。4.指令系统趋于丰富和完善,并且增加了许多突出控制功能的指令。第三阶段(19821990):8位单片机的巩固发展及16位单片机的推出阶段,也是单片机向微控制器发展的阶段。Intel公司推出的MCS-96系列单片机,将一些用于测控系统的模数转换器、程序运行监视器、脉宽调制器等纳入片中,体现了单片机的微控制器特征。第四阶段(1990):微控制器的全面发展阶段。随着

10、单片机在各个领域全面、深入地发展和应用,出现了高速、大寻址范围、强运算能力的8位/16位/32位通用型单片机,以及小型廉价的专用型单片机。1.2 单片机的发展趋势目前,单片机正朝着高性能和多品种方向发展,今后单片机的发展趋势将是进一步向着CMOS化、低功耗化、低电压化、低噪声与高可靠性、大容量化、高性能化、小容量、低价格化、外围电路内装化和串行扩展技术。随着半导体集成工艺的不断发展,单片机的集成度将更高、体积将更小和功能将更强。1.3 单片机的特点单片机主要有如下特点:1.有优异的性能价格比。2.集成度高、体积小、有很高的可靠性。单片机把各功能部件集成在一块芯片上,内部采用总线结构,减少了各芯

11、片之间的连线,大大提高了单片机的可靠性和抗干扰能力。另外,其体积小,对于强磁场环境易于采取屏蔽措施,适合在恶劣环境下工作。3.制功能强。为了满足工业控制的要求,一般单片机的指令系统中均有极丰富的转移指令、I/O口的逻辑操作以及位处理功能。单片机的逻辑控制功能及运行速度均高于同一档次的微机。4.低功耗、低电压,便于生产便携式产品。5.外部总线增加了I2C(Inter-Integrated Circuit)及SPI(Serial Peripheral Interface)等串行总线方式,进一步缩小了体积,简化了结构。6.单片机的系统扩展和系统配置较典型、规范,容易构成各种规模的应用系统。1.4 单

12、片机的应用由于单片机具有显著的优点,它已成为科技领域的有力工具,人类生活的得力助手。它的应用遍及各个领域,主要表现在以下几个方面:1.单片机在智能仪表中的应用2.单片机在机电一体化中的应用3.单片机在实时控制中的应用4.单片机在分布式多机系统中的应用5.单片机在人类生活中的应用单片机已成为计算机发展和应用的一个重要方面,另一方面,单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在已能通过单片机来实现了。这种用软件代替硬件的控制技术也称为微控制技术,是对传统控制技术的一次革命。A:由单片机组成控制器的结构和特点: 单片

13、微型计算机是微型计算机发展中的一个重要分支,是把构成一台微型计算机的主要部件如中央处理器(CPU)、存储器(RAM/ROM)和各种功能I/O接口集成在一块芯片上的单芯片微型计算机(Single Chip Micro Computer),简称单片机.由于它的结构与指令功能都是按工业控制要求设计的,且近年来单片机着力扩展了各种控制功能如A/D、PWM等,因此我们更多时候称其为一个单片形态的微控制器(Single Chip Micro Controller),或直接称其为微控制器(Micro Controller)。B:用单片机组成的微机控制系统具有以下特点:1.受集成度限制,片内存储器容量较小,一

14、般片内ROM小于48K字节,片内RAM小于256字节;但可在外部进行扩展,如MCS51系列单片机的片外可擦可编程只读存储器(EPROM)、静态随机存储器(SRAM)可分别扩展至64K字节。2.可靠性高。单片机芯片本身是按工业控制环境要求设计的,其抗工业噪声的能力优于一般通用CPU;程序指令及其常数、表格固化在ROM中不易破坏;常用信号通道均在一个芯片内,故可靠性高。3.易扩展。片内具有计算机正常运行所必须的部件,芯片外部有许多供扩展用的总线及并行、串行输入/输出端口,很容易构成各种规模的微机控制系统。4.控制功能强。为了满足工业控制要求,单片机的指令系统中有极丰富的条件分支转移指令、I/O口的

15、逻辑操作以及位处理功能。一般来说,单片机的逻辑控制功能及运行速度均高于同一档次的微处理器。5.一般的单片机内无监控程序或系统管理软件,软件开发工作量大。但近年来已开始出现了片内固化有BASIC解释程序及FROTH操作系统的单片机,使单片机系统的开发提高了一个新水平。此外,单片机成本低、集成度高、控制功能多,可灵活地组装成各种智能控制装置,并能有针对性设计成专用系统,解决从简单到复杂的各种需要,实现最佳的性价比。特别是单片机与传统机械产品相结合,使原有机械产品的结构简化、控制智能化。如数控机床就是典型实例。近年来,单片机发展极快,其产量占微机产量的70%以上。目前,至少有50个系列400余种机型

16、,性能和结构各不相同,INTEL、MOTOROLA、ZILCG等公司都有系列单片微型计算机。国内普及的几乎都是INTEL公司的产品。1.5 单片机的串行接口MCS-51单片机内部有一个 全双工的串行接收和发射缓冲器(SBUFF),这两个在物理上独立的接收发射器,即可以接收也可以发射数据,但接收缓冲器只可以读出不能写入,而发送缓冲器只能写入不能读出,它们的地址是99H。这个通信口即可以用于网络通信,亦可以实现串行异步通信,还可以构成同步移位寄存器使用。如果在串行口的输入输出引脚上加上电平转换器,就可以方便的构成标准的RS-232接口。下面我们分别介绍。1.6 基本概念数据通信的传输方式:常用于数

17、据通信的传输方式有单工、半双工、全双工和多工方式。A 单工方式:数据仅按一个固定的方向传送。因为这种传输方式的用途有限,常用于串行口的打印数据传输与简单系统间的数据采集。B 双工方式:数据可以实现双向传送,但不能同时进行,实际的应用采用某种协议实现收发开关转换。C 全双工方式:允许双方同时进行数据双向传送,但一般全双工电路的线路和设备比较复杂。D 多工方式:以上三种传输方式都是同一线路传输一种频率信号,为了充分的利用线路资源,可通过使用多路复用器或多路集线器,采用频分、时分、或码分复用技术,即可实现在同一线路上资源共享功能,我们称之为多工传输方式。串行通信的两种通信形式A. 异步通信 在这种通

18、信方式中,接收器和发射器有各自的时钟,他们的工作是非同步的,异步通信用一帧来表示一个字符,其内容如下:一个起始位,紧接着是若干个数据位,图是传输45H的数据格式。B.同步通信 同步通信格式中,发送器和接收器由同一个时钟源控制,为了克服在异步传输中,每传输一帧字符都必须加上起始位和停止位,占用了传输时间,在要求传送的数据量较大的C. 串行数据通信的传输速率: 串行数据传输率有两个概念,既美秒传送的位数bps(Bit per second)和美秒符号数-波特率(Band rate),在具有调治解调器的通信中,波特率与调治速率有关。二、硬件设计1602液晶显示电路 晶振电路DS1302电路89C52

19、单片机总硬件方框图2.1 STC89C52单片机简介 STC89C52是台湾宏晶公司生产的低电压,高性能的CMOS8位单片机片内4Kbytes的可反复擦写的只读程序存储器(PEROM)和128bytes的随机存储器(RAM),器件采用STC公司的高密度、非易失存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大。STC89C52单片机可为你提供许多高性价的应用场合,可灵活的应用于各种控制领域。图1.1 单片机STC89C52主要性能参数:与MCS-51产品指令系统的全兼容 4k字节可重擦写Flash闪速存储器1000次可擦写周期全静态操作

20、:0Hz-24MHz三级加密程序存储器1288字节内部RAM 32个可编程I/O口线2个16位定时/计数器6个中断源可编程串行UART通道低功耗空闲和掉电模式 2.1.1 STC89C52功能特性描述STC89C52提供以下标准功能:4k字节Flash闪速存储器,128字节内部RAM,32个I/O口线,两个16位定时/计数器,一个5向量中断结构,一个全双工串行通信口,片内震荡器及时钟电路。同时,STC89C52可降至0Hz的静态逻辑操作,并支持两种软件的可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,窜行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但震荡器停

21、止工作并禁止所有部件工作直到下一个硬件复位。(1) STC89C52引脚功能说明:Vcc:电源电压GND:地P0口:PO口是一组8位漏极开路行双向I/O口,也既地址/数据总线复用口。可作为输出口使用时,每位可吸收电流的方式驱动8个TTL逻辑电路,对端口写“1”可作为高阻抗输入输入端用。在访问外部数据存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在Flash编程时,PO口接收指令字节,而在程序校验时,输出指令字节,校验时,要求接上拉电阻。P1口:P1口是一个内部上拉电阻的8位双向I/O口,P1的输入缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写

22、“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输出口。作输入口时,因为内部存在上拉电阻,某个引脚被外部信号拉低时输出一个电流(I)。Flash编程和程序校验期间,P1口接收8位地址。P2口:P2口是一个带有内部上拉电阻的8位双向I/O口,P2的输入缓冲极可以驱动(输入或输出电流)4个TTL逻辑门电路。对端口“1”,通过内部的上拉电阻把端口拉到高电平,此时和作为输出口,作输出口时,因为存在内部上拉电阻,某个引脚被外部信号拉低时会输出一个电流。在访问外部存储器或1位地址的外部数据存储器(例如执行MOVXDPTR指令)时,P2口送出高8位地址数据。在访问8位地址的外部数据存储器(如执行MOVX

23、RI指令)时,P2口线的内容(也既特殊功能寄存器(SFR)区中R2寄存器的内容),在整个访问期间不改变。Flash编程或校验时,P2亦接收高地址和其他控制信号。P3口:P3口是一组带有内部上拉电阻的8位双向I/O口,P1的输入缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输出端口。作输出端口时,被外部拉低的P3口将用上拉电阻输出电流。P3口除可作为一般的I/O口线外,更重要的用途是它的第二功能。 P3口还接收一些用于Flas 闪速存储器编程和程序校验的控制信号图1.2 STC89C52方框图RST:复位输出。当震荡器工作时,RST引脚出

24、现两个机器周期以上高电平使机器复位。 ALE/当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节,即使不访问外部字节,ALE仍时钟震荡频率的1/6输出固定的正脉冲信号,因此它可对外输出时钟脉冲或用于定时目的。要注意的是:每次访问外部存储器时将跳过一个ALE脉冲。对Flash存储器编程期间,该引脚还要输入编程脉冲()。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令可激活。此外,此引脚会被微弱拉高,单片机执行外部程序时,应该置ALE无效。:程序存入允许()输出的是外部程序存

25、储器的读选通信号,当表1.3 STC89C52端口STC89C52由外部程序取指令(或数据)时,每个机器周期两次有效,既输出两个脉冲。在此期间,当访问外部数据存储器,这两次有效的信号不出现。EA/VPP:外部访问允许。欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。要注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。Flash存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V的编程电压Vpp。XTAL1:震荡器反向放大器及内部时钟的输入端。XAAL2:震荡器反向放大器的输出端。时钟震荡器:STC89C5

26、2中有一个构成内部震荡器的高增益反向放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英或陶瓷震荡器一起构成自激震荡器震荡电路如图。外接石英晶体(或陶瓷震荡器)及电容C1、C2接在放大器的震荡回路中构成并联震荡电路。对外接电容C1、C2虽然没有非常严格的要求,但电容的大小会轻微影响震荡频率的高低、震荡工作的稳定性、起震的难易程序及温度稳定性,如果使用石英晶体,推荐使用30pF10pF,而如果使用陶瓷谐振器建议选择40pF10pF。用户还可以采用外部时钟,采用外部时钟如图所示。在这种情况下,外部时钟脉冲接到XTAL1端,既内部时钟发生器的输入端,X

27、TAL2悬空。 图1.4 内部震荡电路 图1.5 外部震荡电路表1.6 STC89C52寄存器寄存器内容寄存器内容PC0000HTMOD00HACC00HTCOM00HB00HTH000HPSW00HTLO00HSP07HTH100H0DPTR0000HTH100HP1P30FFHSCON00HIPxxx00000SBUF不定IE0xxx00000PCON0xxx00000由于外部时钟信号是通过一个2分频的触发器后作为内部时钟信号的所以外部 时钟的占空比没有特殊要求,但最小高电平持续的时间和最大低电平持续的时间应符合产品技术条件的要求。Flash闪速存储器的编程:STC89C52单片机内部有4

28、K字节的Flash PEROM,这个Flash存储存储阵列出厂时已处于擦除状态(既所有存储单元的内容均为FFH),用户随时可对其进行编程。程序接收高电压(+12V)或低电压(Vcc)的允许编程信号。低电压编程模式,适用与用户在线编程系统。而高电平模式可与通用EPROM编程程序兼容。编程方法:编程前需设置好地址、数据及控制信号,编程单元的地址就、加在P1口和P2口的P2.0P2.3(11位地址范围为0000H0FFFH),数据从P0口输入,引脚P2.6、P2.7和P3.6、P3.7的电平设置见表。PSEN为低电平,RST保持高电平,EA/Vp 引脚是编程电源的输入端,按要求加上编程电压,ALE/

29、PROG引脚输入编程脉冲(负脉冲)编程时可采用420MHz的时钟震荡器STC89C52的编程方法如下:1.0 在地址线上加上要编程单元的地址信号。1.在数据线上加上要写入的数据字节。2.激活相应的控制信号。3.在高电压编程时,将EA/Vpp端加上+1V编程电压。4.每对Flash存储阵列写入一个字节,加上一个ALE/PROG编程脉冲。(2) STC89C52控制信号RST/VPD(9脚)复位信号时钟电路工作后,在引脚上出现两个机器周期的高电平,芯片内部进行初始复位,复位后片内存储器的状态如表所示,P1P3口输出高电平,初始值07H写入堆栈指针SP、清0程序计数器PC和其余特殊功能寄存器,但始终

30、不影响片内RAM状态,只要该引脚保持高电平,89C52将循环复位,RAT/VPD从高电平到低电平单片机将从0号单元开始执行程序,另外该引脚还具有复用功能,只要将VPD接+5V备用电源,一旦Vcc电位突然降低或断电,能保护片内RAM中的信息不丢失,恢复电后能正常工作。STC89C52通常采用上电自动复位和开关手动复位,我们采用的是手动复位开关如图所示:图1.7 手动开关手动开关未按下之前,电容正极处于加电状态,当按键按下去后,VCC与GND导通,电容放电,从而实现放电。2.1.2 MCS-51的串行和控制寄存器串行口和控制寄存器MCS-51单片机串行口专用寄存器结构如图所示。SBUF为串行口的收

31、发缓冲器,它是一个可寻址的专用寄存器,其中包含了接收器和发射器寄存器,可以实现全双工通信。但这两个寄存器具有同一地址(99H)。MCS-51的串行数据传输很简单,只要向缓冲器写入数据就可发送数据。而从接收缓冲器读出数据既可接收数据。此外,接收缓冲器前还加上一级输入移位寄存器,MCS-51这种结构的目的在于接收数据时避免发生重叠现象,文献称这种结构为双缓冲结构。而发送数据就不需要这样设计,因为发送时,CPU是主动的,不可能出现这种情况。A:串行通信寄存器在上一节我们已经分析了SCON控制寄存器,它是一个可寻址的专用寄存器,用于串行数据通信的控制,单元地址是98H,其结构格式如下:表1.8 SCO

32、N寄存器结构表1 寄存器SCON结构SCOND7D6D5D4D3D2D1D0SM0SM1SM2RENTB8RB8TIRI位地址9FH9EH8DH9CH9BH9AH99H98H下面我们对个控制位功能介绍如下:(1)SM0、SM1:串行口工作方式控制位 SMO SM1 工作方式 功能说明 0 0 方式0 移位寄存器方式(用于I/O扩展) 0 1 方式1 8位UART,波特率可变(T1溢出率/ n) 1 0 方式2 9 位UART,波特率为fosc/64或fosc/321 1 方式3 9位UART,波特率可变(T1溢出率/ n)(2)SM2:多机通信控制位多机通信是工作方式2和方式3,SM2位主要用

33、于方式2和方式3。接收状态,当串行口工作方式2或3,以及SM2=1时,只有当接收到第9位数据(RB8)为1时,才把接收的前8位数据送入SBUF,且置位RI发出中断申请,否则会将收到的数据放弃。当SM2=0时,只有在接收到有效停止位时才启动RI,若没接收到有效停止位,则RI清“0”。在方式0中SM2应该为“0”。REN:允许接收控制位。由软件置“1”时,允许接收;软件置“0”时,不许接收。TB8:在方式3和方式3中要发送的第9位数据,需要时用软件置位和清零。TB8:在方式2和方式3中是接收到的第9位数据。在方式1时,如SM2=0,RB8接收到的停止位。在方式0中,不使用RB8。TI:发送中断标志

34、。由硬件在方式0发送完第8位时置“1”,或在其它方式中串行发送停止位的开始时置“1”。必须由软件清“0”。RI:接收中断标志。由硬件在方式0串行发射第8位结束时置“1”B:特殊功能寄存器PCONPCON:主要是是CHMOS型单片机的电源控制而设置的专用寄存器,单元地址为87H其机构格式如下表:表1.9 特殊功能寄存器PCON PCOND7D6D5D4D3D2D1D0位符号SMODGF1GF0PDIDL在CHMOS型单片机中,除SMOD位外其它位均为虚设的,SMOD是串行波特率倍增位,当SMOD=1时串行口波特率加倍,系统复位默认为SMOD=0。C:中断允许寄存器IE中断允许寄存器这里重述一下对

35、串行口有影响的位ES。ES为串行中断允许控制位,ES=1允许串行中断,ES=0,禁止串行中断。串行口工作方式串行口具有4种工作方式,我从应用和毕业设计的角度,重点讨论方式1发送。串行口定义为方式1时传送1帧数据为10位,其中1位起始地址、8位数据位(先低位后高位)、1位停止位方式1的波特率可变,波特率=(T1的溢出率)表2.0 中断允许寄存器符号EAESET1EX1ETOEX0位地址AFHAEHADHACHABHAAHA8HA8H2.2 显示模块显示模块分为数码管显示和液晶显示,设计中所用的是1602液晶。具体硬件连接图如下:LCD1602介绍:1602型LCD显示模块具有体积小,功耗低,显容

36、丰富等特点。 1602型LCD可以显示2行16个字符,有8位数据总线D0D7和RS,R/W,EN三个控制端口,工作电压为5V,并且具有字符对比度调节和背光功能。1. 外型尺寸:80X36X13(LXWXH)2.接口信号说明1602型LCD的接口信号说明如表1-11所示.编号符号引脚说明编号符号引脚说明1VSS电源地9D2Data I/O2VDD电源正极10D3Data I/O3VL液晶显示偏压信号11D4Data I/O4RS数据/命令选择端(H/L)12D5Data I/O5R/W读写选择端(H/L)13D6Data I/O6E使能信号14D7Data I/O7D0Data I/O15BLA

37、背光源正极8D1Data I/O16BLK背光源负极3.主要技术参数1602型LCD的主要技术参数如下:显示容量16X2个字符芯片工作电压4.55.5V工作电流2.0mA(5.0V)模块最佳工作电压5.0V字符尺寸2.95X4.35(WXH)mm4基本操作程序读状态:输入:RS=L,RW=H,E=H输出:D0D7=状态字读数据:输入:RS=H,RW=H,E=H输出:无写指令:输入:RS=L,RW=L,D0D7=指令码,E=高脉冲 输出:D0D7=数据写数据:输入:RS=H,RW=L,D0D7=数据,E=高脉冲 输出:无5RAM地址映射图控制器内部带有80字节的RAM缓冲区,对应关系如图11-3

38、所示LCD16字X2行000102030405060708090A0B0C0D0E0F10。27404142434445464748494A4B4C4D4E4F50。67 图11-3对应关系6状态字说明STA7D7STA6D6STA5D5STA4D4STA3D3STA2D2STA1D1STA0D0STA0STA6当前地址指针的数值STA7读写操作使能1:禁止;0:允许注意 每次对控制器进行读写操作之前,都必须进行读写检测,确保STA7为0。7数据指针设置控制器内部设有一个数据地址指针,用户可以通过它们访问内部的全部80字的RAM。指令码功能80H+地址码(027H,4067H)设置数据地址指针

39、8其它设置指令码功能01H显示清屏:1.数据指针清0 2.所有显示清002H显示回车:数据指针清09.初始化设置(1) 显示模式设置指令码功能00111000设置16X2显示,5X7点阵,8位数据接口显示开/关及光标设置指令码功能00001DCBD=1开显示;D=0关显示C=1显示光标;C=0不显示光标B=1光标闪烁;B=0光标不显示000001NSN=1当读或写一个字符后地址指针加1,且光标加1N=0当读或写一个字符后的地址指针减1,且光标减1S=1 当写一个字符,整屏显示左移(N=1)或右移(N=0),以得到光标不移动而屏幕移动的效果S=0当写一个字符,整屏显示不移动-2.3 DS1302

40、的结构及工作原理DS1302 是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个318的用于临时性存放数据的RAM寄存器。DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后背电源双电源引脚,同时提供了对后背电源进行涓细电流充电的能力。DS1302的引脚图1. 引脚功能及结构 X1,X232768Hz晶振引脚端;RST复位端;I/O数据输入/输出端

41、;SCLK串行时钟端;GND地; VCC2,VCC1主电源与后备电源引脚端。DS1302的引脚排列,其中Vcc1为后备电源,VCC2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由Vcc1或Vcc2两者中的较大者供电。当Vcc2大于Vcc10.2V时,Vcc2给DS1302供电。当Vcc2小于Vcc1时,DS1302由Vcc1供电。X1和X2是振荡源,外接32.768kHz晶振。RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传

42、送手段。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。上电运行时,在Vcc2.5V之前,RST必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。I/O为串行数据输入输出端(双向),后面有详细说明。SCLK始终是输入端。2. DS1302的控制字节控制字节的最高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入DS1302中,位6如果为0,则表示存取日历时钟数据,为1表示存取RAM数据;位5至位1指示操作单元的地址;最低有效位(位0)如为0表示要进行写操作,为1表示进行读

43、操作,控制字节总是从最低位开始输出。 3. 数据输入输出(I/O) 在控制指令字输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302,数据输入从低位即位0开始。同样,在紧跟8位的控制指令字后的下一个SCLK脉冲的下降沿读出DS1302的数据,读出数据时从低位0位到高位7。 4 .DS1302的寄存器 DS1302有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式,其日历、时间寄存器及其控制字。此外,DS1302 还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关的寄存器等。时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器内容。 DS1

44、302与RAM相关的寄存器分为两类:一类是单个RAM单元,共31个,每个单元组态为一个8位的字节,其命令控制字为C0HFDH,其中奇数为读操作,偶数为写操作;另一类为突发方式下的RAM寄存器,此方式下可一次性读写所有的RAM的31个字节,命令控制字为FEH(写)、FFH(读)。三、软件设计3.1 设计方法本设计主要是从硬件方面出发,扩展单片机的各种外围电路开发而成的,软件则一般是用户根据自己的需求来编写,本设计板上所用的芯片基本上都是数字芯片,所以只需要根据相应芯片datasheet中的操作时序来编写程序就可以了。第一步:明确所设计的项目,以及所要实现的功能。第二步:熟悉所要操作硬件的datasheet, 看懂其时序操作图。第三步:选择自己编写语言的种类和适当的软件。第四步:整理编写程序的思路并画出程序流程图。第五步:根据程序流程图具体的编写程序,编译。第六步:调试,结束。3.2 设计实例这里以本开发板中的实时时钟为例,让用户熟悉下软件设计的步骤。第一步:明确这里要设计一个实时时钟的程序。第二步:熟悉单片机的硬件结构,搞懂芯片datasheet的操作时序。主要掌握以下几个方面:1 主要技术参数2 接口信号说明3 控制器接口说明4 典型电路连接5 读写操作时序图以及时序参数(如1602的读写操作时序图:)读写操作时序图第三步:这里用C语言编写程序,用ke

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号