电子万年历毕业设计报告模板.doc
《电子万年历毕业设计报告模板.doc》由会员分享,可在线阅读,更多相关《电子万年历毕业设计报告模板.doc(76页珍藏版)》请在咨信网上搜索。
电子万年历毕业设计报告 - 76 - 资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。 鸡西大学 设计论文 论文题目: 电子万年历 系 部: 电信系 专 业: 自动化 班 级: 08级1班 学生姓名: 王泽栋 学 号: 指导教师: 窦岩 6月 24日 目 录 摘要 ……………………………………………………………………….……………3 绪论 ……………………………………………………………………….……………5 第1章 设计要求与方案论证…………………………………………………………7 1.1 引言…………………………………………………………………….……………7 1.2 功能要求.…………………………………………………………….………………7 1.3方案论证……………………………………………………………..………………7 第2章 系统硬件电路设计 ………………………………………….………………11 2.1 电路设计………………………………………………………………….…………11 2.2 系统硬件概述………………………………………………………………………15 2.3主要单元电路的设计…………………………………………………………………15 第3章 系统的软件设计………………………………………………….……………22 3.1程序设计………………………………………………………………………………22 3.2程序设计流程图………………………………………………………………………22 第4章 结束语…………………………………………………………….……………24 参考文献………………………………………………………………………………….26 附录( 程序清单) …………………………………………………………………………27 摘要 随着社会、 科技的发展, 人类得知时间, 从观太阳、 摆钟到现在电子钟, 不断研究、 创新。为了在观测时间的同时, 能够了解其它与人类密切相关的信息, 比如温度、 星期、 日期等, 电子万年历诞生了, 它集时间、 日期、 星期和温度功能于一身, 具有读取方便、 显示直观、 功能多样、 电路简洁等诸多优点, 符合电 子仪器仪表的发展趋势, 具有广阔的市场前景。 该电子万年历主要采用AT89C51单片机作为主控核心, 由DS1302时钟芯片提供时钟、 LED动态扫描显示屏显示。AT89C51单片机是由Atmel公司推出的, 功耗小, 电压可选用4~6V电压供电; DS1302时钟芯片是美国DALLAS公司推出的具有涓细电流充电功能的低功耗实时时钟芯片, 它能够对年、 月、 日、 星期、 时、 分、 秒进行计时, 还具有闰年补偿等多种功能, 而且DS1302的使用寿命长, 误差小; 数字显示是采用的LED液晶显示屏来显示, 能够同时显示年、 月、 日、 星期、 时、 分、 秒和温度等信息。另外, 该电子万年历还具有时间校准等功能。 关键词: 时钟电路; 时钟芯片DS1302; LED动态扫描; 单片机AT89C51; MAX7219; Abstract With the society, science and technology, mankind learned that time, from the view of the sun, to the present electronic clock pendulum clock, continuous research and innovation. Observation time in the same time, be able to understand other human beings is closely related to information, such as temperature, week, date and so on, the birth of the electronic calendar, and it set the time, date, week and temperature-in-one, with easy to read, intuitive display functional diversity, and many other advantages of simple circuit with the electronic instrumentation of the development trend of the. market prospects are broad The main use of the electronic calendar AT89C51 single-chip microcomputer as the main core, provided by the DS1302 clock chip clock, DS18B20 the temperature chip acquisition transition temperature, LED display shows the dynamic scan. AT89C51 single-chip microcomputer is introduced by Atmel Corporation, a small power consumption, voltage can be selected 4 ~ 6V power supply voltage; DS1302 clock chip is introduced DALLAS fine with trickle charge function of current low-power real-time clock chip, which can of the year, month, day, week, hour, minute, second for time, also has multiple functions, such as a leap year compensation, and long life of the DS1302, a small error; DS18B20 temperature chip is a digital temperature sensor with a measurement accuracy high, a simple circuit to connect the characteristics of such sensors only need a data cable for data transmission; digital LED display is used to display LCD screen, can display year, month, day, week, hour, minute, second and temperature, etc. information. In addition, the electronic calendar is also a time-calibration functions. Keywords: clock circuit; clock chip DS1302; LED dynamic scanning; single-chipAT89C51; MAX7219 绪论 随着人们生活水平的提高和生活节奏的加快, 对时间的要求越来越高, 精准数字计时的消费需求也是越来越多。 二十一世纪的今天, 最具代表性的计时产品就是电子万年历, 它是近代世界钟表业界的第三次革命。第一次是摆和摆轮游丝的创造, 相对稳定的机械振荡频率源使钟表的走时差从分级缩小到秒级, 代表性的产品就是带有摆或摆轮游丝的机械钟或表。第二次革命是石英晶体振荡器的应用, 创造了走时精度更高的石英电子钟表, 使钟表的走时月差从分级缩小到秒级。第三次革命就是单片机数码计时技术的应用( 电子万年历) , 使计时产品的走时日差从分级缩小到1/600万秒, 从原有传统指针计时的方式发展为人们日常更为熟悉的夜光数字显示方式, 直观明了, 并增加了全自动日期、 星期、 温度以及其它日常附属信息的显示功能, 它更符合消费者的生活需求! 因此, 电子万年历的出现带来了钟表计时业界跨跃性的进步…… 中国生产的电子万年历有很多种, 总体上来说以研究多功能电子万年历为主, 使万年历除了原有的显示时间, 日期等基本功能外, 还具有闹铃, 报警等功能。商家生产的电子万年历更从质量, 价格, 实用上考虑, 不断的改进电子万年历的设计, 使其更加的具有市场。 本设计为软件, 硬件相结合的一组设计。在软件设计过程中, 应对硬件部分有相关了解, 这样有助于对设计题目的更深了解, 有助于软件设计。基本的要了解一些主要器件的基本功能和作用。 除了采用集成化的时钟芯片外, 还有采用MCU的方案, 利用AT89系列单片微机制成万年历电路, 采用软件和硬件结合的方法, 控制LED数码管输出, 分别用来显示年、 月、 日、 时、 分、 秒, 其最大特点是:硬件电路简单, 安装方便易于实现, 软件设计独特,可靠。AT89C51是由ATMEL公司推出的一种小型单片机。95年出现在中国市场。其主要特点为采用Flash存贮器技术, 降低了制造成本, 其软件、 硬件与MCS-51完全兼容, 能够很快被中国广大用户接受。 本文介绍了基于AT89C51单片机设计的电子万年历。 首先我们在绪论中简单介绍了单片机的发展与其在中低端领域中的优势以及课题的开发意义; 接着介绍了AT89C51单片机的硬件结构和本毕业设计所要外扩的LED显示及其驱动方法, 并在此基础上实现了万年历基本电路的设计; 然后使用单片机汇编语言进行万年历程序的设计, 程序采用模块化结构, 使得逻辑关系简单明了, 维护方便。 第1章 设计要求与方案论证 1.1 引言 随着电子技术的发展, 人类不断研究, 不断创新纪录。万年历当前已经不再局限于以书本形式出现。以电脑软件或者电子产品形式出现的万年历被称为电子万年历。与传统书本形式的万年历相比, 电子万年历得到了越来越广泛的应用, 采用电子时钟作为时间显示已经成为一种时尚。当前市场上各式各样的电子时钟数不胜数, 但多数是只针对时间显示, 功能单一不能满足人们日常生活需求。 本文提出了一种基于AT89C51单片机的万年历设计方案, 本方案以AT89C51单片机作为主控核心, 与时钟芯片DS1302、 按键、 LED显示等模块组成硬件系统。在硬件系统中设有独立按键和LED显示器, 能显示丰富的信息, 根据使用者的需要能够随时对时间进行校准、 选择时间等, 综上所述此万年历具有读取方便、 显示直观、 功能多样、 电路简洁、 成本低廉等诸多优点, 符合电子仪器仪表的发展趋势, 具有广阔的市场前景。 1.2功能要求 本电子万年历能动态显示年、 月、 日、 星期、 小时、 分钟、 秒 1.3方案论证 1.3.1 技术可行性 随着国内超大规模集成电路的出现, 微处理器及其外围芯片有了迅速的发展。集成技术的最新发展之一是将CPU和外围芯片, 如程序存储器、 数据存储器、 并行I/O口、 串行I/O口、 定时/计数器、 中断控制器及其它控制部件集成在一个芯片之中, 制成单片计算机( Single-Chip Microcomputer) 。而近年来推出的一些高档单片机还包括有许多特殊功能单元, 如A/D、 D/A转换器、 调制解调器、 通信控制器、 锁相环、 DMA、 浮点运算单元、 PWM控制输出单元、 PWM输出时的死区可编程控制功能等。因此, 只要外加一些扩展电路及必要的通道接口就能够构成各种计算机应用系统, 如工业流水线控制系统、 作为家用电器的主控制器、 分布式控制系统的终端节点或作为其主控制节点起中继的作用、 数据采集系统、 自动测试系统等。 单片机的出现, 并在各技术领域中得到如此迅猛的发展, 与单片机构成计算机应用系统所形成的下述特点有关: 1、 单片机构成的应用系统有较大的可靠性。这些可靠性的获得除了依靠单片机芯片本身的高可靠性以及应用有最少的联接外, 还能够方便地采用软、 硬件技术。 2、 系统扩展、 系统配置较典型、 规范, 容易构成各种规模的应用系统, 应用系统有较高的软、 硬件利用系数。 3、 由于构成的应用系统是一个计算机系统, 相当多的测、 控功能由软件实现, 故具有柔性特征, 不须改变硬件系统就能适当地改变系统功能。 4、 有优异的性能、 价格比。 1.3.2 单片机的选择 方案一: 采用传统的AT89C51作为电机的控制核心。单片机算术运算功能强, 软件编程灵活、 自由度大, 可用软件编程实现各种算法和逻辑控制, 而且由于其功耗低、 体积小、 技术成熟和成本低等优点, 使其在各个领域应用广泛。 方案二: 采用FTC10F04单片机, 还带有非易失性Flash程序存储器。它是一种高性能、 低功耗的8位CMOS微处理芯片, 市场应用最多。其主要特点如下: 8KB Flash ROM, 能够擦除1000次以上, 数据保存 。 由于本系统对CPU运算速度要求很高, 需要执行很复杂的运算, 方案一成本比较低, 适合做设计, 方案二运算速度高, 性能好, 因此两种方案都有可取之处。选用方案一作为主方案, 方案二作为备用方案。 1.3.3 显示模块的选择 方案一: 使用液晶显示屏显示时间数字。 液晶显示屏( LCD) 具有轻薄短小、 低耗电量、 无辐射危险, 平面直角显示以及影象稳定不闪烁等优势, 可视面积大, 画面效果好, 分辨率高, 抗干扰能力强等特点。但由于液晶是以点阵的模式显示各种符号, 需要利用控制芯片创立字符库, 编程工作量大, 控制器的资源占用较多, 其成本也偏高。在使用时, 不能有静电干扰, 否则易烧坏液晶的显示芯片, 不易维护。 方案二: 使用传统的LED数码管显示。 数码管具有: 低能耗、 低损耗、 低压、 寿命长、 耐老化、 防晒、 防潮、 防火、 防高( 低) 温, 对外界环境要求低, 易于维护, 同时其精度比较高, 称重轻, 精确可靠, 操作简单。数码管采用BCD编码显示数字, 程序编译容易, 资源占用较少。 根据以上的论述, 采用方案二。在本系统中, 我们采用了八段四位一体数码管串口的动态显示, 由于显示位数较多, 故应使用显示驱动, 在本设计中采用MAX7219显示驱动芯片。 1.3.4 键盘模块的选择 在对日期和时间进行切换, 对日期和时间进行调节校准过程中, 系统需要产生激励电流, 因此需要用按键。 方案一: 使用独立式键盘。独立式键盘是指直接用I/O口线构成的单个按键电路。独立式按键电路配置灵活, 软件结构简单。 方案二: 使用矩阵式键盘。矩阵式键盘是由行线和列线组成, 按键位于行、 列的交叉点上, 行线、 列线分别连接到按键开关的两端。其特点是简单且不增加成本, 这种键盘适合按键数量较多的场合。 根据以上的论述, 因本系统需要的按键不多, 星期加1键, 日期加1键, 月数加1键, 年数加1键, 秒数加1键, 分数加1键, 时数加1键, 时间/日期切换键, 要求简单。因此采用方案一独立式键盘。 1.3.5总体方案论证与选择 按照系统设计功能的要求, 初步确定系统由主控模块、 时控模块、 显示驱动及显示模块和键盘接口模块共4个模块组成, 电路系统构成框图如图所示。 时钟电路 ( DS1302) 主控电路 ( 89C51) 键扫描电路 显示驱动 ( max7219) 主控芯片使用51系列AT89C51单片机, 时钟芯片使用美国DALLAS公司推出的一种高性能、 低功耗、 带RAM的实时时钟DS1302。采用DS1302作为计时芯片, 能够做到计时准确。更重要的是, DS1302能够在很小电流的后备电源( 2.5~5.5V电源, 再2.5V时耗电小于300nA) , 而且DS1302 能够编程选择多种充电电流来队后备电源进图 LED显示电路 电子万年历电路系统构成框图 行慢速充电, 能够保证后备电源基本不耗电。显示驱动采用MAX7219, MAX7219 是微处理器和共阴极八段八位LED 数码管显示、 图条/柱图显示或64 点阵显示接口的小型串行输入/输出芯片。片内包括BCD 译码器、 多路扫描控制器、 字和位驱动器和8×8 静态RAM。外部只需要一个电阻设置所有LED 显示器字段电流。MAX7219 和微处理器只需三根导线连接, 每位显示数字有一个地址由微处理器写入。允许使用者选择每位是BCD 译码或不译码。使用者还可选择停机模式、 数字亮度控制、 从1~8 选择扫描位数和对所有LED 显示器的测试模式。显示模块采用普通的共阴极四位一体八段LED数码管。 第2章 系统硬件电路的设计 2.1电路设计 图示为电子万年历电路设计原理图, 系统由主控制器AT89C51、 时钟电路DS1302、 显示驱动MAX7219电路, 显示电路及键扫描电路组成。 2.2系统硬件概述 2.2.1主控制器AT89C51 ATMEL公司生产的AT89C51单片机采用高性能的静态80C51设计, 并采用先进工艺制造, 还带有非易失性Flash程序存储器。它是一种高性能、 低功耗的8位CMOS微处理芯片, 市场应用最多。其主要特点如下: 8KB Flash ROM, 能够擦除1000次以上, 数据保存 。 ● 256字节内部RAM; ● 电源控制模式; ● 时钟可停止和恢复; ● 空闲模式; ● 掉电模式; ● 6个中断源; ● 4个中断优先级; ● 4个8位I/O口; ● 全双工增强型TUAR; ● 3个16位定时/计数器: T0、 T1(标准80C51)和增加的T2( 捕获和比较) ● 全静态工作方式: 0~24MHZ 2.2.2时钟电路DS1302 DS1302的性能特性: ● 实时时钟, 可对秒、 分、 时、 日、 周、 月以及带闰年补偿的年进行比较; ● 用于高速数据暂存的31*8位RAM; ● 最少引脚的串行I/O; ● 2.5~5.5V电压工作范围; ● 2.5V时耗小于300nA; ● 用于时钟或RAM数据读/写的单字节或多字节( 脉冲方式) 数据传送方式; ● 简单的三线接口; ● 可选的慢速充电( 至Vcc1) 的能力。 DS1302在任何数据传送时必须先初始化, 把RST脚置为高电平, 然后把8位地址和命令字装入移位寄存器, 数据在SCLK的上升沿被访问到。在开始8个时钟周期, 把命令字节装入移位寄存器后, 另外的时钟周期在读操作时输出数据, 在写操作时写入数据。时钟脉冲的个数在单字节方式下为8+8, 在多字节方式下为8+字节数, 最大可达248字节数。如果在传送过程中置RST脚为低电平, 则会终止本次数据传送, 而且I/O引脚变为高阻态。上电运行时, 在Vcc≥2.5V之前, RST脚必须保持低电平。只有在SCLK为低电平时, 才能将RST置为高电平。 DS1302的控制字如图所示。控制字节的最高有效位( 位7) 必须是逻辑1, 如果它为0, 则不能把数据写入到DS1302中。位6如果为0, 则表示存取日历时钟数据; 为1则表示存取RAM数据。位5~1( A4~A0) 指示操作单元的地址。最低有效位( 位0) 如果为0, 则表示药进行写操作; 为1表示进行读操作。控制字节总是从最低位开始输入/输出。 为了提高对32个地址寻址能力( 地址/命令位1~5=逻辑1) ,能够把时钟/日历或RAM寄存器规定为多字节( burst) 方式。位6规定时钟或RAM, 而位0规定读或写。在时钟/日历寄存器中的地址9~31或RAM寄存器中的地址31不能存储数据。在多字节方式下, 读或写从地址0的位0开始。必须按数据传送的次序写最先的8个寄存器。可是, 当以多字节方式写RAM时, 为了传送数据不必写所有的31字节, 不论是否谢了全部31字节, 所写的每一字节都将传送至RAM。 DS1302共有12个寄存器, 其中有7个寄存器与日历、 时钟相关, 存放的数据位为BCD码形式。其日历、 时间寄存器及其控制字如下表所示, 其中奇数为读操作, 偶数为写操作。 时钟暂停: 秒寄存器的位7定义位时钟暂停位。当它为1时, DS1302停止振荡, 进入低功耗的备份方式, 一般在对DS1302进行写操作时( 如进入时钟调整程序) ,停止振荡。当它为0时, 时钟将开始启动。 AM-PM/12-24小时方式: 小时寄存器的位7定义为12或24小时方式选择位。它为高电平时, 选择12小时方式。在此方式下, 位5为第二个10小时位( 20~23h) 。 DS1302的晶振选用32768Hz, 电容推荐值为6pF。因为振荡频率较低, 也能够不接电容, 对计时精度影响不大。 2.2.3 显示驱动MAX7219 ● MAX7219 和单片计算机连接有三条引线( DIN、 CLK、 LOAD) , 采用16 位数据串行移位接收方式 ● 八位LED 显示、 图条/柱图显示或64 点阵显示 ● 包括BCD 译码器、 多路扫描控制器、 字和位驱动器和8×8 静态RAM ● 可选择停机模式、 数字亮度控制、 从1~8 选择扫描位数和对所有LED 显示器的测试模式 ● 最多能驱动8 位LED 显示器 ● 内部RAM 地址01~08H 分别对应于DIG0~DIG7。 ● 扫描界限寄存器( 地址0BH) : 该寄存器中D0~D3 位数据设定值为0~7H, 设定值表示显示器动态扫描个数位1~8。 ● 停机寄存器( 地址0CH) : 当D0=0 时, MAX721 处于停机状态; 当D0=1 时, 处于正常工作状态。 ● 显示测试寄存器( 地址0FH) : 当D0=0时, MAX7219 按设定模式正常工作; 当D0=1 时, 处于测试状态。在该状态下, 不论MAX7219 处于什么模式, 全部LED 将按最大亮度显示。 ● 亮度寄存器( 地址0AH) : 亮度能够用硬件和软件两种方法调节亮度寄存器中的D0~D3位能够控制LED 显示器的亮度。 MAX7219 经过D11~D84 位地址位译码,可寻址14 个内部寄存器,分别是8 个LED 显示位寄存器,5 个控制寄存器和1 个空操作寄存器。 LED 显示寄存器由内部8 × 8 静态RAM 构成,操作者可直接对位寄存器进行个别寻址, 以刷新和保持数据, 只要V +超过2 V(一般为+ 5V)。 控制寄存器包括: 译码模式, 显示亮度调节, 扫描限制(选择扫描位数),关断和显示测试寄存器。 MAX7219 的驱动程序首先必须对5 个控制寄存器初始设置即初始化, 各控制寄存器设置含义如下:译码模式选择寄存器(地址= F9H);MAX7219 有两种译码方式:B 译码方式和不译码方式。当选择不译码时, 8 个数据为分别一一对应7 个段和小数点位;B 译码方式是BCD 译码,直接送数据就能够显示。实际应用中能够按位设置选择B 译码或是不译码方式。 扫描限制寄存器: 地址= FBH;用于设置显示的LED 个数( 1 ~8 ) , 比如当设置为0xX4 时,LED 0~5 显示。 亮度调节寄存器: 地址= FAH;共有16 级选择,用于LED 显示亮度的强弱设置。 关断模式寄存器:地址= FCH;有两种模式选择:一种是关断状态模式(D0 = 0);一种是正常操作状态(D0 = 1),一般选择正常操作状态。 显示测试寄存器:地址= FFH;有两种选择用于设置LED 是测试状态还是正常操作状态:当在测试状态时(D0 = 1)各位全应亮,一般选择正常操作状态( D0 = 0) 。 2.3主要单元电路的设计 2.3.1显示电路 显示部分采用普通的共阴数码管显示, 采用动态扫描, 以减少硬件电 MAX7219引脚功能 路。年月日时分秒星期共需要17位数码显示, 考虑到一次扫描17位数码 管显示时会出现闪烁情况, 故采用动态扫描, 可将数码管数量减少至9位, 也就是两个四位一体八段LED显示数码管和一个一位LED数码管设计时数码管同时扫描, 显示时采用串行口输出段码, 用MAX7219驱动数码管。 MAX7219 2.3.2键盘接口 键盘在单片机系统中是一个很重要的部件。为了输入数据、 查询和控制系统的工作状态, 都要用到键盘, 键盘是人工干预计算机的主要手段。 键盘可分为编码和非编码键盘两种。编码键盘采用硬件线线路来实现键盘编码, 每按下一个键, 键盘能自动生成按键代码, 键数较多, 而且还具有去抖动功能。这种键盘使用方便, 但硬件较复杂, PC机所用的键盘就属于这种。非编码键盘仅提供按键开关工作状态, 其它工作由软件完成, 这种键盘键数较少, 硬件简单, 一般在单片机应用系统中广泛使用。此处主要介绍该类非编码键盘及其与MCS—51型单片机的接口。 2.3.2.1按键开关去抖动问题 按键开关在电路中的连接如图所示。按键未按下时, A点电位为高电平5V; 按键按下时, A点电位为低电平。A点电位就用于向CPU传递按键的开关状态。可是由于按键的结构为机械弹性开关, 在按键按下和断开时, 触点在闭合和断开瞬间还会接触不稳定, 引起A点电平不稳定, 如图2-11b所示, 键盘的抖动时间一般为5~10ms, 抖动现象会引起CPU对一次键操作进行多次处理, 从而可能产生错误。因此必须设法消除抖动的不良后果。 键操作和键抖动 消除抖动的不良后果的方法有硬、 软件两种。 为了节省硬件, 一般在单片机系统中, 一般不采用硬件方法消除键的抖动, 而是用软件消除抖动的方法。根据抖动特性, 在第一次检测到按键按下后, 执行一段延时5~10ms让前延抖动消失后再一次检测键的状态, 如果仍保持闭合状态电平, 则确认真正有键按下。当检测到按键释放后, 也要给5~10ms的延时, 待后延抖动消失后才转入该键处理程序。 2.3.2.2查询式按键及其接口 按照键盘与CPU的连接方式能够分为查询按键和矩阵式键盘。查询式按键是各按键相互独立, 每个按键占用一根I/O口线, 每根I/O口线上的按键工作状态不会影响其它I/O口线上按键的工作状态。查询式按键电路配置灵活, 软件结构简单, 但每个按键必须占用一根I/O口线, 在按键数量较多时, I/O口线浪费较大, 且电路结构显得繁杂。故这种形式适用于按键数量较少的场合。 2.3.2.3矩阵式键盘及其接口 矩阵式键盘又称行列式键盘, 有n个行线和m个列线, 经限流电阻接+5V电源上, 按键跨接在行线和列线上, n×m行列结构可构成mn个按键, 组成一个键盘。与独立式按键相比, mn个按键只占用m+n根I/O口线, 因此适用于按键较多的场合。 当无键闭合时, 相应的I/O之间开路。当有键闭合时, 与闭合键相连接的两条I/O口线之间短路。判断有无键按下的方法是: 第一步, 置列线相关I/O口为输入态, 从行线相对应的I/O口输出低电平, 读入列线数据, 若某一列线为低电平, 则该列线上有键闭合。第二步, 置行线相关I/O口输出低电平, 读入列线数据, 若某一列线为低电平, 则该列线上有键闭合。综合一二两步的结果, 可确定按键编号。可是键闭合一次只能进行一次键功能操作, 因此须等待近按键释放后, 再进行键功能操作, 否则按一次键, 有可能会连续多次进行同样的键操作。 2.3.2.4键盘扫描控制方式 在单片机应用系统中, 对键盘的处理工作仅是CPU工作内容的一部分, CPU还要进行数据处理、 显示和其它输入输出操作, 因此键盘处理工作既不能占用CPU太多时间, 又需要CPU对键盘操作及时作出响应。CPU对键盘处理控制的工作方式有以下几种: 1. 程序控制扫描方式 程序控制扫描方式是在CPU工作空余, 调用键盘扫描子程序, 响应键输入信号要求。 2. 定时控制扫描方式 定时控制扫描方式是利用定时/计数器每隔一段时间和生定时中断, CPU响应中断后对键盘进行扫描, 并在有键闭合时转入该键的功能子程序。 3. 中断控制扫描方式 中断控制扫描方式是利用外部中断源, 响应输入信号。当无按键按下时, CPU执行正常工作程序。当有按键按下时, CPU立即产生中断。在中断服务子程序中扫描键盘, 判断是哪一个键被按下, 然后执行该键的功能子程序。这种控制方式克服了前两种控制方式可能产生的空扫描和不能及时响应键输入的缺点, 既能及时处理键输入, 又能提高CPU运行效率, 但要占用一个宝贵的中断资源。图即工作于中断方式的矩阵式键盘接口电路。在初始化时P1.4~P1.7置输出0, P1.0~P1.3置为输入态, P1.0~P1.3分别接至与门各输入端。当有键闭合时=0, CPU中断后, 在中断服务子程序中, 再完成键识别和键功能处理。 本设计提供了解2个按钮的小键盘, 向P1口输出低电平, 如果有键盘断按下什么键。 在有键按下后, 有一定的延时, 防止键盘抖动。 图 工作于中断方式的矩阵式键盘接口电路 2.3.3时钟电路 DS1302工作方式简介及数据操作原理 DS1302能够对年、 月、 日、 星期、 时、 分、 秒进行计时, 且具有闰年补偿功能, 工作电压宽达2.5~5.5V。采用三线接口与CPU进行同步通信, 并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个33x8的用于临时性存放数据的RAM寄存器。DS1302是的DS1202升级产品, 与DS1202兼容, 但增加了主电源/后背电源双电源引脚, 同时提供了对后背电源进行涓细电流充电的能力。 DS1302时钟芯片包括实时时钟/日历和31字节的静态RAM。它经过一个简单的串行接口与微处理器通信。实时时钟/日历提供秒、 分、 时、 日、 周、 月和年等信息。对于小于31天的月和月末的日期自动进行调整, 还包括闰年校正的功能。时钟的运行能够采用24<小>时或带AM/PM的12小时格式。采用三线接口与CPU进行同步通信, 并可采用突发方式一次传送多字节的时钟信号或RAM数据。 DS1302有主电源/后备电源双电源引脚: Vcc1在单电源与电池供电的系统中提供低电源, 并提供低功率的电磁备份; Vcc1在双电池系统中提供主电源。在这种运行方式中, Vcc1里连接到后备电源, 以便在没有主电源的情况下能保存时间信息以及数据。DS1302由Vcc1或Vcc2中较打大者供电。当Vcc2>( Vcc1+0.2V) 时, Vcc2给DS1302供电; 当Vcc2<Vcc1时, DS1302由Vcc1供电。 DS1302 DS1302在任何数据传送时必须先初始化, 把RST脚置为高电平, 然后把8位地址和命令字装入移位寄存器, 数据在SCLK的上升沿被访问到。在开始8个时钟周期, 把命令字节装入移位寄存器后, 另外的时钟周期在读操作时输出数据, 在写操作时写入数据。时钟脉冲的个数在单字节方式下为8+8, 在多字节方式下为8+字节数, 最大可达248字节数。如果在传送过程中置RST脚为低电平, 则会终止本次数据传送, 而且I/O引脚变为高阻态。上电运行时, 在Vcc≥2.5V之前, RST脚必须保持低电平。只有在SCLK为低电平时, 才能将RST置为高电平。 DS1302的控制字如图所示。控制字节的最高有效位( 位7) 必须是逻辑1, 如果它为0, 则不能把数据写入到DS1302中。位6如果为0, 则表示存取日历时钟数据; 为1则表示存取RAM数据。位5~1( A4~A0) 指示操作单元的地址。最低有效位( 位0) 如果为0, 则表示药进行写操作; 为1表示进行读操作。控制字节总是从最低位开始输入/输出。 为了提高对32个地址寻址能力( 地址/命令位1~5=逻辑1) ,能够把时钟/日历或RAM寄存器规定为多字节( burst) 方式。位6规定时钟或RAM, 而位0规定读或写。在时钟/日历寄存器中的地址9~31或RAM寄存器中的地址31不能存储数据。在多字节方式下, 读或写从地址0的位0开始。必须按数据传送的次序写最先的8个寄存器。可是, 当以多字节方式写RAM时, 为了传送数据不必写所有的31字节, 不论是否谢了全部31字节, 所写的每一字节都将传送至RAM。 DS1302共有12个寄存器, 其中有7个寄存器与日历、 时钟相关, 存放的数据位为BCD码形式。其日历、 时间寄存器及其控制字如下表所示, 其中奇数为读操作, 偶数为写操作。 DS1302控制字 时钟暂停: 秒寄存器的位7定义位时钟暂停位。当它为1时, DS1302停止振荡, 进入低功耗的备份方式, 一般在对DS1302进行写操作时( 如进入时钟调整程序) ,停止振荡。当它为0时, 时钟将开始启动。 AM-PM/12-24小时方式: 小时寄存器的位7定义为12或24小时方式选择位。它为高电平时, 选择12小时方式。在此方式下, 位5为第二个10小时位( 20~23h) 。 DS1302的晶振选用32768Hz, 电容推荐值为6pF。因为振荡频率较低, 也能够不接电容, 对计时精度影响不大。 第3章 系统的软件设计 3.1 程序设计 电子万年历的程序主要包括3个方面的内容: 一是DS1302从单片机中读取数据进行计数, 二是利用按键进行时间的调整, 三是MAX7219从单片机中读取数据驱动LED数码管显示时间。 AT89C51单片机主要I/O口的分配, P2.0-P2.2分别接MAX7219的DIN,LOAD,CLK三个功能端, P3接查询式按键, P1.0-P1.2分别接DS1302的CLK, IO, RST端。 3.2 程序流程图 3.2.1 显示驱动程序流程图 初始化MAX7219 寄存器定义 MAX7219读入驱动程 序 写入MAX7219地址 向各地址发送数据 驱动LED显示 返回 LED是否显示完? DS1302时间控制程序 3.2.2 时间- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子 万年历 毕业设计 报告 模板
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文