电子信息工程之数字万年历课程设计方案_第1页
电子信息工程之数字万年历课程设计方案_第2页
电子信息工程之数字万年历课程设计方案_第3页
电子信息工程之数字万年历课程设计方案_第4页
电子信息工程之数字万年历课程设计方案_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

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

文档简介

1 电子信息工程之数字万年历 课程设计方案 一设计内容 1、设计一个数字万年历,利用现有的 89片机编程实现 。 要求显示年、月、日,时间(到分钟即可),农历(阴历); 2、可以采用专门时钟芯片(如 限于 51 单片机小系统只有4位显示,可以用按键转换分屏显示。 二设计要求 1、设计思路清晰,画出设计框图; 2、画出具体原理电路; 3、对电路进行分析计算,确定器件参数; 4、 *制作样机需要购买器件必须与指导老师协商,测量、调试步骤; 5、编写设计说明书。 主要设计条件 1、提 供 89片机小系统; 2 2、提供直流稳压电源; 3、面包板、导线等。 说明书格式 1) 课程设计封面; 2) 设计任务书; 3) 说明书目录; 4) 设计思路,基本原理和框图; 5) 电路设计、计算,原理分析; 6) 制作、测试,仿真; 7) 总结与体会; 8) 附录(程序清单); 9) 参考文献; 10)电路原理图。 进度安排 3 第 1 周: 达设计任务书,介绍课题内容与要求; 找资料,确定设计方案,设计方案论证; 第 2 周:画电路原理图,元器件选择确定,计算分析; 第 3 周:程序流程图、程序调试、软 件仿真; 书写设计说明书,整理资料,答辩。 参考文献 1、电子工程专辑( ) 2、中国电子设计网( ) 3、 何立民 列单片机应用系统设计 M京航空航天大学出版社, 2003 目录 1、系统概述 5 2、系统硬件设计 5 片机控制系统原理 5 硬件的设计总框图 6 各种功能模块硬件设计及实现 6 片机 7 4 时时钟芯片 10 度模块 13 1602 液晶显示器 15 3、系统程序设计 18 程序流程图 18 断服务流程图 19 序 21 设计总结 41 参考文献 42 附录 43 5 1、系统概述 本设计主要分为硬件电路设计和软件实现两大部分。硬件电路设计采用模块设计:中央 处理电路、时钟电路、温度测量电路三大部分;软件采用 C 语言编程实现,设计采用按功能模块划分,包括:主程序、显示程序、温度测量程序、时钟程序等。 在 中 央 处 理 器 上 我 们 采 用 片机 ,该 单 片 机 是 集计数和多种接口于一体的微控制器。自 20 世纪 70 年代问世以来,以其极高的性能价格比,受到人们的重视和关注。它体积小、重量轻、抗干扰能力强、环境要求不高、价格低廉、可靠性高、灵活性好、开发较为容易,广泛应用于智能生产和工业自动化上。 在时间功能上主要依靠实时时钟芯片 完成大部分 功能,具有涓细电流充电能力的低功耗实时时钟电路,它以其接口简单、价格低廉、使用方便,被广泛地采用。它的主要特点是采用串行数据传输,可为掉电保护电源提供可编程的充电功能,并且可以关闭充电功能。采用普通 振。所以用此款芯片来实现时间功能是完全能满足电路的要求。 温度方面工作由数字式温度传感器 完成,这款温度传感器是具有线路简单,体积小,方便易用等特点,温度测量范围为 55 125 ,可编程为 9位 12位 A/温分辨率可达 被测温度用符号 扩展的 16 位数字量方式串行输出。选用这个芯片使电路简化,提高了效率。 本课题通过 片机来设计, 系统由主控制器 钟电路 显示电路、按键电路和复位电路等各部分构成,能实现时钟日历显示功能,能进行时、分、秒、温度的显示。 本文详细介绍了 片机的基本原理,分析了 文论述了 晶屏和时钟芯片 工作原理及其软件设计过程。 2、系统硬件设计 片机控制系统原理 采用 片机来实现系统的控制。键盘四个独立按键控制,时钟芯片采 6 用 度传感器采用 系统硬件简洁,将复杂的硬件功能用软件实现,因此系统控制灵活,能很好地满足本题的基本要求和扩展要求。此方案基本原理框图如图 1 所示。 比较以上两种方案的优缺点,方案二简洁、灵活、可扩展性好,能完全达到设计要求,故采用第二种方案。 硬件的设计总框图 本次设计的基于单片机控制的电子万年历,其具有年、月、日、星期、时、分、秒的显示功能;具体时间与阴、阳历能够自动关联;可以设置闹 铃的功能。其具体实现过程就是由主控制发送信息给 钟芯片再由时钟芯片反馈给 示信息。并且可以在键盘设置模块输入修改时间,设置闹铃等信息,当键盘设置时间、日期时,单片机主控制根据输入信息,通过串口通信此传送给 钟芯片, 片读取当前新信息产生反馈传送给单片机,然后单片机根据控制最后输送显示信息到 块上显示 各种功能模块硬件设计及实现 本设计以单片机 控制核心,由实时时钟部分、显示部分、键盘输入部分、温度采集部分等部分组成。其中实时时钟采用 度检测模块由成温度传感器对现场环境温度进行实时检测。键盘采集部分由四个独立按键组成,可实现时间显示、闹钟设置、环境温度测量等功图 1. 系统方框图 液晶显示部分 度传感器部分 片机 时时钟部分 键盘输入部分 7 能。 硬件设计是整个系统的基础,要考虑的方方面面很多,除了实现此设计基本功能以外,主要还要考虑如下几个因素:系统稳定度;器件的通用性或易选购性; 软件编程的易实现性;系统其它功能及性能指标;因此硬件设计至关重要。现从各功能模块的实现逐个进行分析探讨。 片机 美国 司生产的低电压,高性能的 单片机片内 8可反复擦写的只读程序存储器( 128器件采用 司的高密度、非易失存储技术生产,兼容标准 令系统,片内置通用 8 位中央处理器( 储单元,功能强大。 片机可为你提供许多高性价的应用场合,可灵活的应用于各种控制领域。 主要性能参数: 与 1000 次可擦写周 期 全静态操作: 0 三级加密程序存储器 128 8字节内部 32 个可编程 I/ 2 个 16位定时 /计数器 5 个中断源 可编程串行 低功耗空闲和掉电模式 能特性描述: 供以下标准功能: 4k 字节速存储器, 128 字节内部 32 个 I/O 口线,两个 16 位定时/计数器,一个 5 向量中断结构,一个全双工串 行通信口, 片内震荡器及时钟电路。同时, 静态逻辑操作,并支持两种软件的可选的节电工作模式。空闲方式停止 工作,但允许 时 /计数器,窜行通信口及中断系统继续工作。掉电方式保存 的内容,但震荡器停止工作并禁止所有部件工作直到下一个硬件复位。 图 2. 单片机引脚图 8 ( 1) 脚功能说明: 电源电压 地 是一组 8 位漏极开路行双 向 I/O 口,也既地址 /数据总线复用口。可作为输出口使用时,每位可吸收电流的方式驱动 8 个 端口写“ 1”可作为高阻抗输入输入端用。在访问外部数据存储器时,这组口线分时转换地址(低 8 位)和数据总线复用,在访问期间激活内部上拉电阻。在 程时, 接收指令字节,而在程序校验时,输出指令字节,校验时,要求接上拉电阻。 : 是一个内部上拉电阻的 8 位双向 I/O 口, 输入缓冲级可驱动(吸收或输出电流) 4 个 辑门电路。对端口写“ 1”,通过内部的上拉电阻把端口拉到高电平,此时可作 输出口。作输入口时,因为内部存在上拉电阻,某个引脚被外部信号拉低时输出一个电流( I)。程和程序校验期间, 接收 8 位地址。 : 是一个带有内部上拉电阻的 8 位双向 I/O 口, 输入缓冲极可以驱动(输入或输出电流) 4 个 辑门电路。对端口“ 1”,通过内部的上拉电阻把端口拉到高电平,此时和作为输出口,作输出口时,因为存在内部上拉电阻,某个引脚被外部信号拉低时会输出一个电流。在访问外部存储器或 1 位地址的外部数据存储器(例如执行令)时, 送出高 8 位地址数据。在访 问 8 位地址的外部数据存储器(如执行 I 指令)时, 线的内容(也既特殊功能寄存器( 中 存器的内容),在整个访问期间不改变。 接收高地址和其他控制信号。 : 是一组带有内部上拉电阻的 8 位双向 I/O 口, 输入缓冲级可驱动(吸收或输出电流) 4 个 辑门电路。对 写入“ 1”时,它们被内部上拉电阻拉高并可作为输出端口。作输出端口时,被外部拉低的 将用上拉电阻输出电流。 除可作为一般的I/O 口线外,更重要的用途是它的第二功能如表 1 所示 : 表 1 口: 速存储器编程和程序校验的控制信号 9 访问外部程序存储器或数据存储器时, 址锁存允许)输出脉冲用于锁存地址的低 8 位字节,即使不访问外部字节, ,因此它可对外输出时钟脉冲或用于定时目的。要注意的是:每次访问外部存储器时将跳过一个冲。对 储器编程期间,该引脚还要输入编程脉冲( 。如有必要,可通过对特殊功能寄存器( 中的 8元的 置位,可禁止 作。该位置位后,只有一条 令可激活。 此外,此引脚会被微弱拉高,单片机执行外部程序时,应该置 位输出。当震荡器工作时, 脚出现两个机器周期以上高电平使机器复位。 程序存入允许( 输出的是外部程序存储器的读选通信号,当 外部程序取指令(或数据)时,每个机 器周期两次效,既输出两个脉冲。在此期间,当访问外部数据存储器,这两次有效的 号不出。 部访问允许。欲使 访问外部程序存储器(地址为0000 必须保持低电平(接地)。要注意的是:如果加密位 编程,复位时内部会锁存 状态。 储器编程时,该引脚加上 +12V 的编程允许电源 然这必须是该器件是使用 12V 的编程电压 荡器反向放大器 及内部时钟的输入端。 荡器反向放大器的输出端。 时钟震荡器: 有一个构成内部震荡器的高增益 由于外部时钟信号是通过一个 2分频的触发器后作为内部时钟信号的所以外部时钟的占空比没有特殊要求,但最小高电平持续的时间和最大低电平持续 的时间应符合产品技术条件的要求。 表 2 存器 图 5 . 外部震荡电路 图 4 . 内部震荡电路 10 寄存器 内容 寄存器 内容 000H 0H 0H 0H B 00H 0H 0H 0H 7H 0000H 0H 0H IP 定 中单片机最小系统的电路图如图 6所示。 图 6. 单片机最小系统 时时钟芯片 司推出的涓流充电时钟芯片,内含一个实时时钟 /日历和 31 字节静态 以通过串行接口与单片机进行通信。实时时钟 /日历电路提供秒、分、时、日、星期、月、年的信息,每个月的天 数和闰年的天数可自动调整,时钟操作可通过 M 标志位决定采用 24 或 12 小时时间格式。 单片机之间能简单地采用同步串行的方式进行通信,仅需三根 I/O 线:复位( I/O 数据线、串行时钟( 时钟 /读 /写数据以一字节或多达 31 字节的字符组方 11 式通信。 作时功耗很低,保持数据和时钟信息时,功耗小于1 外部引脚功能说明如图 8 所示 : 振引脚 位 I/O 数据输入 /输出 行 时钟 池引脚 电源引脚 内部结构如图 7 所示,主要组成部分为:移位寄存器、控制逻辑、振荡器、实时时钟以及 然数据分成两种,但是对单片机的程序而言,其实是一样的,就是对特定的地址进行读写操作 充电电路,可以对作为后备电源的可充电电池充电,并可选择充电使能和串入的 二极管 数目,以调节电池充电电压。不过对我们目前而言,最需要熟悉的是和时钟相关部分的功能,对于其它参数请参阅数据手册。 工作原理 作时为了对任何数据传送进行初始化,需要将复位脚( 为高电平且将 8 位地址和命令信息装入移位寄存器。数据在时钟( 上升沿串行输入,前 8 位指定访问地址,命令字装入移位寄存器后,在之后的时钟周期,读操作时输出数据,写操作时输出数据。时钟脉冲的个数在单字节方式下为 8+8( 8 位地址 +8 位数据),在多字节方式下为 8 加最多可达 248 的数据。 图 8. 装图 图 7. 内部结构图 12 寄存器和控制命令 对 操作就是对其内部寄存器的操作, 2 个寄存器,其中有 7 个寄存器与日历、时钟相关,存放的数据位为 形式。此外, 有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与 关的寄存器等。时钟突发寄存器可一次性顺序读写除充电寄存器以外的寄存器。日历、时间寄存器及控制字如表 3 所示: 寄存器名称 7 6 5 4 3 2 1 0 1 K 3 1 D/W 秒寄存器 1 0 0 0 0 0 0 分寄存器 1 0 0 0 0 0 1 小时寄存器 1 0 0 0 0 1 0 日寄存器 1 0 0 0 0 1 1 月寄存器 1 0 0 0 1 0 0 星期寄存器 1 0 0 0 1 0 1 年寄存器 1 0 0 0 1 1 0 写保护寄存器 1 0 0 0 1 1 1 慢充电寄存器 1 0 0 1 0 0 0 时钟突发寄存器 1 0 1 1 1 1 1 表 3:日历、时钟寄存器与控制字对照表 最后一位 为 “0”时表示进行写操作,为 “1”时表示读操作。 部寄存器列表如表 4 所示: 寄存器名称 命令字 取值范围 各位内容 写 读 7 6 5 4 3 2 1 0 秒寄存器 80H 81H 00H 10寄存器 82H 83H 00 10时寄存器 84H 85H 01 002/24 0 A R 日期寄存器 86H 87H 019,30,31 0 0 10份寄存器 88H 89H 01 0 0 10M 寄存器 81 0 0 0 0 份寄存器 800部的 为两类,一类是单个 元,共 31 个,每个单元为一个 8 位的字节,其命令控制字为 中奇数为读操作,偶数为写操作;再一类为突发方式下的 方式下可一次性读写所有的 31 个字节,命令控制字为 )、 )。 表 4: 部寄存器列表 13 我们现在已经知道了控制寄存器和 逻辑地址,接着就需要知道如何通过外部接口来访问这些资源。单片机是通过简单的同步串行通讯与 讯的,每次通讯 都必须由单片机发起,无论是读还是写操作,单片机都必须先向 入一个命令帧,这个帧的格式,最高位 定为 1, 定操作是针对 是时钟寄存器,接着的 5 个 时钟寄存器在 内部地址,最后一个 物理上, 通讯接口由 3 个口线组成,即 I/O。其中 低电平变成高电平启动一次数据传输过程, 时钟线,I/O 是数据线。但是请注意,无论是哪种同步通讯类型的串行接口,都是对时钟信号敏感的,而且一般 数据写入有效是在上升沿,读出有效是在下降沿( 是如此的,但是在芯片手册里没有明确说明),如果不是特别确定,则把程序设计成这样:平时 持低电平,在时钟变动前设置数据,在时钟变动后读取数据,即数据操作总是在 邻的操作之间间隔有一个上升沿和一个下降沿。 命令字结构图 图 9 命令字结构 度模块 本设计中我在温度模块中采用的是 度传感器, 司生产的一线式数字温度传感器。 它将地址线、数据线和 14 控制线合为一根双向串行传输数据的信号线,允许在这根信号线上挂接多个 此,单片机只需通过一根 I 个芯片内还有一个 64 位的 中存有各个器件自身的序列号,作为器件独有的 码。 化了测温器件与计算机的接口电路,使得电路简单,使用更加方便。 特性如下: ( 1)测温范围:一 55 至十 125; ( 2)转换精度: 9 至 12 位二进制数 (包括符号 1 位 ),可编程确定转换精度的位数; ( 3)测温分辨率: 9 位精度为 0 5, 12 位精度为 ( 4)转换时间: 9 位精度为 93 7510 位精度为 187 512 位精度为 750 ( 5)具有非易失性上、下限报警设定的功能。 图 11 部结构 预置 斜率累加器 计数比较器 预置 温度寄存器 减到 0 减法计数器 2 高温度系数振荡器 减到 0 减法计数器 1 低温度系数振荡器 停止 增加 15 图 12 内部测温电路图 测温原理如图 12 所示,图中低温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器 1,高温度系数晶振随温度变化其振荡频率明显改变,所产生的信号作为减法计数器 2的脉冲输入,图中 还隐含着计数门,当计数门打开时, 而完成温度测量。计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将 所对应的基数分别置入减法计数器 1 和温度寄存器中,减法计数器 1 和温度寄存器被预置在 对应的一个基数值。减法计数器 1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器 1 的预置值减到 0 时温度寄存器的值将加 1,减法计数器 1 的预置将重新被装入,减法计数器 1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器 2 计数到 0 时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。图 12 中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正减法计数器的预置值,只要计数门仍未关闭就重复上述过程,直至温度寄存器值达到被测温度值,这就是 测温原理。 使用 应注意以下事项: (1)由于 测温分辨力提高到 12 位,因此它对时序及电特性参数要求较高需严格按照 时序要求进行操作。 (2)三线制应用时,应将 I O、 焊接牢 固;作两线制应用时 ,应将 在一起焊牢。若 漏焊或者虚焊,传感器就只能输出十 85 0的温度数据。 (3)测温电缆线可采用带屏蔽层的 4 芯双绞线,其中两根线分别接信号线与地线,另两根线依次接 地线,屏蔽层在源端单点接地。 图 13 电路原理 1602 液晶显示器 16 1602字符型型液晶是一种用 5 7 点阵图形来显示字符的液晶显示器,根据显示的容量可以分为 1 行 16 个字、 2 行 16 个字、 2 行 20 个字等,最常用的为 2 行 16 个字,即我们马上要学习的 1602 液 晶模块。带背光的液晶模块 用标准的 16 脚接口,其引脚功能如下: 第 1 脚: 电源地,接 第 2 脚: 5 第 3 脚: 液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个 10K 的电位器调整对比度。 第 4 脚: 寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。 第 5 脚: 读写信号线,高电平时进行读操作,低电平时进行写操作。当 同为低电平时可以 写入指令或者显示地址,当 W 为高电平时可以读忙信号,当 高电平 低电平时可以写入数据。 第 6 脚: E 端为使能端,当 E 端由高电平跳变成低电平时,液晶模块执行命令。 第 7 14 脚: 8 位双向数据线。 第 15 脚: 光电源正极 (+5V)输入引脚。 第 16 脚: 光电源负极,接 晶模块内带标准字库,内部的字符发生存储器( 经存储了 192 个 5 7 点阵字符, 32 个 5 10 点阵字符。另外还有字符生成 512 字节,供 用户自定义字符。如表 5 所示,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“ A”的代码是01000001B( 41H),显示时模块把地址 41H 中的点阵字符图形显示出来,我们就能看到字母“ A”。 1602 液晶模块内部的控制器共有 11 条控制指令,如表 6 所示。它的读写操作、屏幕和光标的操作都是通过指令编程来实现的。(说明: 1为高电平、 0 为低电平) 指令 1:清显示,指令码 01H,光标复位到地址 00H 位置 指令 2:光标复位,光标返回到地址 00H 指令 3:光标和显示模式设置 I/D:光标移动方向,高电平右移,低电平左移 S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效 指令 4:显示开关控制。 D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示 C:控制光标的开与关,高电平表示有光标, 17 低电平表示无光标 B:控制光标是否闪烁,高电平闪烁,低电平不闪烁 指令 5:光标或显示移位 S/C:高电平时移动显示的文字,低电平时移动光标 指令 6:功能设置命令 电平时为 4 位总线,低电平时为 8位总线 N:低电平时为单行显示,高电平时双 行显示 F: 低电平时显示5点阵字符,高电平时显示 5点阵字符。 指令 7:字符发生器 址设置 指令 8: 址设置 指令 9:读忙信号和光标地址 忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。 指令 10:写数据 指令 11:读数据 下面是 晶模块的一些主要技术参数: 1、逻辑工作电压( + +、 动电压( + +、工作温度( 0 60 C(常温) / 75 C(宽温) 4、工作电流: # ; /实时时钟时钟线引脚 = ; /实时时钟数据线引脚 ; /实时时钟复位线引脚 / ; / ; / ; / ; ; ; /秒 ,分 ,时到日 ,月 ,年位闪的计数 ; /模式切换键 p = ; /加法按钮 ; /减法按钮 ; /立刻跳出调整模式按钮 Q = ; /温度传送数据 /温度值 ,; ; /液晶显示程序 /*1602 液晶显示部分子程序 */ /* = ; = ; = ; = 0 /1=02=03=0数据端口 22 / 内 部 等 待 函 数* ; ; _; ; _; ; /向 * # 0 / 1 / / 清屏 # 0 / 光标返回原点 ; ; _; _;/注意顺序 ; _;/注意顺序 ; _; ; /设置显示模式 * # 0 /显示开 # 0 /显示关 # 0#0 /无光标 # 0 /光标闪动 #0 /光标不闪动 0 /设置输入模式 * # 023 # 0 / 0 / 画面可平移 # 0 / 0 /初始化 * ; /8 位数据端口 ,2 行显示 ,5*7点阵 /开启显示 , 无光标 /清屏 /增 , 画面不动 /液晶字符 输入的位置 * x, y) if(y=0) x); if(y=1) ; /将字符输出到液晶显示 0) ; /*

温馨提示

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

评论

0/150

提交评论