毕业论文----基于单片机教室忙闲显示系统的毕业设计毕业论文_第1页
毕业论文----基于单片机教室忙闲显示系统的毕业设计毕业论文_第2页
毕业论文----基于单片机教室忙闲显示系统的毕业设计毕业论文_第3页
毕业论文----基于单片机教室忙闲显示系统的毕业设计毕业论文_第4页
毕业论文----基于单片机教室忙闲显示系统的毕业设计毕业论文_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

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

文档简介

吉 林 农 业 大 学 本 科 毕 业 设 计 论文题目 : 综合楼教室忙闲显示系统 学生姓名: 专业年级: 电 子信息科学与技术 指导教师: 职称 讲师 2008 年 6 月 3 日 I 目 录 题目 . 错误 !未定义书签。 摘要 . I 1 前言 . 1 1.1 题目的来源与开发意义 . 1 1.2 系统功能概述 . 1 2 方案的提出及论证 . 1 3 系统硬件设计 . 2 3.1 系 统硬件总体设计概述 . 2 3.2 系统各个模块的设计 . 3 3.2.1 教室状态显示模块 . 3 3.2.2 时间显示模块 . 3 3.2.3 按键模块 . 4 3.3 芯片介绍 . 4 3.3.1 AT89C51 单片机的简介 . 4 3.3.2 DS1302 时钟 . 9 3.3.3 8 位串入 /并出移位寄存器 74HC164 . 13 4 系统软件设计 . 14 4.1 系统软件总体设计思想 . 14 4.2 Keil 开发软件的介绍 . 14 4.2.1 Keil 软件开发的流程 . 15 4.2.2 Keil 软件的使用 . 16 4.3 各功能模块程序设计 . 18 4.3.1 数据模块 . 18 4.3.2 时钟模块 . 21 4.3.3 功能模块 . 25 5 系统调试 . 32 5.1 硬件 电路调试 . 32 5.2 各功能模块软件调试 . 32 6 结论 . 32 参考文献 . 33 致谢 . 33 附录一 : 系统总体硬件原理图 . 34 附录二: 系统程序流程图 . 35 附录三:系统程序 . 38 吉林农业大学本科毕业设计 I 综合楼 教室忙闲状态显示系统 学 生: 左 晨 专 业: 电子信息科学与技术 指导教师: 宫鹤 摘 要 :本设计实现了综合楼教室忙闲状态显示的功能。综合楼教室忙闲显示系统是建立在单片机的基础上的电子监控系统,它主要是用来 查询和显示综合楼各个教室在某一时间段的忙闲状态,显示当前年月日等等。信息存储调用系统是综合楼教室忙闲状态显示系统中非常重要的一部分,而时钟又是时间系统必不可少的。本设计就是以信息存储调用系统和时钟系统作为研究对象,主要介绍了信息存储的基本概念,时钟设置和编程的基本步骤等等,信息存储系统是在 C+环境下进行串行通信编程的。我们这次研究的信息存储系统是为了实现综合楼各个教室信息的存储,数据的调用。通过写入程序来实现存储和调出查询功能,存储系统和时间系统紧密结合,把从存储调出的数据经过对比分析,最后显示出 所需要的 数据,可以实现对数据库的更新。另外,数据还包括对时间的 查询。通过时间的查询获得相应时间教室的状态信息。存储系统和时钟系统的有效结合,使系统工作更加准确。 关键词 : 存储系统; 单片机 ; C+;时钟系统 Comprehensive Building Blassroom Busy Idle Condition Display System Name: ZuoChen Major: Electronic information science and technology Tutor: GongHe Abstract: This design has realized the synthesis building classroom busy idle condition demonstration function. The comprehensive building classroom busy idle display systems are the establishment in SCMs foundation electron supervisory system, it is mainly uses for to inquire and demonstration synthesis building each classroom in some time section busy idle condition, demonstration current year, month and day and so on. The information storage transfer system synthesizes in the building classroom busy idle condition display system a very important part, but the clock is also the time system is essential. This design is takes the object of study by the information storage transfer system and the clock system, mainly introduced information storages basic concept, clock establishment and programming basic step and so on, the information storage systems are carry on the serial communication programming under the C+ environment. Our researchs information storage system is to realize the synthesis building each classroom information memory, the data transfer. Through reads in the procedure to realize saves and assigns out the inquiry function, the memory system and the time system unifies closely, data which assigns out from the memory after contrastive analysis, finally demonstrated needs the data, may realize to the database renewal. 吉林农业大学本科毕业设计 II Moreover, the data also includes to the time inquiry. Obtains the corresponding time classroom the pass time passage period inquiry the status messages. The memory system and clock systems effective union, causes the system work to be more accurate. Keywords: memory system; SCM; C+; clock system 吉林农业大学本科毕业设计 1 1 前言 1.1 题目的来源与开发意义 自 20 世纪 90 年代以来,单片机已进入了一个高速发展的阶段,世界上著名的半导体厂商都注重新型单片机的研制、生产和推广。单片机的应用已经深入到国民经济的各个领域中,由单片机控制的微型电脑产品比比皆是。单片机正朝着面向多层次用户的多品种多规格方向发展。 随着 电子技术的发展 , 现在的忙闲显示系统功能越来越强 , 可靠性和准确性的要求也越来越高。以前的忙闲显示系统大部分都是基于数字电路组成的,其功能比较单一,使用起来也不够理想,制作过程复杂 , 而且准确性与可靠性不高 , 成品面积大 , 安装 , 维护困难。由于近年来单片机发展迅速 , 逐渐出现用单片机制作忙闲显示系统 , 制作过程简单 , 而且安装 , 维护简单。 综合楼 教室空闲状态显示系统主要是由存储系统、时钟系统和显示系统三部分组成。本次毕业设计,我主要研究的是存储系统和显示系统两部分。它的主要功能是将预先输入的信息数据通过 对应时间调用方式将信息通过二级管亮灭状态显示出来,并能对数据库进行及时的更新。教室忙闲显示系统的开发工具 KEIL。 1.2 系统功能概述 本设计以单片机 AT89C51 为核心,通过一片 AT89C51 单片机控制综合楼各个教室在某一时间忙闲状态的显示及键盘和各显示终端。利用 74164 使本系统具有了显示查询时间和北京时间以及年月日的功能,并且能够设置和查询特定的时间。 在实际的学习生活中,如果应用到此系统,必然要考虑到它的实用性,所以本设计采用并排显示, 它主要功能是显示和查询在某一个特定的时间里,从存储系统中 调出相应时间段所对应的综合楼各个教室当前空闲或繁忙的状态,通过发光二极管的亮、灭状态来显示。 可以直观的看到每一层楼各个教室在当前时间的忙闲状态,还有年月日时间的显示,大大方便了同学查询。 简单、实用、廉价是本设计的创新之处,可以轻松的实现对综合楼各个教室忙闲状态的显示和查询的功能。 2 方案的提出及论证 方案一: 系统采用 点阵 做显示, 显示年月日时间。 用 LS273 做锁存器 , DS1302 时钟 I2C 总线模式, 24CXX 系列做存储,利用单片机进行连接。 经过多次试验尝试,均不能成功。且系统成本较高,时间反应速度缓慢, 不能实现预期的效果。因此放弃了本方案。 方案二: 系统软件处理部分采用 AT89C51 芯片,用 DS1302 建立时钟电路, 利用主控单片吉林农业大学本科毕业设计 2 机的两个 I/O 口作为新的串行口,利用 74164 做的静态显示模块,使本系统具有了显示回答时间和北京时间的功能,考虑到实际的应用,利用 2 个大数码管显示层数,方便同学查询。 设置 S1, S2, S3 按键 图 2.1方案二原理框图 Fig 2.1 Project two principle frame diagram 3 系统硬件设计 3.1 系统硬件总体设计 概述 综合楼教室忙闲状态显示系统就是用来准确的实时的显示出当前在综合楼里面每一个教室的状态,以及查询各个时间段教室空闲状态。 本着这个原则,可以利用单片机控制其工作,将楼层信息教室状态显示出来 为了使系统更人性化,功能更加完善,同学可以按照自己的需求进行查询某一个教室在某一个时间里是否有课。为了使同学能够清楚的看到查询的信息,利用数码管进行动态显示。 本设计的硬件系统分为 七 个模块:处理 模块 ,时钟 模块 ,晶振 模块 , 按键 模块 ,复位 模块 , 时间显示模块,教室状态显示模块。 年月显示 查询 北京时间 P3 P1 8 0 5 1 P2 P0 教室显示 时钟 数码管 吉林农业大学本科毕业设计 3 3.2 系统各个模块的设计 3.2.1 教室 状态显示模块 教室状态显示模块中有一层教学楼的 40 个教室所一一对应的发光二极管,其显示方式为亮、灭两种,状态亮为教室有课,状态灭为教室没有课。 本功能模块的设计采用一起显示 单独 查询的方式, 具有显示当前时刻教室状态的功能。译码器输出驱动数码管显示。电源范围为 318 伏,本设计采用 5V 电源输出驱动电流可达到 10MA 以上,可直接驱动 LED 数码管,而不需要其他的接口电路。 1其电路图如 3.1 所示。 图 3.1教室状态模块电路图 Fig 3.1 Classroom condition module circuit diagram 3.2.2 时间显示模块 在同学没有查询的时候,系统显示当前年月日时间和楼层数,在同学进行时间查询的时候显示查询时间。 此显示模块是采用动态显示。由 P2.0 和 P2.1 口进行串行送数据,经过串并转换器74LS164 并行输出数据。 2采用串行输出可以大大节省单片机的内部资源,串并转换器采用 74LS164,低电平时允许通过 8MA 的电流,无需添加其他的驱动电路,采用较小的驱动电流就可以得到较高的显示亮度,其电路图如图 3.2 所示。 图 3.2时间显示模块的电路图 吉林农业大学本科毕业设计 4 Fig 3.2 Time the circuit module 3.2.3 按键模块 按键模块连接到 P2 口,通过软件来判断哪个按键执行哪个功能,是否按下。通过按键可以调整时间,达到查询时间的作用。电路如图 3.3 所示。 图 3.3按键 模块电路图 Fig 3.3 Key module circuit diagram 3.3 芯片介绍 3.3.1 AT89C51 单片机的简介 AT89C51是一种带 4K字节闪烁可编程可擦除只读存储器( FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,高性能 CMOS8位微处理器,俗称单片机。 AT89C51是一种带 4K字节闪烁可编程可擦除只读存储器的单片机。 3单片机的可擦除只读存储器可以反复擦除 100次。该器件采用 ATMEL高密度非易失存储器制造技术制造,与工业标准的 MCS-51指令集和输出管脚相兼容。由于将多功能 8位 CPU和闪烁存储器组合在单个芯片中, ATMEL的 AT89C51是一种高效微控制器, AT89C2051是它的一种精简版本。 AT89C51单片机为很多嵌入式控制系统提供了 一种灵活性高且价廉的方案 主要特性: 与 MCS-51 兼容 4K 字节可编程闪烁存储器 ,寿命: 1000 写 /擦循环,数据保留时间: 10 年 全静态工作: 0Hz-24Hz 三级程序存储器锁定 128*8 位内部 RAM 32 可编程 I/O 线 两个 16 位定时器 /计数器 5 个中断源 可编程串行通道 吉林农业大学本科毕业设计 5 低功耗的闲置和掉电模式 片内振荡器和时钟电路 管脚说明 : VCC:供电电压。 GND:接地。 P0 口: P0 口为一个 8 位漏极开路双向 I/O 口,每脚可吸收 8TTL 门电流。当 P1 口的管脚第一次写 1 时,被定义为高阻输入。 P0 能够用于外部程序数据存储器,它可以被定义为数据 /地址的第八位。在 FIASH 编程时, P0 口作为原码输入口,当 FIASH 进行校验时, P0 输出原码,此时 P0 外部必须被拉高。 5 P1 口: P1 口是一个内部提供上拉电阻的 8 位双向 I/O 口, P1 口缓冲器能接收输出4TTL 门电流。 P1 口管脚写入 1 后,被内部上拉为高,可用作输入, P1 口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在 FLASH 编程和校验时, P1 口作为第八位地址接收 6。 P2 口: P2 口为一 个内部上拉电阻的 8 位双向 I/O 口, P2 口缓冲器可接收,输出 4个 TTL 门电流,当 P2 口被写 “1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时, P2 口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。 P2口当用于外部程序存储器或 16 位地址外部数据存储器进行存取时, P2 口输出地址的高八位。在给出地址 “1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时, P2 口输出其特殊功能寄存器的内容。 P2 口在 FLASH 编程和校验时接收高八位地址信号和控制信号 7。 P3 口: P3 口管脚 是 8 个带内部上拉电阻的双向 I/O 口,可接收输出 4 个 TTL 门电流。当 P3 口写入 “1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平, P3 口将输出电流( ILL)这是由于上拉的缘故 6。 P3 口也可作为 AT89C51 的一些特殊功能口,如下表所示: 口管脚 备选功能 P3.0 RXD (串行输入口) P3.1 TXD (串行输出口) P3.2 /INT0 (外部中断 0) P3.3 /INT1(外部中断 1) P3.4 T0 (记时器 0 外部输入) P3.5 T1 ( 记时器 1 外部输入) P3.6 /WR (外部数据存储器写选通) P3.7 /RD (外部数据存储器读选通) P3 口同时为闪烁编程和编程校验接收一些控制信号。 RST:复位输入。当振荡器复位器件时,要保持 RST 脚两个机器周期的高电平时间。 吉林农业大学本科毕业设计 6 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在 FLASH 编程期间,此引脚用于输入编程脉冲。在平时, ALE 端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的 1/6。因此它可用作对外部输出的脉冲或用于定时目的。然 而要注意的是:每当用作外部数据存储器时,将跳过一个 ALE 脉冲。如想禁止 ALE 的输出可在 SFR8EH 地址上置 0。此时, ALE 只有在执行 MOVX, MOVC指令是 ALE 才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态 ALE禁止,置位无效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次 /PSEN 有效。但在访问外部数据存储器时,这两次有效的 /PSEN 信号将不出现。 /EA/VPP:当 /EA 保持低电平时,则在此期间外部程序存储器( 0000H-FFFFH),不管是否有内部程序存储器。注意加密方式 1 时, /EA 将内部锁定为 RESET;当 /EA 端保持高电平时,此间内部程序存储器。在 FLASH 编程期间,此引脚也用于施加 12V 编程电源( VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 定时器 0和 1的操作 7 定时和计数功能由特殊功能寄存器 TMOD的控制位 C/T进行选择。这两个定时 /计数器有 4种操作模式,通过 TMOD的 M1和 M0选择。两个定时 /计数器的模式 0、 1和 2都相同,模式 3不同。如下所 述: 模式 0 将定时器设置成模式 0时类似 8048定时器,即 8位计数器带 32分频的预分频器。 此模式下,定时器寄存器配置为 13位寄存器。当计数从全为 “1”翻转为全为 “0”时,定时器中断标志位 TFn置位。当 TRn=1同时 GATE=0或 INTn=1时定时器计数。置位 GATE时允许由外部输入 INTn控制定时器,这样可实现脉宽测量。 TRn为 TCON寄存器内的控制位。 该 13位寄存器包含 THn全部 8个位及 TLn的低 5位。 TLn的高 3位不定,可将其忽略。置位运行标志( TRn)不能清零此寄存器。模式 0的操作对于定时器 0及定 时器 1都是相同的。两个不同的 GATE位( TMOD.7和 TMOD.3)分别分配给定时器 0及定时器 1。 模式 1 模式 1除了使用了 THn及 TLn全部 16位外,其它与模式 0相同。 模式 2 此模式下定时器寄存器作为可自动重装的 8位计数器( TLn)。 TLn的溢出不仅置位TFn,而且将 THn内容重新装入 TLn, THn内容由软件预置。重装时 THn内容不变。模式2的操作对于定时器 0及定时器 1是相同的。 模式 3 在模式 3中,定时器 1停止计数,效果与将 TR1设置为 0相同。 吉林农业大学本科毕业设计 7 此模式下定时器 0的 TL0及 TH0作为两个独立的 8位计数器 。 TL0占用定时器 0的控制位: C/T, GATE, TR0, INT0及 TF0。 TH0限定为定时器功能(计数器周期),占用定时器 1的 TR1及 TF1。此时 TH0控制 “定时器 1”中断。 模式 3可用于需要一个额外的 8位定时器的场合。定时器 0工作于模式 3时, 80C51看似有 3个定时器 /计数器,当定时器 0工作于模式 3时,定时器 1可通过开关进入 /退出模式 3,它仍可用作串行端口的波特率发生器,或者应用于任何不要求中断的场合。 串行口 8 51单片机内部有一个全双工的串行通信口,即串行接收和发送缓冲器( SBUF),这两个在物理 上独立的接收发送器,既可以接收数据也可以发送数据。但接收缓冲器只能读出不能写入,而发送缓冲器则只能写入不能读出,它们的地址为 99H。这个通信口既可以用于网络通信,亦可实现串行异步通信,还可以构成同步移位寄存器使用。如果在传行口的输入输出引脚上加上电平转换器,就可方便地构成标准的 RS-232接口 串行数据通信两种形式 异步通信 在这种通信方式中,接收器和发送器有各自的时钟,它们的工作是非同步的,异步通信用一帧来表示一个字符,其内容如下:一个起始位,仅接着是若干个数据位。 同步通信格式中, 发送器和接收器由同一个时钟源控制,为了克服在异步通信中,每传输一帧字符都必须加上起始位和停止位,占用了传输时间,在要求传送数据量较大的场合,速度就慢得多。同步传输方式去掉了这些起始位和停止位,只在传输数据块时先送出一个同步头(字符)标志即可。 同步传输方式比异步传输方式速度快,这是它的优势。但同步传输方式也有其缺点,即它必须要用一个时钟来协调收发器的工作,所以它的设备也较复杂。 串行数据通信的传输速率 串行数据传输速率有两个概念,即每秒转送的位数 bps( Bit per second) 和每秒符号数 波特率( Band rate),在具有调制解调器的通信中,波特率与调制速率有关。 9 串行口和控制寄存器 单片机串行口寄存器结构如图 3.5所示。 SBUF为串行口的收发缓冲器,它是一个可寻址的专用寄存器,其中包含了接收器和发送器寄存器,可以实现全双工通信。但这两个寄存器具有同一地址( 99H)。 10MCS-51的串行数据传输很简单,只要向发送缓冲器写入数据即可发送数据。而从接收缓冲器读出数据即可接收数据。 移位时钟 TI 发送中断 TXD 串行输出 接受 SBUF 输入移位寄存器 RXD 串行输入 RI 接受中断 发送 SBUF 系统总线 吉林农业大学本科毕业设计 8 图 3.5 串行口寄存器结构图 Fig 3.5 The string goes to deposit machine knot composition 串行口控制寄存器 : SCON控制寄存器,它是一个可寻址的专用寄存器,用于串行数据的通信控制,单元地址是 98H,其结构格式如表 3.1所示 . 表 3.1 SCON寄存器结构 Table 3.1 The SCON deposits machine structure SCON 寄存器结构 SCON D7 D6 D5 D4 D3 D2 D1 D0 SM0 SM1 SM2 REN TB8 RB8 TI RI 位地址 9FH 9EH 8DH 9CH 9BH 9AH 99H 98H SM0、 SM1:串行口工作方式控制位。 SM0, SM1 工作方式 00 方式 0 01 方式 1 10 方式 2 11 方式 3 SM2:多机通信控制位。 多机通信是工作于方式 2和方式 3, SM2位主要用于方式 2和方式 3。接收状态,当串行口工作于方式 2或 3,以及 SM2=1时,只有当 接收到第 9位数据( RB8)为 1时,才把接收到的前 8位数据送入 SBUF,且置位 RI发出中断申请,否则会将接受到的数据放弃。 11当 SM2=0时,就不管第位数据是 0还是 1,都难得数据送入 SBUF,并发出中断申请。 工作于方式 0时, SM2必须为 0。 REN:允许接收位。 REN用于控制数据接收的允许和禁止, REN=1时,允许接收, REN=0时,禁止接收。 TB8:发送接收数据位 8。 在方式 2和方式 3中, TB8是要发送的 即第 9位数据位。在多机通信中同样亦要传输这一位,并且它代表传输的地址还是数据, TB8=0为数据, TB8=1时为地址。 RB8:接收数据位 8。 在方式 2和方式 3中, RB8存放接收到的第 9位数据,用以识别接收到的数据特征。 TI:发送中断标志位。 吉林农业大学本科毕业设计 9 可寻址标志位。方式 0时,发送完第 8位数据后,由硬件置位,其它方式下,在发送或停止位之前由硬件置位,因此, TI=1表示帧发送结束, TI可由软件清 “0”。 RI:接收中断标志位。 可寻址标志位。接收完第 8位数据后,该位由硬件置位,在其他工作方 式下,该位由硬件置位, RI=1表示帧接收完成。 电源管理寄存器 PCON PCON主要是为 CHMOS型单片机的电源控制而设置的专用寄存器,单元地址是87H,其结构格式如表 3.2所示。 表 3.2PCON电源管理寄存器结构 Table 3.2 The PCON power supply management deposits machine structure PCON 电源管理寄存器结构 PCON D7 D6 D5 D4 D3 D2 D1 D0 位符号 SMOD - - - GF1 GF0 PD IDL 在 CHMOS 型单片机中,除 SMOD 位外,其他位均为虚设的, SMOD 是串行口波特率倍增位,当 SMOD=1 时,串行口波特率加倍。系统复位默认为 SMOD=0。 3.3.2 DS1302 时钟 DS1302 是美国 DALLAS 公司推出的一种高性能、低功耗、带 RAM 的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为 2.5V 5.5V。采用三线接口与 CPU 进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或 RAM 数据。 DS1302 内部有一 个 318 的用于临时性存放数据的 RAM寄存器。 DS1302 是 DS1202 的升级产品,与 DS1202 兼容,但增加了主电源 /后背电源双电源引脚,同时提供了对后背电源进行涓细电流充电的能力。 12 DS1302 的引脚排列 ,其中 Vcc1 为后备电源, VCC2 为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。 DS1302 由 Vcc1 或 Vcc2 两者中的较大者供电。当 Vcc2 大于 Vcc1 0.2V 时, Vcc2 给 DS1302 供电。当 Vcc2 小于 Vcc1 时, DS1302 由 Vcc1 供电。X1 和 X2 是振荡源,外接 32.768kHz 晶振。 RST 是复位 /片选线,通过把 RST 输入驱动置高电平来启动所有的数据传送。 RST 输入有两种功能:首先, RST 接通控制逻辑,允许地址 /命令序列送入移位寄存器;其次, RST 提供终止单字节或多字节数据的传送手段。当 RST 为高电平时,所有的数据传送被初始化,允许对 DS1302 进行操作。如果在传送过程中 RST 置为低电平,则会终止此次数据传送, I/O 引脚变为高阻态。上电运行时,在 Vcc2.5V 之前, RST 必须保持低电平。只有在 SCLK 为低电平时,才能将RST 置为高电平。 I/O 为串行数据输入输出端 (双向 ),后 面有详细说明。 SCLK 始终是输入端。 DS1302 的控制字如图 2 所示。控制字节的最高有效位 (位 7)必须是逻辑 1,如果它为 0,则不能把数据写入 DS1302 中,位 6 如果为 0,则表示存取日历时钟数据,为 1吉林农业大学本科毕业设计 10 表示存取 RAM 数据 ;位 5 至位 1 指示操作单元的地址 ;最低有效位 (位 0)如为 0 表示要进行写操作,为 1 表示进行读操作,控制字节总是从最低位开始输出。 在控制指令字输入后的下一个 SCLK 时钟的上升沿时,数据被写入 DS1302,数据输入从低位即位 0 开始。同样,在紧跟 8 位的控制指令字后的下一个 SCLK 脉冲 的下降沿读出 DS1302 的数据,读出数据时从低位 0 位到高位 7。 DS1302 有 12 个寄存器,其中有 7 个寄存器与日历、时钟相关,存放的数据位为BCD 码形式 ,其日历、时间寄存器及其控制字。此外, DS1302 还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与 RAM 相关的寄存器等。时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器内容。 DS1302 与 RAM 相关的寄存器分为两类:一类是单个 RAM 单元,共 31 个,每个单元组态为一个 8 位的字节,其命令控制字为 C0H FDH,其中奇数为读操作,偶数为写操作 ;另一类为突发方式下的 RAM寄存器,此方式下可一次性读写所有的 RAM 的 31 个字节,命令控制字为 FEH(写 )、FFH(读 )。 时钟是单片机系统中不可或缺的。时钟可以通过软件实现 ,当时钟只是系统的辅助功能时 ,用大量的软件来实现时钟功能 ,会影响主要功能的实现或使软件复杂化。本文介绍串行实时时钟芯片 DS1302,采用该芯片 ,单片机只需定时读出芯片的时钟 ,其余时间可作别的工作。 DS1302 的实时时钟包括秒、分、小时、日、月、星期、年等信息 ,与单片机采用串行通信。时钟可选 24 小时制或 12 小时制 ,可自动调整闰年及 月份、日期。读写命令字节的格式及读写操作方式如图 1。最高位为 “1”,允许写操作 ,为 “0”,禁止写操作。RAM/CK 为 “0”,表示读写时钟 /日历数据 ,为 “1”,表示读写 RAM 数据。 A4A0 为数据读写的地址。 R/W 为 “0”,表示可进行写操作 ,为 “1”则进行读操作。单字节操作需 16 个时钟 ,前 8 个时钟写命令字 ,后 8 个时钟读写数据。多字节突发模式读写 ,其命令字的地址A4A3A2A1A0=11111 即可。其命令字的格式及操作方式如图 2。 DS1302 的时钟 /日历数据格式为 BCD 码 ,秒、分、小时、日、月、星期、年的地址分 别为 00H、 01H、 02H、03H、 04H、 05H、 06H。写保护寄存器的地址 A4A3A2A1A0=00111,格式如图 3。 WP 为“0”,可对时钟或 RAM 进行写操作。 WP 为 “1”,禁止写任何寄存器。 LED 数码显示用MC14499 四位七段译码驱动器 ,输入为 BCD 码 ,译码输出直接驱动 LED 的各段。当使能信号 EN 为 “0”时 ,在时钟 CLK 的作用下 ,串行数据输入端接收 20 位串行数据 ,然后使 EN为 “1”,将移位寄存器中的内容装入锁存器。其数据格式如图 4。前 4 位数据为小数点 ,后16 位是 4 位数码显示器显示的数据。 MC14499 级联使用时 ,小数点显示无效 ,小数点代码锁存器需装入全 “1”。单片机选用 Microchip 公司的 PIC16C63A,电路如图 5。本例中只显示年、月、日、小时、分、秒等 ,不显示星期 ,但对 DS1302 的读、写采用突发模式。为了保证读、写时地址的连续性 ,在操作中设有星期的读、写。程序中小数点位用 “1111”填充 ,先输入的第一字节是秒的 BCD 码 ,第二字节是分的 BCD 码 ,第三字节的低四位是小数点填充位 “1111”,第三字节的高四位及第四字节的低四位是小时的 BCD 码 ,依此类推 ,显示年、月、日、小时、分、秒需输入 8 字节 数据 ,PIC16C63A 发送了 88=64 位数据 ,吉林农业大学本科毕业设计 11 三片 MC14499 实际接收 60 位 ,第八字节的高四位 “1111”被移出 ,实现了 MC14499 的级联。 DS1302 数据的读取采用中断方式 ,0.1 秒读取 1 次数据。时间 /日历的显示每变化 0.05秒显示 1 次。 实际上,在调试程序时可以不加电容器,只加一个 32.768kHz 的晶振即可。只是选择晶振时,不同的晶振,误差也较大。另外,还可以在上面的电路中加入 DS18B20,同时显示实时温度。只要占用 CPU 一个口线即可。 LCD 还可以换成 LED,还可以使用北京卫信杰科技发展 有限公司生产的 10 位多功能 8 段液晶显示模块 LCM101,内含看门狗 (WDT)/时钟发生器及两种频率的蜂鸣器驱动电路,并有内置显示 RAM,可显示任意字段笔划,具有 3 4 线串行接口,可与任何单片机、 IC 接口。功耗低,显示状态时电流为 2A (典型值 ),省电模式时小于 1A,工作电压为 2.4V 3.3V,显示清晰。 DS1302 与微处理器进行数据交换时,首先由微处理器向电路发送命令字节,命令字节最高位 MSB(D7)必须为逻辑 1,如果 D7=0,则禁止写 DS1302,即写保护; D6=0,指定时钟数据, D6=1,指定 RAM 数据; D5 D1 指定输入或输出的特定寄存器;最低位LSB(D0)为逻辑 0,指定写操作 (输入 ), D0=1,指定读操作 (输出 )。 在 DS1302 的时钟日历或 RAM 进行数据传送时, DS1302 必须首先发送命令字节。若进行单字节传送, 8 位命令字节传送结束之后,在下 2 个 SCLK 周期的上升沿输入数据字节,或在下 8 个 SCLK 周期的下降沿输出数据字节。 DS1302 与 RAM 相关的寄存器分为两类 :一类是单个 RAM 单元,共 31 个,每个单元组态为一个 8 位的字节,其命令控制字为 C0H FDH,其中奇 数为读操作,偶数为写操作;再一类为突发方式下的 RAM 寄存器,在此方式下可一次性读、写所有的 RAM的 31 个字节。 要特别说明的是备用电源 B1,可以用电池或者超级电容器 (0.1F 以上 )。虽然 DS130

温馨提示

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

评论

0/150

提交评论