基于单片机的电子日历设计1_第1页
基于单片机的电子日历设计1_第2页
基于单片机的电子日历设计1_第3页
基于单片机的电子日历设计1_第4页
基于单片机的电子日历设计1_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

1、设计任务书 设计题目:设计题目: 基于单片机的电子日历设计 设计要求:设计要求: 1.七段数码管正常显示阳历、阴历日期; 2.七段数码管显示的格式为年-月-日; 3.利用外部按键的操作实现阳历和阴历之间的转换; 4.利用外部按键的操作实现阴历和阳历显示的暂停、运行等功能。 设计进度要求:设计进度要求: 第一周:确定毕业设计题目 第二周:查找资料 第三周:收集和整理资料 第四周:收集和整理资料 第五周:完善设计内容、撰写报告 第六周:上交设计论文电子稿 第七周:修改论文 第八周:论文答辩 指导教师(签名):指导教师(签名): i 毕业设计(论文)任务书毕业设计(论文)任务书 填表时间: (指导教

2、师填表) 学生姓名 专业 班级 机电 指导 教师 课题 类型 软件设计 题目基于单片机的电子日历设计 主要研究 目标 (或研 究内容) 本课题在透彻了解电子日历的工作过程及功能的基础上,设计出简单实用 的应用程序。 主要内容有:1、开题报告;2、电子日历硬件设计;3、电子日历软件设计; 4、编写说明书;5、翻译与设计有关的外文资料 通过设计过程以考察学生的对于单片机的设计能力,并培养学生用以 解决实际工程能力。 课题要求、 主要任务及 数量(指图 纸规格、张 数,说明书 页数、论文 字数等) 1、通过调查研究,撰写开题报告。 2、通过分析论证,确定设计方案,正确绘制电子日历的硬件连接图;并且

3、编制其应用程序。 3、查阅 20 篇以上与题目相关的文献。 4、按要求的格式独立撰写 50008000 字以上的说明书。 5、翻译一篇本专业外文文献(500010000 个以上印刷符号) ,并附译文 进度计划 57 周,查阅资料,熟悉设计内容,拟订设计方案。 814 周,进行电子日历硬件设计,并编写其应用软件。 1516 周,修改完善设计,翻译资料,写说明书,准备答辩。 主要参 考文献 1、 单片机技术及应用 2、 单片机彻底研究实习篇 3、 单片机彻底研究基础篇 4.单片机编程手册 指导教师签字: 教研室主任签字: 年 月 日 ii 摘摘 要要 设计以单片机at89s51为核心部件的电子日历

4、,利用74ls245作为驱动器, 74ls138作为译码器使用,六个七段数码管均采用共阴极的方式,p0口作为段选码输 出口,p2口作为位选码输出口。 本次设计的题目是基于单片机的电子日历设计,可以正常的显示年、月、日, 还可以利用外部按键实现阴历和阳历之间的转换以及暂停等功能。电子日历具有性 能稳定、精确度高、成本低、易于产品化,以及方便、实用等特点。适用于家庭、 公司、机关等众多场所。为人们的日常生活、出行安排提供了方便,成为人们日常 生活中不可缺少的一部分。 本次设计可分为两部分:硬件系统、软件系统。 硬件系统包括:at89s51单片机、74ls245驱动器、74ls138译码器、rc复位

5、电路、 +5v直流电源电路、去抖电路、动态显示扫描电路。 软件系统主要有单片机的编程构成。 关键词关键词:单片机,日历,位码,段码,显示 iii abstract single-chip at89s51 design as the core components of the electronic calendar, use as a 74ls245 drives, 74ls138 used as a decoder, six and seventh digits are a total of cathode way, p0 mouth as paragraph code output sel

6、ection, p2 i, as bit selection code output. the design is based on the topic of single-chip design of the electronic calendar, you can show a normal year, month, day, can also be used to achieve external keys as well as conversion between 阴阳历 lunar and solar calendarsuspend functions. electronic cal

7、endar with stable performance, high accuracy, low cost, ease of production, as well as convenient, practical and so on. apply to families, companies, agencies and many other places. for peoples daily life, travel arrangements, providing a convenient, daily life has become an indispensable part of. t

8、he design can be divided into two parts: hardware systems, software systems. hardware system, including: at89s51 single-chip, 74ls245 drive, 74ls138 decoder, rc reset circuit, +5 v dc power supply circuit, to stir up the circuit, dynamic display scanning circuit. there are single-chip microcomputer

9、software system constitute the programming. key words: single-chip, calendar, code, code above to show i 目 录 摘 要.ii 前 言.1 1 设计方案.1 11 设计思路.1 12 系统总体框图.1 2 硬件设计.3 21 单片机 at89s51 的简介.3 22 动态显示电路的介绍.8 23 去抖电路的工作原理.10 24 复位电路的方式.11 25 中断系统的介绍.13 3 软件设计.15 31 程序清单 .15 32 流程图 .21 结 论.26 致 谢.27 参考文献.28 附 录

10、.29 1 前 言 随着社会不断的发展,科学技术不断的进步,单片机的问世和飞速发展掀起了 计算机工程应用的一场新革命,使计算机技术冲破了实验室和机房的界限,广泛地 应用于工业控制系统、数据采集系统、自动测试系统、智能仪表和接口以及各类功 能模块等广阔的领域。单片机应用系统已经成为实现许多控制系统的常规性工具。 我们说,单片机开辟了计算机应用的一个新时代是并不过分的。单片机的发展历史 虽然只有短短20年,但由于计算机科学和微电子集成技术的飞速发展,单片机自身 也在不断地向更高层次和更大规模发展。世界各大半导体厂商纷至沓来争先挤入这 一市场,激烈的市场竞争也促进了单片机迅速更新换代,带来了它们更为

11、广泛的应 用。由于单片机应用系统的高可靠性,硬、软件的高利用系数,优异的性能价格比, 使它的应用范围由开始传统的过程控制,逐步进入数值处理、数字信号处理以及图 像处理等高技术领域。我们在本次的设计中广泛用到了单片机的应用系统,下面我 们就逐一的叙述。 2 1 设计方案 1 11 1 设计思路设计思路 设计的题目是基于单片机的电子日历设计。根据设计要求日历显示正常的 年、月、日,同时利用外部按键实现阴历和阳历之间的转换,以及暂停等功能。 要想实现上述功能,就必须将硬件系统和软件系统有机的结合在一起,方可实 现我们设计任务中的各项要求。 硬件系统主要有单片机 at89s51、74ls245 驱动器

12、、74ls138 译码器、rc 复 位电路、独立式键盘接口去抖电路等。 软件系统主要是单片机的编程。 根据设计要求,电子日历要显示年、月、日就需要 6 个显示数码管,如 (09 年 05 月 01 日即显示为 09-05-01) ,由于数码管的数量较多,必须采用动 态显示扫描的方式。例如 09-05-01,首先日分为个位和十位,个位显示到 09 时,应向日的十位自动进位,即个位清 0,十位置 1,显示为 10,继续累计; 当显示为 31 时,日的十位就自动向月的个位进位,显示为 06,当月显示到 09 时,月的个位自动向月的十位进位,个位清 0,十位置 1,即为 10,当月至 12 时,月向年

13、的个位进位,即显示 08,同时月、日开始从 01 月 01 日继续显示, 即显示为 10-01-01,依次周而复始的循环运行。 此外利用外部按键实现阴历和阳历的转换,当按下 k1 按键时,当前的阳 历显示暂停,而由软件系统调用阴历的显示程序,即显示为阴历的日期;当按 下 k2 键时,当前的显示暂停,松开按键时,当前的显示继续运行;当按下 k3 键时,显示的当前日期暂停。 利用单片机将 rc 复位电路、动态显示电路、电源电路、去抖电路等正确 的连接在一起,并通过单片机的编程来实现本次设计任务中的要求。 1 12 2 系统总体框图系统总体框图 硬件电路采用的是at89s51芯片来作cpu,显示部分

14、采用74ls245作为驱动电 路,74ls138作为译码器使用,七段共阴极数码管作为显示部分,采用rc复位电 路以及独立式键盘接口电路去抖的方法来完成此次的设计。在确定系统的形式 3 后,画出本系统的总体框图,如图1.1所示: 图 1.1 系统框图 系统总体框图包括:单片机、电源电路、复位电路、显示电路、去抖电路。 单片机at89s51芯片的主要功能是:存储程序,对存储程序进行相应的处 理,并从i/o口输出; 复位电路:在单片机上有一个复位引脚rest,在单片机外部用电容和电阻 控制rest; 电源电路:采用+5v的直流电源供电; 显示电路:主要用于显示日历的结果; 去抖电路:消除外部按键按下

15、时的抖动造成的误操作。 4 2 硬件设计 硬件电路主要包括:单片机、去抖电路、显示电路、复位电路、电源电路 等。 单片机的选择:选用at89s51芯片, p0.0-p0.7作为段选码输出口,p2.1- -p2.3作为位选码输出口。 去抖电路的选择:采用独立式键盘电路; 显示电路的选择:采用动态扫描显示,共阴极七段数码管; 复位电路的选择:rc复位电路; 电源电路的选择:+5v直流电源。 2 21 1 单片机单片机 at89s51at89s51 的简介的简介 2 21 11 1 at89s51at89s51 简介简介 1.at89s51 是一种低功耗,高性能的片内含有 4kb 的快闪可编程/擦处

16、只读 存储器(fperom-flash programmable and erasable read only memory )的 8 位 coms 微控制器,使用高密度、非易失存储技术改造,并且与 at80c51 引脚 和指令系统完全兼容。芯片上的 fperom 允许在线编程或者采用通用的非易失 存储编程器对存储器重复编程。 at89s51 具有多种的 8 位 cpu 与 fperom 结合在一个芯片上,为很多嵌入式 控制应用提供了非常灵活而有方便的方案,其性能价格比远低于 at87c51。由 于片内带 eprom 的 at87c51 价格偏高,而片内带 eprom 的 at89s51 价格

17、低且与 at80s51 兼容,这就显示了 at89s51 的优越性。at89c2051 是一种带 2k 字节闪 烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦 除 100 次,该器件采用 atmel 高密度非易失存储器制造技术制造,与工业标准 的 mcs-51 指令集和输出管脚相兼容。 由于将多功能 8 位 cpu 和闪烁存储器组合在单一芯片上,atmel 的 at89s51 是一种高效微控制器,at89c2051 是它的一个精简版本。at89s51 单片机可以为 很多嵌入式控制系统提供一种灵活性高且价格低廉的方案。 2 21 12 2 at89s51at89s51 内部

18、资源内部资源 1.中央处理器(cpu) 5 cpu 是单片机内部的核心部件,是一个 8 位二进制数的中央处理单元,主 要有运算器和控制器构成。 运算器用来完成算术运算、逻辑运算、位变量处理和数据传送等功能。它 是 89s51 内部处理各种信息的主要部件,运算器主要有算术运算和逻辑运算组 成。算术逻辑单元,89s51 中算术逻辑单元由加法器和一个布尔处理器组成。 主要是实现 8 位数据的加、减、乘、除算术运算和与、或、异或、循环、求反 等逻辑运算;布尔处理器主要用来处理位操作,它是以进位标志位 c 为累加器 的,可执行置位、复位、取反、等于 1 转移、等于 0 转移、等于 1 转移且清 0 以及

19、进位标志位与其他位寻址的位之间进行数据传送等位操作,也能使进位标 志位与其他可以寻址的位之间逻辑与、或操作。 控制器:控制器是单片机内部各部件按一定时序协调工作的控制核心。是分 析和执行指令的部件,控制器主要有程序计数器 pc、指令寄存器 ir、指令译码 器 id、振荡器和定时控制逻辑电路等构成。 程序计数器 pc 是专门用于存放下一条将要执行指令的 16 位地址的一个部 件,由 8 位计数器 pch(高 8 位)和 pcl(低 8 位)组成。cpu 就是根据 pc 中 的地址到 rom 中去读取程序指令码和数据。 指令寄存器 ir 是用于存放 cpu 根据 pc 地址从 rom 中读出的指令

20、操作码并 送给 id。 指令译码器 id 是用于分析指令操作的部件,指令操作码经译码后送至定时 控制电路,产生一定序列的脉冲信号,来执行指令规定的操作。 振荡器及定时控制逻辑电路,在它们外接石英晶体和微调电容(230pf) , 即可以产生 1.2-12mhz 的脉冲信号,作为 89s51 工作的基本节拍。 2存储器 89s51 单片机内部有 128b 的 ram 数据存储器和 4kb 的掩膜式 rom,当不够使 用时,可以分别扩展为 64kb 外部 ram 存储器和 64kb 外部程序存储器。 程序存储器是可读不可写的,用于存放编好的程序和表格常数。 数据存储器是既可以读也可以写的,用于存放运

21、算的中间结果,进行数据 暂存及数据缓冲等。 3定时/计数器 6 89s51 内部有 2 个 16 位可编程定时器/计数器,简称为定时器 0(t0)和定 时器 1(t1) ,t0 和 t1 分别有两个 8 位寄存器构成,其中 t0 由 th0(高 8 位)和 tl0(低 8 位)构成。t1 由 th1(高 8 位)和 tl1(低 8 位)构成。 4中断控制系统 单片机的中断是指 cpu 暂停正在执行的原程序转而为中断源服务,在执行 完中断服务程序后再回到原程序继续执行。中断系统是指能够处理中断过程部 分的电路。89s51 单片机设有 5 个中断源(外中断 2 个,定时/计数中断 2 个, 串行中

22、断 1 个) ,2 个优先级,可以实现两级中断嵌套。 5内部总线 总线是用于传送信息的公共通道。总线可以分为数据总线、地址总线、控 制总线。单片机内的 cpu、存储器、i/o 接口等单元部件都是通过总线连接到一 起的,采用总线结构可以减少信息传输线的根数,提高系统可靠性,增强系统 灵活性。 2 21 13 3 at89s51at89s51 性能及特点性能及特点 (1)与 mcs-51 微控制器产品兼容 (2)片内有 4kb 可以在线重复编程的快闪擦写存储器(flash memory) (3)存储器可以循环写入/擦除 100 次 (4)存储器数据可以保存时间为 10 年 (5)较宽的工作电压范围

23、:vcc 可以为 2.7-6v (6)全静态工作 (7) 程序存储器具有 3 级加密保护 (8)128*8 位内部 ram (9)32 条可编程 i/o 接口 (10)2 个 16 位定时/计数器 (11)终端结构具有 5 个中断源和 2 个优先级 (12)可编程全双工串行通道 (13)空闲状态维持低功耗和掉电状态保存存储内容 由于 eprom 具有在线改写,并且在掉电状态下保存数据的特点,可以为用 户的特殊应用提供方便。但是擦除和写入对于要求数据高速吞吐的应用还显的 时间过长,这就是 eprom 芯片的主要缺陷。 7 at89s51 的内部硬件结构中除了程序存储器由 fperom 取代了 8

24、7c51 的 eprom 外,其余部分完全相同。at89s51 的引脚和 at8051 的引脚完全兼容。 at89s51 的引脚图如下图 2.1 所示: 图 2.1 at89s51 芯片引脚图 pin40: 电源脚,工作电压为+5v pin20:接地端 p0 口:p0 口为一个 8 位漏极开路的双向 i/o 口,每脚可以吸收 8ttl 门电 流。当 p0 口的管脚第一次写“1”时,被定义为高阻输入,p0 口能够用于外部 数据存储器,它可以被定义为数据/地址的第八位,在 flash 编程时,p0 口作 为原码输入口,当 flash 进行校验时,p0 口输出原码,此时,p0 外部必须被拉 高。 p

25、1 口:p1 口是一个内部提供上拉电阻的 8 位双向 i/o 口,p1 口缓冲器能 接收输出 4ttl 门电流,p1 口管脚写入 1 时,被内部上拉为高,可用作输出, p1 口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在 8 flash 编程和校验时,p1 口作为第八位地址接收。 p2 口:p2 口为一个内部上拉电阻的 8 位双向 i/o 口,p2 口缓冲器可以接 收、输出 4 个 ttl 门电流,当 p2 口被写“1”时,其管脚被内部上拉电阻拉高, 且作为输入。因此作为输入时,p2 口的管脚被外部拉低,将输出电流,这就是 内部上拉的缘故。p2 口当用于外部程序存储器或 16

26、位地址外部数据存储器进 行存取时,p2 口输出地址的高八位, 。在给出地址“1”时,它利用内部上拉的 优势,当对外部八位地址数据存储器进行读写时,p2 口输出其特殊功能寄存器 的内容。p2 口在 flash 编程和校验时接收八位地址信号和控制信号。 p3 口:p3 口管脚是 8 个带内部上拉电阻的双向 i/o 口,可以接收输出 4 个 ttl 门电流。当 p3 口写入“1”时,它们被内部上拉为高电平,并用作输入。 作为输入,由于外部下拉为低电平;p3 口将输出电流,这就是上拉的缘故。 p3 口也可以作为 at89s51 的一些特殊功能口,如下所示: p3.0: rxd (串行输入口) p3.1

27、: txd (串行输出口) p3.2: (外部中断 0) p3.3: (外部中断 1) p3.4:t0 (定时/计数器 0) p3.5: t1 (定时/计数器 1) p3.6: (外部数据存储器写选通线) p3.7: (外部数据存储器读选通线) p3 口同时为闪烁编程和编程校验接收一些控制信号 ret 复位输出:当振荡器复位时,要保持 ret 脚两个机器周期的高电平时 间。 ale/prog:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的 低位字节,在 flash 编程期间,此引脚用于输入编程脉冲。在平时,ale 端以 不变的频率周期输出脉冲信号,此频率为振荡器频率的 1/6,因此它

28、用作对外 部输出的脉冲或用于定时目的。然而应注意的是,每当用作外部数据存储器时, 将跳过一个 ale 脉冲,如想禁止 ale 的输出可在数据地址上置 0。此时,ale 只 有在执行 movx、movc 指令时 ale 才其作用。另外,该引脚被略微拉高,如果处 9 理器在外部执行状态 ale 禁止,置位无效。 xtal1:反向振荡器的输入及内部时钟工作电路的输入 xtal2:来自反向振荡器的输出 振荡器特性: xtal1 和 xtal2 分别为反向放大器的输入和输出,该反向放大器可以配置 为片内振荡器,石英振荡器和陶瓷振荡器均可采用,如果采用外部时钟源驱动 器件,xtal2 应不连接,有余的输入

29、至内部时钟信号要通过一个二分频触发器, 因此对外部时钟信号的脉冲没有任何严格的要求,但必须保证脉冲的高低电平 要求的宽度。 芯片擦除: 整个 perom 系列和三个锁定位的电擦除可通过正确的控制信号组合,并保 证 ale 管脚处于低电平,在芯片擦除操作中,代码阵列全被写“1” ,且在任何 非空存储字节被重复编程以前,该操作必须被执行。 此外,at89s51 设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支 持两种软件可选的掉电模式。在闲置模式下,cpu 停止工作,但 ram、定时器、 计数器、串口和中断系统仍工作;在掉电模式下,保存 ram 的内容并且冻结振 荡器,禁止所用芯片的其他功能,直

30、到下一个硬件复位为止。 为了满足一些应用系统的特殊要求,如在一些工业控制中系统中,有时要 进行一些系统的扩展设计以弥补单片机内部资源的不足。单片机的扩展系统通 过并行 i/o 接口作总线,在外部扩展程序存储器、数据存储器或输入输出接口 以及其他功能的部件以满足一些控制系统的特殊要求。 2 22 2 动态显示电路的介绍动态显示电路的介绍 led 动态显示就是利用单片机依次输出每一位数码管的段选码和对应于该 位数码管的位选控制信号,一位一位轮流点亮各七段数码管。对于数码管来说, 每隔一段时间点亮一次,如此循环,利用人眼的“视觉暂留”效应,只要每位 显示间隔足够短就可以给人以同时显示的感觉。在动态显

31、示方式中,同一时刻, 只有一位 led 数码管在显示,其他各位是关闭的。在段选码和位选码每送出一 次后,应保持 1ms 左右,这个时间应根据实际情况而定,不能太小,因为发光 10 二极管从导通到发光有一定的延时,导通时间太小,发光太弱,人眼无法看清, 但是也不能太大,因为毕竟要受限于临界闪烁频率,而且此时间越长,占用 cpu 时间也就越多。 1. 采用动态显示方式比较节省 i/o 接口,硬件电路也比静态显示方式简单, 在此次的设计中我们利用 89s51 作为 i/o 接口,六个七段数码管均采用共阴极 的方式显示,p0 口作为段选码输出口使用,p2 口作为位选码输出口使用,它们 的显示缓冲区分别

32、为: mov 30h,#01h mov 40h,#05h mov 31h,#00h mov 41h,#01h mov 32h,#05h mov 42h,#03h mov 33h,#00h mov 43h,#00h mov 34h,#07h mov 44h,#07h mov 35h,#00h mov 45h,#00h 2显示部分我们利用动态显示电路,而其显示电路中的驱动部分我们则采 用一片 74ls245 芯片作为驱动部分,来完成电路的动态显示。 374ls245 是一种三态输出的 8 总线收发驱动器,无锁存功能。它的端 和 dip 端是控制端,当它的端为低电平时,如果 dip 为高电平,则 7

33、4ls245 将 a 端数据传送至 b 端;如果 dip 为低电平,则 74ls245 将 b 端数据传送至 a 端。在其他情况下不传送数据,并输出高阻态,它的引脚图如下图 2.2 所示, 其功能表如表 2.1 所示。 474ls138 是一种 3-8 译码器,其中 g1、g2a、g2b 脚为使能端,只有 11 g1 为高电平时,g2a、g2b 为低电平时,译码器才可以使用。a、b、c 为译码 器的信号输入端,y0-y7 为译码器的输出端,低电平有效。 74ls138 译码器如图 2.3 所示: 图 2.3 74ls138 译码器 2 23 3 去抖电路的工作原理去抖电路的工作原理 1. 目前

34、,mcs-51 单片机应用系统上常采用键盘作为输入设备,通过键盘 的操作将数据、内存地址、命令及指令等输入系统中,来实现简单的人机通信。 mcs-51 单片机在应用系统上的按键常用机械触点式按键,它在闭合及断开的 瞬间均有抖动的过程,时间长短与开关的机械特性有关。一般为 510ms,由 于抖动会造成被查询的开关状态无法正确读出,造成误操作。为了保证 cpu 对 按键的一次闭合仅在按键稳定时作一次键输入处理,必须消除产生的(前沿) 后沿的抖动影响,在本次设计中我们采用独立式键盘接口电路的方式来消除按 键抖动的现象。 2. 独立式键盘的接口电路 独立式键盘的接口电路:在单片机应用系统中,有时只需要

35、几个简单的按 键向系统输入信息。这时,可将每个按键直接接在一根 i/o 接口线上,这种连 接方式的键盘称为独立式键盘。每个独立按键单独占有一根 i/o 接口线,每根 i/o 接口线的工作状态不会影响到其他 i/o 接口线。这种按键接口电路配置灵 活,硬件结构简单,但每个按键必须占用一根 i/o 线,i/o 接口线浪费较大。 在此电路中,按键输入都采用低电平有效。上拉电阻保证了按键断开时,i/o 接口线有确定的高电平。当 i/o 接口内部有上拉电阻时,外电路可以不配置上 拉电阻。如图 2.4 所示: 12 图 2.4 独立式键盘接口电路 2 24 4 复位电路的方式复位电路的方式 1单片机在开机

36、时或者在工作中因干扰而使程序失控,或工作中程序处于 某死循环状态,在这些情况下都需要复位,复位的作用是使中央处理器 cpu 以 及其他功能部件都需要恢复到一个确定的初始状态,并从这个状态重新开始工 作。 289s51 单片机的复位靠外部的电路实现,信号由 rest 引脚输入,高电 平有效,在振荡器工作时,主要保持 rest 引脚高电平两个机器周期,单片机即 复位,复位后,pc 程序计数器的内容为 0000h。 3智能系统一般应有手动或上电复位电路。复位电路可以采用简单的电阻, 电容及按键开关构成上电自动复位电路入图 2.5 所示,而手动复位电路如图 2.6 所示,也可以选择专用的复位芯片。复位

37、电路的实现通常有两种方式:即 专用 p 监控电路和 rc 复位电路。前者成本较高,但复位可靠性高,尤其是高 可靠重复复位;后者电路实现简单,成本低,但复位可靠性相对较低。对于复 位要求高、并对电源电压进行监视的场合,大多采用前者复位电路。 13 图 2.5 上电自动复位电路 图 2.6 手动复位电路 (1)专用监控 p 电路 专用 p 监控电路又称为电源监视电路,具有上电时可以产生复位信号和电 源电压跌落到“门槛值”时可以产生复位信号等功能。按有效电平分,有高电 平输出、低电平输出两种;按功能分,有简单的电源监视复位电路、带“看门 狗”定时器(watch dog timer,wdt)的监控电路

38、和 wdt + e2prom 的监控电路 等多种类型。比较常见的生产厂家有 maxim、philips、imp 及 dalls 等,51 系列微处理器中常用的型号有 max8l3l、max8o9、x25043/5 等。 (2)rc 复位电路 14 本次设计采用的是 rc 复位方式。rc 复位电路的实质是一阶充放电电路, 结合图 2.7 说明这种复位电路的特点。系统上电时该电路提供有效的复位信号 rst(高电平)直至系统电源稳定后撤销复位信号(低电平) 。从理论上说,51 系列单片机复位引脚只要外加两个机器周期的有效信号即可复位,即只要保证 t=rc 2m(机器周期)便可。但在实际设计中,通常

39、c1 取值为 10f 以上, rl 通常取值 10k 左右。实践发现,rl 如果取值太小,例如 lk,则会导致 rst 信号驱动能力变差而无法使系统可靠复位。 图 2.7 rc 复位电路 2 25 5 中断系统的介绍中断系统的介绍 中断技术是计算机中在实时处理和实时控制中不可缺少的一个很重要的技 术。它既和硬件有关,也和软件有关。而且中断是现代计算机必须具备的重要 功能,也是计算机发展史上的一个里程碑。 1.中断的概念 当计算机执行正常程序时,系统中出现了某种急需处理的异常情况和特殊 请求,这时 cpu 暂时终止当时正在执行的程序,转而去对随机发生的紧迫事件 进行处理(执行中断服务程序) ,待

40、该事件处理完毕,cpu 自动的返回到原来 被中断的程序继续执行,这个过程称为“中断” 。 2.中断的作用 (1)实现同步工作:计算机有了中断功能后,就解决了快速 cpu 与低速 外设之间的矛盾,可以使 cpu 和外设同时工作。cpu 启动外设后,继续执行 15 主程序,同时外设也在工作。当外设把数据准备好后,就发出中断请求,请求 cpu 中断正在执行的程序,转而执行中断服务程序(i/o 处理) ,中断服务程序 执行完后,cpu 恢复执行主程序,外设也继续工作。这样,cpu 可以指挥多个 外设同时工作,从而大大提高了 cpu 的效率。 (2)实现实时处理:在实时控制系统中,为使控制系统能保持在最

41、佳的工 作状态,被控系统的各种控制参量可随时向计算机发出中断请求,要求 cpu 处 理。对此,cpu 必须作出快速响应和及时处理,这种实时控制功能只有靠中断 技术才能实现。 (3)实现故障处理:若计算机在运行过程中出现了事先预料不到的情况或 故障时,如电源掉电、存储出错、传输错误等,可以利用中断系统自行处理, 而不必停机。 3.中断系统的功能 (1)进行中断优先权的排队 (2)实现中断嵌套 (3)自动响应中断并返回 4.89s51 的中断请求源 89s51 有 5 个中断源,它们是 2 个外部中断、2 个定时器中断和一个串行接 口中断。它们分别是外部中断 0、定时/计数器 0、外部中断 1、定

42、时/计数器 1 和串行接口中断。它们的中断向量表如下表 2.2 所示: 中断向量表 2.2 中断源入口地址 外部中断 00003h 定时/计数器 t0000bh 外部中断 10013h 定时/计数器 t1001bh 串行接口中断0023h 16 3 软件设计 3 31 1 程序清单程序清单 org 0000h ljmp main org 000bh ;定时器 t1 入口地址 ljmp ctco1 org 001bh ;定时器 t2 入口地址 ljmp ctco2 org 0030h main:mov 30h,#01h mov 31h,#00h mov 32h,#05h mov 33h,#00h

43、 mov 34h,#07h mov 35h,#00h ;显示初始化 mov 40h,#05h mov 41h,#01h mov 42h,#03h mov 43h,#00h mov 44h,#07h mov 45h,#00h ;显示初始化 mov r3,#10 mov r4,#10 mov tmod,#11h mov th0,#3ch mov tl0,#0b0h mov th1,#3ch mov tl1,#0b0h 17 setb ea setb et0 setb tr0 setb et1 setb tr1 next:jb p1.0,mmm ;判 p1.0 是否等于 1? lcall displ

44、ay1 ;调阳历显示程序 mmm:lacll dealy ;调用延时程序 lcall display2 ;调阴历显示程序 jb p1.1,www ;判位 p1.1 是否等于 1? sjmp next ;中断返回 www:clr ea ;暂停 jb p1.2,qqq ;判 p1.2 是否等于 1? clr ea ;暂停 qqq:setb ea ;开启定时 sjmp next ctco1:push acc ;开启中断 1 push psw djnz r3,back1 ;减 1 不为 0 转移 mov r3,#10h inc 30h mov a,31h cjne a,#03h,loop9 ;判断十位

45、是否等于 3? mov a,30h cjne a,#02h,back1 ;判断个位是否等于 01? mov 30h,#01h mov 31h,#00h sjmp back1 loop9:mov a,30h 18 cjne a,#0ah,back1 ;判断个位是否等于 10? inc 31h ;十位加 1 mov a,31h mov 30h,#00h ;个位清 0 sjmp back1 back1:mov th0,#3ch mov tl0,#0b0h ;重装初值,恢复现场 pop psw pop acc reti ;中断返回 ctco2:push acc ;开启中断 2 push psw djn

46、z r4,back2 mov r4,#10 inc 40h mov a,42h cjne a,#04h,loop1 ;判断百位是否等于 4? mov a,41h cjne a,#02h,loop3 ;判断十位是否等于 1? mov a,40h cjne a,#07h,back2 ;判断个位是否等于 6? mov 40h,#05h mov 41h,#01h mov 42h,#03h sjmp back2 19 loop1:mov a,41h cjne a,#03h,loop3 ;判断十位是否等于 3? mov a,40h cjne a,#02h,back2 ;判断个位是否等于 1? inc 42

47、h ;百位置 1 mov 41h,#00h ;十位清 0 mov 40h,#01h ;个位置 1 sjmp back2 loop2:mov a,40h cjne a,#0ah,back2 ;判断个位是否等于 10? inc 41h ;十位加 1 mov 40h,#00h ;个位清 0 sjmp loop1 loop3:mov a,40h cjne a,#0ah,back2 ;判断个位是否等于 10? inc 41h ;十位加 1 mov 40h,#00h ;个位清 0 sjmp back2 back2:mov th1,#3ch mov tl1,#0b0h ;重装初值 pop psw pop a

48、cc reti ;子程序返回 display1:mov r0,#30h ;阳历显示程序 mov r2,#01h 20 mov dptr ,#tab l1:mov a,r0 movc a,a+dptr cjne r2,#04h,k2 orl a,#80h ;显示小数点 k2:cjne r2,#16h,k1 ;不显示 orl a,#80h k1:mov p0,a ;段码送到 p0 端口 mov p2,r2 ;位码送到 p2 端口 lcall dealy ;调用延时程序 inc r0 mov a,r2 jb acc.5,l2 rl a ;左移位码 mov r2,a sjmp l1 l2:ret ;子

49、程序返回 display2:mov r0,#40h ;阴历显示程序 mov r5,#01h mov dptr,#tab l3:mov a,r0 movc a,a+dptr cjne r5,#04h,k9 orl a,#80h k9:cjne r5,#16h,k8 orl a,#80h k8:mov p0,a ;段码送到 p0 端口 mov p2,r5 ;位码送到 p2 端口 lcall dealy 21 inc r0 mov a,r5 jb acc.5,l4 rl a ;左移位码 mov r5,a sjmp l3 l4:ret tab:db 3fh,06h,5bh,4fh,66h,6dh ;查

50、表显示程序 db 7dh,07h,7fh,6fh,77h,7ch db 39h,5eh,79h,71h,00h dealy:mov r6,#05h ll2:mov r7,#200 ll1:djnz r7,ll1 djnz r6,ll2 ret ;子程序返回 end ;结束 22 开始 显示初始化 定时器赋初值 中断初始化 计数器初始化 开启定时器 调显示程序 3 32 2 流程图流程图 初始化 查表取段码 段码送p0口 位码送p2口 调整数据指针 显示入口 循环一周? 左移位码子程序返回 y n 取数 图 3.1 主程序流程图 图 3.2 显示程序流程图 23 中断2入口 保护现场 1天到了吗

51、? 个位加1 百位= 4? 十位= 1? 中断返回 十位= 3? y n n n y y 个位= 6? 恢复初值 重装初值 个位= 1? 百位置1 十位清0 个位置1 个位=10? 个位= 10? 个位清0 十位加1 个位清0 十位加1 n y y y n n n n y y 图 3.3中断 2 程序流程图 24 调阴历调阳历 暂停 延时 开启定时 p1.1=1? p1.2=1? p1.0=1? y y y n n n 图 3.4中断 1 程序流程图 图 3.5外部按键程序流程图 25 4 系统调试 完成了硬件的设计、制作和软件编程之后,要使系统能够按设计思路正常 运行,必须进行系统调试。系统

52、调试包括硬件调试和软件调试两个部分。不过, 作为一个单片机系统,正常运行是硬件系统和软件系统相结合的,因此,硬件、 软件系统的调试是紧密相关,二者是相辅相成的。 程序的调试应一个模块一个模块地进行,单独调试各功能子程序,检验程 序是否能够实现预期的功能,接口电路的连接是否正常等;最后逐步将各个子 程序连接起来进行统一的调试。统一的调试需要注意的是,各程序模块间能否 正确传送数据,特别要注意各子程序的现场保护与恢复。调试的基本步骤如下: 将所要调试的程序输入到伟福 6000 中,然后进行编译,根据系统的提示, 将出错的地方修改正确,之后再编译,直到准确无误后方可以保存。例如:有 的是标号未定义;有的是少标点符号;有的是标号重复定义;有的是多输入一 个空格符等。最后以*.asm 扩展名保存。 将在伟福中编译好的程序加入 keil 内,并且在 keil 内进行一些必要参数 的设置,例如 11.0592mhz。设置完毕应将单片机实验箱与计算机通过总线的形 式进行正确的连接,然后在 keil 中进行添加程序,运行程序,根据试验箱显示 部分所显示的结果分析程序,修改程序中错误的地方直到正常运行为止。 在调试过程中出现的问题: (1)七段数码管全部显示的是 888888,经分析原因在试验箱的 p0、p2 口

温馨提示

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

评论

0/150

提交评论