用单片机实现数字电子钟的设计_第1页
用单片机实现数字电子钟的设计_第2页
用单片机实现数字电子钟的设计_第3页
用单片机实现数字电子钟的设计_第4页
用单片机实现数字电子钟的设计_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

分类号 密级 本 科 毕 业 设 计 题题 目目 用单片机实现 数字电子钟的设计 英文题目英文题目 The Design Of The Numerical Electric Clock Using MCU 二二 O 一二年六月一二年六月 本科毕业设计(论文)开题报告 学生姓名班级专业电子信息工程 导师姓名职称单位 毕业设计 (论文)题 目 用单片机实现数字电子钟的设计 毕业设计(论文)主要内容和要求:毕业设计(论文)主要内容和要求: 主要内容:设计并制作一个数字电子钟 要求:本作品可以实现一般的记时、闹钟等时钟的功能,还有一个特色就是可以用一个远 程发射红外线叫停正在饷的闹钟。 毕业设计(论文)主要参考资料:毕业设计(论文)主要参考资料: 1 楼然苗,李光飞编著51 系列单片机设计实例北京:北京航空航天大学出版社,2006,60-89 2 马忠梅等单片机的 C 语言应用程序设计北京:北京航空航天大学出版社,1999,1-34 3 闫石主编数字电子技术基础北京:高等教育出版社,1998,364-399 4 童诗白主编模拟电子技术基础北京:高等教育出版社,1999,23-65 5 戴佳,戴卫恒等编著51 单片机实例精讲北京:电子工业出版社,2006,123-135 6 上海市教育委员会组编,丁元杰主编单片微机原理及应用北京:机械出版社,1999, 1-77 7 邓双成,周灿丰等 AT89C2051 单片机的汉字显示接口技术北京:石油化工学院出版社, 2003,11(3):8-11. 8 刘文涛单片机应用开发事例北京:清华大学出版社,2005,276-321 9 赵文博,刘文涛单片机 C51 程序设计北京:人民邮电出版社,2005,1-132 10 高鹏,安涛,寇怀成Protel 99 入门与提高北京:人民邮电出版社,2000,1-216 11 王力,张伟编著Protel DXP 库元器件手册北京:人民邮电出版社,2003,1-194 毕业设计(论文)应完成的主要工作:毕业设计(论文)应完成的主要工作: 1、编写实现该功能的程序; 2、以单片机为主控制器,设计制作一个数字电子钟; 3、通过外围电路等实现调时、闹钟、远程止闹等功能; 毕业设计(论文)进度安排:毕业设计(论文)进度安排: 序号序号毕业设计(论文)各阶段内容毕业设计(论文)各阶段内容时间安排时间安排备注备注 1确定题目、指导教师及动员3 月 6 日-9 日 2导师与学生见面、下达任务书3 月 9 日-18 日 3调研、查询资料、外文资料翻译3 月 19 日-30 日 4开题报告4 月 1 日-8 日 5中期检查5 月 7 日-13 日 6论文评阅6 月 4 日-10 日 7论文答辩6 月 11 日-17 日 8优秀论文评选、资料归档6 月 18 日-7 月 6 日 课题信息:课题信息: 课题性质: 设计 论文 课题来源: 教学 科研 生产 其它 发出任务书日期: 2007 年 3 月 20 日 指导教师签名: 年 月 日 教研室意见:教研室意见: 教研室主任签名: 年 月 日 学生签名: 摘摘 要要 在现今的高速运行的现代生活中,准确适时的把握时间尤其重要。而我们 传统的时钟由于其自身的特点,功能极其有限。因此我们需要一个多功能的时 钟,让它来对全天适时的控制好我们的时间。随着计算机技术的高速发展,单 片机以其自身特有的特点,已经广泛应用与各种智能仪器、家庭电器、电子玩 具等各个领域。因此用单片机实现电子钟的设计课题应运而生,利用单片机的 多功能控制能力能很好实现要求。 本课题的主要内容就是用单片机实现数字电子钟的设计。利用单片机的特 点,通过编写程序来控制我们的产品实现我们需要的功能。 在课题中还有一个任务就是我们的显示模块,由于要显示时、分、秒需要 6 位数字,为了方便,我们用两个四位一体数码管来显示时间,所以如何通过 编程来控制数码管的显示也是一个重点。 整个过程就是先设计和焊接好硬件电路,再就是通过 C 语言编写应用程序 来实现我们需要的功能,这期间进行的软件仿真和调试是本设计的重点和难点。 关键字:单片机; 数码管; 中断 ABSTRACT In the modern life of the high-speed run - time in present, the accurate and well timed confidence time is particularly important. because of our traditional clocks characteristics of its oneself, function very finite。So we need a multi-function clock,Let it comes well to timed control our time for the whole day. Along with the high-speed development of the computer technology, Single Chip Microcosm with its special characteristics, Have already applied extensively and various intelligent instrument, Family electric apparatus, the electron toy etc. each realm. The design topic that therefore uses Single Chip Microcosm to carry out electric clock emerge with the tide of the times, the multi-function control capability ability that make use of Single Chip Microcosm is very the implementation request. The main Purpose of this topic is the design that uses Single Chip Microcosm to carry out the numerical electric clock. Make use of Single Chip Microcosms the characteristics of the machine, the product that passes to write procedure to control us carries out the function ofwith our demand. In the topic still have a task is our display module, In order to display the time we need 6 position digits, for the sake of the convenience, we display time with two four position integral whole tube, so how to pass the programming is also a point to the control figures tube display. The whole process is to design first and weld good hardware telephone,Be being the function that writes applied procedure through the C language to carry out our demand, The software emulation, simulation and debug that carry on this period are the point and the crux of this designs. Keywords: MCU; digital clock; interruption 目目 录录 1 绪论.1 2 系统和硬件电路的设计.2 21 系统方案.2 211 控制模块方案的选择.2 212 系统的总体框图.2 22 单片机的选择.2 221 AT89S51 单片机工作原理 .2 23 单片机外围电路的设计.4 231 时钟源电路的设计.4 232 单片机的复位电路.5 233 闹钟和调时电路图.5 24 显示电路的设计.6 241 显示电路.7 25 红外线控制电路的设计.7 251 红外线发射装置的设计.7 252 红外线接收装置电路.8 3 软件设计.10 31 主程序设计.10 311 定时/计数器的工作.11 312 定时器/计数器工作方式.11 32 中断程序的设计.13 321 输入输出的控制方式.13 322 MCS-51 单片机的中断源.13 323 中断相关寄存器.13 324 MCS-51 单片机中断处理过程 .13 33 显示模块的程序设计.14 4 软硬件调试.15 41 系统的调试.15 42 硬件静态的调试.15 43 软件的调试.15 结 论.18 致 谢.19 参考文献.20 2007 届本科毕业设计(论文) 1 1 绪论 20 世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会 的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电 子产品性能进一步提高,产品更新换代的节奏也越来越快。 时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时间。忘 记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。但是,一旦重要事情, 一时的耽误可能酿成大祸。例如,许多火灾都是由于人们一时忘记了关闭煤气或是忘记充 电时间。尤其在医院,每次护士都会给病人作皮试,测试病人是否对药物过敏。注射后, 一般等待 5 分钟,一旦超时,所作的皮试试验就会无效。手表当然是一个好的选择,但是, 随着接受皮试的人数增加,到底是哪个人的皮试到时间却难以判断。所以,要制作一个定 时系统。随时提醒这些容易忘记时间的人。 钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时 功能。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、定时启闭电路、 定时开关烘箱、通断动力设备,甚至各种定时电气的自动启用等,所有这些,都是以钟表 数字化为基础的。因此,研究数字钟及扩大其应用,有着非常现实的意义。 本课题的主要任务是利用单片机设计并制作一个数字电子钟,这里面的重点集中在单 片机里,其中包括它的中断功能的应用、定时记数器的工作原理和工作模式选择以及 I/O 端口的应用等。还有就是显示模块的设计。本文撰写的主导思想是软、硬件相结合,以硬 件为基础,来进行各功能模块的编写。 本设计预期要的达到的功能包括定时、闹钟等钟表的基本功能。 2007 届本科毕业设计(论文) 2 2 2 系统和硬件电路的设计 21 系统方案 211 控制模块方案的选择 实现电子钟的方法有多种,可以用基本门电路搭建,但电路结构复杂,故障系数大, 不易调试。二可以用单片机来实现。用单片机设计电路,电路结构简单、调试也相对方便, 单片机具有性能价格比优、集成度高、体积小、可靠性高、低电压、低功耗等特点。 目前单片机主要应用已经非常广泛,在各类仪器仪表中引入单片机,使仪器仪表智能 化,提高测试的自动化程度和精度,简化仪器仪表的硬件结构,提高其性能价格比,在机 械一体化产品中引入单片机,使那些电子产品具有了智能化特征,而适时过程控制中用单 片机实时进行数据处理和控制,使系统保持最佳工作状态,提高系统的工作效率和产品的 质量。 目前国外各种家用电器已普通采用单片机代替传统的控制电路。 单片机除以上各 方面的应用,它还广泛应用于办公自动化领域、商业营销领域、汽车及通信、计算机外部 设备、模糊控制等各领域中。 212 系统的总体框图 系统的总体框图如图 2-1 所示: 单片机控单片机控 制模块制模块 红外止闹模块红外止闹模块 闹钟模块 数码管数码管 显示模显示模 块块 时钟源 电源及调 时模块 图 2-1 系统总体框图 22 单片机的选择 目前市场上成熟的单片机种类繁多,从中央处理器来说分为 4 位单片机到 8 位、16 位, 32 位。而现在应用最多是就 8 位和 16 位的,其中 16 位的基本都是应用于高端科技方面, 就本论文涉及到的内容,用 8 位单片机就完全可以满足设计的各方面的要求。从性能来说 各公司生产的产品都有他们自己的特点,目前国内使用多的系列就是 Intel 公司生产的产品, 其中又以 MCS-51 系列单片机应用尤为广泛,而且还在更进一步的发展完善,价格越来越 底,性能越来越好,本设计中就选用了 MCS-51 系列单片机中的 AT89C51 型号。 221 AT89S51 单片机工作原理 在本设计中选用的是 AT89C51 单片机,AT89C51 是一种带 4K 字节闪烁可编程可擦除 2007 届本科毕业设计(论文) 3 只读存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压, 高性能 CMOS8 位微处理器,俗称单片机。AT89C51 是一种带 4K 字节闪烁可编程可擦除只读 存储器的单片机。单片机的可擦除只读存储器可以反复擦除 1000 次。该器件采用 ATMEL 高 密度非易失存储器制造技术制造,与工业标准的 MCS-51 指令集和输出管脚相兼容。由于将 多功能 8 位 CPU 和闪烁存储器组合在单个芯片中,ATMEL 的 MCS-51 系列单片机是一种高效 微控制器,AT89C51 是它的一种精简版本。AT89C51 单片机为很多嵌入式控制系统提供了一 种灵活性高且价廉的方案。图片如图 2-2: 图 2-2 AT89C51 单片机图 AT89C51 的主要特性有,它与 MCS-51 兼容,含有 4K 字节可编程闪烁存储器,寿命很 长,能够有 1000 写/擦循环,数据保留时间能达到 10 年之久。全静态工作频率在 0Hz- 24Hz,三级程序存储器锁定,128*8 位内部 RAM,32 可编程 I/O 线,两个 16 位定时器/计 数器,5 个中断源,可编程串行通道,低功耗的闲置和掉电模式,片内振荡器和时钟电路。 管脚说明:VCC 为供电电压。GND 接地。 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 口当用于 外部程序存储器或 16 位地址外部数据存储器进行存取时,P2 口输出地址的高八位。在给 出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2 口 输出其特殊功能寄存器的内容。P2 口在 FLASH 编程和校验时接收高八位地址信号和控制信 号。 P3 口:P3 口管脚是 8 个带内部上拉电阻的双向 I/O 口,可接收输出 4 个 TTL 门电流。 当 P3 口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉 为低电平,P3 口将输出电流(ILL)这是由于上拉的缘故。P3 口也可作为 AT89C51 的一些 特殊功能口, P3 口同时为闪烁编程和编程校验接收一些控制信号。 RST:复位输入。当振荡器复位器件时,要保持 RST 脚两个机器周期的高电平时间。 2007 届本科毕业设计(论文) 4 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在 FLASH 编程期间,此引脚用于输入编程脉冲。在平时,ALE 端以不变的频率周期输出正脉冲 信号,此频率为振荡器频率的 1/6。因此它可用作对外部输出的脉冲或用于定时目的。然 而要注意的是:每当用作外部数据存储器时,将跳过一个 ALE 脉冲。如想禁止 ALE 的输出 可在 SFR8EH 地址上置 0。此时, ALE 只有在执行 MOVX,MOVC 指令是 ALE 才起作用。另外, 该引脚被略微拉高。如果微处理器在外部执行状态 ALE 禁止,置位无效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指令期间,每个机器周期 两次/PSEN 有效。但在访问外部数据存储器时,这两次有效的/PSEN 信号将不出现。 /EA/VPP:当/EA 保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管 是否有内部程序存储器。注意加密方式 1 时,/EA 将内部锁定为 RESET;当/EA 端保持高电 平时,此间内部程序存储器。在 FLASH 编程期间,此引脚也用于施加 12V 编程电源(VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 振荡器特性:XTAL1 和 XTAL2 分别为反向放大器的输入和输出。该反向放大器可以配 置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2 应 不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无 任何要求,但必须保证脉冲的高低电平要求的宽度。 芯片擦除:整个 PEROM 阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保 持 ALE 管脚处于低电平 10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非 空存储字节被重复编程以前,该操作必须被执行。 此外,AT89C51 设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件 可选的掉电模式。在闲置模式下,CPU 停止工作。但 RAM,定时器,计数器,串口和中断系 统仍在工作。在掉电模式下,保存 RAM 的内容并且冻结振荡器,禁止所用其他芯片功能, 直到下一个硬件复位为止。 23 单片机外围电路的设计 单片机的工作模式如图 2-3 所示: 图 2-3 单片机工作模式 231 时钟源电路的设计 计算机执行指令的过程可分为取指令、分析指令和执行指令三个步骤,每个步骤又由 许多微操作所组成,这些微操作必须在一个统一的时钟脉冲的控制下才能按照正确的顺序 执行。时钟脉冲由振荡器产生,AT89C51 的时钟振荡器是由单片机内部反相放大器和外接 晶振及微调电容组成的一个三点式振荡器,将晶振和微调电容接 51 的 XTAL1 和 XTAL2 端即 可产生振荡。 石英晶体振荡器的具体工作原理: 石英晶体振荡器的特点是振荡频率准确、电路结构简单、频率易调整。它被广泛应用于彩 串行扩展 I/O 口工作 电路 时钟 复位 通用 单片机 (总线型) 8DB 16AB 2007 届本科毕业设计(论文) 5 电、计算机、遥控器等各类振荡电路中。它还具有压电效应:在晶体某一方向加一电场, 晶体就会产生机械变形;反之,若在晶片的两侧施加机械压力,则在晶片相应的方向上将 产生电场,这种物理现象称为压电效应。在这里,我们在晶体某一方向加一电场,从而在 与此垂直的方向产生机械振动,有了机械振动,就会在相应的垂直面上产生电场,从而使 机械振动和电场互为因果,这种循环过程一直持续到晶体的机械强度限制时,才达到最后 稳定,这种压电谐振的频率即为晶体振荡器的固有频率。 这里选择的晶振频率为 12MHz.其电路图如图 2-4: 图 2-4 振荡电路 232 单片机的复位电路 单片机复位电路如图 2-5 所示:单片机在工作中由于各种原因或者是意外事件,不时 会产生程序跑飞或者死机等现象,这时我们通过 S4 复位键就可以使系统中的单片机重新正 常运行。 图 2-5 上电复位电路 233 闹钟和调时电路图 调时和闹钟电路图如图 2-6 所示,其中 S1、S2、S3 分别为时、分、秒的调整按钮。 S8 为闹铃定时控制键。S5 为闹钟的控制开关,只有 S5 关闭且单片机对 P2.1 端口置低电频 是闹钟才能响。 9(RST/VPD) AT89C51 2007 届本科毕业设计(论文) 6 图 2-6 闹钟和调时电路 24 显示电路的设计 LED 显示器应用十分广泛,1972 年开始有少量 LED 显示屏用于钟表和计算器。全球 首款采用 LED 的手表最初还是在昂贵的珠宝商店出售的,其售价竟然高达 2,100 美元。几 乎与此同时,惠普与德州仪器也推出了带 7 段红色 LED 显示屏的计算器。20 世纪 70 年代, 由于 LED 器件在家庭与办公设备中的大量应用,LED 的价格直线下跌。事实上,LED 是那 个时代主打的数字与文字显示技术。然而在许多商用设备中,LED 显示屏也逐渐受到了来 自其它显示技术的激烈竞争,如液晶、等离子体和真空荧光管显示器。 在数字测量仪表和各种数字系统中,都要将数字量直观的显示出来,一方面供人们直 接读取测量和运算的结果;两一方面用于监视数字系统的工作状况。因此,数字显示电路 是许多师资设备不可缺少的部分。数字显示电路通常由译码器、驱动器和显示器等部分组 成。 数码显示器是用来显示数字、文字或符号的器件,现在已有多种不同类型的产品,广 泛应用于各种数字设备中,目前数码管显示器正朝着小型、低功耗、平面化的方向发展。 数码管的显示方式一般有三种:第一种是字形重叠式,它是将不同的电极重叠起来, 要显示某字符,只需使相应的电极发亮即可,如辉光放电管、边光显示管等。第二种是分 段式,数码管是由一些按一定规律排列的颗发光的点阵所组成,利用光点的不同组便可以 显示不同的数码,如场致发光记分牌。 目前应用最为广泛的是七段数字显示器,按发光物质的不同数字显示器可分为以下几 类:(1)半导体显示器,亦称发光二极管显示器;(2)荧光数字显示器,如荧光数码管、 场致发光数字板等;(3)液体数字显示器,如液晶显示器、电用显示器等;(4)气体放 电显示器,如辉光数码管、等离子体显示器等。 本设计中使用的是数码管显示器,它的价格比较便宜。同时又能很好的满足本设计中 的各种功能需求。 2007 届本科毕业设计(论文) 7 241 显示电路 在本设计中由于要显示时、分、秒需要显示 6 位数字,如果用上面的数码管需要 6 个, 显然这样在电路焊接过程中,接线是特别复杂的,所以为了方便,在显示模块中我们用四 位一体数码管来显示我们的时、分、秒时间。它一个管子可显示四位数字,这样就大大方 便了硬件的调试难度,本设计重用的数码管型号是 SR*70561 数码管脚如图 2-9: 图 2-9 SR*70561 四位一体数码管管脚图 其中 11、7、4、2、1、10、5 七个管脚分便控制 7 个段码 a、b、c、d、e、f、g 的显 示。而 6、8、9、12 四个管脚控制 4 个数的选通。 25 红外线控制电路的设计 251 红外线发射装置的设计 发射装置电路图如 2-10:其中 S6 开关闭合后只要给了 38MHz 的脉冲信号,经过三极 管发达信号加给发光二极管,发光二极管就会发出红外线信号。 d cb a g fe dp b b4 b1 g c dp d e b2 b3 f a 7 8 10 11 12 9 6 5 4 3 2 1 2007 届本科毕业设计(论文) 8 图 2-10 发射电路 252 红外线接收装置电路 红外线接收电路如图 2-11,图中芯片 HSOO38A2 红外线接头,但它感应到红外线后 就会在 OUT 口输出底电频,这时底电频就给了 P2.0 口,这时单片机就通过程序给 P2.1 置 高电频,使闹钟铃声停止。 图 2-11 红外线接收电路 系统的整体电路图如 2-12 所示: 38MHz 方波信 号 接地 2007 届本科毕业设计(论文) 9 图 2-12 系统电路图 2007 届本科毕业设计(论文) 10 3 3 软件设计 目前存在有 4 种编程语言支持单片机,即汇编语言、PL/M 语言、C 语言和 BASIC 语 言。其中汇编语言和 C 语言应用的较多,结合本控制器的特点,这里选用了功能强、效率 高的 C 高级语言。51 系列 C 语言主要有以下特点:寄存器分配、不同存储器的寻址及数 据类型可由编译器管理;程序有规范的结构,可分为不同的函数,这种方式可使程序结构 化;编程及程序调试时间显著缩短,从而缩短开发周期,提高作用效率;提供的库包含许 多子程序,具有较强的数据处理能力 31 主程序设计 主程序流程图如图 3-1 所示: 显示单元清零 开 始 T0,T1 设置为 16 位记数模式 使 T0 中断 调用显示子程序 P1.0=0?或 P1.1=0?或 P1.2=0 进入调试子程序 N Y 图 3-1 主程序流程图 本设计的一个重点是如何完成秒、分、时的记数和进位。这需要先了解 AT89C51 的定 时/记数器。定时/计数器的构成,定时方法软件延时,通过执行循环而获得延时,短时间 延时,硬件延时由硬件电路实现延时,长时间延时,可编程定时 通过对系统时钟脉冲的计 数而获得延时。 MCS-51 单片机的定时/计数器,包括 16 位定时/计数器 T0、T1,分别由 4 个 8 位计数 器组成,均属 SFR 寄存器。T0 由 TH0、TL0 构成,字节地址为 8CH、8AH;T1 由 TH1、TL1 构成,字节地址为 8DH、8BH;3、MCS-51 单片机定时/计数器的功能,归根结 底是计数器。 (1)定时功能,对片内机器周期进行计数,即每个机器周期产生一个计数脉 冲,计数加 1。 (2)计数功能 对片外从 T0(P3.4) 、T1(P3.5)引脚输入的外部脉冲信号 进行计数,下降沿计数加 1。 2007 届本科毕业设计(论文) 11 311 定时/计数器的工作 与定时/计数器有关的控制寄存器有 3 个: 1定时器控制寄存器 TCON(88H) SFR 寄存器 TCON 既参与定时控制又参与中断控制,有关定时控制的有 4 位,表示如 图 3-2: 图 3-2 定时器控制寄存器 TCON TF1/TF0:当 T1/T0 的计数器计数溢出时,该位置“1”。TR1/TR0:T1/T0 运行控制位。 软件将其置“1”时,启动 T1/T0 工作。 2设定定时器工作方式寄存器 TMOD(89H) SFR 寄存器 TMOD 用于 2 个定时器/计数器 T1/T0 的工作方式设定,各位的含义表示 如图 3-3 所示: 图 3-3 TMOD 方式 GATE:门控位,定义 T1/T0 的启动方式,逻辑如图 3-4: 图 3-4 GATE 门控位 C/ :定时/计数功能选择位。为“0”,作定时器用;为“1”,作计数器用。T M1M0:工作方式选择位。 00 方式 0 13 位计数器 01 方式 1 16 位计数器 10 方式 2 初值自动重装 8 位计数器 11 方式 3 2 个 8 位计数器,仅适用于 T0 3、中断允许控制寄存器 IE(A8H) IE 在特殊功能寄存器中,字节地址 A8H,位地址分别是 A8HAFH。 312 定时器/计数器工作方式 1工作方式 0: M1M0=00 13 位计数器 (1)结构是由 TH0 的全部 8 位和 TL0 的低 5 位构成,当 TL0 低 5 位计数满时直接向 TH0 进位,并当全部 13 位计数满溢出时,TF0 置“1”。 (2)TMOD 值:作定时器:TMOD=0000 0 0 00=00H;作计数器:TMOD=0000 0 1 00=04H (3)计数初值;最大计数值为 213=8192,T=(213 计数初值) 机器周期 (12/fosc)计数初值=213 欲计数脉冲数=213 T/ 机器周期 2工作方式 1:M1M0=0116 位计数器,方式 1 时的电路逻辑结构作定时器, TMOD=01H 作计数器,TMOD=05H;T=(216 计数初值) 机器周期(12/fosc),计 数初值=216 欲计数脉冲数=216 T/ 机器周期。 3工作方式 2:M1M0=10自动复位的 8 位计数器。以 TL0 作计数器,而 TH0 作为预 2007 届本科毕业设计(论文) 12 置寄存器。当计数满溢出时,TF0 置“1”,同时 TH0 将计数初值以硬件方法自动装入 TL0 4工作方式 3:M1M0=112 个 8 位计数器(仅限于 T0) ,在 T0 方式 3 下,T0、T1 的 设置和使用是不同的。 (1)T0 方式 3,TL0:使用 T0 原有控制资源,功能与方式 0、1 相 同。TH0:借用 T1 的 TR1、TF1,只能对片内机器周期脉冲计数,作 8 位定时器。T0 方式 3 时的 T0 初值计算完全同方式 2, (2)T0 方式 3 下的 T1。T0 方式 3 时 ,T1 仍然可工作 于方式 0方式 2,如上页图所示。C/ 控制位仍可使 T1 工作在定时器或计数器方式,只是 由于其 TR1、TF1 被 T0 的 TH0 占用,因而没有计数溢出标志可供使用,计数溢出时只能 将输出结果送至串行口,即用作串行口波特率发生器。T0 方式 3 下的 T1 方式 2,因定时 初值能自动恢复,用作波特率发生器更为合适。 通过上面的了解,本设计定时记数器应该选择工作模式 1。设定初值如下: TMOD=0 x02;TH0=0 x06;TL0=0 x06;TR0=1;ET0=1;EA=1; 开始 保护现场 1S 到? 秒单元加 1 Y =60 秒? 秒单元清 0,分加 1 Y =60 分? 分单元清 0,时加 1 Y =24H? 时单元清 0 Y 恢复现场,中断返 回 N N N N 图 3-5 TO 中断服务程序图 2007 届本科毕业设计(论文) 13 32 中断程序的设计 中断是计算机进行实时控制的基础,也是计算机之所以能够普及的根本原因之一。中 断程序流程图如 3-5 所示。 321 输入输出的控制方式 1无条件传送方式,无条件传送的条件有,输入时外设始终是就绪的,输出时外设始终时 就绪的,总线设置,往往要加总线的隔离与缓冲。 2程序查询传送方式,先程序查询,外设就绪进行数据传送,否则重新查询直到外设就绪 后进行数据传送,特点是硬件实现较容易但程序的开销较大,实时性较差 3中断传送方式,过程为外设发中断申请信号 ,CPU 中断查询并进行响应。特点是实时 性较好,CPU 的效率高,系统必须要有中断系统的支持,实现的技术相对较为复杂一些 直接存储器存取( DMA )方式 322 MCS-51 单片机的中断源 中断源: INT0 、 INT1 、 T0 、 T1 、 RI/TI 中断系统的组成: 中断的查寻及标志寄存器,中断的控制寄存器,中断的优先权控制寄存器等组成 323 中断相关寄存器 1定时器控制寄存器 TCON ( 88H ) TF0/TF1 : T0 、 T1 中断标志 TR0/TR1 : T0 、 T1 启动控制位 IE0/IE1 : INT0/INT1 中断标志位 IT0/IT1 : T0 、 T1 触发信号方式选择位( 0 为电平触发方式) 2串行口控制寄存器 SCON(98H) TI :串行口发送完一帧数据标志 RI :串行口接收完一帧数据标志 3中断控制寄存器 IE(A8H) EA :总中断允许控制位 ES :串行口中断允许控制位 ET0/ET1 :定时器 0/1 中断允许位 EX0/EX1 :外中断 0/1 中断允许位 4中断优先级控制寄存器 IP(B8H) PX0/PX1 :外中断 0/1 的中断优先级设置位 PT0/PT1 :定时器 0/1 的中断优先级设置位 PS :串行口中断优先级设置位 同级中断内部查询顺序:INT0 T0 INT1 T1 SPORT MCS-51 单片机中断优先级的控制规则: 低优先级的中断请求不能打断高优先级的中断服务,但高优先级的中断可以打断低优 先级的中断。 同级的中断不能打断同级的其他中断服务。 同级的中断源同时申请中断服务时,响应的先后次序为 INT0-T0-INT1-T1-SPORT 324 MCS-51 单片机中断处理过程 1中断响应的条件和时间 :中断响应的条件有(1)中断源有中断请求,(2)总中断允 许,对应的中断源允许:中断响应的时间包括 3 个到 8 个机器周期。 2、中断的响应过程: 将相应的优先级状态触发器置 1 以阻断后来的同级或低级的中 2007 届本科毕业设计(论文) 14 断请求; 执行隐含的 LCALL 指令,PC 指向相应的中断服务程序的入口地址,并进行 断点保护,中断入口地址地址表: INT0 : 0003H C/T0 : 000BH INT1 : 0013H C/T1 : 001BH STR : 0023H 3执行中断服务程序: 注意:对现场的保护问题及相应的程序设计。 4中断返回 执行 RETI 指令:弹出断点地址返回主程序执行 相应的中断优先级状态寄存器清 0 ,以便响应其他中断申请。 5中断标志的置位与清除 置位:由相应的硬件中断申请信号有效置位,对于两个外中断如果设置位脉冲触发方 式,脉冲的宽度至少要维持两个机器周期,如果设置位电平触发方式,要注意低电平的清 除。 清除:当中断被 CPU 响应时,除串行口中断标志不被清除外,其他中断标志都会由硬件自 动清除,而串行口的中断标志必须在中断服务程序中由软件清除。 33 显示模块的程序设计 LED 数码管的 a 到 g 七个发光二极管因加正电压而不亮,因加零电压而发亮,不同亮 暗的组合就能形成不同的字形,这种组合称之为字形码,下面给出共阳极的字形码见表 4- 1; 表 4-1 字形码表 “0”3FH “8”7FH “1”06H “9”6FH “2”5BH “A”77H “3”4FH “b”7CH “4”66H “C”39H “5”6DH “d”5EH “6”7DH “E”79H “7”07H “F”71H 由于显示的数字 09 的字形码没有规律可循,只能采用查表的方式来完成我们所需的 要求了。这样我们按着数字 09 的顺序,把每个数字的笔段代码按顺序排好!建立的表格 如下所示: unsigned char code dispcode =0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f,0 x77,0 x7c,0 x39,0 x 5e,0 x79,0 x71,0 x00 2007 届本科毕业设计(论文) 15 4 软硬件调试 本章讲述的是硬件和程序调试的部分 。 41 系统的调试 在完成了硬件的设计、制作和软件编程之后,要使系统能够按设计意图正常运行,必 须进行系统调试。系统调试包括硬件调试和软件调试两个部分。对此,我们在方案的确定和 实施时,首先考虑对于不同的功能模块具体采用的接口方式、接口芯片及电路,要做的工作 主要是查阅资料,由于单片机外围接口电路可借鉴的资料十分丰富,因此在电路设计时, 如果能清楚了解参考资料的设计意图、设计要点,应该说原理上的错误一般不会出现。因 此,系统的硬件调试主要是排除、检查电路板上的焊接和连线所出现的问题;系统软件的 调试主要是程序的看软件的编写是否与硬件电路相符合,编写是否正确。 42 硬件静态的调试 1排除逻辑故障;这类故障往往由于设计和加工制板过程中工艺性错误所造成的。主要包 括错线、开路、短路。排除的方法是首先将加工的印制板认真对照原理图,看两者是否一 致。应特别注意电源系统检查,以防止电源短路和极性错误,并重点检查系统总线(地址 总线、数据总线和控制总线)是否存在相互之间短路或与其它信号线路短路。必要时利用 数字万用表的短路测试功能,可以缩短排错时间。 2排除元器件失效;造成这类错误的原因有两个:一个是元器件买来时就已坏了;另一个 是由于安装错误,造成器件烧坏。可以采取检查元器件与设计要求的型号、规格和安装是 否一致。在保证安装无误后,用替换方法排除错误。 3排除电源故障;在通电前,一定要检查电源电压的幅值和极性,否则很容易造成集成块 损坏。加电后检查各插件上引脚的电位,一般先检查 VCC 与 GND 之间电位,若在 5V48V 之间属正常。若有高压,联机仿真器调试时,将会损坏仿真器等,有时会使应 用系统中的集成块发热损坏。 选择好元件,按照整体电路图连接实物电路板。电路板焊接完毕后,仔细检查是否有 虚焊和短接,做到电路板焊接无误。 43 软件的调试 1本设计的系统调试是在计算机、Keil uVision2 开发环境、直流电压源的及其调试软件条 件下进行的。调试的原理框图如图 4-1 所示: PC 机 (仿真软 件和程序) 串口线仿真器实物电路

温馨提示

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

评论

0/150

提交评论