资源描述
湖州职业技术学院应用电子专业毕业论文 I 摘 要 51 电子闹钟是集电子技术、数字显示技术为一体的高产品,具有按时闹铃, 使用方便等优点。本论文从 51 电子闹钟系统的功能,硬件电路设计,软件设计 和产品介绍四部分分别论述这一系统。本系统 51 电子闹钟硬件部分结构简单、 成本低,具有比较好的市场前景。 现代的快节奏生活给人们的精神上带来了很大压力。如何排解或缓解这些 压力已经成为很多人和探索者多年来的一个重要研究项目,电子闹钟减压正是应 此而生。 湖州职业技术学院应用电子专业毕业论文 II 目 录 第一章第一章 绪论绪论.1 11 概述 .1 111 51 电子闹钟发展趋势 .1 112 本课题研究的主要内容1 12 51 电子闹钟简介 2 121 开发的目的和意义2 122 51 电子闹钟的优点 .2 12. 3 51 电子闹钟的特点 .2 第二章 系统方案的设计3 21 系统概述 .3 211 系统功能描述 3 212 系统方案的确定 3 213 系统设计思路与步骤 3 22 芯片基本工作原理及其应用 .5 221 AT89S51简介 .5 222 引脚介绍 5 223 电源 6 224 存储器 6 225 应用 6 23 LM386简介 6 231 LM386介绍 .7 232 LM386 特点.7 第三章 系统的设计8 31 系统硬件设计.8 311 单片机系统的设计 8 312 按键电路的设计9 313 复位电路的设计 .10 314 显示电路的设计 .11 32 系统软件的设计12 321 软件设计 .12 322 整个系统软件部分的总体设计 .16 第四章 系统的调试和性能分析16 41 系统的调试方法16 湖州职业技术学院应用电子专业毕业论文 III 411 输入按键的调试 .16 412 复位电路的调试 .17 413 显示电路的调试 .17 414 整个系统的联调 .17 第五章 结论18 参考文献.19 附录 1 原理图 .20 附录 2 实物图 .21 附录 3 (程序) 22 湖州职业技术学院应用电子专业毕业论文 1 第一章第一章 绪论绪论 1 11 1 概述概述 电子闹钟在科学技术高度发展的今天,千家万户都少不了它,所以很多家庭 个人都需要有一个电子闹钟,为人们提供报时方便,但普通电子闹钟不够方便实 用。本文给出了一种以 51 芯片电子闹钟设计方法,从而给人们带来更为方便的 工作与生活。 111 51 电子闹钟发展趋势 现代的快节奏生活给人们的精神上带来了很大压力。如何排解或缓解这些 压力已经成为很多人关心的问题。单片机电子闹钟是具发前闹钟创新性的系统, 它代表了时代的发展趋势。2007 年,无论从国内外行业发展趋势,还是从闹钟 市场准入的要求来看,节能、环保、创新都已成为中国家电企业无法回避的大 问题。在原材料价格不断上涨、下游渠道商实力膨胀、价格战越来越激烈、行 业利润日趋微薄的背景下,日前,中国的电子闹钟在节能化、环保化、创新型 转变过程中,正进行新一轮闹钟赛跑。 目前,国内专业 5151 电子闹钟厂家的数量正在迅速增长。5151 电子闹钟市场 在未来的三五年内会高速增长,新技术、新产品也会不断出现并投入应用。 112 本课题研究的主要内容 设计一个 51 电子闹钟 (1) 能随意设定走时起始时间。 (2) 12 小时24 小时两种制式可选,以适应不同的需要。 (3) 能指示秒节奏,即秒指示 (4) 采用交直流供电电源。与石英钟不同的是,电子钟一般采用数码管 等显示介质,因而必须以交流供电为主,以直流电源为后备辅助电源,并能自 动切换。该设计主要包括:按键、 显示程序单元部分。 、AT89S51 单片机芯片、 74HC245 驱动 LED 显示电路,集成电路 74HC245 和 LM386 各 1 个. 湖州职业技术学院应用电子专业毕业论文 2 1 12 2 5151 电子闹钟简介电子闹钟简介 121 开发的目的和意义 目的: 设计一个 51 电子闹钟的,该闹钟可由使用者自己设定一个时间, 若想设置闹铃,应先按下复位按键,然后长时间按下“设置“按键,第一个数码 管会显示”C”,然后变为”00-00-00” ,此时进入闹铃设置状态,设置方法跟上 面一样,闹铃设置完后,下一步要设置当前时间,调整方法跳到第一步。这样 设置好后,她就能按照主人的意思,定时的把你闹醒啦! 意义:电子闹钟已经是现代生活中经常用到的工具之一,传统的电子闹钟 只是机械控制,另外,体积也很大,又不美观也不实用.而现在我设计的电子闹钟 是用单片机做的.只要简单的设置好后,她就能按照主人的意思,定时的把你闹 醒啦!也能给人们的生活带来方便。 122 51 电子闹钟的优点 (1) 、简单好用、美观、体积小、实用。 (2) 、用电量少、电压低,节能、环保、创新。 按键、 显示程序单元部分。AT89S51 单片机芯片、 74HC245 驱动 LED 显示电路。外接 3 个按钮组成键盘,AT89S51 为 51 内核。另外,AT89S51 本身 无专门的液晶驱动接口,因此,本时钟采用数码管显示方式。数码管作为一种 主动显示器件,具有亮度高、价格便宜等优点,而且市场上也有专门的时钟显 示组合数码管。 51 电子闹钟的用途:我设计的电子闹钟是用单片机做的.只要简单的设置 好后,她就能按照主人的意思,定时的把你闹醒啦!也能给人们的生活、工作 学习带来方便。 123 51 电子闹钟的特点 1.帮助您排解或缓解那些来自现实生活的压力 2.数码管作为一种主动显示器件,亮度高、价格便宜等,显示数字清晰。 3.简单好用,可任意设 24 式时间。 4.使用 LED 发光,省电,灯泡寿命长。 湖州职业技术学院应用电子专业毕业论文 3 第二章第二章 系统方案的设计系统方案的设计 2 21 1 系统概述系统概述 211 系统功能描述 本系统是利用AT89S51为51内核,集成电路74HC245和LM386各1个.制作完成一个 电子闹钟,该设计中采用液晶显示或数码管显示,因此,本时钟采用数码管显 示方式。充分体现系统的简易性。使我们了解简易闹钟的设计方法,并自己动 手设计电路和编写实现闹钟功能的程序。简易闹钟要实现以下功能:1、 、能正 确显示闹钟的走时2、可以进行当前时间的设置3、可以设置闹钟时间,并在时 间到时发出响声。 整个系统的任务要求: 1)输入数字按键的功能。 保证数字的输入。 2)复位电路的功能。 所有时间回到初始化状态,用于启动设定时间参数(对时或定闹) ; 3)显示电路的功能。 当输入数字时显示 24 小时时间功能。 4)闹铃功能 设置好闹铃时间后.能按设置好的时间准时闹铃。 212 系统方案的确定 根据以上各模块并结合显示屏的功能及元器件材料的情况,决定采用 AT89S51 为 51 内核显示设计方案。 213 系统设计思路与步骤 先进行系统的整体规划确定整个系统的功能,然后按照每个功能的具体要 求,进行各个模块的实物设计并逐个调试,待全部通过后,进行整个系统的联 调,最终实现一个完整的系统,并制成印刷线路板。 整个系统的设计步骤如下: 湖州职业技术学院应用电子专业毕业论文 4 在单片机最小系统的基础上,完成按键电路和复位电路的设计。 完成显示电路、数字按键、复位电路。 具有 3 个功能按键: 1.在复位后的待机状态下,用于启动设定时间参数(对时或定闹) ; 2.在设定时间参数状态而且不是设定最低位(即分个位)的状态下,用于 结束当前位的设定,当前设定位下移; 3.在设定最低位(分个位)的状态下,用于结束本次时间设定。 2)键,用于对当前设定位(编辑位)进行加 1 操作,根据 1224 小时工作 模式和正在编辑的当前位的含义(时十位、时个位、分十位、分个位)自动进 行数据的上限和下限判断。例如,对 12 小时制,小时的十位只能是 0、1,如 果当前值为 0,则按1 键后为 1,再按1 键则又回复到 0。 把以上各个模块联结起来,整体调试功能。 整个系统的原理框图如图 2-1 所示 图 2-1 整个系统的原理图 按键与按钮电路 复位等辅助电路 位数码管显示电路 闹铃声光指示电路 电源系统 湖州职业技术学院应用电子专业毕业论文 5 2 22 2 芯片基本工作原理及其应用芯片基本工作原理及其应用 221 AT89S51 简介 AT89S51 是一个低功耗,高性能 CMOS 8 位单片机,片内含 4k Bytes ISP(In-system programmable)的可反复擦写 1000 次的 Flash 只读程序存储器, 器件采用 ATMEL 公司的高密度、非易失性存储技术制造,兼容标准 MCS-51 指令 系统及 80C51 引脚结构,芯片内集成了通用 8 位中央处理器和 ISP Flash 存储 单元,功能强大的微型计算机的 AT89S51 可为许多嵌入式控制应用系统提供高 性价比的解决方案。 222 引脚介绍 AT89S51 具有如下特点:40 个引脚,4k Bytes Flash 片内程序存储器, 128 bytes 的随机存取数据存储器(RAM) ,32 个外部双向输入/输出(I/O)口, 5 个中断优先级 2 层中断嵌套中断,2 个 16 位可编程定时计数器,2 个全双工串 行通信口,看门狗(WDT)电路,片内时钟振荡器。 图 2-2 引脚图 此外,AT89S51 设计和配置了振荡频率可为 0Hz 并可通过软件设置省电模 式。空闲模式下,CPU 暂停工作,而 RAM 定时计数器,串行口,外中断系统可 继续工作,掉电模式冻结振荡器而保存 RAM 的数据,停止芯片其它功能直至外 中断激活或硬件复位。同时该芯片还具有 PDIP、TQFP 和 PLCC 等三种封装形式, 以适应不同产品的需求。 湖州职业技术学院应用电子专业毕业论文 6 主要功能特性: 兼容 MCS-51 指令系统 32 个双向 I/O 口 2 个 16 位可编程定时/计数器 全双工 UART 串行中断口线 2 个外部中断源 中断唤醒省电模式 看门狗(WDT)电路 灵活的 ISP 字节和分页编程 4k 可反复擦写(1000 次)ISP Flash ROM 4.5-5.5V 工作电压 时钟频率 0-33MHz 128x8bit 内部 RAM 低功耗空闲和省电模式 3 级加密位 软件设置空闲和省电功能 双数据寄存器指针 223 电源 89S51 有很宽的工作电源电压,电源范围宽达 45.5V. 224 存储器 89S51 支持 ISP 在线可编程写入技术!串行写入、速度更快、稳定性更好, 烧写电压也仅仅需要 45V 即可. 225 应用 就目前中国市场的情况来看,89S51 有很大的市场。其原因有下列几点:(1) AT89S51 设计和配置了振荡频率可为 0Hz 并可通过软件设置省电模式;(2) AT89S51 是一个低功耗,高性能 CMOS 8 位单片机;(3)芯片内集成了通用 8 位中央处理器和 ISP Flash 存储单元,功能强大的微型计算机的 AT89S51 可为 许多嵌入式控制应用系统提供高性价比的解决方案。 (4)同时该芯片还具有 PDIP、TQFP 和 PLCC 等三种封装形式,以适应不同产品的需求。 23 LM386 简介 LM386 是美国国家半导体公司生产的音频功率放大器,主要应用于低电压 消费类产品。为使外围元件最少,电压增益内置为 20。但在 1 脚和 8 脚之间增 加一只外接电阻和电容,便可将电压增益调为任意值,直至 200。输入端以地 湖州职业技术学院应用电子专业毕业论文 7 位参考,同时输出端被自动偏置到电源电压的一半,在 6V 电源电压下,它的静 态功耗仅为 24mW,使得 LM386 特别适用于电池供电的场合。专为低损耗电源所 设计的功率放大器。 231LM386 介绍 LM386适用于电脑、仪器、汽车电子、电源、通信、开关电源等电子产品. 232LM386 特点 静态功耗低,约为4mA,可用于电池供电。 工作电压范围宽,4-12V or 5-18V。 外围元件少。 电压增益可调,20-200。 低失真度。 2 24 4 74HC24574HC245简介简介 由于通过数码管公共及的电流较大,因此用三极管来驱动位码。为了避免过多地使用 分立元件,采用了一片74HC24574HC245来驱动段码。 湖州职业技术学院应用电子专业毕业论文 8 第三章第三章 系统的设计系统的设计 一个完整的系统,离不开硬件和软件的设计。硬件与软件各有所长,如何 合理的安排软硬件的任务是系统设计的第一步。 3 31 1 系统硬件设计系统硬件设计 系统硬件的设计可以根据系统的各个功能,把整个系统划分成若干个模块, 分别对这些模块来进行设计,然后在通过单片机程序来实现对各个硬件模块功 能的调度。 本系统涉及到的硬件模块有:按键电路、复位电路、显示电路。 311 单片机系统的设计 单片机最小应用系统实际上就是一个内置程序存储器的单片机,可由单片 机芯片,配以必要的外部器件构成,这些外部功能器件无法集成到芯片内部, 主要有按键电路、显示电路等。 湖州职业技术学院应用电子专业毕业论文 9 图 3-1 单片机系统图 312 按键电路的设计 作为一个按键从没有按下到按下以及释放是一个完整的过程,也就是说当 我们按下一个按键时,总希望某个命令只执行一次。而在按下的过程中不要有 干扰进来,因为在按下的过程中,一旦有干扰过来可能造成误触发过程,因此 我们在设计按键电路的时候应注意不要有干扰进来以用在焊接时应注意: 独立式按键。如果设置过多按键,将会占用较多 I/O 口,而且会给布线带 来不便,因此,此方案适用于按键较少的情况。如果选择此方案,由于按键较 少,在修改时间或设置闹铃时间时就不能直接输入,只能通过加或减完成,稍 为麻烦一些,但其程序简单。 (1)执锡补焊时应按照从左到右,由上到下的顺序,避免检查时漏检或焊 接时漏修。 (2)焊接时要经常清洗烙铁头,防止烙铁头的杂物造成虚焊、针孔、加焊 等不良发生。 (3) 不要在基板上给烙铁头加焊锡,生产过程中不能抖锡、敲锡、甩锡, 防止焊锡渣、焊锡 、珠掉到基板上面。 (4)在压件或拆件时要先在线路板的铜箔面上加焊锡,要求均匀加热,避 免松香失效或铜箔翘皮造成线路破坏。 考虑到电路不要复杂性,因而设计成 3 个按键,一个为复位,其它 2 个为按数 字时间的按键和确定设好的时间确定.后 2 个按键要接 89C2051 端.若想设置闹 湖州职业技术学院应用电子专业毕业论文 10 铃,应先按下复位按键,然后长时间按下“设置“按键,第一个数码管会显示” C”,然后变为”00-00-00” ,此时进入闹铃设置状态,设置方法跟上面一样,闹 铃设置完后,下一步要设置当前时间,调整方法跳到第一步。 在复位后的待机状态下,用于启动设定时间参数(对时或定闹) ; 在设定时间参数状态而且不是设定最低位(即分个位)的状态下,用于 结束当前位的设定,当前设定位下移; 在设定最低位(分个位)的状态下,用于结束本次时间设定。 2)键,用于对当前设定位(编辑位)进行加 1 操作,根据 1224 小时 工作模式和正在编辑的当前位的含义(时十位、时个位、分十位、分个位)自 动进行数据的上限和下限判断。例如,对 12 小时制,小时的十位只能是 0、1,如果当前值为 0,则按1 键后为 1,再按1 键则又回复到 0。 313 复位电路的设计 目前为止,单片机复位电路主要有四种类型:(1)微分型复位电路;(2)积分型复 位电路;(3)比较器型复位电路;(4)看门狗型复位电路。另外,Maxim 等公司也推出 了专用于复位的专用芯片复位电路的基本功能是:系统上电时提供复位信号,直至 系统电源稳定后,撤销复位信号。为可靠起见,电源稳定后还要经一定的延时 才撤销复位信号,以防电源开关或电源插头分-合过程中引起的抖动而影响复位。 当输入的复位信号延续两个机器周期以上的高电平时即为有效,用完成单片机 的复位初始化操作。 单片机目前已被广泛地应用于家电、医疗、仪器仪表、工业自动化、航空航天等领域。 市场上比较流行的单片机种类主要有 Intel 公司、Atmel 公司和 Philip 公司的 8051 系列单片 机,Motorola 公司的 M6800 系列单片机,Intel 公司的 MCS96 系列单片机以及 Microchip 公司的 PIC 系列单片机。无论用户使用哪种类型的单片机,总要涉及到单片机复位电路的 设计。而单片机复位电路设计的好坏,直接影响到整个系统工作的可靠性。许多用户在设 计完单片机系统,并在实验室调试成功后,在现场却出现了“死机”、 “程序走飞”等现象,这 主要是单片机的复位电路设计不可靠引起的。图 1 是一个单片机与大功率 LED 八段显示器 共享一个电源,并采用微分复位电路的实例。在这种情况下,系统有时会出现一些不可预 料的现象,如无规律可循的“死机”、 “程序走飞”等。而用仿真器调试时却无此现象发生或极 少发生此现象。又如图 2 所示,在此图中单片机复位采用另外一种复位电路。在此电路的 应用中,用户有时会发现在关闭电源后的短时间内再次开启电源,单片机可能会工作不正 常。这些现象,都可认为是由于单片机复位电路的设计不当引起的。 湖州职业技术学院应用电子专业毕业论文 11 图 3-2 复位电路图 314 显示电路的设计 就时钟而言,通常可采用液晶显示或数码管显示。由于一般的段式液晶屏, 需要专门的驱动电路,而且液晶显示作为一种被动显示,可视性相对较差;对 于具有驱动电路和微处理器接口的液晶显示模块(字符或点阵) ,一般多采用并 行接口,对微处理器的接口要求较高,占用资源多。另外,89C2051 本身无专 门的液晶驱动接口,因此,本时钟采用数码管显示方式。数码管作为一种主动 显示器件,具有亮度高、价格便宜等优点,而且市场上也有专门的时钟显示组 合数码管。基于 AT89S51 单片机的控制系统包括四部分:数据采集、控制系统、 时钟电路、语音录音电路和报音提示信息电路。 用数码管作为显示器。数码管的驱动电路简单,使用方便,如果选择了此 方案,那么在夜间看时间的时候就不需要有光源,非常方便。其缺点是功耗较 大。由于数码管使用起来较为方便,在夜间看时间也很方便,因此我们选择了 数码管作为显示器. 发音部分: 用软件方法产生方波输出,通过三极管放大后驱动蜂鸣器发音,这样就可 以省去硬件振荡电路,降低成本。 湖州职业技术学院应用电子专业毕业论文 12 3 32 2 系统软件的设计系统软件的设计 系统软件的设计方法与硬件设计的方法是相同的,也是根据系统的各个功 能,划分成各个子模块,分别对每个模块来进行设计,然后在通过各个模块之 间的调用来实现整个系统的功能。 系统软件部分的设计模块有:按键电路的软件设计、复位电路的软件设计、 显示电路的软件设计共 3 个模块。 发音部分: 用软件方法产生方波输出,通过三极管放大后驱动蜂鸣器发音,这样就可以省 去硬件振荡电路,降低成本。 电源: 如果是用电池供电,就比较方便携带,但是本系统,采用了数码管作为显示器, 功耗较大,需要经常更换电池。况且,本系统的体积较大,即使使用电池供电 也不能随身携带,因此,用电池供电不大合适,所以用外部稳压电源来供电。 321 软件设计 软件功能: (1)检测按键。当系统检测到某个案件被按下时,转到相应子程序处理,可实 现校时、设定闹铃时间的功能。 (2) 显示。系统通过调用显示子程序,可将显示缓冲区里的内容通过动态扫描 方式输出到数码管显示器。 (3) 计时。系统通过中断和软件计数器可产生秒信号。每到1s,系统将会调整 时间存储单元的内容,从而实现计时功能。 (4) 比较。每当秒存储单元的内容为0时,系统通过调用比较子程序可判断当前 时间是否符合闹铃条件,若符合,则调用发音子程序使蜂鸣器发出闹铃声音。 (5) 产生音频方波输出。系统通过软件产生音频方波输出使蜂鸣器发声,这样 可以省去硬件振荡电路。 (6) 拆分。为了提高存储单元的利用率,本系统将时间数据压缩成压缩BCD码后 再送入显存才能显示。 (7) 合并。为了提高修改时间的速度,可先对现存内容逐位修改,然后调用合 并子程序把显存内容合并后送入指定存储单元。 (8) 设定。系统进入设定状态后,可通过按“设定”键改变闪亮位位置和按 “+”或“-”键来加1或减1闪亮位内容,从而达到报时和设定闹铃时间的目的。 软件设计: 湖州职业技术学院应用电子专业毕业论文 13 图 T0中断服务程序流程图 湖州职业技术学院应用电子专业毕业论文 14 调整键按下 数码管熄灭进入 省电模式 数码管熄灭进入 省电模式 调整键按下 调整键按下 数码管熄灭进入 省电模式 后一个数码管闪烁 直到时间设置完成 加1键按下调整键按下 数字加1并闪烁 数码管熄灭进入 省电模式 调整键按下 数字加1并闪烁 第一个数码管变 进入调时 模式第一个管子闪烁 开始初始化 调整键按下很短 数码管显示00-00-00 同时等待设置时间 调整键按下较长 第一个数码管先变 后变 进入 闹铃设置模式第一个管子闪烁 调整键按下加1键按下 后一个数码管闪烁 直到时间设置完成 电路流程图 系统功能及使用方法: 系统上电后,自动进入时钟状态。若在此时按下“设定”键,显示器上将 湖州职业技术学院应用电子专业毕业论文 15 出现闪亮位,再按“+”或“-”则可以加或减闪亮位内容,修改完一位后再按 “设定”可改变闪亮位位置继续修改下一位。修改完成后按“确定”键即可退 出设定状态进入正常显示时钟状态。 在正常显示时钟状态时按下“闹钟”键可进入闹钟状态,此时按“+”或 “-”可上下翻动闹钟表;按“设定”键可修改当前显示的闹钟时间,修改方法 与修改时钟相同。在查看闹钟表状态下按“闹钟”键可以开/关当前显示的闹钟 时间,当显示器第 5 位显示“-”时表示闹铃已开。按“时钟”键返回正常显示 时钟状态。若想设置闹铃,应先按下复位按键,然后长时间按下“设置“按键, 第一个数码管会显示”C”,然后变为”00-00-00” ,此时进入闹铃设置状态,设 置方法跟上面一样,闹铃设置完后,下一步要设置当前时间,调整方法跳到第 一步。这样设置好后,她就能按照主人的意思,定时的把你闹醒啦! 我们先了解简易闹钟的设计方法,并自己动手设计电路和编写实现闹钟 功能的程序。简易闹钟要实现以下功能:1、 、能正确显示闹钟的走时2、可以进 行当前时间的设置3、可以设置闹钟时间,并在时间到时发出响声。 设计中,我们利用仪器中所提供的以上提到的芯片和软件编程结合的思 路。本设计的软件编程由四部分构成,下面将对照程序的构成来阐述我们组对 简易闹钟的方案设计,具体设计方案如下:(一)在主程序中,填写中断向量 表,应用 8255A 的 IRQ7 和 IRQ5 端。利用 8253A 和 8259A 完成计时一秒的功能, 然后通过更新时间的子程序完成时间跳变的功能,待到新的时间判断是否到达 设定的闹钟的时间,如果是,则启动扬声器;如果否,则继续进行显示时间。 (二)闹钟的时间是变化的,在更新时间的子程序中,首先判断更改后的秒数 是否小于 10,如果是,则返回主程序;如果否,则秒的个位跳变成 0,秒的十 位加一;再次判断秒的十位,过程同判断秒的个位相同。 (三)简易闹钟最重要 的功能就是“Its time to do something!”在这部分,主要要考虑的也是判 断当前时间是不是设定的闹钟时间。如果跳变后的时间的四位完完全全的和设 定的闹钟时间相同,则扬声器应该响起,提示闹钟的主人“Time is up!”从闹 钟的分钟的十位开始依次判断,如果前一个闹钟位的显示与设定的闹钟时间对 应位相同,则转入判断下一位;如果不相同,则返回主程序。都判断后,如果 都相同,则设置启动闹钟的对应位为 1,启动扬声器。 (四)在显示时间的子程 序中,时间从 0,0,0,0 开始显示。四位数字的显示各由一段程序完成。 湖州职业技术学院应用电子专业毕业论文 16 322 整个系统软件部分的总体设计 在各个模块的软件设计完成后,便可以对整个系统进行整体的软件设计。 其根本的设计思路是通过设置一些联系信号,把原本功能独立的各个模块联结 在一起,从而实现整体系统的功能。 第四章第四章 系统的调试和性能分析系统的调试和性能分析 4 41 1 系统的调试方法系统的调试方法 整个系统调试的主要思想是:先每个模块进行调试,然后整个系统一起调 试。先软硬件分开调试,然后一起调试。遵循先部分后整体的原则。 系统的在调试过程中要注意以下几点: (1)硬件电路焊完之后,在上电之前一定要先用万用表检测电源和地之间 是否短路。 (2)上电之后要用示波器观察信号的在电路中变化的情况,与设计当初的 情况相比较,找出差别,并进行分析。 (3)软件调试过程中可以使用断点、单步执行等常用的方法。 (4)软硬件联调时,要注意软件部分要一个功能一个功能的调试。 411 输入按键的调试 输入按键的调试,只要按键按下去时,按键有相应的反应就行,通过程序 来判断,单片机 I/O 是否能够识别出。 湖州职业技术学院应用电子专业毕业论文 17 412 复位电路的调试 当电源刚接通时,接通电源就完成了系统的初始化。 413 显示电路的调试 在本设计中,显示电路只需完成,当输入数字时能正确显示数字. 414 整个系统的联调 在系统各个部分都调试完毕之后,即可以进行整个系统的调试。由于前面 各个部分的调试做的都比较充分,所以在实际调试过程中,能够较顺利的实现 整个系统预期的功能。 4 42 2 系统的性能分析系统的性能分析 系统能在设定的时间内闹铃,但声音有点沙哑。这是因为控制蜂鸣器的 I/O 口每次取反后,必须调用一次显示子程序后才能再次取反,否则在发音期 间不能显示,而调用一次显示子程序需要的时间大约为 6ms(6 位每位 1ms), 所以振荡频率 f=1/T=1/(2*6ms)83Hz,显然这个频率过低,这就是造成声 音沙哑的原因。经测试,其时钟误差约为 3 秒天,这是因为从定时器向 CPU 发出中断申请信号到重装定时初值的过程需要一定的时间。 本系统通过测试,能够实现以下功能: (1)按键输入。 (2)闹铃声音。 (3)LED 显示。 湖州职业技术学院应用电子专业毕业论文 18 第五章第五章 结论结论 本次毕业设计我很早就开始准备,并且先自己买器件动手制作,因此能够 较早的完成全部的设计任务。通过本次设计,使自己在单片机应用系统设计方 面的能力有了长足进步。本次毕业设计应用单片机电子闹钟的设计与制作,作 为一种智能化产品,具有成本低,使用方便,可靠性高和可扩展性强的特点。 湖州职业技术学院应用电子专业毕业论文 19 参考文献参考文献 1.李捷,陈典涛等,一种应用单片机电子闹钟的设计与制作设计J ,农机化 研 究,2005。 2.陈明荧.8051 单片机课程设计实训教材 北京:清华大学出版社 2004 3.胡汉才.单片机原理及其接口技术 北京:清华大学出版社 1995 4.徐淑华 程退安 姚万生 .单片机微型机原理及应用 哈尔滨工业大学出版社 1994 5.丁元杰.单片机原理与应用.机械工业出版社出版.2003 年 2 月.58-67 6. 朱定华.单片机原理及接口技术.电子工业出版社出版.2004 年 5 月.32- 46 7. 何立民.单片机应用系统设计系统配置与接口技术.北京航空航天大学出 版社出版.2005 年 2 月.16-45 8. 江晓安、董秀峰.模拟电子技术.西安电子科技大学出版社.2003 年 9 月.46-110 9. 陆坤.电子设计技术. 成都电子科技大学出版社.1996 年 5 月.31-76 湖州职业技术学院应用电子专业毕业论文 20 附录附录 2 2 原理图原理图 湖州职业技术学院应用电子专业毕业论文 21 附录附录 3 3 实物图实物图 湖州职业技术学院应用电子专业毕业论文 22 附录附录 4 4(程序)(程序) ;定义变量; S1EQUP3.4;按键 JIAEQUP3.5 SECLEQU24H;各个显示单元 SECHEQU25H HENGXIAN EQU26H MINULEQU27H MINUHEQU28H HENGEQU29H HOURLEQU2AH HOURHEQU2BH SECONDEQU2DH;秒变量单位 COUNTEQU2EH;溢出中断计数器 SETFLAGEQU20H 湖州职业技术学院应用电子专业毕业论文 23 HHEQU00H;移位时用到的单元 HLEQU01H MHEQU02H MLEQU03H WARNSLEQU2FH WARNSHEQU30H WARNMLEQU32H;报警分低位 WARNMHEQU33H;报警分高位 WARNHLEQU35H;报警时低位 WARNHHEQU36H;报警时高位 WARNCNTEQU37H;已设定闹铃时间标志 WARNINGBIT 0CH;闹铃标志 WARNSETTEDBIT 0DH;已设定闹铃时间标志 ;误差修正; TFIXBIT 0EH;开始修正标志 NEQU60;误差值,单位:1/10s,默认为 0,即不修正 ;程序入口地址; ORG0000H LJMPMAIN ORG000BH;定时器 T0 溢出中断入口 LJMPTIMER0 ORG0030H ;主程序; MAIN: MOVSP,#60H;堆栈设置 CLRTFIX;误差开始修正标志初始化 MOVCOUNT,#0 LCALL SYS_INIT;系统初始化 LCALL T0_INIT;定时器初始化 LCALL SETTIME;等待设置当前时间 MAIN_0: MOVIE,#80H;设置完后开始走时,启动定时器 T0 SETBTR0;允许 T0 溢出中断 ;LCALL DELAY10MS LCALL DISPLAY1 ;系统初始化子程序; SYS_INIT: 湖州职业技术学院应用电子专业毕业论文 24 MOVIE,#00H;关中断 MOVR0,#20;清变量 MOVR1,#10H MOVA,#00H SYS_0: MOVR0,A INC R0 DJNZR1,SYS_0 RET ;定时器、串口初始化; T0_INIT: MOVTMOD,#01H MOVTH0,#3CH MOVTL0,#0B0H RET ;闹铃时间设定; SETWARN: MOVWARNHH,#0 MOVWARNHL,#0 MOVWARNMH,#0 MOVWARNML,#0 MOVWARNSH,#0 MOVWARNSL,#0 MOVSETFLAG,#00 SETBHH KAISHI_NAO: LCALL DISPLAYNEW1 SETW_1: JBS1,LOOP3 LCALL DELAY10MS JBS1,LOOP3 JNB S1,$ JBML,LOOPW1 MOVA,SETFLAG RL A ;当前位右移 l 位(标志左移 1 位) MOV SETFLAG,A ;回存 SJMP SET_W2 LOOP3: LJMPSET_W2 LOOPW1: LJMPKAISHI1 SET_W2: 湖州职业技术学院应用电子专业毕业论文 25 LCALL DISPLAYNEW1 JBJIA,SETW_1 LCALL DELAY10MS JBJIA,SETW_1 JNB JIA,$ JNB HH,SHI_W2 ;为真,则当前位灭 INC WARNHH MOVA,WARNHH XRLA,#3 JZSET_W1_1 LJMPKAISHI_NAO SET_W1_1: MOVWARNHH,#0 LJMPKAISHI_NAO SHI_W2: JNB HL,FEN_W1 INC WARNHL MOVA,WARNHH CJNEA,#2,SHI_W2_1 MOVA,WARNHL XRLA,#05H;小时低位只能是 0-4 JZSET_W21 LJMPKAISHI_NAO SHI_W2_1: MOVA,WARNHL XRLA,#0AH JZSET_W21 LJMPKAISHI_NAO SET_W21: MOVWARNHL,#0 LJMPKAISHI_NAO FEN_W1: JNB MH,FEN_W2 INC WARNMH MOVA,WARNMH XRLA,#6 JZSET_W22 LJMPKAISHI_NAO SET_W22: MOVWARNMH,#0 LJMPKAISHI_NAO FEN_W2: INC WARNML MOVA,WARNML 湖州职业技术学院应用电子专业毕业论文 26 XRLA,#0AH JZSET_W23 LJMPKAISHI_NAO SET_W23: MOVWARNML,#0 LJMPKAISHI_NAO ;设置时间闹铃扫描; DISPLAYNEW1: MOVA,#0AH MOV31H,A MOV34H,A MOVR0,#2FH MOVR3,#0FEH PLAYNEW1: MOVA,R3 MOVP2,A MOVA,R0 MOVDPTR,#TABLE MOVCA,A+DPTR MOVP0,A LCALL DELAY1MS INC R0 MOVA,R3 JNB ACC.7,LOOP2 RL A MOVR3,A SJMPPLAYNEW1 LOOP2:RET ;时间调整; SETTIME: MOVHOURH,#0 MOVHOURL,#0 MOVMINUH,#0;计时无保存,可能是闹铃没进去 MOVMINUL,#0 MOVSECH,#0 MOVSECL,#0 MOVSETFLAG,#00 SETBHH PANLING: LCALL DISPLAYNEW JBS1,PANLING LCALL DELAY100MS 湖州职业技术学院应用电子专业毕业论文 27 LCALL DELAY100MS LCALL DELAY100MS LCALL DELAY100MS LCALL DELAY100MS JBS1,KAISHI1 ;LCALL DELAY10MS JNB S1,SETC_1;按住时间更长为设置闹铃,第一个数码管显示为 “C“ SETNAO: SETBWARNSETTED LCALL SETWARN SETC_1: LCALL SETC KAISHI1: MOVHOURH,#0 MOVHOURL,#0 MOVMINUH,#0 MOVMINUL,#0 MOVSECH,#0 MOVSECL,#0 MOVSETFLAG,#00 SETBHH KAISHI: LCALL DISPLAYNEW SET_1: JBS1,SET_2 LCALL DELAY10MS JBS1,SET_2 JNB S1,$ JBML,LOOP1 MOVA,SETFLAG RL A ;当前位右移 l 位(标志左移 1 位) MOV SETFLAG,A ;回存 SJMP SET_2 LOOP1: LJMPMAIN_0 SET_2: LCALL DISPLAYNEW JBJIA,SET_1 LCALL DELAY10MS JBJIA,SET_1 JNB JIA,$ JNB HH,SHI_2;为真,则当前位灭 INC HOURH 湖州职业技术学院应用电子专业毕业论文 28 MOVA,HOURH XRLA,#3 JZSET_1_1 LJMPKAISHI SET_1_1: MOVHOURH,#0 LJMPKAISHI SHI_2: JNB HL,FEN_1 INC HOURL MOVA,HOURH CJNEA,#2,SHI_2_1 MOVA,HOURL XRLA,#05H;小时低位只能是 0-4 JZSET_21 LJMPKAISHI SHI_2_1: MOVA,HOURL XRLA,#0AH JZSET_21 LJMPKAISHI SET_21: MOVHOURL,#0 LJMPKAISHI FEN_1: JNB MH,FEN_2 INC MINUH MOVA,MINUH XRLA,#6 JZSET_22 LJMPKAISHI SET_22: MOVMINUH,#0 LJMPKAISHI FEN_2: INC MINUL MOVA,MINUL XRLA,#0AH JZSET_23 LJMPKAISHI SET_23: MOVMINUL,#0 LJMPKAISHI 湖州职业技术学院应用电子专业毕业论文 29 ;闹铃标志; SETC: MOVP2,#7FH MOVP0,#39H JNB S1,SETC LJMPSETNAO ;设置时间扫描; DISPLAYNEW: MOVA,#0AH MOV29H,A MOV26H,A MOVR0,#24H MOVR3,#0FEH PLAYNEW: MOVA,R3 MOVP2,A MOVA,R0 MOVDPTR,#TABLE MOVCA,A+DPTR MOVP0,A LCALL DELAY1MS INC R0 MOVA,R3 JNB ACC.7,LOOP RL A MOVR3,A SJMPPLAYNEW LOOP:RET ;走时扫描; DISPLAY1: MOVA,#0AH MOV29H,A MOV26H,A MOVR0,#24H MOVR4,#0FEH ;JNB P3.4,BAOHU ;LCALL DELAY5 PLAY: JNB WARNING,LING JNB P3.5,QINGLING CPLP1.0 LJMPLING 湖州职业技术学院应用电子专业毕业论文 30 ;LCALL DELAY10MS ;LCALL DELAY10MS QINGLING: CLRWARNING LING: ;LCALL DELAY10MS ;LCALL DELAY5MS JNB P3.4,BAOHU MOVA,R4 MOVP2,A MOVA,R0 MOVDPTR,#TABLE MOVCA,A+DPTR MOVP0,A LCALL DELAY2MS INC R0 MOVA,R4 JNB ACC.7,DISPLAY1 RL A MOVR4,A SJMPPLAY BAOHU: MOVP2,#0FFH LCALL DELAY100MS LCALL DELAY100MS LCALL DELAY100MS BAOHU1: JNB WARNING,BAOHU2 LJMPLING BAOHU2: JNB P3.4,PLAY1 ;BAOHU: ;JNB P3.4,PLAY ;LCALL DELAY10MS ;JBP3.4,$ ;LCALL DELAY10MS ;JBP3.4,PLAY LJMPBAOHU1 PLAY1: LCALL DELAY10MS LCALL DELAY10MS LCALL DELAY10MS LCALL DELAY10MS JBP3.4,PLAY 湖州职业技术学院应用电子专业毕业论文 31 LJMPBAOHU1 ;计时; TIMER0: PUSHACC;A 压栈保护 MOVTH0,#3CH;100MS 定时常数 MOVTL0,#0B0H INC COUNT MOVA,COUNT JBTFIX,T0_00 XRLA,#10 SJMPT0_01 T0_00: XRLA,#N T0_01: JZT0_1 POPACC RETI T0_1: CLRTFIX MOVCOUNT,#00H INC SECOND MOV A,SECOND CPLP1.1 CPLP1.2 XRLA,#2 JZT0_2_1 POPACC RETI T0_2_1: MOVSECOND,#00H ;CPLP1.1 INC SECL MOVA,SECL XRLA,#0AH JZT0_2_2 POPACC RETI T0_2_2: MOVSECL,#00H INC SECH MOVA,SECH XRLA,#06H JZT0_2 POPACC 湖州职业技术学院应用电子专业毕业论文 32 RETI T0_2: MOVSECH,#00H INC MINUL MOVA,MINUL XRLA,#0AH JZT0_3 LJMPADJUST T0_3: MOVMINUL,#00H INC MINUH MOVA,MINUH XRLA,#06 JZT0_30 LJMPADJUST T0_30: MOVMINUH,#00H INC HOURL;小时低位+1(即变化了),则还要判断高位是否进位判断小 ;时高位,如为 0,1,则小时低位可以到 9,否则,只能 03 MOVA,HOURH CJNEA,#2,T0_300 MOVA,HOURL XRLA,#04 JZT0_4;如为 3 则转 LJMPADJUST;时或分改变均要进行闹铃判断 T0_300: MOVA,HOURL XRLA,#0AH JZT0_4;如为 3 则转 LJMPADJUST;时或分改变均要进行闹铃判断 T0_4: MOVHOURL,#00;高位进行处理 INC HOURH MOVA,HOURH XRLA,#03;判断高位是否到 3 JZT0_40 LJMPADJUST T0_40: MOVHOURH,#00H;到 3,则做回 0 处理(24 小时制中时高位只能是 2) ;时分发生改变时,必须进行闹铃判断 ADJUST: JBWARNSETTED,ADJUST_1 ;如果没设定闹铃,则不判断 POPACC RETI 湖州职业技术学院应用电子专业毕业论文 33 ADJUST_1: MOVA,HOURH;否则,与设定闹铃时间比较 XRLA,WARNHH JNZ ADJUST_2 MOVA,HOURL XRLA,WARNHL JNZ ADJUST_2 MOVA,MINUH XRLA,WARNMH JNZ ADJUST_2 MOVA,MINUL XRLA,WARNML JNZ ADJUST_2;一致,则设置闹铃标志 SETBWARNING;设置开始闹铃标志 POPACC RETI ADJUST_2: CLRWARNING;清闹铃标志 POPACC;否则,不设置闹铃标志 RETI ;按键判断子程序; TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,40H TABLE1: DB 0BFH,86H,0DBH,0CFH,0E6H,0EDH,0FDH,87H,0FFH,0EFH ;延时子程序; DELAY10MS: MOVR6,#20 D2:MOVR7,#248 DJNZR7,$ DJNZR6,D2 RET DELAY5MS: MOVR6,#10 D4:MOVR7,#248 DJNZR7,$ DJNZR6,D4 RET DELAY2MS: MOVR6,#4 D1:MOVR7,#248 DJNZR7,$ 湖州职业技术学院应用电子专业毕业论文 34 DJNZR6,D1 RET DELAY1MS: MOVR6,#2 D3:MOVR7,#248 DJNZR7,$ DJNZR6,D1 RET DELAY100MS: MOVR6,#200 D5:MOVR7,#248 DJNZR7,$ DJNZR6,D2 RET END 湖州职业技术学院应用电子专业毕业论文 35 毕业设计(论文)成绩考核表 指导教师评语: 指导教师签名: 年 月 日 答辩评审意见: 答辩组长签名: 年 月 日 成绩: (验收盖章) 年 月 日 湖州职业技术学院应用电子专业毕业论文 36
展开阅读全文