课程设计(论文)-基于单片机的闹钟设计.doc_第1页
课程设计(论文)-基于单片机的闹钟设计.doc_第2页
课程设计(论文)-基于单片机的闹钟设计.doc_第3页
课程设计(论文)-基于单片机的闹钟设计.doc_第4页
课程设计(论文)-基于单片机的闹钟设计.doc_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

摘 要 单片机自 20 世纪 70 年代问世以来,以其极高的性能价格比,受到人们的 重视和关注,应用很广、发展很快。而 51 单片机是各单片机中最为典型和最有 代表性的一种。 本文设计以 AT89S51 芯片为核心,辅以必要的外围电路,设计了一个结构简单, 功能齐全的电子时钟,它由 5V 直流电源供电。在硬件方面,除了 CPU 外,使用 六个七段 LED 数码管来进行显示,LED 采用的是动态扫描显示,使用 74LS14 芯 片进行驱动。通过 LED 能够比较准确显示时、分。两个简单的按键实现对时间 的调整。软件方面采用汇编语言编程。整个电子钟系统能完成时间的显示、调 时、定时闹钟和复位等功能。 选用单片机最小系统应用程序,添加比较程序、时间调整程序及蜂鸣程序, 通过时间比较程序触发蜂鸣,实现闹钟功能,完成设计所需求的软件环境。介 绍并使用 Keil 单片机模拟调试软件,测试程序的可行性。 目录目录 摘 要.1 第一章 绪 论.3 第二章 系统设计.4 2.1 硬件设计.4 2.1.1 晶振电路.4 2.1.2 复位电路.5 2.1.3 电源电路.6 2.1.4 显示电路.7 2.1.5 按键电路.9 2.1.6 时钟电路.10 2.2 软件设计.11 第三章 仿真调试.12 3.1 软件仿真.12 3.2 硬件调试.14 第四章 操作说明.15 参考文献.16 课程小结.17 附录.18 1、元器件清单.18 2、整体原理图.19 3、程序清单.20 4、实物图.24 第一章第一章 绪绪 论论 20 世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎 渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的 提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越 快。 时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前 的时间。忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。 但是,一旦重要事情,一时的耽误可能酿成大祸。例如,许多火灾都是由于人 们一时忘记了关闭煤气或是忘记充电时间。尤其在医院,每次护士都会给病人 作皮试,测试病人是否对药物过敏。注射后,一般等待 5 分钟,一旦超时,所 作的皮试试验就会无效。手表当然是一个好的选择,但是,随着接受皮试的人 数增加,到底是哪个人的皮试到时间却难以判断。所以,要制作一个定时系统。 随时提醒这些容易忘记时间的人。 钟表的数字化给人们生产生活带来了极大的 方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、按时自动 打铃、时间程序自动控制、定时广播、定时启闭电路、定时开关烘箱、通断动 力设备,甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基 础的。因此,研究数字钟及扩大其应用,有着非常现实的意义。 第二章第二章 系统设计系统设计 本课题在选取单片机时,充分借鉴了许多成形产品使用单片机的经验,并 根据自己的实际情况,选择了 ATMEL 公司的 AT89S51。 ATMEL 公司的 89 系列单片机以其卓越的性能、完善的兼容性、快捷便利 的电擦写操作,低廉的价格、超强的加密功能,完全替代 87C51/62 和 8751/52,低电压、低电源、低功耗,有 DIP、PLCC、QFP 封装,有民用型、 工业级、汽车级、军品级等多种温度等级,是当今世界上性能最好、价格最低、 最受欢迎的八位单片机。 AT89C52P 为 40 脚双列直插封装的 8 位通用微处理器,采用工业标准的 C51 内核,在内部功能及管脚排布上与通用的 8xc52 相同,其主要用于会聚调 整时的功能控制。功能包括对会聚主 IC 内部寄存器、数据 RAM 及外部接口等 功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号 IR 的接收 解码及与主板 CPU 通信等。 2.12.1 硬件设计硬件设计 2.1.12.1.1 晶振电路晶振电路 单片机的时钟信号用来提供单片机内各种微操作的时间基准,89S51 片内 设有一个由反向放大器所构成的振荡电路,XTAL1 和 XTAL2 分别为振荡电路 的输入和输出端,89S51 单片机的时钟信号通常用两种电路形式得到:内部振 荡方式与外部振荡方式。外部方式的时钟很少用,若要用时,只要将 XTAL1 接地,XTAL2 接外部振荡器就行。对外部振荡信号无特殊要求,只要保证脉冲 宽度,一般采用频率低于 12MHz 的方波信号。 时钟发生器把振荡频率两分频,产生一个两相时钟信号 P1 和 P2 供单片机 使用。P1 在每一个状态 S 的前半部分有效,P2 在每个状态的后半部分有效。 本设计采用的内部振荡方式,内部振荡方式所得的时钟信号比较稳定,实用电 路中使用较多。本设计系统的时钟电路如图 1.4 所示。只要按照图 1.6 所示电路 进行设计连接就能使系统可靠起振并能稳定运行。图中,电容器 C1 、C2 起稳 定振荡频率、快速起振的作用,电容值一般为 533pF。但在时钟电路的实际 应用中一定要注意正确选择其大小,并保证电路的对称性,尽可能匹配,选用 正牌的瓷片或云母电容,如果可能的话,温度系数尽可能低。本设计中采用大 小为 22pF 的电容和 12MHz 的晶振。 图 2.1 晶振电路 2.1.22.1.2 复位电路复位电路 在时钟电路工作后,只要在单片机的 RST 引脚上出现 24 个时钟振荡脉冲 (2 个机器周期)以上的高电平,单片机便可实现初始化状态服务。为保证应 用系统可靠的复位在设计复位电路时,通常使 RST 引脚保持 4ms 以上的高电平, 只要 RST 保持高电平,STC89C52 单片机就会循环复位;当 RST 从高电平变为 低电平时,单片机就从 0000H 地址开始执行程序,在单片机复位的有效期间, ALE、PSEN 引脚输出高电平。 本次设计能够实现上电复位和手动复位,其电路图如下图 2-2: 1手动复位: 按下复位键,系统能够复位。 2上电复位: 系统上电时,随着 Vcc 电压由 0V 增加到 5V,电容 C 的上极板电位随之增 加。按电压随着电流方向逐渐降低的原则,电流的出现会在 R2 端形成一个大 于 0 的电位。由于电容充电逐渐饱和,所以电流会逐渐减小。该电位的大小和 持续时间将影响系统能否上电复位。当单片机 RST 管脚上有两个机器周期是高 电平时,系统就会被复位。 因为,。 震荡频率 震荡周期 1 12 震荡周期机器周期 所以,对于 12MHZ 晶振的系统来说,使其复位的时间 t 应满足条件: us212 12 1 2t 不考虑流入 RST 引脚的电流计算 RST 处的电位,该电路是一阶 RC 电路。电 容两端暂态电流和电压的关系如下: RC t cccc eUUUtU )()0()()( 因为,;VUc5)(VUc0)0( 所以。 RC t c etU 55)( 设 RST 处电压为,那么,所以。)(tUR)()(tUVtU cccR RC t R etU 5)( 当 VtUR5 . 3)( 时,t=0.36RC。 当且仅当 usRCt263 . 0 时,系统才会复位,即满足条件: 6 1056 . 5 RC 。所以本设计采用,符合要求。kR512FC17 复位时间: usRCt36.1815163 . 063 . 0 图 2-2 复位电路 2.1.32.1.3 电源电路电源电路 三端稳压器,主要有两种,一种输出电压是固定的,称为固定输出三端稳 压器,另一种输出电压是可调的,称为可调输出三端稳太器,其基本原理相同, 均采用串联型稳压电路。在线性集成稳压器中,由于三端稳压器只有三个引出 端子,具有外接元件少,使用方便,性能稳定,价格低廉等优点,因而得到广 泛应用。 类别 三端稳压器的通用产品有 78 系列(下电源)和 79 系列 (负电源) ,输出电压由具体型号中的后面两个数字代表,有 5V,6V,8V,9V,12V,15V,18V,24V 等档次。输出电流以 78(或 79)后 面加字母来区分。L 表示 0.1A,M 表示 0.5A,无字母表示 1.5A,如 78L05 表求 5V 0.1A。 使用注意事项 在使用时必须注意:(VI)和(Vo)之间的关系,以 7805 为例,该三端稳压器的固定输出电压是 5V,而输入电压至少大于 7V,这 样输入/输出之间有 23V 及以上的压差。使调整管保证工作在放大区。但压差 取得大时,又会增加集成块的功耗,所以,两者应兼顾,即既保证在最大负载 电流时调整管不进入饱和,又不致于功耗偏大。另外一般在三端稳压器的输入 输出端接一个二极管,用来防止输入端短路时,输出端存储的电荷通过稳压器,而 损坏器件。 图 2-3 电源电路原理图 2.1.42.1.4 显示电路显示电路 显示器 DRIVER 根据需要显示当前时间、用户设置的闹钟时间或用户通过键 盘输入的新时间,同时判断当前时间是否已到了闹钟时间,实际上是一个多路 选择比较器。多路选择器是数据选择器的别称。在多路数据传送过程中,能够 根据需要将其中任意一路选出来的电路,叫做数据选择器,也称多路选择器或 多路开关。 1、数码管 对于数字显示电路,通常采用液晶显示或数码管显示。对于一般的段式液 晶屏,需要专门的驱动电路,而且液晶显示作为一种被动显示,可视性差,不 适合远距离观看;对于具有驱动电路和单片机接口的液晶显示模块(字符或点阵), 一般多采用并行接口,对单片机的接口要求较高,占用资源多;另外, AT89S51 单片机本身无专门的液晶驱动接口。而数码管作为一种主动显示器件, 具有亮度高、响应速度快、防潮防湿性能好、温度特性极性、价格便宜、易于 购买等优点,而且有远距离视觉效果,很适合夜间或是远距离操作。因此,本 设计的显示电路采用 7 段数码管作为显示介质。 数码管显示可以分为静态显示和动态显示两种。由于本设计需要采用三位 数码管显示时间,如果静态显示则占用的口线多,硬件电路复杂。所以采用动 态显示。由于数码管显示时需要的电流为 5-20mA,所以限流电阻应该为: D I 33k . 0 15 55 D I R ,因此这里选用 8 个 0.33k的电阻。 图 2-4 显示电路基本原理图 动态显示是一位一位地轮流点亮各位数码管,这种逐位点亮显示器的方式 称为位扫描。通常各位数码管的段选线相应并联在一起,由一个 8 位的 I/O 口 控制;各位的公共阴极位选线由另外的 I/O 口线控制。动态方式显示时,各数 码管分时轮流选通,要使其稳定显示必须采用扫描方式,即在某一时刻只选通 一位数码管,并送出相应的段码,在另一时刻选通另一位数码管,并送出相应 的段码,依此规律循环,即可使各位数码管显示将要显示的字符,虽然这些字 符是在不同的时刻分别显示,但由于人眼存在视觉暂留效应,只要每位显示间 隔足够短就可以给人同时显示的感觉。 2 、74HC573 选用 SL74HC573 是由于灌电流太大,如果不用 SL74HC573 的话单片机承 受不了这么大的灌电流,将无法正常工作。 SL74HC573 跟 LS/AL573 的管脚一样。器件的输入是和标准 CMOS 输出 兼容的;加上拉电阻,他们能和 LS/ALSTTL 输出兼容。当锁存使能端为高时, 这些器件的锁存对于数据是透明的(也就是说输出同步) 。当锁存使能变低时, 符合建立时间和保持时间的数据会被锁存。 输出能直接接到 CMOS,NMOS 和 TTL 接口上 操作电压范围:2.0V6.0V 低输入电流:1.0uA CMOS 器件的高噪声抵抗特性 管脚功能图: 图 2-6 74HC573 管脚图 表 2-1 功能表 输入输出 输出使能锁存使能DQ LHHH LHLL LLX不变 HXXZ 2.1.52.1.5 按键电路按键电路 本设计中有五个按键,分别实现调时、复位功能。这五个键可以采用中断 的方法,也可以采用查询的方法来识别。对于复位键,主要功能在于数值复位, 对于时间的要求不是很严格,而调时键主要用于时间的锁定,需要比较准确的 控制。因此可以考虑,对复位键采用查询的方式,而对于调时键采用外部中断。 五个按键均采用低电平有效。 当按键没有按下时,单片机的 I/O 口直接连接电源,因此需要接上拉电阻 来进行限流,本设计中选取阻值为 10k 的电阻作为上拉电阻,根据计算可知 此时的灌电流为 0.5mA,查看 AT89C51 的资料得知次电流在安全范围内,符合 安全设计要求。 按键 1、2 可以对时钟进行精度为“分”的调时,键 1 为分加,键 2 为分减; 按键 3、4 可以对时钟进行精度为“分”的定时,键 3 为分加,键 4 为分减; 当时间到达设定好的数字时,蜂鸣器发出蜂鸣声。 按键 5 为复位,当时钟显示出错时,按下按键 5,此时数码管重置,数码 管显示“88 88 88” ; 图 2-7 调时按键电路 2.1.62.1.6 时钟电路时钟电路 DS1302 可以用于数据记录,特别是对某些具有特殊意义的数据点的记录, 能实现数据与出现该数据的时间同时记录。若采用单片机计时,一方面需要 采 用计数器,占用硬件资源,另一方面需要设置中断、查询等,同样 耗费单片机的资源,而且,某些测控系统可能不允许。但是,如果在系统中采 用时钟芯片 DS1302,则能很好地解决这个问题。 时钟芯片 DS1302 的各引脚功能如下: Vcc1:主电源;Vcc2:备份电源。 当 Vcc2Vcc1+0.2V 时,由 Vcc2 向 DS1302 供电, 当 Vcc2 Vcc1 时,由 Vcc1 向 DS1302 供电。 SCLK:串行时钟,输入,控制数据的输入与输出; I/O:三线接口时的双向数据线; RST 为复位引脚,在读、写数据期间,必须为高, X1 X2 为 32867Hz 晶振管脚,为芯片提供时钟脉冲。 图 2.8 时钟电路 2.22.2 软件设计软件设计 AT89S5l 内部定时/计数器 T0 和 Tl 设置为定时器模式 l 工作方式作为电 子时钟及电子秒表的计时基准。定时器 T0 产生 10 ms 的中断信号,每经过 1t30 次中断,时钟秒位加一,秒位经 60 次加一后向时位进位,当时问为 23 时 59 分 59 秒时,秒位再加一后变为 00 时 00 分 00 秒当按键切换为电子秒表功 能时,T0 每产生一次中断,十毫秒单元加一,十毫秒单元经过 l0 次加一后, 百毫秒单元加一。依次进位可实现最长为 9 小时 59 分 59 秒 990 毫秒的秒表计 时,可达到分辩 10 ms 的计时精度。 开始 初始化设置 闹钟 闹铃判断 显示时间 键盘扫描 图 2-1 主程序框图 主程序(程序见附录 3) 将各部分数值初始化(初始化 LED 及 DS1302) ,将初始化数据给闹钟,闹 钟判断,显示时间,键盘识别扫描,再返回给闹钟。 第三章第三章 仿真调试仿真调试 3.13.1 软件仿真软件仿真 仿真步骤: 1.正确安装 Keil 和 Proteus 软件。 (最好在同一盘中) 2.初次进入的集成开发环境界面中只包括空的工程管理窗口和输出窗口。 图 3-1 Keil 单片机模拟调试软件的集成开发环境 3. 在如图 3-2 所示的集成开发环境的窗口中选择 Project New Project 命 令将打开建立新工程的对话框,如图 3-2 所示。 图 3-2 建立新工程的对话框 在“保存在”下拉列表框中选择新建工程将要存储的文件夹名,在 “文件名” 文本框中输入工程的名称,注意对于工程不要添加扩展名,单击“保存”按钮即 可完成一个工程的创建。 单击“保存”按钮在完成一个工程创建的同时也打开了单片机芯片型号选择 对话框。如图 3-3 所示的对话框已经完成了芯片型号的选择。 图 3-3 单片机芯片型号选择对话框 如图 3-3 所示。最后单击“确定”按钮即可完成芯片的选择。 完成芯片的选择后又回到如图 3-3 所示的集成开发环境的窗口,但是这时 该窗口中的工程管理窗口不再是空白,在它的文件选项卡中出现目录列表 Target 1 和它的子目录 Source Group 1。 集成开发环境中的菜单 Project 内还包含 Open Project 和 Close Project 等选 项。Open Project 选项用来以后再次进入已经建立的工程,选择 ProjectOpen Project 命令将打开选择工程的对话框,该对话框与图 5.3 类似。在 “查找范围” 下拉列表框中选择欲打开的工程所在的文件夹,列表框中将出现该文件夹中的 所有工程,选择将要打开的工程,单击“打开”按钮即可打开一个工程。选择 ProjectClose Project 命令将关闭当前的工程。 3.在 Keil 工程菜单中选择 Target1 属性,在调试中 U 使用 Proteus,具体设 置见图 3-4。 图 3-4 调试设置 3.23.2 硬件调试硬件调试 调试步骤: 1.根据硬件电路原理图在 Proteus 中画出仿真电路,如图 3-5 图 3-5 仿真电路图 2.在 Keil 中将程序编译后,将对应的*.hex 文件载入仿真电路的单片机中, 如图 3-6 所示。 图 3-6 仿真程序设置 3.设置或改变输入电压的值,观察仿真结果。 4.根据硬件原理图将元器件放在单片机开发板合适位置。 5.根据原理图正确连接器件。 6.用万用表检测器件间是否虚焊。 7.将程序载入单片机,运行检测。 5.若显示结果不对,再次检查电路是否正确连接或者虚焊。 第四章第四章 操作说明操作说明 操作说明及其各部位讲解: 1、在 51 单片机中输入软件程序; 2、把单片机放入焊接的实验板中; 3、接通电源,此时数码管显示“88 88 88” ; 4、按键 1、2 可以对时钟进行精度为“分”的调时,键 1 为分加,键 2 为 分减; 按键 3、4 可以对时钟进行精度为“分”的定时,键 3 为分加,键 4 为 分减; 当时间到达设定好的数字时,蜂鸣器发出蜂鸣声。 5、按键 5 为复位,当时钟显示出错时,按下按键 5,此时数码管重置,数 码管显示“88 88 88” ; 参考文献参考文献 1 郑毛.单片机应用基础.人民邮电出版社,2006.6:21-42 2 李邓化,彭书华,许晓飞智能检测技术及仪表科学出版社, 2007:194-201 3 李鸿. 单片机原理及应用. 湖南大学出版社. 2004:8:72-73 4 杨宁,胡学军单片机与控制技术北京航空航天大学出版社,2005- 03:306-322 5 Kai E, Sawata S, Lkebukuro K et al. Detection of PCR product in solution using surface plasmon resonance .Analytical Chemistry, 1999.7.1 :796800 6 Verghese G C, Lang H, Casey L F. Analysis of instability in electrical machines .IEEE Trans on IA, 1986, 22 :853-864 . 7 Richard Blanchard, James Harden. Mosfets control more power in the same-sized package .Electronic Design, 1982, 12 :107114 课程小结课程小结 本课题以单片机最小系统为基础,进行电子闹钟的硬件电路设计,根据需 要适当改换部分元件的型号:AT89S51 工作于工作方式 1,时钟芯片型号为 DS1302,数码管显示驱动芯片为 MAX7219,晶振选择 12M 晶振,以达到设计所 需。 软件设计方面,程序由以下子程序构成:实现子程序的中断程序、实现闹 钟定时功能的时间比较程序、实现设定闹钟时间的时间设置程序、实现记时功 能的秒记时程序、实现修改显示时间的时间调整程序、实现显示功能的显示程 序及清零程序;基本模块参考单片机最小系统应用程序。 通过 Keil 软件对本文所设计的电子闹钟硬件及软件进行仿真操作,显示该 系统设计是比较成功的。可以完成预先设定的所有功能。 通过本次论文设计,使我加深了对单片机的认识,并且熟悉了单片机系统 的设计流程,收获丰硕。功能上基本达标:时钟与闹钟的显示,调时间和闹钟 功能以及闹钟鸣叫功能。时钟与闹钟显示功能,精确度完全可以满足日常生活 显示时间的需要;调时间与闹钟功能,方便快捷。硬件设施基本合乎要求,软 件设计可以配合硬件实现其功能。 附录附录 1 1、元器件清单、元器件清单 序 号 名称型号数量 1电阻10k15 2时钟芯片DS13021 3电解电容10uF/25V1 4单片机最小系统STC89C52RC1 5按键 5 6锁存器74HC5732 7电容30PF2 8电容100uF1 9电容100nF2 10电容220uF1 114 位显示器 2 12电池9V1 13晶振11.05922 14三端稳压器78051 15电池套 1 16驱动继电器ULN20031 17纽扣电池3V1 18蜂鸣器1 19三极管NPN1 20电路板1 2 2、整体原理图、整体原理图 图 7.1 基于单片机的闹钟设计原理图 3 3、程序清单、程序清单 #include #include ds1302.h #define KeyPort P3 #define DataPort P0 sbit LATCH1=P22; sbit LATCH2=P23; bit ReadTimeFlag; unsigned char code dofly_DuanMa10=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f; unsigned char code dofly_WeiMa=0 xfe,0 xfd,0 xfb,0 xf7,0 xef,0 xdf,0 xbf,0 x7f;unsigned char TempData8; void DelayUs2x(unsigned char t); void DelayMs(unsigned char t); void Display(unsigned char FirstBit,unsigned char Num); unsigned char KeyScan(void); void Init_Timer0(void); void main (void) unsigned char num; Init_Timer0(); Ds1302_Init(); while (1) num=KeyScan(); switch(num) case 1:time_buf14+;if(time_buf14=24)time_buf14=0; Ds1302_Write_Time();break; case 2:time_buf14-;if(time_buf14=255)time_buf14=23; Ds1302_Write_Time();break; case 3:time_buf15+;if(time_buf15=60)time_buf15=0; Ds1302_Write_Time();break; case 4:time_buf15-;if(time_buf15=255)time_buf15=59; Ds1302_Write_Time();break; default:break; if(ReadTimeFlag=1) ReadTimeFlag=0; Ds1302_Read_Time(); TempData0=dofly_DuanMatime_buf14/10; TempData1=dofly_DuanMatime_buf14%10; TempData2=0 x40; TempData3=dofly_DuanMatime_buf15/10; TempData4=dofly_DuanMatime_buf15%

温馨提示

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

评论

0/150

提交评论