




已阅读5页,还剩39页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2013 届本科毕业设计(论文)XX 大学20*届 毕 业 设 计(论 文)题目:单片机电子日历设计班 级: 学 号: 姓 名: 指导教师: 2013 届本科毕业设计(论文)单片机电子日历设计摘 要随着社会科技的发展,人类得知时间,从太阳、 摆钟到现在电子钟,不断研究创新。为了在观察时间的同时,能够了解其它与人类密切相关的信息,比如温度、星期、日期等,电子日历诞生了,它集时间日期星期和温度功能于一身,具有读取方便、显示直观、功能多样、电路简洁等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景。该电子万年历主要采用 AT89C51 单片机作为主控核心,由 DS1302 时钟芯片提供时钟、LCD 动态扫描显示屏显示。AT89C51 单片机是由 Atmel 公司推出的,功耗小,电压可选用 46V 电压供电;DS1302 时钟芯片是美国 DALLAS 公司推出的具有涓细电流充电功能的低功耗实时时钟芯片,它可以对年、月、日、星期、时、分、秒进行计时,还具有闰年补偿等多种功能,而且 DS1302 的使用寿命长,误差小;数字显示是采用的 LCD 液晶显示屏来显示,可以同时显示年、月、日、星期、时、分、秒和温度等信息。此外,该电子万年历还具有时间校准等功能。关键词:时钟电路,时钟芯片 DS1302,单片机 AT89C51,4MAX7219 2013 届本科毕业设计(论文)DESIGN OF ELECTRONIC CALENDARS BASED ON SINGLE Chip MICROCOMPUTERABSTRACTWith the social development of technology, human that time, from the sun to the present clock pendulum clock, and continuously research and innovation. In order to observe the time, they can also learn other information closely related to human, such as temperature, day of the week, etc., electronic calendar was born, it set the time date and temperature functions in a week, easy to read display with intuitive features such as multiple circuit simplicity many advantages in line with the development trend of electronic instruments and meters, and has broad market prospects. The calendar mainly AT89C51 microcontroller as the control center, provided by the DS1302 clock chip clock LCD display shows the dynamic scans. Atmel Corporation AT89C51 microcontroller is introduced, low power voltage can be selected 4 6V voltage power supply; DS1302 clock chip, launched in the United States with Juan DALLAS small current charging function real time clock chip, low power consumption, it can be years days a week for a time when minutes and seconds, a leap year compensation also has many functions and DS1302 long life, small error; digital display LCD screen used to display that can display minutes and seconds years day week and temperature information. In addition, the electronic calendar is also a time calibration functions. KEY WORDS: clock circuit, clock chip DS1302, MCU AT89C51, MAX72192013 届本科毕业设计(论文)目录前 言 .1第 1 章 概述 .31.1 引言 .31.2 功能要求 .31.3 方案论证 .31.3.1 技术可行性 .31.3.2 单片机的选择 .41.3.3 显示模块的选择 .51.3.4 键盘模块的选择 .51.3.5 总体方案的论证与选择 .5第 2 章系统硬件电路设计 .72.1 电路设计 .72.2 系统硬件概述 .72.2.1 主控制器 AT89C51 .72.2.2 时钟电路 DS1302 .72.2.3 显示驱动 MAX7219.92.3 主要单元电路的设计 .112.3.1 显示电路 .112.3.2 键盘接口 .122.3.3 时钟电路 .16第 3 章系统软件设计 .193.1 软件设计思想 .193.2 程序设计模块 .193.3 程序代码清单 .24结 论 .30谢 辞 .32文献参考 .33附 录 .352013 届本科毕业设计(论文)外文资料翻译 .362013 届本科毕业设计(论文)前言人们生活水平的提高和生活节奏的加快,对时间的要求越来越高,精准数字计时的消费需求也是越来越多。二十一世纪的今天,最具代表性的计时产品就是电子日历,它是近代世界钟表业界的第三次革命。第一次是摆和摆轮游丝的发明,相对稳定的机械振荡频率源使钟表的走时差从分级缩小到秒级,代表性的产品就是带有摆或摆轮游丝的机械钟或表。第二次革命是石英晶体振荡器的应用,发明了走时精度更高的石英电子钟表,使钟表的走时月差从分级缩小到秒级。第三次革命就是单片机数码计时技术的应用(电子日历) ,使计时产品的走时日差从分级缩小到 1/600 万秒,从原有传统指针计时的方式发展为人们日常更为熟悉的夜光数字显示方式,直观明了,并增加了全自动日期、星期、温度以及其他日常附属信息的显示功能,它更符合消费者的生活需求!因此,电子日历的出现带来了钟表计时业界跨跃性的进步。我国生产的电子日历有很多种,总体上来说以研究多功能电子日历为主,使电子日历除了原有的显示时间,日期等基本功能外,还具有闹铃,报警等功能。商家生产的电子日历更从质量,价格,实用上考虑,不断的改进电子日历的设计,使其更加的具有市场。本设计为软件,硬件相结合的一组设计。在软件设计过程中,应对硬件部分有相关了解,这样有助于对设计题目的更深了解,有助于软件设计。基本的要了解一些主要器件的基本功能和作用。除了采用集成化的时钟芯片外,还有采用 MCU 的方案,利用 AT89 系列单片微机制成万年历电路,采用软件和硬件结合的方法,控制 LCD 液晶显示屏输出,分别用来显示年、月、日、时、分、秒,其最大特点是:硬件电路简单,安装方便易于实现,软件设计独特,可靠。AT89C51 是由 ATMEL 公司推出的一种小型单片机。95 年出现在中国市场。其主要特点为采用 Flash 存贮器技术,降低了制造成本,其软件、硬件与 MCS-51 完全兼容,可以很快被中国广大用户接受。本文介绍了基于 AT89C51 单片机设计的电子日历。首先我在绪论中简单介绍了单片机的发展与其在中低端领域中的优势以及课题的开发意义;接着介绍了 AT89C51 单片机的硬件结构和本毕业设计所要外扩的LCD 显示及其驱动方法,并在此基础上实现了电子日历基本电路的设计;然后使2013 届本科毕业设计(论文)用单片机汇编语言进行电子日历程序的设计,程序采用模块化结构,使得逻辑关系简单明了,维护方便。2013 届本科毕业设计(论文)第 1 章 概述1.1 引言随着电子技术的发展,人类不断研究,不断创新纪录。电子日历目前已经不再局限于以书本形式出现。以电脑软件或者电子产品形式出现的万年历被称为电子万年历。与传统书本形式的电子日历相比,电子日历得到了越来越广泛的应用,采用电子时钟作为时间显示已经成为一种时尚。目前市场上各式各样的电子时钟数不胜数,但多数是只针对时间显示,功能单一不能满足人们日常生活需求。本文提出了一种基于 AT89C51 单片机的电子日历设计方案,本方案以AT89C51 单片机作为主控核心,与时钟芯片 DS1302、按键、LCD 显示等模块组成硬件系统。在硬件系统中设有独立按键和 LCD 显示器,能显示丰富的信息,根据使用者的需要可以随时对时间进行校准、选择时间等,综上所述此万年历具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景。1.2 功能要求电子日历能动态显示年、月、日、星期、小时、分钟、秒。1.3 方案论证1.3.1 技术可行性随着国内超大规模集成电路的出现,微处理器及其外围芯片有了迅速的发展。集成技术的最新发展之一是将 CPU 和外围芯片,如程序存储器、数据存储器、并行 I/O 口、串行 I/O 口、定时/计数器、中断控制器及其他控制部件集成在一个芯片之中,制成单片计算机(Single-Chip Microcomputer) 。而近年来推出的一些高档单片机还包括有许多特殊功能单元,如 A/D、 D/A 转换器、调制解调器、通2013 届本科毕业设计(论文)信控制器、锁相环、DMA、浮点运算单元、PWM 控制输出单元、PWM 输出时的死区可编程控制功能等。因此,只要外加一些扩展电路及必要的通道接口就可以构成各种计算机应用系统,如工业流水线控制系统、作为家用电器的主控制器、分布式控制系统的终端节点或作为其主控制节点起中继的作用、数据采集系统、自动测试系统等。单片机的出现,并在各技术领域中得到如此迅猛的发展,与单片机构成计算机应用系统所形成的下述特点有关:1. 单片机构成的应用系统有较大的可靠性。这些可靠性的获得除了依靠单片机芯片本身的高可靠性以及应用有最少的联接外,还可以方便地采用软、硬件技术。2. 系统扩展、系统配置较典型、规范,容易构成各种规模的应用系统,应用系统有较高的软、硬件利用系数。3 .由于构成的应用系统是一个计算机系统,相当多的测、控功能由软件实现,故具有柔性特征,不须改变硬件系统就能适当地改变系统功能。4. 有优异的性能、价格比。1.3.2 单片机的选择方案一:采用传统的 AT89C51 作为电机的控制核心。单片机算术运算功能强,软件编程灵活、自由度大,可用软件编程实现各种算法和逻辑控制,并且由于其功耗低、体积小、技术成熟和成本低等优点,使其在各个领域应用广泛。方案二:采用 FTC10F04 单片机,还带有非易失性 Flash 程序存储器。它是一种高性能、低功耗的 8 位 CMOS 微处理芯片,市场应用最多。其主要特点如下:8KB Flash ROM,可以擦除 1000 次以上,数据保存 10 年。由于本系统对 CPU 运算速度要求很高,需要执行很复杂的运算,方案一成本比较低,适合做设计,方案二运算速度高,性能好,所以两种方案都有可取之处。选用方案一作为主方案,方案二作为备用方案。1.3.3 显示模块的选择方案一:采用 LED 数码管动态扫描,LED 数码管价格适中,对于显示数字最合适 ,而且采2013 届本科毕业设计(论文)用动态扫描法与单片机连接时,占用的单片机口线少。但所需数码管太多焊接困难极易出错。所以不采用 LED 数码管作为显示。方案二:采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对于显示文字比较适合,如采用在显示数字显得太浪费,且价格也相对较高,所以也不用此种作为显示.方案三:采用 LCD 液晶显示屏,液晶显示屏的显示功能强大、可显示大量文字图形、显示多样、清晰可见,但是价格昂贵,需要的接口线多,本设计所需显示较多且需要文字。所以在此设计中采用 LCD 液晶显示屏。1.3.4 键盘模块的选择在 对 日 期 和 时 间 进 行 切 换 , 对 日 期 和 时 间 进 行 调 节 校 准 过 程 中 , 系 统 需 要产 生 激 励 电 流 , 因 此 需 要 用 按 键 。方 案 一 : 使 用 独 立 式 键 盘 。 独 立 式 键 盘 是 指 直 接 用 I/O 口 线 构 成 的 单 个 按 键电 路 。 独 立 式 按 键 电 路 配 置 灵 活 , 软 件 结 构 简 单 。方 案 二 : 使 用 矩 阵 式 键 盘 。 矩 阵 式 键 盘 是 由 行 线 和 列 线 组 成 , 按 键 位 于 行 、列 的 交 叉 点 上 , 行 线 、 列 线 分 别 连 接 到 按 键 开 关 的 两 端 。 其 特 点 是 简 单 且 不 增加 成 本 , 这 种 键 盘 适 合 按 键 数 量 较 多 的 场 合 。 根 据 以 上 的 论 述 , 因 本 系 统 需要 的 按 键 不 多 , 星 期 加 1 键 , 日 期 加 1 键 , 月 数 加 1 键 , 年 数 加 1 键 , 秒 数 加1 键 , 分 数 加 1 键 , 时 数 加 1 键 , 时 间 /日 期 切 换 键 , 要 求 简 单 。 所 以 采 用 方 案一 独 立 式 键 盘 。1.3.5 总体方案的论证与选择照系统设计功能的要求,初步确定系统由主控模块、时控模块、显示驱动及显示模块和键盘接口模块共 4 个模块组成,电路系统构成框图如图所示主控芯片使用 51 系列 AT89C51 单片机,时钟芯片使用美国 DALLAS 公司推出的一种高性能、低功耗、带 RAM 的实时时钟 DS1302。采用 DS1302 作为计时芯片,可以做到计时准确。更重要的是,DS1302 可以在很小电流的后备电源(2.55.5V 电源,再 2.5V 时耗电小于 300nA) ,而且 DS1302 很小电流的后备电源(2.55.5V电源,再 2.5V 时耗电小于 300nA) ,而且 DS1302 可以编程选择多种充电电流来2013 届本科毕业设计(论文)队后备电源进图。图 1-1 电路系统构成框图行慢速充电,可以保证后备电源基本不耗电。显示驱动采用MAX7219,MAX7219 是微处理器和共阴极八段八位 LCD 数码管显示、图条/ 柱图显示或 64 点阵显示接口的小型串行输入/输出芯片。片内包括 BCD 译码器、多路扫描控制器、字和位驱动器和 88 静态 RAM。外部只需要一个电阻设置所有 LCD 显示器字段电流。MAX7219 和微处理器只需三根导线连接,每位显示数字有一个地址由微处理器写入。允许使用者选择每位是 BCD 译码或不译码。使用者还可选择停机模式、数字亮度控制、从 18 选择扫描位数和对所有 LCD 显示器的测试模式。显示模块采用普通的共阴极四位一体八段 LCD 数码管。2013 届本科毕业设计(论文)第 2 章系统硬件电路设计2.1 电路设计该电子日历由系统主控制器 AT89C51,时钟电路 DS1302,显示驱动器MAX7219 电路组成,详图见附录。2.2 系统硬件概述 2.2.1 主控制器 AT89C51ATMEL 公司生产的 AT89C51 单片机采用高性能的静态 80C51 设计,并采用先进工艺制造,还带有非易失性 Flash 程序存储器。它是一种高性能、低功耗的8 位 CMOS 微处理芯片,市场应用最多。其主要特点如下:8KB Flash ROM,可以擦除 1000 次以上,数据保存 10 年。256 字节内部 RAM;电源控制模式;时钟可停止和恢复;空闲模式;掉电模式;6 个中断源;4 个中断优先级;4 个 8 位 I/O 口;全双工增强型 TUAR;3 个 16 位定时/计数器:T0、T1(标准 80C51)和增加的 T2(捕获和比较)全静态工作方式:024MHZ2.2.2 时钟电路 DS1302DS1302 的性能特性:实时时钟,可对秒、分、时、日、周、月以及带闰年补偿的年进行比较;2013 届本科毕业设计(论文)用于高速数据暂存的 31*8 位 RAM;最少引脚的串行 I/O;.55.5V 电压工作范围;2.5V 时耗小于 300nA;用于时钟或 RAM 数据读/写的单字节或多字节(脉冲方式)数据传送方式;简单的三线接口;可选的慢速充电(至 Vcc1)的能力。DS1302 在任何数据传送时必须先初始化,把 RST 脚置为高电平,然后把 8位地址和命令字装入移位寄存器,数据在 SCLK 的上升沿被访问到。在开始 8 个时钟周期,把命令字节装入移位寄存器后,另外的时钟周期在读操作时输出数据,在写操作时写入数据。时钟脉冲的个数在单字节方式下为 8+8,在多字节方式下为 8+字节数,最大可达 248 字节数。如果在传送过程中置 RST 脚为低电平,则会终止本次数据传送,并且 I/O 引脚变为高阻态。上电运行时,在 Vcc2.5V之前,RST 脚必须保持低电平。只有在 SCLK 为低电平时,才能将 RST 置为高电平。DS1302 的控制字如表 2-1 所示。控制字节的最高有效位(位 7)必须是逻辑1,如果它为 0,则不能把数据写入到 DS1302 中。位 6 如果为 0,则表示存取日历时钟数据;为 1 则表示存取 RAM 数据。位 51(A4 A0)指示操作单元的地址。最低有效位(位 0)如果为 0,则表示药进行写操作;为 1 表示进行读操作。控制字节总是从最低位开始输入/输出。为了提高对 32 个地址寻址能力(地址/命令位 1 5=逻辑 1),可以把时钟/日历或 RAM 寄存器规定为多字节(burst)方式。位 6 规定时钟或 RAM,而位 0 规定读或写。在时钟/日历寄存器中的地址 931 或 RAM 寄存器中的地址 31 不能存储数据。在多字节方式下,读或写从地址 0 的位 0 开始。必须按数据传送的次序写最先 8 个寄存器。但是,当以多字节方式写 RAM 时,为了传送数据不必写所有的 31 字节,不管是否谢了全部 31 字节,所写的每一字节都将传送至RAM。表 2-1 时钟寄存器2013 届本科毕业设计(论文)命令字 各位内容寄存器名写操作 读操作 取值范围 7 6 5 4 3 2 1 0秒寄存器 80H 81H 00-59 CH 10SEC SEC分寄存器 82H 83H 00-59 0 10MIN MIN时寄存器 84H 85H 01-12 或 00-23 12/24 0 10 HR HR日寄存器 86H 87H 01-28,29,30,31 0 0 10DATE DATE月寄存器 88H 89H 01-12 0 0 0 10M MONTH周寄存器 8AH 8BH 01-07 0 0 0 0 0 DAY年寄存器 8CH 8DH 00-99 10YEAR YEARDS1302 共有 12 个寄存器,其中有 7 个寄存器与日历、时钟相关,存放的数据位为 BCD 码形式。其日历、时间寄存器及其控制字如下表所示,其中奇数为读操作,偶数为写操作。时钟暂停:秒寄存器的位 7 定义位时钟暂停位。当它为 1 时,DS1302 停止振荡,进入低功耗的备份方式,通常在对 DS1302 进行写操作时(如进入时钟调整程序),停止振荡。当它为 0 时,时钟将开始启动。AM-PM/12-24 小时方式:小时寄存器的位 7 定义为 12 或 24 小时方式选择位。它为高电平时,选择 12 小时方式。在此方式下,位 5 为第二个 10 小时位(2023h) 。DS1302 的晶振选用 32768Hz,电容推荐值为 6pF。因为振荡频率较低,也可以不接电容,对计时精度影响不大。2.2.3 显示驱动 MAX7219MAX7219 和单片计算机连接有三条引线(DIN、CLK、LOAD) ,采用 16 位数据串行移位接收方式八位 LCD 显示、图条/柱图显示或 64 点阵显示包括 BCD 译码器、多路扫描控制器、字和位驱动器和 88 静态 RAM可选择停机模式、数字亮度控制、从 18 选择扫描位数和对所有 LCD 显示器的测试模式最多能驱动 8 位 LCD 显示器2013 届本科毕业设计(论文)内部 RAM 地址 0108H 分别对应于 DIG0DIG7。扫描界限寄存器(地址 0BH):该寄存器中 D0D3 位数据设定值为07H,设定值表示显示器动态扫描个数位 18。停机寄存器(地址 0CH):当 D0=0 时,MAX721 处于停机状态;当 D0=1 时,处于正常工作状态。显示测试寄存器(地址 0FH):当 D0=0 时,MAX7219 按设定模式正常工作;当 D0=1 时,处于测试状态。在该状态下,不管 MAX7219 处于什么模式,全部 LCD 将按最大亮度显示。亮度寄存器(地址 0AH):亮度可以用硬件和软件两种方法调节亮度寄存器中的 D0D3 位可以控制 LCD 显示器的亮度。MAX7219 通过 D11D84 位地址位译码,可寻址 14 个内部寄存器,分别是 8 个 LCD 显示位寄存器,5 个控制寄存器和 1 个空操作寄存器。LCD 显示寄存器由内部 88 静态 RAM 构成,操作者可直接对位寄存器进行个别寻址, 以刷新和保持数据, 只要 V 超过 2 V(一般为 5V)。 控制寄存器包括: 译码模式, 显示亮度调节, 扫描限制(选择扫描位数),关断和显示测试寄存器。MAX7219 的驱动程序首先必须对 5 个控制寄存器初始设置即初始化, 各控制寄存器设置含义如下:译码模式选择寄存器(地址 F9H);MAX7219 有两种译码方式:B 译码方式和不译码方式。当选择不译码时, 8 个数据为分别一一对应 7 个段和小数点位;B 译码方式是 BCD 译码,直接送数据就可以显示。实际应用中可以按位设置选择 B 译码或是不译码方式。扫描限制寄存器: 地址FBH; 用于设置显示的 LCD 个数( 18 ) , 比如当设置为 0X4 时,LCD 05 显示。亮度调节寄存器: 地址FAH;共有 16 级选择,用于 LCD 显示亮度的强弱设置。关断模式寄存器:地址FCH;有两种模式选择:一种是关断状态模式(D00);一种是正常操作状态(D01),通常选择正常操作状态。显示测试寄存器:地址FFH;有两种选择用于设置 LCD 是测试状态还是正常操作状态:当在测试状态时(D01)各位全应亮,一般选择正常操作状态(D0 0) 。2013 届本科毕业设计(论文)2.3 主要单元电路的设计2.3.1 显示电路显示部分采用普通的共阴数码管显示,采用动态扫描,以减少硬件电。表 2-2 MAX7219 引脚功能引脚号 名称 功能说明1 DIN 串行线输入端。在 CLK 的上升沿数据被锁入芯片内部 16 为移位寄存器。2、3、5-8、10、11DIG0-DIC78 位 LCD 位选线,从共阴极 LCD 中吸入电流4、9 GND 两地为线 GND 必须接在一起12 LOAD 锁入输入的数据在 LAD 的上升沿最后的 16 位串行数据被锁入13 CLK 时钟输入,最高时钟频率 10Mz,在 CLK 的上升沿数据部额锁入内部一位寄存器。在 CLK 下降沿,数据从 DOUT 脚被输出。14-1720-23SegA-SegC.DP7 段驱动和小数点驱动18 ISET 该脚通过一个电阻与 V 相连,设置峰值段电流。19 V+ 电源电压 5V24 DOUT 串行数据输出,输入到 DIN 的数据在 16.5 个周期后在 DOUT 脚发出,该脚用于与级联扩展。路。年月日时分秒星期共需要 17 位数码显示,考虑到一次扫描 17 位数码管显示时会出现闪烁情况,故采用动态扫描,可将数码管数量减少至2013 届本科毕业设计(论文)图 2-1 max72199 位,也就是两个四位一体八段 LCD 显示数码管和一个一位 LCD 数码管设计时数码管同时扫描,显示时采用串行口输出段码,用 MAX7219 驱动数码管。如图 2-1 所示2.3.2 键盘接口键盘在单片机系统中是一个很重要的部件。为了输入数据、查询和控制系统的工作状态,都要用到键盘,键盘是人工干预计算机的主要手段。键盘可分为编码和非编码键盘两种。编码键盘采用硬件线线路来实现键盘编码,每按下一个键,键盘能自动生成按键代码,键数较多,而且还具有去抖动功2013 届本科毕业设计(论文)能。这种键盘使用方便,但硬件较复杂,PC 机所用的键盘就属于这种。非编码键盘仅提供按键开关工作状态,其他工作由软件完成,这种键盘键数较少,硬件简单,一般在单片机应用系统中广泛使用。此处主要介绍该类非编码键盘及其与MCS51 型单片机的接口。1.按键开关去抖动问题按键开关在电路中的连接如图所示。按键未按下时,A 点电位为高电平5V;按键按下时,A 点电位为低电平。A 点电位就用于向 CPU 传递按键的开关状态。但是由于按键的结构为机械弹性开关,在按键按下和断开时,触点在闭合和断开瞬间还会接触不稳定,引起 A 点电平不稳定,如图 2-11b 所示,键盘的抖动时间一般为 510ms,抖动现象会引起 CPU 对一次键操作进行多次处理,从而可能产生错误。因此必须设法消除抖动的不良后果。如图 2-2 所示:图 2-2 键操作和键抖动消除抖动的不良后果的方法有硬、软件两种。为了节省硬件,通常在单片机系统中,一般不采用硬件方法消除键的抖动,而是用软件消除抖动的方法。根据抖动特性,在第一次检测到按键按下后,执行一段延时 510ms 让前延抖动消失后再一次检测键的状态,如果仍保持闭合状态电平,则确认真正有键按下。当检测到按键释放后,也要给 510ms 的延时,待后延抖动消失后才转入该键处理程序。2. 查询式按键及其接口按照键盘与 CPU 的连接方式可以分为查询按键和矩阵式键盘。查询式按键是各按键相互独立,每个按键占用一根 I/O 口线,每根 I/O 口线上的按键工作状态不会影响其他 I/O 口线上按键的工作状态。查询式按键电路配置灵活,软件结2013 届本科毕业设计(论文)构简单,但每个按键必须占用一根 I/O 口线,在按键数量较多时,I/O 口线浪费较大,且电路结构显得繁杂。故这种形式适用于按键数量较少的场合。3. 矩阵式键盘及其接口矩阵式键盘又称行列式键盘,有 n 个行线和 m 个列线,经限流电阻接 +5V 电源上,按键跨接在行线和列线上,nm 行列结构可构成 mn 个按键,组成一个键盘。与独立式按键相比,mn 个按键只占用 m+n 根 I/O 口线,因此适用于按键较多的场合。当无键闭合时,相应的 I/O 之间开路。当有键闭合时,与闭合键相连接的两条 I/O 口线之间短路。判断有无键按下的方法是:第一步,置列线相关 I/O 口为输入态,从行线相对应的 I/O 口输出低电平,读入列线数据,若某一列线为低电平,则该列线上有键闭合。第二步,置行线相关 I/O 口输出低电平,读入列线数据,若某一列线为低电平,则该列线上有键闭合。综合一二两步的结果,可确定按键编号。但是键闭合一次只能进行一次键功能操作,因此须等待近按键释放后,再进行键功能操作,否则按一次键,有可能会连续多次进行同样的键操作。4. 键盘扫描控制方式在单片机应用系统中,对键盘的处理工作仅是 CPU 工作内容的一部分,CPU还要进行数据处理、显示和其他输入输出操作,因此键盘处理工作既不能占用CPU 太多时间,又需要 CPU 对键盘操作及时作出响应。CPU 对键盘处理控制的工作方式有以下几种:1. 程序控制扫描方式程序控制扫描方式是在 CPU 工作空余,调用键盘扫描子程序,响应键输入信号要求。2. 定时控制扫描方式定时控制扫描方式是利用定时/计数器每隔一段时间和生定时中断, CPU 响应中断后对键盘进行扫描,并在有键闭合时转入该键的功能子程序。3. 中断控制扫描方式中断控制扫描方式是利用外部中断源,响应输入信号。当无按键按下时,CPU 执行正常工作程序。当有按键按下时,CPU 立即产生中断。在中断服务子程序中扫描键盘,判断是哪一个键被按下,然后执行该键的功能子程序。这种控制方式克服了前两种控制方式可能产生的空扫描和不能及时响应键输入的缺点,既2013 届本科毕业设计(论文)能及时处理键输入,又能提高 CPU 运行效率,但要占用一个宝贵的中断资源。图即工作于中断方式的矩阵式键盘接口电路。在初始化时 P1.4P1.7 置输出0,P1.0P1.3 置为输入态,P1.0P1.3 分别接至与门各输入端。当有键闭合时INTO=0,CPU 中断后,在中断服务子程序中,再完成键识别和键功能处理。本设计提供了解 2 个按钮的小键盘,向 P1 口输出低电平,如果有键盘断按下什么键。在有键按下后,有一定的延时,防止键盘抖动。如图 2-3 所示:图 2-3 工作于中断方式的矩阵式键盘接口电路2.3.3 时钟电路DS1302 工作方式简介及数据操作原理。DS1302 可以对年、月、日、星期、时、分、秒进行计时, 且具有闰年补偿功能, 工作电压宽达 2.55.5V。采用三线接口与 CPU 进行同步通信, 并可采用突发方式一次传送多个字节的时钟信号或 RAM 数据。DS1302 内部有一个 33x8 的用于临时性存放数据的 RAM 寄存器。DS1302 是的 DS1202 升级产品, 与 DS1202兼容, 但增加了主电源/后背电源双电源引脚, 同时提供了对后背电源进行涓细电流充电的能力。DS1302 时钟芯片包括实时时钟/日历和 31 字节的静态 RAM。它经过一个简单的串行接口与微处理器通信。实时时钟/日历提供秒、分、时、日、周、月和年2013 届本科毕业设计(论文)等信息。对于小于 31 天的月和月末的日期自动进行调整,还包括闰年校正的功能。时钟的运行可以采用 24 时或带 AM/PM 的 12 小时格式。采用三线接口与 CPU 进行同步通信,并可采用突发方式一次传送多字节的时钟信号或 RAM 数据。DS1302 有主电源/后备电源双电源引脚:Vcc1 在单电源与电池供电的图 2-4 DS1302系统中提供低电源,并提供低功率的电磁备份;Vcc1 在双电池系统中提主电源。在这种运行方式中,Vcc1 里连接到后备电源,以便在没有主电源的情况下能保存时间信息以及数据。DS1302 由 Vcc1 或 Vcc2 中较打大者供电。当Vcc2(Vcc1+0.2V)时, Vcc2 给 DS1302 供电;当 Vcc2Vcc1 时,DS1302 由Vcc1 供电。DS1302 在任何数据传送时必须先初始化,把 RST 脚置为高电平,然后把 8 位地址和命令字装入移位寄存器,数据在 SCLK 的上升沿被访问到。在开始 8 个时钟周期,把命令字节装入移位寄存器后,另外的时钟周期在读操作时输出数据,在写操作时写入数据。时钟脉冲的个数在单字节方式下为 8+8,在多字节方式下为 8+字节数,最大可达 248 字节数。如果在传送过程中置 RST 脚为低电平,则会终止本次数据传送,并且 I/O 引脚变为高阻态。上电运行时,在 Vcc2.5V 之前,RST 脚必须保持低电平。只有在 SCLK 为低电平时,才能将 RST 置为高电平。DS1302 的控制字如图 2-4 所示。控制字节的最高有效位(位 7)必须是逻辑2013 届本科毕业设计(论文)1,如果它为 0,则不能把数据写入到 DS1302 中。位 6 如果为 0,则表示存取日历时钟数据;为 1 则表示存取 RAM 数据。位 51(A4A0)指示操作单元的地址。最低有效位(位 0)如果为 0,则表示药进行写操作;为 1 表示进行读操作。控制字节总是从最低位开始输入/输出。为了提高对 32 个地址寻址能力(地址/命令位 15=逻辑 1),可以把时钟/日历或 RAM 寄存器规定为多字节(burst)方式。位 6 规定时钟或 RAM,而位 0 规定读或写。在时钟/日历寄存器中的地址 931 或 RAM 寄存器中的地址 31 不能存储数据。在多字节方式下,读或写从地址 0 的位 0 开始。必须按数据传送的次序写最先的 8 个寄存器。但是,当以多字节方式写 RAM 时,为了传送数据不必写所有的 31 字节,不管是否谢了全部 31 字节,所写的每一字节都将传送至 RAM。DS1302 共有 12 个寄存器,其中有 7 个寄存器与日历、时钟相关,存放的数据位为 BCD 码形式。其日历、时间寄存器及其控制字如表 2-3 所示,其中奇数为读操作,偶数为写操作。表 2-3 DS1302 控制字命令字 各位内容寄存器名写操作 读操作 取值范围 7 6 5 4 3 2 1 0秒寄存器 80H 81H 00-59 CH 10SEC SEC分寄存器 82H 83H 00-59 0 10MIN MIN时寄存器 84H 85H 01-12 或 00-23 12/24 0 10 HR HR日寄存器 86H 87H 01-28,29,30,31 0 0 10DATE DATE2013 届本科毕业设计(论文)月寄存器 88H 89H 01-12 0 0 0 10M MONTH周寄存器 8AH 8BH 01-07 0 0 0 0 0 DAY年寄存器 8CH 8DH 00-99 10YEAR YEAR时钟暂停:秒寄存器的位 7 定义位时钟暂停位。当它为 1 时,DS1302 停止振荡,进入低功耗的备份方式,通常在对 DS1302 进行写操作时(如进入时钟调整程序),停止振荡。当它为 0 时,时钟将开始启动。AM-PM/12-24 小时方式:小时寄存器的位 7 定义为 12 或 24 小时方式选择位。它为高电平时,选择 12 小时方式。在此方式下,位 5 为第二个 10 小时位(2023h) 。DS1302 的晶振选用 32768Hz,电容推荐值为 6pF。因为振荡频率较低,也可以不接电容,对计时精度影。第 3 章系统软件设计3.1 软件设计思想程序的设计主要有 T0 中断服务程序,动态显示程序,数字分离程序,键盘扫描程序,键处理程序,设置时间,设置年月日初值,判闰年程序,清除显示缓2013 届本科毕业设计(论文)冲区程序这几个功能模块。运用汇编语言,设计一个简单的电子日历,在 6 位 LCD 七段显示器动态的显示出来 年、月、日、和时、分、秒,实现计时,秒到 60,分加 1 分到 60,时加 1 在通过键盘按键的切换小时到 24 时天加 1,由于公历是比较有规律的,1、3、5、7、8、10、12 月为大月,每月 31 天;4、6、9、11 月为小月,每月只有 30 天;而 2 月份,则要根据当前的年份来决定,平年,2 月份有 28 天,闰年,2 月份有 29 天。所以处理 2 月份天数前要先判断是平年还是闰年。因为每个月份的天数不同,则需要设置一个月值表,通过查表找到相应月的天数,先判断到哪个月份,再从月份表中查出此月份的天数值。实现月加 1,月到 12 时候年再加1.,还需请注意:平年与闰年的二月份的天数不同,平年二月 28 天,闰年的二月29 天3.2 程序设计模块1. 本程序采用模块化设计的方法,主要由主函数,显示模块,判断是否闰年模块,提取系统日期模块组成以下是对各个模块的说明:(1) 主函数。主函数体现着本程序设计的基本思路。从程序流程图上可以看到主函数执行的过程,这里不再赘述。需要注意的是主程序中有一段循环结构,其作用是为了等待停止中断服务的申请,即键盘按键,一旦检测到有键盘按键,则跳出循环,根据按键的内容来判断下一步应要做什么。(2) 显示模块。程序中 INITJM 子程序,作为显示界面的初始化程序,主要实现显示输入字符提示语和显示当前日期的提示语,根据光标定位的不同分别将其显示在不同的位置。2 . 主要模块流程图2013 届本科毕业设计(论文)开始堆栈初始化 , 显示状态标志初始将 ( 2 0 H ) - P 1调用 S H E Z H I , 设置年月日初值重置显示状态标志1 0 - ( 4 0 H )开中断T O 工作于方式 1设初值 , 计时将 T R O 置 1调用 K E Y调用 K E Y C图 3-1 主程序流程图3. R0 为计时单元地址,R1 为显示缓冲区地址。因为时分秒,都需分离,则设置 R2 的循环次数为 3。先将 41H 单元内的时传送给累加器 A,再与 0F 与,保留低四位,这样就使得时的低位被分离出来了。分离后送与显示缓冲区 R1 的 50H单元。再将 41H 单元内的时传送给累加器 A ,使高低位交换。交换之后,再与0F 进行与运算。使时的高位也分离出来 ,并送给显示缓冲区的 51H 单元内。分和秒的分离方法与时一样,最终的分离结果为:时分秒在 50H55H 内显示。同理,年月日,其分离方法也是同时分秒的分离原理一样。其分离程序的流程图如图 3-2 所示:2013 届本科毕业设计(论文). 存放时分秒区单元( 0 0 H ) 不等于 1 ?存放年月日单元(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 菌群移植生物标志物-第1篇-洞察及研究
- 油墨厂搅拌桨磨损细则
- 江苏省苏州市昆山市秀峰中学2025-2026学年上学期七年级9月月考数学卷(含答案)
- 2024-2025学年湖南省张家界市高二(下)期末物理试卷(含答案)
- 印刷厂油墨存储管理规定
- 手受伤后安全培训课件
- 社区结构预测-洞察及研究
- 手势小星星课件
- 中国银行新员工思想汇报模板图文
- 咨询工程师《项目决策分析与评价》考试题(附答案)
- ISO 22000-2018食品质量管理体系-食品链中各类组织的要求(2023-雷泽佳译)
- 卡巴斯基应急响应指南
- 理财规划大赛优秀作品范例(一)
- 2023年四川能投筠连电力招聘笔试参考题库附带答案详解
- 护理管理组织结构与设计
- 静配中心清洁消毒考核试题
- 一级烟草专卖管理师理论考试题库(含答案)
- 小学数学《分数除法》50道应用题包含答案
- 碳捕集、利用与封存技术课件
- 化工试生产总结报告
- 复句与单句的辨析课件
评论
0/150
提交评论