基于单片机的数字钟设计82465

上传人:仙*** 文档编号:91586637 上传时间:2022-05-17 格式:DOC 页数:25 大小:131.50KB
收藏 版权申诉 举报 下载
基于单片机的数字钟设计82465_第1页
第1页 / 共25页
基于单片机的数字钟设计82465_第2页
第2页 / 共25页
基于单片机的数字钟设计82465_第3页
第3页 / 共25页
资源描述:

《基于单片机的数字钟设计82465》由会员分享,可在线阅读,更多相关《基于单片机的数字钟设计82465(25页珍藏版)》请在装配图网上搜索。

1、.学生毕业设计毕业论文系别:专业:班 级:学 生 姓 名:傅浩学 生 学 号:设计论文题目: 基于单片机的数字钟设计 指 导 教 师:设 计 地 点:起 迄 日 期:毕业设计论文任务书专业电子信息工程班级 电子085姓名傅浩一、课题名称: 基于单片机的数字钟设计 二、主要技术指标:1具有时间显示和手动校对功能。224小时制;具有闹铃功能。3可逆调整时分。4走时月误差 5S.三、工作内容和要求: 主要有数字钟的发展及其应用,单片机的设计方案,数字钟硬件设计IC芯片的选择,电子时钟硬件电路数字钟软件设计主程序设计,软件实现与流程,系统调试硬件调试,软件调试 四、主要参考文献: 1、 康华光电子技术

2、基础数字部分 M 北京: 高等教育出版社 2000 2、 顾永杰 电工电子技术实训教程 M 上海:上海交通大学出版社 1999 3、 李可数字钟电路及应用M 北京:电子工业出版社1996 4、 李光飞 楼然庙 胡佳文等编著M单片机课程设计-实例指导 北京:北京航天航空大学出版社 5、 赵建领 51系列单片机开发实例M中国电力出版社2010 学 生签名 年 月 日 指 导 教师签名 年 月 日 教研室主任签名 年 月 日系 主 任签名 年 月 日毕业设计论文开题报告设计论文题目基 于 单 片 机 的 数 字 钟 设 计一、 选题的背景和意义:毕业设计是一次难得的对所学知识进行实践的机会,我希望通

3、过毕业设计独立设计一个简单的单片机数字钟从而达到强化课本知识并灵活运用的目的.数字钟是日常生活中随处可见的简单系统,是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更长的使用寿命,已得到广泛的使用。数字钟的设计方法有许多种,例如,可用中小规模集成电路组成电子钟;也可以利用专用的电子钟芯片配以显示电路及其所需要的外围电路组成电子钟;还可以利用单片机来实现电子钟等等。现在单片机的应用正在不断地走向深入,而近年来随着科技的飞速发展,它带动了日新月益更新的传统控制检测。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,

4、仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。 由于本人对数字钟的原理有浓厚的兴趣加之于单片机的广泛应用。且通过单片机实现的数字钟的编程具有灵活性,更能有助于功能扩展。故本人选取基于单片机的数字钟设计。二、 课题研究的主要内容:a) 数字钟设计分析: 数字钟的发展, 数字钟的应用 单片机设计方案b) 数字钟的硬件设计: 主要IC芯片选择,电子时钟硬件电路。c) 数字钟的软件设计: 主程序设计, 软件实现与流程d) 系统调试: 硬件调试 软件调试三、 主要研究设计方法论述:这次的数字钟设计,主要是针对单片机及数字钟的发展及影响在现在社会生活和学习中

5、产生了越来越重要的影响,因此我以单片机数字钟作为研究对象,而且,由单片机控制的智能化数字时钟,集成度高、体积小、有很高的可靠性。功能强大,界面友好,更好的满足了人们对它的智能化要求。首先通过上网查阅相关的资料,大体上得到关于单片机及数字钟的信息,自己经过整合,确定下我的研究设计方向,再到图书馆借阅图书,整理出单片机数字钟的笔记,在设计过程中看单片机和数字钟课程设计时的笔记和相关试验指导手册四、设计论文进度安排:时 间工 作 内 容先选好自己感兴趣的题目交由老师审核同时在网上搜索资料,寻找相关论文及设计的基本原理和相关知识进行作为参考将搜索好的资料进行整理,然后按照自己的结构和思路,并将初稿大致

6、定好2将初稿完成并上交老师评阅审核 等待老师修正建议并对初稿进行具体修改、充实、完善五、指导教师意见: 指导教师签名: 2010 年 5 月 10 日六、系部意见: 系主任签名: 20XX 5 月11 日.目录摘要Abstract第1章 前言31.1数字钟设计研究的背景和意义31.2数字钟的设计的功能3第2章 有关数字钟设计分析42.1数字钟的发展42.2数字钟的应用42.3单片机设计方案5第3章 数字钟的硬件设计63.1主要IC芯片选择63.2电子时钟硬件电路7第4章 数字钟的软件设计114.1主程序设计114.1.1C语言程序124.1.2原理图354.2软件实现与流程35定时和串口程序3

7、5键盘响应程序36第5章 系统调试385.1硬件调试385.2软件调试40第6章 结束语41答谢辞附录参考文献摘 要以8051为主芯片制作多功能数字钟的方案中,时钟信号主要由8051单片机的定时器/计数器来提供,对时间进行设置和进行闹铃设置主要用到单片机的外部中断。外部控制电路及显示电路都用到了他的I/O口,用单片机做一个数字钟是单片机应用中的一个典型例子.本设计充分利用8051单片机的4个I/O口,外加两片74LS07作数码管驱动电路,12位数码管的片选信号由74LS138译码器提供,采用动态显示。为增加驱动能力,又在数码管的阴极端加9013驱动管。我们设计出的电子钟采用24小时制计时,其中

8、添加了整点报时和闹铃提示功能。关键词:动态显示;译码器AbstractIt is a typical example to make a digital clock with the MCU. This design makes a good use of the I/O redirections,And we use two pieces of 74ls07 as the drivers for the LED, two pieces of 74ls138 as the encoders. We desplay the time in dynamic mathod. For the purp

9、ose of improving the ability of driving ,we add the 9013 as the driver for the LED.The work we design use 24 hour format, we add a alarm, so the clock can remind us at the time we set ahead. Moreover for the sake of demand, we still add the stop-watch function.Keywords:drivedynamicdisplay;encoder第1章

10、 前言1.1 数字钟设计研究的背景和意义时间是人类生活必不可少的重要元素,如果没有时间的概念,社会将不会有所发展和进步。从古代的水漏、十二天干地支,到后来的机械钟表以及当今的石英钟,都充分显现出了时间的重要,同时也代表着科技的进步。致力于计时器的研究和充分发挥时钟的作用,将有着重要的意义。这是有个简单的逻辑电路设计,它是由中小型集成电路构成数字钟的设计。数字钟是采用数字电路实现对时分秒数字显示的计时装置。由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,稳定度远远超过了我们以前所用的老式机械表。在数字显示方面目前已有集成的计数,译码电路,它可以直接驱动数码显示器。由于这些电路

11、装置十分简单,个体小巧,安装使用也十分方便。所以它是我们这些初学者的首选之材。1.2 数字钟的设计的功能电子时钟主要是利用电子技术将时钟电子化、数字化,拥有时间精确、体积小、界面友好、可扩展性能强等特点,被广泛应用于生活和工作当中。当今市场上的电子时钟品类繁多,外形小巧别致。也有体型较大的,诸如公共场所的大型电子报时器等。电子时钟首先是数字化了的时间显示或报时器,在此基础上,人们可以根据不同场合的要求,在时钟上加置其他功能,比如定时闹铃,万年历,USB扩展口功能等。本设计电子时钟主要功能为:1. 具有时间显示和手动校对功能,24小时制;2. 具有年、月、日显示和校对功能;3. 具有闹铃功能;第

12、2章 有关数字钟设计分析2.1数字钟的发展根据2010-20XX中国数字钟行业市场运行及投资前景研究报告2010-20XX中国数字钟行业市场运行及投资前景研究报告在大量周密的市场调研基础上,主要依据了国家统计局、国家商务部、国家发改委、国务院发展研究中心、中国海关总署、数字钟行业相关协会、国内外相关刊物的基础信息以及数字钟行业专业研究单位等公布和提供的大量资料,结合深入的市场调查资料,立足于当前金融危机对全球及中国宏观经济、政策、主要行业的影响,重点探讨了数字钟行业的的整体及其相关子行业的运行情况,并对未来数字钟行业的发展环境及发展趋势进行探讨和研判,最后在前面大量分析、预测的基础上,研究了数

13、字钟行业今后的应对策略,给予了合理的授信风险建议,为数字钟企业在当前环境下,激烈的市场竞争中洞察先机,根据行业环境及时调整经营策略,为战略投资者选择恰当的投资时机和公司领导层做战略规划提供了准确的市场情报信息及科学的决策依据,同时对银行信贷部门也具有极大的参考价值。2.2数字钟的应用现在是一个知识爆炸的新时代。新产品、新技术层出不穷,电子技术的发展更是日新月异。可以毫不夸张的说,电子技术的应用无处不在,电子技术正在不断地改变我们的生活,改变着我们的世界。在这快速发展的年代,时间对人们来说是越来越宝贵,在快节奏的生活时,人们往往忘记了时间,一旦遇到重要的事情而忘记了时间,这将会带来很大的损失。因

14、此我们需要一个定时系统来提醒这些忙碌的人。数字化的钟表给人们带来了极大的方便。从古至今,时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时间。忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。但是,一旦重要事情,一时的耽误可能酿成大祸。例如,许多火灾都是由于人们一时忘记了关闭煤气或是忘记充电时间。尤其在医院,每次护士都会给病人作皮试,测试病人是否对药物过敏。注射后,一般等待5分钟,一旦超时,所作的皮试试验就会无效。手表当然是一个好的选择,但是,随着接受皮试的人数增加,到底是哪个人的皮试到时间却难以判断。所以,要制作一个定时系统。随时提醒这些容易忘记时间的人。 钟表的

15、数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、定时启闭电路、定时开关烘箱、通断动力设备,甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。因此,研究数字钟及扩大其应用,有着非常现实的意义。2.3 单片机设计方案单片机是微型机的一个主要分支,它在结构上的最大特点使把CPU、存储器、定时器和多种输入/输出接口电路集成在一块超大规模集成电路芯片上。就其组成和功能而言,一块单片机芯片就是一台计算机。单片机具有如下特点:有优异的性能价格比;1 集成度高、体积小、有很高的可靠性;2 控制功能强;3 低功

16、耗、低电压,便于生产便携式产品;4 外部总线增加了I2C、SPI等串行总线方式,进一步缩小了体积,简化了结构;5 单片机的系统扩展、系统配置较典型、规范,容易构成各种规模的应用统。所以单片机的应用非常广泛,在智能仪表、机电一体化、实时控制、分布式多机系统以及人们的生活中均有用武之地。单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思路和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。这种用软件代替硬件的控制技术,是对生产控制技术的一次革命。利用单片机的智能性,可方便地实现具有智能的电子钟设计。单片机均具有时钟振荡系统,利用系统时钟借助

17、微处理器的定时器/计数器可实现电子钟功能。然而系统时钟误差较大,电子钟的积累误差也可能较大,所以可以通过误差修正软件加以修正,或者在设计中加入高精度时钟日历芯片,以精确时间。另外很多功能不同的单片机是兼容的,这就更便于实现产品的多功能性。第3章 数字钟的硬件设计3.1 主要IC芯片选择目前在单片机系统中,8XC5X系列单片机均采用标准MCS-51内核,硬件资源相互兼容,品类齐全,功能完善,性能稳定,体积小,价格低廉,货源充足,调试和编程方便,所以应用极为广泛。例如比较常用的AT89C2051单片机,带有2KB Flash可编程、可擦除只读存储器E2PROM的低压、高性能8位CMOS微型计算机。

18、拥有15条可编程I/O引脚,2个16位定时器/计数器,6个中断源,可编程串行UART通道,并能直接驱动LED输出。仅仅是为了完成时钟设计或者是环境温度采集设计,应用AT89C2051单片机完全可以实现。但是将两种功能结合在一片单片机上,就需要更多的I/O引脚,故本设计采用具有32根I/O引脚的AT89C51单片机。AT89C51单片机是一款低功耗,低电压,高性能CMOS 8位单片机,片内含4KB可经受1000次擦写周期的FLASH可编程可反复擦写的只读程序存储器EPROM,器件采用CMOS工艺和ATMEI公司的高密度、非易失性存储器NURAM技术制造,其输出引脚和指令系统都与MCS-51兼容。

19、片内的FLASH存储器允许在系统内可改编程序或用常规的非易失性存储器编程器来编程。因此,AT89C51是一种功能强,灵活性高且价格合理的单片机,可方便的应用在各个控制领域。AT89C51具有以下主要性能:1. 4KB可改编程序Flash存储器;2. 全静态工作:024Hz;3. 1288字节内部RAM;4. 32个外部双向输入/输出I/O口;5. 6个中断优先级; 2个16位可编程定时计数器;6. 可编程串行通道;7. 片内时钟振荡器。此外,AT89C51是用静态逻辑来设计的,其工作频率可下降到0Hz,并提供两种可用软件来选择的省电方式空闲方式Idle Mode和掉电方式Power Down

20、Mode。在空闲方式中,CPU停止工作,而RAM、定时器/计数器、串行口和中断系统都继续工作。在掉电方式中,片内振荡器停止工作,由于时钟被冻结,使一切功能都暂停,只保存片内RAM中的内容,直到下一次硬件复位为止8。图3-1 AT89C51芯片PDIP封装引脚图AT89C51为适应不同的产品需求,采用PDIP、TQFP、PLCC三种封装形式,本系统采用双列直插PDIP封装形式。3.2 电子时钟硬件电路如图3-2所示,AT89C51单片机P1.7直接接DS1302的RST端,上电后,AT89C51的P1.7脚自动输出高电平。P1.5作为串行时钟接口,P1.6作为时钟数据的I/O。DS1302采用双

21、电源供电,平时由+5V电源供电,当+5V掉电之后,由图中BT1+3V备用电池供电。特别需要注意X1和X2两端连接的晶振Y1,该晶振频率为32.768KHz。图3-2 时钟电路显示电路就时钟而言,通常可采用LCD显示或LED显示。对于一般的段式LCD,需要专门的驱动电路,而且LCD显示的可视性较差;对于具有驱动电路和微处理器接口的液晶显示模块字符或点阵,一般采用并行接口,对微处理器的接口要求较高,占用资源多。另外,AT89C51本身没有专门的液晶驱动接口。市场上也有专门的时钟显示组合LED。故本设计中应用7位8段共阴LED实现显示部分。LED显示分动态显示和静态显示:动态显示方式的硬件电路简单。

22、但设计上如果处理不当,易造成亮度低,闪烁问题。因此合理的设计既应保证驱动电路易实现,又要保证图像稳定,无闪烁。动态显示采用多路复用技术的动态扫描显示方式,复用的程度不是无限增加的, 因为利用动态扫描显示使我们看到一幅稳定画面的实质是利用了人眼的暂留效应和发光二极管发光时间的长短,发光的亮度等因素。静态显示,是由微型计算机一次输出显示模型后,就能保持该显示结果,直到下次发送新的显示模型为止。静态显示驱动程序简单,且CPU占用率低,但每个LED数码管需要一个锁存器来锁存每一个显示位的笔段代码,硬件开销大,仅适合显示位数较少的场合。为了在显示部分节省单片机I/O口,故采用动态扫描方式。74LS164

23、是8位移位寄存器,应用该芯片驱动LED做显示部分,其优点在于连线简单,节省单片机I/O口,软件编程容易。按键电路设计根据功能需要,本时钟需要设置以下功能键:校对选择键,加1操作键,减1操作键,显示日期键,显示温度键,闹铃开关键。按照键盘与CPU的连接方式可分为独立式键盘和矩阵式键盘。独立式键盘是各个按键相互独立,每个按键占用一个I/O口线,每根I/O口线上的按键不会影响其他I/O口上按键工作状态。独立式键盘电路配置灵活,软件结构简单,但每个按键必须占用一根I/O口,在按键数量较多时,I/O口线浪费较大,且电路结构复杂。矩阵式键盘适合按键较多时使用。由于本设计的电子钟最多需要7个按键,若采用矩阵

24、式键盘时会有按键浪费,故采用的是独立式键盘,电路如3-3所示。图3-3 键盘电路其中K1、K2、K7为带自锁按键,每次按下后,其对应的P2.7、P2.6、P2.1管脚接地,从高电平被拉至低电平。只有再次按下,按键弹出,与之连接的单片机管脚才会重新被拉回高电平。K3、K4、K5、K6键为自动复位按键。每次按下后,会自动弹出。单片机管脚只有在按键按下时为低电平,按键弹出后重新恢复高电平。闹铃电路设计闹铃音乐可以直接采用蜂鸣器闹铃,如当前时刻与闹铃时间相同,单片机向蜂鸣器送出高电平,蜂鸣器发声。采用蜂鸣器闹铃结构简单,控制方便,不足的是音乐简单、单一。闹铃的音乐不是本设计中的重点,故采用最简单的方法

25、,占用单片机一根I/O口P2.0, 中间用PNP型三极管S9012连接P2.0和蜂鸣器。当P2.0引脚为低电平时,S9012的发射极和集电极导通,使蜂鸣器发声。当响铃标志位为1时,P2.0送一定频率脉冲,使蜂鸣器U11发出声音。如图3-4。图3-4 闹铃电路第4章 数字钟的软件设计4.1主程序设计单片机依次开始调用键盘扫描子程序、DS1302子程序、闹铃子程序,经过延时,返回程序开头循环运行。系统设计中用到 89 C51单片机的部分功能:包括内部定时器,键盘扩展,程序中断, 串口通信等。用一个四联体的共阴极八段显示器,可通过一个输入输出口作为显示器数据发送端;另一个输入输出口的四位作为显示器各

26、位的片选信号,另四位作为键盘扩展口使用。采用一个频率为32.768k Hz 的晶振构成时钟电路。结构图如图4-1所示:图4-1 系统原理图系统的功能完全符合设计任务的要求,经过大量的测试数据显示, 系统的可靠性已经完全达到了实际电子钟的设计要求。同时系统具有很强的扩展性:添加 A/D 转换器可更改成数值仪表,而添加 D/ 转换器则可以设计成波形发生器,同时扩充串口的功能可以道到很好的计算机控制系统。系统扩展图如图4-2所示:图4-2 系统功能扩展原理图4.1.1 C语言程序:#include reg51.h /头文件;#include typedef.h#include key.h#inclu

27、de alarm_clock.h#include ds1302.hsbit DAT=P10; /74LS164的A、B脚接单片机P1.0;sbit CLK=P11; /74LS164的CLOCK脚接单片机P1.1;sbit Calendar=P27; /定义日历显示按键K7接单片机P2.7;sbit WDZ=P26; /定义温度显示按键K6接单片机P2.6;sbit FUN=P25; /定义功能选择键K5接单片机P2.5;sbit UP=P24; /定义加1键K4接单片机P2.4;sbit DOWN=P23; /定义减1键K3接单片机P2.3;sbit Ente_Snooze=P22; /定义

28、确认键K2接单片机P2.2;sbit Alarm=P21; /定义闹铃开关键K1接单片机P2.1;sbit beeper=P20; /定义闹铃接口P2.0;#define uint unsigned int#define uchar unsigned char#define true 1 /定义true=1;#define false 0 /定义false=0;#define FUNCTION 0xDF /定义FUN键值为DFH;#define UP 0xEF /定义UP键值为EFH;#define DOWN 0xF7 /定义DOWN键值为F7H;#define ALARM 0xFB /定义A

29、LARM键值为FBH;#define Ente_Snooze 0xFB /定义E/S键值为BFH;void key_task;void process;extern bit flash_flag; /定义全局变量标志位;extern uchar function_count;extern bit alarm_flag;extern bit key_enable;void dis; void sendbyte;voidreset_3w;voidwbyte_3w;ucharrbyte_3w;voidwrite_byte;uchar read_byte;void write_clock_burst;

30、voidds1302_init;void ds1302_task;void lcd_disp_time1;void dis_WD;voidds18b20;void alarm_clock;void delay /10ms延时unsigned char a,b,c; fora=0;a forb=0;b forc=0;c;void main /主程序;ds1302_init; /初始化DS1302;beeper=1; /初始化闹铃管脚;while /循环;key_task; /扫描键盘子程序; ds1302_task; /DS1302子程序;ds18b20; /DS18B20子程序;alarm_c

31、lock; /闹铃子程序;disp_time; /时间显示子程序;delay; /延时;beeper=1; /闹铃管脚置1; 程序A.2子程序/主要是用于对时间的设定与调整#include reg51.h#include typedef.h#include key.h#include ds1302.huint wait_time;bit key_enable;bit flash_flag;bit alarm_flag;uchar flash_count;uchar function_count=0;uchar key;uchar key_push;uchar key_l;void key_sc

32、an /扫描键盘; uchar l,a,PUSH; PUSH=P2&0xFF; if for0;l- /延时; for0;a- ; if key_push=P2&0xFF; key=key_push; /key等于键值; void process /按键功能子程序;switch case FUNCTION: /功能选择键;key_enable=true;function_count=function_count+1;if=9function_count=1; break; case UP: /加1操作键; if /function_count=1,则秒加1操作; sec+; if=60 /秒加

33、到60,则被置0; sec=0; write_byte; /写入秒寄存器; if /function_count=2,则分加1操作; min+; if=60 /分加到60,则被置0; min=0; write_byte; /写入分寄存器; else if /function_count=3,则小时加1操作; hour+; if=24 /小时加到24,则被置0; hour=0; write_byte;/写入小时寄存器; else if /function_count=4,则闹铃分钟加1操作; clk_min+; if=60 /分钟加满60自动置0; clk_min=0; else if /fun

34、ction_count=5,则闹铃小时加1操作; clk_hour+; if=24 /小时加满24自动置0; clk_hour=0; else if /function_count=6,则年加1操作; year+;if99 year=0; write_byte; else if /function_count=7,则月加1操作; month+; if=13 month=1; write_byte; else if /function_count=8,则日加1操作; date+;if=31date=0; write_byte;break;case DOWN: /键盘减1操作功能 if if se

35、c=60;-sec; write_byte; if if min=60; -min; write_byte; else if if hour=24; -hour; write_byte; else if if clk_min=60; -clk_min; else if if clk_hour=24; -clk_hour; else if if year=100; -year; write_byte; else if if month=13;-month; write_byte; else if if date=31;-date; write_byte; break; case ALARM: a

36、larm_flag=; break;case Ente_Snooze Time= true; /确认键;if& /贪睡功能; clk_min = clk_min +5; default: break; void key_taskkey_scan; ifwait_time=wait_time+1;ifwait_time=0;key_enable=false;elsewait_time=0; ifflash_count+; ifflash_countflash_flag=true;else if20&flash_countflash_flag=false; if=40flash_count=0;p

37、rocess;if /如果K7按下,显示日期;dis_Calendar ; else if /如果K6按下,显示温度; void dis_WD;if /如果按下确认键,直接显示时间; disp_time;key=0;数字钟原理图如附录所示为数字钟的原理图。4.2 软件实现与流程定时和串口程序定时和串口都是中断响应程序,它们的调用都是系统执行过程中采用中断事件触发产生。定时中断是周期性发生的,而串口中断则须串口有数据传输才发生中断。定时程序是整个系统的核心代码,这段代码不光涉及到显示,还涉及到系统计时, 这段代码的优劣关系到整个系统的可靠性,为初步减小系统误差, 置定时初值一定要在程序开始就设置

38、。图4-5 中断程序流程图 键盘响应程序键盘处理程序流程相对简单,只是简单的判键与处理。这里不再给出流程图。所谓键盘消抖就是一次按建的多次响应问题。当然,一般一次按建只须响应一次,但有的时候需要多次响应,如系统进入修改模式,数字的增减。当出现这种问题时,用户的一次击键是作为一次还是多次处理,必须有一个标准。程序中我用到了一个标志位,相当于中断系统的中断标志。当用户按下键时,标志清零,松开键时,标志恢复;键按下超过一定时间靠一扫描计数器判定后,恢复标志,则经过一定的时间延迟也靠一扫描计数器判定可以响应一次按键即一次按键的多次响应。而事实上,键盘响应程序就是一个事件触发器,键盘的每一个状态按下,松

39、开, 点击都可能引发一段响应程序如:重新设定键按下 = 准备复位;松开= 系统复位。这里的时间延迟靠的是指令计数,由于受硬件中断等不确定因素影响,这个延迟一般不准确,但通过实践测试,可以找到一些合适的值。第5章 系统调试调试工作分硬件调试和软件调试两部分,首先,硬件调试主要是先搭建硬件平台,然后利用万用表等工具对电路检查,最后应用程序进行功能调试。硬件调试比较费时,需要细心和耐心,也需要熟练掌握电路原理。然后,可以直接应用一些编辑或仿真软件进行软件调试,比如单片机C51编辑软件Keil。该软件提供了一个集成开发环境uVision,它包括C编辑器、宏编辑器、连接器、库管理和一个功能强大的仿真调试

40、器。通过编译、运行,可以检查程序错误。但应用此方法,仍需要十分了解所使用元器件的工作方式和管脚连接方式。在软件调试过程中要仔细耐心,即便是多写或少些一两个字符,都无法编译成功。而有时往往在Keil中编译、运行无错,但烧录到单片机中运行起来就会出错,很可能是编程时管脚或时序编辑得不对。还有一种方式,即应用仿真软件搭建电路的软件平台,再导入程序进行仿真调试。如果电路出错,可以在计算机上方便的修改电路,程序出错可以重新编辑程序,这种方法节时、省力,经济、方便。总之,调试过程是一个软硬件相结合调试的过程,硬件电路是基础,软件是检测硬件电路和实现其功能的关键13。在调试过程中,首先必须明确调试顺序。例如

41、:本设计是在单片机系统基础上建立起来的,所以必须先确定单片机基础电路能否正常工作。为了正确显示时间,接下来还要确定显示电路能否正常工作。硬件调试的过程,也是软件调试的过程。然后,要准备好调试的工具。硬件调试需要万用表、示波器等,软件调试一般需要诸如Keil等仿真编辑器。5.1 硬件调试单片机基础电路包括电源、单片机、外部时钟震荡电路、复位电路和外部接口电路。1. 检查电源是否完好。2. 单片机电源要连接正确,并且保证AT89C51的31号引脚接高电平。AT89C51的31号引脚是外部程序存储器选择信号端,当该引脚为高电平时,单片机会一直从片内程序存储器内取指令。3. 如果使用P0口做I/O口,

42、要接上拉电阻。4. 使用万用表排查电路中是否存在断路或者短路情况。5. 编辑一个使一组发光二极管循环点亮的程序并烧录到单片机内,上电运行,检查单片机是否正常工作,复位电路是否正确。5.2 软件调试在硬件调试完毕的基础上,需要进一步完善程序,也就是进入软件调试阶段。第6章 结束语在开展毕业设计时,如何选择合适的设计任务,是毕业设计的内容既有基本任务,又有发挥任务;既有一定的难度,又有一定的深度。基于单片机实现电子时钟,仅仅是众多方法之一。并且市场上的实时时钟日历芯片品类繁多,IC化的传感器各种各样,显示方式也愈趋于人性化。所以多功能电子时钟有多种实现方案,能够实现的功能也很多,已经通过仿真和调试

43、,实现了时间日历显示和校对、闹铃等功能。本文采用51单片机C语言进行编程,当然也可以应用汇编语言编程。经过两个月的设计,自己的毕业设计能够完成,那种喜悦真的是无法形容的!我本人非常喜欢并且对此次的设计表现出极高的热情和兴趣。答谢辞经过两个来来月的忙碌和学习,本次毕业设计已经接近尾声,作为一个大专生的毕业设计,由于经验的匮乏,难免有许多考虑不周全的地方,如果没有导师的督促指导,以及一起工作的同学们的支持,想要完成这个设计是难以想象的。 在这里首先要感谢我的导师王迅老师。王迅老师平日里工作繁多,但在我做毕业设计的每个阶段,从查阅资料,设计草案的确定和修改,中期检查,后期详细设计,装配草图等整个过程

44、中都给予了我悉心的指导。我的设计较为复杂烦琐,但是王迅老师仍然细心地纠正我设计中的错误。除了敬佩王迅老师的专业水平外,他的治学严谨和科学研究的精神也是我永远学习的榜样,并将积极影响我今后的学习和工作。 然后还要感谢大学几年来所有的老师,为我们打下电子专业知识的基础;同时还要感谢所有的同学们,正是因为有了你们的支持和鼓励。此次毕业设计才会顺利完成。谢谢你们!附录参考文献1 康华光, 电子技术基础数字部分M 北京,高等教育出版社 20002 顾永杰 电工电子技术实训教程M 上海,上海交通大学出版社 1999 3 陈 坚 电力电子学M,北京,高等教育出版社,20024 李可, 数字钟电路及应用M北京

45、:电子工业出版社 19965 李光飞、楼然庙、胡佳文等编著M单片机课程设计-实例指导 北京北京航天航空大学出版社毕业设计论文成绩评定表一、指导教师评分表总分为70分序 号考 核 项 目满 分评 分1工作态度与纪律102调研论证103外文翻译54设计论文报告文字质量105技术水平与实际能力156基础理论、专业知识与成果价值157思想与方法创新5合计70指导教师综合评语: 指导教师签名: 年 月 日 二、答辩小组评分表总分为30分序 号考 核 项 目满 分评 分1技术水平与实际能力52基础理论、专业知识与成果价值53设计思想与实验方法创新54设计论文报告内容的讲述55回答问题的正确性10合计30答辩小组评价意见建议等第: 答辩小组组长教师签名: 年 月 日三、系答辩委员会审定表1 审定意见2审定成绩等第_ 系主任签字: 年 月 日.

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!