lcm7218怎么用,就是它内部框图制作软件都是干什么用的,和单片机怎么连接

下载费用:20 元 &
基于单片机万年历_的设计毕业论文
河北化工医药职业技术学院毕业论文 I 摘 要 本文借助电路仿真软件 Protues 对基于 AT89S51 单片机的电子万年历的设计方法及仿真进行了全面的阐述。该电子万年历在硬件方面主要采用 AT89C51 单片机作为主控核心,由 DS1302 时钟芯片提供时钟、 1602LCM 点阵液晶显示屏显示。 AT89C51 单片机是由 Atmel公司推出的,功耗小,电压可选用 4~ 6V 电压供电; DS1302 时钟芯片是美国 DALLAS 公司推出的具有涓细电流充电功能的低功耗实时时钟芯片,它可以对年、月、日、星期、时、分、秒进行计时,还具有闰年补偿等多种功能,而且 DS1302 的使 用寿命长,误差小;数字显示是采用的 LED 液晶显示屏来显示,可以同时显示年、月、日、星期、时、分、秒等信息。此外,该电子万年历还具有时间校准等功能。在软件方面,主要包括日历程序、时间调整程序,显示程序等。所有程序编写完成后,在 Keil 软件中进行调试,确定没有问题后,在 Proteus 软件中嵌入单片机内进行仿真。 论文主要研究了液晶显示器 LCM 及时钟芯片 DS1302,温度传感器 DS18B20 与单片机之间的硬件互联及通信,对数种硬件连接方案进行了详尽的比较,在软件方面对日历算法也进行了论述。 研究结果表明,由于万年 历的应用相当普遍,所以其设计的核心在于硬件成本的节约软件算法的优化,力求做到物美价廉,才能拥有更广阔的市场前景。 关键词: 单片机; DS1302; DS18B20; LCM1602 单片机在万年历的应用 II 目 录 第 1章 方案设计 ……………………………………………………………………………………… ...1 1.1 单片机芯片的选择 ............................................................................................... 1 1.2 显示模块选择方案和论证 ...................................................................................... 1 1.3 时钟芯片的选择方案和论证 ................................................................................... 1 1.4 温度传感器的选择方案与论证 ................................................................................ 2 1.5 电路设计最终方案决定 ......................................................................................... 2 第 2 章 系统的硬件设计与实现 ............................................................................. 3 2.1 电路设计框图 ..................................................................................................... 3 2.2 系统硬件概述 ..................................................................................................... 3 2.3 主要单元电路的设计 ............................................................................................ 4 2.3.1 AT89S51 单片机主控制模块的设计 ............................................................... 4 2.3.2 单片机中断系统 ....................................................................................... 6 2.3.3 时钟电路模块的设计 .................................................................................. 8 2.3.4 温度采集模块设计 ..................................................................................... 9 2.3.5 显示模块的设计 ..................................................................................... 10 2.3.6 DS1302 原理及说明 ................................................................................. 11 2.3.7 LCM1602 工作原理及说明 .......................................................................... 13 2.3.8 系 统仿真电路 ........................................................................................ 14 第 3 章 系统的软件设计 ....................................................................................... 16 3.1 程序流程框图 ................................................................................................... 16 3.2 子程序 ............................................................................................................. 18 河北化工医药职业技术学院毕业论文 III 第 4 章 系统测试 ................................................................................................... 19 4.1 硬件测试 ......................................................................................................... 19 4.2 软件测试 ......................................................................................................... 19 总结 ………………………………………… …………………………………… .19 致谢 ......................................................................................................................... 21 参考文献 ................................................................................................................. 22 附录:程序 ............................................................................................................. 23 河北化工医药职业技术学院毕业论文 1 第 1 章 方案 设计 1.1 单片机芯片的选择 本设计采用 AT89S51 芯片作为硬件核心,该芯片采用 Flash ROM,内部具有 4KB ROM存储空间 ,相对于本设计而言程序空间完全够用。能于 3V 的超低压工作 ,而且与 MCS-51 系列单片机完全兼容 ,而且运用于电路设计中时具备 ISP 在线编程技术 ,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,避免芯片的多次拔插对芯片造成的损坏。 1.2 显示模块选择方案和论证 方案一: 采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对于显示文字 比较适合 ,如采用在显示数字显得太浪费 ,且价格也相对较高 ,所以也不用此种作为显示。 方案二: 采用 LED 数码管动态扫描 ,LED 数码管价格虽适中 ,对于显示数字也最合适 ,而且采用动态扫描法与单片机连接时 ,占用的单片机口线少。但是由于数码管动态扫描需要借助74LS164 移位寄存器进行移位,该芯片在电路调试时往往会有很多障碍,所以不采用 LED数码管作为显示。 方案三: 采用 LCD 液晶显示屏 ,液晶显示屏的显示功能强大 ,可显示大量文字 ,图形 ,显示多样 ,清晰可见 [3],对于电子万年历而言,一个 1602 的液晶屏即 可,价格也还能接受 ,需要的接口线较多 ,但会给调试带来诸多方便,所以此设计中采用 LCD1602 液晶显示屏作为显示模块。 1.3 时钟芯片的选择方案和论证 方案一: 直接采用单片机定时计数器提供秒信号,使用程序实现年、月、日、星期、时、分、单片机在万年历的应用 2 秒计数。采用此种方案虽然可以减少时钟芯片的使用,节约成本,但是,实现的时间误差较大。所以不采用此方案。 方案二: 采用 DS1302 时钟芯片实现时钟, DS130 是美国 DALLAS 公司推出的一种高性能、低功耗、带 RAM 的实时时钟电路,它可以对年、月、日、周日、时、分、秒进 行计时,具有闰年补偿功能,工作电压为 2.5V~ 5.5V。采用三线接口与 CPU 进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或 RAM 数据。 DS1302 内部有一个 31× 8 的用于临时性存放数据的 RAM 寄存器。 DS1302 是 DS1202 的升级产品,与 DS1202 兼容,但增加了主电源 /后背电源双电源引脚,同时提供了对后背电源进行涓细电流充电的能力。主要特点是采用串行数据传输,可为掉电保护电源提供可编程的充电功能,并且可以关闭充电功能。采用普通 32.768kHz 晶振。因此,本设计中采用 DS1302 提供时钟。 1 .4 温度传感器的选择方案与论证 方案一: 使用热敏电阻作为传感器,用热敏电阻与一个相应阻值电阻相串联分压,利用热敏电阻阻值随温度变化而变化的特性,采集这两个电阻变化的分压值,并进行 A/D 转换。此设计方案需用 A/D 转换电路,增加硬件成本而且热敏电阻的感温特性曲线并不是严格线性的,会产生较大的测量误差。 方案二: 采用数字式温度传感器 DS18B20,此类传感器为数字式传感器而且仅需要一条数据线进行数据传输,易于与单片机连接,可以避免 A/D 模数转换模块,降低硬件成本,简化系统电路。另外,数 字式温度传感器还具有测量精度高、测量范围广等优点。因此,本设计DS18B20 温度传感器作为温度采集模块。 1.5 电路设计最终方案决定 综上各模块的选择方案与论证,确定最后的主要硬件资源如下:采用 AT89S51 作为主控制系统; 河北化工医药职业技术学院毕业论文 3 第 2 章 系统的硬件设计与实现 2.1 电路设计框图 本系统的电路系统框图如图 2.1 所示。 AT89S51 单片机对 DS1302 和 DS18B20 写入控制字并读取相应的数据,继而控制 LCM1602 作出对应的显示。 图 2.1 系统硬件框图 2.2 系统硬件概述 本电路是由 AT89S51单片机作为控制核心,能在 3V 超低压工作, AT89S51是一个低功耗,高性能 CMOS 8位单片机,片内含 4kBytes ISP(In-system programmable)的可反复擦写 1000次的 Flash 只读程序存储器,器件采用 ATMEL 公司的高密度、非易失性存储技术制造,兼容标准 MCS-51指令系统及 80C51引脚结构,芯片内集成了通用 8位中央处理器和 ISP Flash 存储单元,功能强大的微型计算机的 AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案;时钟电路由 DS1302提供,它是一种高性能、低功耗、带 RAM 的实时时钟电路,它可以对年、月、日、周、时、分、秒进行计时,具有闰年补偿功能,工作电压为 2.5V~ 5.5V。采用三线接口与 CPU 进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或 RAM 数据。 DS1302内部有一个 31*8的用于临时性存放数据的 RAM 寄存器。可产生年、月、日、周、时、分、秒,具有使用寿命长,精度高和低功耗等特点,同时具有掉电自动保存功能;温度的采集由 DS18B20完成, 它具有独特的单线接口方式, DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与 DS18B20的双向通讯,测温范围 - 55℃~+ 125℃,固有测温分辨率 0.5℃,支持多点组网功能,多个 DS18B20可以并联在唯一的三线上,最多只能并联 8个,如果数量过多,会使供电电源电压过低,从而造成信号传输的不稳定,实现多点测温, 工作电源 :3~ 5V/DC,在使用中不需要任何外围元件;显示部份由 LCD1602液晶显示器完成,该显示器为 工业字符型液晶,能够同时显示 16x02键盘控制模块 温度采集模块 AT89S51 主控模块 LCD1602 液晶显示模块 DS1302 时钟模块 单片机在万年历的应用 4 即 32个字符( 16列 2行)。 2.3 主要单 元电路的设计 2.3.1 AT89S51 单片机主控制模块的设计 AT89S51 是一个低功耗,高性能 CMOS 8 位单片机,片内含 4k Bytes ISP(In-system programmable)的可反复擦写 1000 次的 Flash 只读程序存储器,器件采用 ATMEL 公司的高密度、非易失性存储技术制造,兼容标准 MCS-51 指令系统及 80C51 引脚结构,芯片内集成了通用 8 位中央处理器和 ISP Flash 存储单元,功能强大的微型计算机的 AT89S51 可为许多嵌入式控制应用系统提供高性价比的解决方案。 AT89S51 具有如下特点: 40 个引脚,4kBytes Flash 片内程序存储器, 128Bytes 的随机存取数据存储器( RAM), 32 个外部双向输入 /输出( I/O)口, 5 个中断优先级 2 层中断嵌套中断, 2 个 16 位可编程定时计数器 ,2个全双工串行通信口,看门狗( WDT)电路,片内时钟振荡器。此外, AT89S51 设计和配置了振荡频率可为 0Hz 并可通过软件设置省电模式。空闲模式下, CPU 暂停工作,而 RAM 定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存 RAM 的数据,停止芯片其它功能直至外中断激活或硬件 复位。同时该芯片还具有 PDIP、 TQFP 和 PLCC 等三种封装形式,以适应不同产品的需求。 AT89S52 单片机为 40 引脚双列直插芯片 ,有四个 I/O口 P0,P1,P2,P3,MCS-51 单片机共有 4 个 8 位的 I/O 口( P0、 P1、 P2、 P3),每一条 I/O 线都能独立地作输出或输入 。 P0 口: P0 口为一个 8 位漏级开路双向 I/O 口,每脚可吸收 8TTL 门电流。当 P1 口的管脚第一次写 1 时,被定义为高阻输入。 P0 能够用于外部程序数据存储器,它可以被定义为数据 /地址的第八位。在 FIASH 编程时, P0 口作为原码输入口, 当 FIASH 进行校验时, P0输出原码,此时 P0 外部必须被拉高。 P1 口: P1 口是一个内部提供上拉电阻的 8 位双向 I/O 口, P1 口缓冲器能接收输出 4TTL门电流。 P1 口管脚写入 1 后,被内部上拉为高,可用作输入, P1 口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在 FLASH 编程和校验时, P1 口作为第八位地址接收。 P2 口: P2 口为一个内部上拉电阻的 8 位双向 I/O 口, P2 口缓冲器可接收,输出 4 个TTL 门电流,当 P2 口被写“ 1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时, P2 口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。 P2 口当用 河北化工医药职业技术学院毕业论文 5 于外部程序存储器或 16 位地址外部数据存储器进行存取时, P2 口输出地址的高八位。在给出地址“ 1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时, P2口输出其特殊功能寄存器的内容。 P2 口在 FLASH 编程和校验时接收高八位地址信号和控制信号。 P3 口: P3 口管脚是 8 个带内部上拉电阻的双向 I/O 口,可接收输出 4 个 TTL 门电流。当 P3 口写入“ 1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平, P3 口将输出 电流( ILL)这是由于上拉的缘故。 I/O 口作为输入口时有两种工作方式,即所谓的读端口与读引脚。读端口时实际上并不从外部读入数据,而是把端口锁存器的内容读入到内部总线,经过某种运算或变换后再写回到端口锁存器。只有读端口时才真正地把外部的数据读入到内部总线。输入缓冲器 CPU 将根据不同的指令分别发出读端口或读引脚信号以完成不同的操作。这是由硬件自动完成的,不需要我们操心, 1 然后再实行读引脚操作,否则就可能读入出错,如果不对端口置1,端口锁存器原来的状态有可能为 0Q 端为 0Q^为 1 加到场效应管栅极的信号为 1,该场效 应管就导通对地呈现低阻抗,此时即使引脚上输入的信号为 1,也会因端口的低阻抗而使信号变低使得外加的 1 信号读入后不一定是 1。若先执行置 1 操作,则可以使场效应管截止引脚信号直接加到三态缓冲器中实现正确的读入,由于在输入操作时还必须附加一个准备动作,所以这类 I/O 口被称为准双向口。 89C51 的 P0/P1/P2/P3 口作为输入时都是准双向口。 单片机的最小系统如图 2.2 所示: 18 引脚和 19 引脚接时钟电路 ,XTAL1 接外部晶振和微调电容的一端 ,在片内它是振荡器倒相放大器的输入 ,XTAL2 接外部晶振和微调电容的另一 端 ,在片内它是振荡器倒相放大器的输出 .第 9 引脚为复位输入端 ,接上电容 ,电阻及开关后够上电复位电路 ,20 引脚为接地端 ,40 引脚为电源端 .单片机的最小系统如下图所示:图2.2 中的晶振频率为 12MHz,复位方式为上电自动复位。 单片机在万年历的应用 6 图 2.2 单片机最小系统 2.3.2 单片机中断系统 在提及单片机的最小系统后,现对单片机的另一重要应用系统即中断系统做一个比较详细的介绍。 在 CPU 与外设交换信息时,存在着一个快速 CPU 与慢速的外设之间的矛盾。为解决这个 问题,发展了中断的概念。单片机在某一时刻只能处理一个任务,当多个任务同时要求单片机处理时,这一要求应该怎么实现呢?通过中断可以实现多个任务的资源共享。所谓的中断就是,当 CPU 正在处理某项事务的时候,如果外界或者内部发生了紧急事件,要求CPU 暂停正在处理工作而去处理这个紧急事件,待处理完后,再回到原来中断的地方,继续执行原来被中断的程序,这个过程称作中断。 从中断的定义我们可以看到中断应具备中断源、中断响应、中断返回这样三个要素。中断源发出中断请求,单片机对中断请求进行响应,当中断响应完成后应进行中断返回, 返回被中断的地方继续执行原来被中断的程序。 MCS-51 单片机的中断源共有两类,它们分别是:外部中断和内部中断。外部中断 0(INT0)来自 P3.2 引脚,通过外部中断 0 触发方式控制位IT0(TCON.0),来决定中断输入信号是低电平有效还是负跳变有效。一旦输入信号有效,便使 IE0 标志置一,向 CPU 申请中断;外部中断 1(INT1)来自 P3.3 引脚,通过外部中断 1 河北化工医药职业技术学院毕业论文 7 触发方式控制位 IT1(TCON.2),来决定中断输入信号是低电平有效还是负跳变有效。一旦输入信号有效,便使 IE0 标志置一,向 CPU 申请中断。内部中断有三个 : TF0,TF1,RI 或TI。 TF0( TCON.5),片内定时 /计数器 T0 溢出中断请求标志。当定时 /计数器 T0 发生溢出时,置位 TF0,并向 CPU 申请中断; TF1( TCON.7),片内定时 /计数器 T1 溢出中断请求标志。当定时 /计数器 T1发生溢出时,置位 TF1,并向 CPU申请中断; RI( SCON.0)或 TI( SCON.1),串行口中断请求标志。当串行口接收完一帧串行数据时置位 RI 或当串行口发送完一帧串行数据时置位 TI,向 CPU 申请中断。 MCS-51 单片机为用户提供了四个专用寄存器,来控制单片机的中断系统。定 时器控制寄存器( TCON),该寄存器用于保存外部中断请求以及定时器的计数溢出。进行字节操作时,寄存器地址为 88H。按位操作时,各位的地址为 88H~ 8FH,当 CPU 采样到 INT0(或 INT1)端出现有效中断请求时, IE0( IE1)位由硬件置“ 1”。当中断响应完成转向中断服务程序时,由硬件把 IE0(或 IE1)清零, 当计数器产生计数溢出时,相应的溢出标志位由硬件置“ 1”。当转向中断服务时,再由硬件自动清“ 0”。计数溢出标志位的使用有两种情况:采用中断方式时,作中断请求标志位来使用;采用查询方式时,作查询状态位来 使用;串行口控制寄存器( SCON),进行字节操作时,寄存器地址为 98H。按位操作时,各位的地址为 98H~9FH,当发送完一帧串行数据后,由硬件置“ 1”;在转向中断服务程序后,用软件清“ 0”,当接收完一帧串行数据后,由硬件置“ 1”;在转向中断服务程序后,用软件清“ 0”。串行中断请求由 TI 和 RI 的逻辑或得到。就是说,无论是发送标志还是接收标志,都会产生串行中断请求;中断允许控制寄存器( IE),进行字节操作时,寄存器地址为 0A8H。按位操作时,各位的地址为 0A8H~0AFH,可见, MCS-51 单片机通过中断允许控 制寄存器对中断的允许(开放)实行两级控制。即以 EA 位作为总控制位,以各中断源的中断允许位作为分控制位。当总控制位为禁止时,关闭整个中断系统,不管分控制为状态如何,整个中断系统为禁止状态;当总控制位为允许时,开放中断系统,这时才能由各分控制位设置各自中断的允许与禁止。 MCS-51 单片机复位后( IE)= 00H,因此中断系统处于禁止状态。单片机在中断响应后不会自动关闭中断。因此在转中断服务程序后,应根据需要使用有关指令禁止中断,即以软件方式关闭中断。中断优先级控制寄存器( IP) MCS-51 单片机的中断优先级控制 比较简单,因为系统只定义了高、低 2 个优先级。高优先级用“ 1”表示,低优先级用“ 0”表示。各中断源的优先级由中断优先级寄存器( IP)进行设定。 IP 寄存器地址 0B8H,位地址为 0BFH~0B8H。 单片机在万年历的应用 8 2.3.3 时钟电路模块的设计 DS1302 是美国 DALLAS 公司推出的一种高性能、低功耗、带 RAM 的实时时钟芯片,它可以对年、月、日、周、时、分、秒进行计时,具有闰年补偿功能,工作电压为 2.5V~ 5.5V。采用三线接口与 CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或 RAM数据。 DS1302 内 部有一个 31× 8 的用于临时性存放数据的 RAM 寄存器。 DS1302 是 DS1202的升级产品,与 DS1202 兼容,但增加了主电源 /后背电源双电源引脚,同时提供了对后背电源进行涓细电流充电的能力。 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 引脚变为高阻态。上电运行时,在 Vcc>2.0V 之前, RST必须保持低电平。只有在 SCLK 为低电平时,才能将 RST 置为高电平。 I/O 为串行数据输入输出端 (双向 ), SCLK 为时钟输入端。 DS1302 的控制字节的最高有效位 (位 7)必须是逻辑 1,如果它为 0,则不能把数据写入 DS1302 中,位 6 如果为 0,则表示存取日历时钟数据,为1 表示存取 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 与 CPU 的连接需要三条线,即 SCLK(7)、 河北化工医药职业技术学院毕业论文 9 I/O(6)、 RST(5)。实际上,在调试程序时可以不加电容器,只加一个 32.768kHz 的晶振即可。只是选择晶振时,不同的晶振,误差也较大。另外,还可以在上面的电路中加入 DS18B20,同时显示实时温度。只要占用 CPU 一个口线即可。单片机与 DS1302 连接图如图 2.3 所示。 图 2.3 DS1302与单片机的连接 2.3.4 温度采集模块设计 采用数字式温度传感器 DS18B20,它是数字式温度传感器,具有测量 精度高,电路连接简单特点,此类传感器仅需要一条数据线进行数据传输,使用P 0.7 与 DS18B20 的 I/O 口连接加一个上拉电阻 ,Vcc 接电源 ,Vss 接地。独特的一线接口,只需要一条口线通信多点能力,简化了分布式温度传感应用无需外部元件可用数据总线供电,电压范围为 3.0V 至5.5V 无需备用电源 测量温度范围为 -55 度至 +125 度。 -10 度至 +85 度范围内精度为± 0.5度温度传感器可编程的分辨率为 9~ 12 位。 DS18B20 连线如图 2.4 所示。 单片机在万年历的应用 10 图 2.4 DS18B20管脚连线 2.3.5 显示模块的设计 如下 图 5 所示,采用 LCM1602 液晶显示器,单片机 P1 口作为数据输出口, RS, R\W,E 分别通过 10K 的上拉电阻连接到单片机的 P0.0, P0.1,P0.2。 VDD 接 5V 电源, VSS 接地。VEE 为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个 10K 的电位器调整对比度)。 RS 为寄存器选择,高电平 1 时选择数据寄存器、低电平 0 时选择指令寄存器。 R/W 为读写信号线,高电平 (1)时进行读操作,低电平 (0)时进行写操作。 E(或 EN)端为使能 (enable)端 ,下降沿使能。 DB0-DB7 为双向数据总线,同时最高位 DB7 也是忙信号检测位。 BLA、 BLK 分别为显示器背光灯的正、负极。 河北化工医药职业技术学院毕业论文 11 图 2.5 LCM1602 与单片机的连接 2.3.6 DS1302 原理及说明 (1) 时钟芯片 DS1302 的工作原理 DS1302 在每次进行读、写程序前都必须初始化,先把 SCLK 端置 “ 0”,接着把 RST 端置“ 1”,最后才给予 SCLK 脉冲;读 /写时序如下图 7 所示。图 6 为 DS1302 的控制字,此控制字的位 7 必须置 1,若为 0 则不能把对 DS1302 进行读写数据。对于位 6,若对程序进行读 /写时 RAM=1,对时间进行读 /写时, CK=0。位 1 至位 5 指操作单元的地址。位 0 是读 /写操作位,进行读操作时,该位为 1;该位为 0 则表示进行的是写操作。控制字节总是从最低位开始输入 /输出的。表 2 为 DS1302 的日历、时间寄存器内容:“ CH”是时钟暂停标志位,当该位为 1 时,时钟振荡器停止, DS1302 处于低功耗状态;当该位为 0 时,时钟开始运行。“ WP”是写保护位,在任何的对时钟和 RAM 的写操作之前, WP 必须为 0。当“ WP”为 1 时,写保护位防止对任一寄存器的写操作。 (2) DS1302 的控制字 DS1302 的控制字如图 6 所示。控制字节的高有效位(位 7)必须是逻辑 1,如果它为单片机在万年历的应用 12 0,则不能把数据写入 DS1302 中,位 6 如果 0,则表示存取日历时钟数据,为 1 表示存取RAM 数据;位 5 至位 1 指示操作单元的地址;最低有效位(位 0)如为 0 表示要进行写操作,为 1 表示进行读操作,控制字节总是从最低位开始输出。 图 2.6 DS1302 的控制字 (3) 数据输入输出 在控制指令字输入后的下 一个 SCLK 时钟的上升沿时,数据被写入 DS1302,数据输入从低位即位 0 开始。同样,在紧跟 8 位的控制指令字后的下一个 SCLK 脉冲的下降沿读出DS1302 的数据,读出数据时从低位 0 位到高位 7。如下图 2.7 所示: 图 2.7 DS1302 读与写的时序图 (3) DS1302 的寄存器 DS1302 有 12 个寄存器,其中有 7 个寄存器与日历、时钟相关,存放的数据位为 BCD码形式 ,其日历、时间寄存器及其控制字见图 2.8。 河北化工医药职业技术学院毕业论文 13 图 2.8 DS1302 的日历、时间寄存器 此外, DS1302 还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与 RAM相关的寄存器等。时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器内容。 DS1302 与 RAM 相关的寄存器分为两类:一类是单个 RAM 单元,共 31 个,每个单元组态为一个 8 位的字节,其命令控制字为 C0H~ FDH,其中奇数为读操作,偶数为写操作;另一类为突发方式下的 RAM 寄存器,此方式下可一次性读写所有的 RAM 的 31 个字节,命令控制字为 FEH(写 )、 FFH(读 )。 2.3.7 LCM1602 工作原理及说明 (1)寄存器选择 控制 1602 字符型 LCD 通常有 14 条引脚线或 16 条引脚线的 LCD,多出来的 2 条线是背光电源线。 1602 液晶模块内部的字符发生存储器( CGROM)已经存储了 160 个不同的点阵字符 [15],图形寄存器选择控制表如表 2.1 所示: 表 2.1 1602 寄存器选择控制表 RS R/W 操作说明 0 0 写入指令寄存器(清屏指令等) 单片机在万年历的应用 14 (2)指令集 1602通过 D0~ D7的 8位数据端传输数据和指令。显示模式设置 (初始化 )x38]设置 16× 2 显示, 5× 7 点阵, 8 位数据接口;显示开关及光标设置: (初始化 ) 00001DCBD显示 (1 有效 )、 C 光标显示 (1 有效 )、 B 光标闪烁 (1 有效 )。 000001NS N=1(读或写一个字符后地址指针加 1 并且光标加 1), N=0(读或写一个字符后地址指针减 1 并且光标减 1), S=1且 N=1(当写一个字符后,整屏显示左移 ), S=0 当写一个字符后,整屏显示不移动。数据指针设置:数据首地址为 80H,所以数据地址为 80H+地址码 (0-27H, 40-67H)。其他设置:01H(显示清屏,数据指针 =0,所有显示 =0); 02H(显示回车,数据指针 =0)。 2.3.8 系统仿真电路 本次仿真使用软件 Protues7.0,该软件元件库丰富,元件封装要求相对简单且参数调整方便,除此之外,程序还可进行动态调试。系统仿真截图如图 2.9 所示。 0 1 读 busy flag,以及读取位址计数器( DB0~DB6)的值 1 0 写入数据寄存器(显示各字型等) 1 1 从数据寄存器读取数据 河北化工医药职业技术学院毕业论文 15 图 2.9 系统仿真电路图 如图,左上角为显示模块 LCM1602, U1 是时钟芯片 DS130
文档加载中……请稍候!
下载文档到电脑,查找使用更方便
20 元 &&0人已下载
还剩页未读,继续阅读
<a href="UserManage/CopyrightAppeal.aspx?bid=882817" title="版权申诉" class="fLeft works-manage-item works-manage-report" target="_blank"
关&键&词: 基于 单片机 万年历 设计 毕业论文 设计方案 范文 模版 范本 免费 下载 毕业论文 毕业设计 论文
& 天天文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
本文标题:基于单片机万年历_的设计毕业论文 链接地址:
当前资源信息
类型: 共享资源
格式: DOC
大小: 358.01KB
上传时间:
&& 广告或垃圾信息
&& 色情、淫秽、低俗信息
&& 反政府、反人类、反社会等反动信息
&& 散布赌博、暴力、凶杀、恐怖或者教唆犯罪等信息
&& 侮辱、诽谤等人身攻击信息
&& 散布谣言、扰乱社会秩序,破坏社会稳定等信息

我要回帖

更多关于 系统框图 的文章

 

随机推荐