《片单机原理与应用电子时钟设计大学论文.doc》由会员分享,可在线阅读,更多相关《片单机原理与应用电子时钟设计大学论文.doc(29页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、课 程 设 计课程名称 单片机原理与应用 课题名称 电子时钟设计 专 业 班 级 学 号 姓 名 指导教师_ 2013年6月 21 日设计内容与设计要求一、设计内容:本课题以单片机为核心,利用其定时器和6位数码管,设计一个电子时钟。要求有以下功能:1、开机时,显示00:00:00的时间开始计时;2、要求有秒,分,时的调节。3、具有复位功能。二、设计要求: 1)确定系统设计方案;2)进行系统的硬件设计; 3)完成必要的参数计算与元器件选择; 4)完成应用程序设计; 5)进行单元电路及应用程序的调试; 6)写出使用说明书主 要 设 计 条 件1、MCS-51单片机实验操作台1台;2、PC机及单片机
2、调试软件;3、单片机应用系统板1套;4、制作工具1套;5、系统设计所需的元器件。 说 明 书 格 式1. 课程设计任务书2. 目录3. 说明书内容1)课题的设计要求、目的、意义2)系统总体方案选择与说明3)系统结构框图与工作原理4)各单元硬件设计说明及计算方法5)软件设计与说明(包括流程图)6)调试结果与必要的调试说明7)使用说明8)程序清单9)总结10)参考文献附录附录A 系统原理图附录B 程序清单 进 度 安 排设计时间为两周第一周星期一、上午:布置课题任务,讲课及课题介绍 下午:借阅有关资料,总体方案讨论星期二、确定总体设计方案星期三、硬件模块方案设计星期四、软件模块方案设计星期五、各硬
3、件模块设计第二周星期一、各硬件模块设计星期二、各软件模块设计星期三、各软件模块设计星期四、写说明书星期五、上午:写说明书,整理资料下午:交设计资料,答辩参 考 文 献1 王迎旭编.单片机原理与应用 M.机械工业出版社,20032 李军,刘君华编.AVR单片机的特点及其应用J. 测控技术,20023 黄勤编.计算机硬件技术基础实验教程M.重庆大学出版社,20044 刘乐善编.微型计算机接口技术及应用M.华中科技大学出版社,20035 李慧编.基于FPGA的电子万年历设计J. 微计算机信息,2010目 录摘 要1第1章概述21.1单片机简介21.2单片机的特点2第2章 系统方案总体设计42.1系统
4、方案设定42.2 AT89C52概述52.3 数码管显示工作原理5第3章 硬件设计73.1 键盘电路设计73.2 复位电路的设计73.3 时间显示电路的设计83.4 硬件各接口资源分配8第4章 系统软件设计104.1 主程序设计104.2 时钟定时器T0中断设计12第5章 调试结果和调试说明13总 结14参考文献15附录16电气信息学院课程设计评分表23摘 要单片计算机即单片微型计算机。由RAM ,ROM,CPU构成,定时,计数和多种接口于一体的微控制器。它体积小,成本低,功能强,广泛应用于智能产业和工业自动化上。而51系列单片机是各单片机中最为典型和最有代表性的一种。这次课程设计通过对它的学
5、习,应用,从而达到学习、设计、开发软、硬的能力。本设计主要设计了一个基于AT89C51单片机的电子时钟。并在数码管上显示相应的时间。并通过一个控制键用来实现时间的调节和是否进入省电模式的转换。应用Proteus的ISIS软件实现了单片机电子时钟系统的设计与仿真。该方法仿真效果真实、准63确,节省了硬件资源。关键字:单片机;子时钟;键盘控制。4第1章概述1.1单片机简介 单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/
6、D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域的广泛应用。从上世纪80年代,由当时的4位、8位单片机,发展到现在的32位300M的高速单片机。1.2单片机的特点(1)高集成度,体积小,高可靠性 单片机将各功能部件集成在一块晶体芯片上,集成度很高,体积自然也是最小的。芯片本身是按工业测控环境要求设计的,内部布线很短,其抗工业噪音性能优于一般通用的CPU。单片机程序指令,常数及表格等固化在ROM中不易破坏,许多信号通道均在一个芯片内,故可靠性高。 (2)控制功能强 为了满足对对象的控制要求,单片机的指令系统均有极丰富的条件:分支转移能力,I/O口的逻辑操作及位处
7、理能力,非常适用于专门的控制功能。 (3)低电压,低功耗,便于生产便携式产品 为了满足广泛使用于便携式系统,许多单片机内的工作电压仅为1.8V3.6V,而工作电流仅为数百微安。 (4)易扩展 片内具有计算机正常运行所必需的部件。芯片外部有许多供扩展用的三总线及并行、串行输入/输出管脚,很容易构成各种规模的计算机应用系统。 (5)优异的性能价格比 单片机的性能极高。为了提高速度和运行效率,单片机已开始使用RISC流水线和DSP等技术。单片机的寻址能力也已突破64KB的限制,有的已可达到1MB和16MB,片内的ROM容量可达62MB,RAM容量则可达2MB。由于单片机的广泛使用,因而销量极大,各大
8、公司的商业竞争更使其价格十分低廉,其性能价格比极高。第2章 系统方案总体设计2.1系统方案设定本设计用STC89C52单片机为核心,其功能主要有软件来实现,以及独立键盘加LED数码管显示,所以降低了硬件电路的复杂性,也相应的降低了其成本。根据设计要求,总电路分为键盘接口电路、复位电路、LED显示电路、三个部分。其中键盘接口电路采用独立键盘,分别实现对时钟,分钟,秒钟的加一功能。时钟电路,在本系统中采用单片机定时功能实现时钟计时;复位电路中给给RST引脚连续输入2个机器周期(即24个时钟振荡周期)以上高电平,就可完成初始化操作;显示电路采用8段6位LED显示管显示时间,其中前两位显示小时,中间两
9、位显示分钟,后两位显示秒钟,时,分,秒间通过小数点“.”显示。电路的总体设计框架如图2-1:图2-1 总体设计2.2 AT89C52概述 AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,AT89C52单片机在电子行业中有着广泛的应用。AT89C52为8 位通用微处理器,采用工业标准的C51内核,在内部功能及管脚排布上与通用的8xc52 相同,其主要
10、用于会聚调整时的功能控制。功能包括对会聚主IC 内部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等。主要管脚有:XTAL1(19 脚)和XTAL2(18 脚)为振荡器输入输出端口,外接12MHz 晶振。RST/Vpd(9 脚)为复位输入端口,外接电阻电容组成的复位电路。VCC(40 脚)和VSS(20 脚)为供电端口,分别接+5V电源的正负端。P0P3 为可编程通用I/O 脚,其功能用途由软件定义,在本设计中,P0 端口(3239 脚)被定义为N1 功能控制端口,分别与N1的相应功能管脚相连接,13 脚定义为IR输入
11、端,10 脚和11脚定义为I2C总线控制端口,分别连接N1的SDAS(18脚)和SCLS(19脚)端口,12 脚、27 脚及28 脚定义为握手信号功能端口,连接主板CPU 的相应功能端,用于当前制式的检测及会聚调整状态进入的控制功能。2.3 数码管显示工作原理数码管是一种把多个LED显示段集成在一起的显示设备。有两种类型,一种是共阳型,一种是共阴型。共阳型就是把多个LED显示段的阳极接在一起,又称为公共端。共阴型就是把多个LED显示段的阴极接在一起,即为公共商。阳极即为二极管的正极,又称为正极,阴极即为二极管的负极,又称为负极。通常的数码管又分为8段,即8个LED显示段,这是为工程应用方便如设
12、计的,分别为A、B、C、D、E、F、G、DP,其中DP 是小数点位段。而多位数码管,除某一位的公共端会连接在一起,不同位的数码管的相同端也会连接在一起。数码管显示方法可分为静态显示和动态显示两种。静态显示就是数码管的8段输入及其公共端电平一直有效。动态显示的原理是,各个数码管的相同段连接在一起,共同占用8 位段引管线;每位数码管的阳极连在一起组成公共端。利用人眼的视觉暂留性,依次给出各个数码管公共端加有效信号,在此同时给出该数码管加有效的数据信号,当全段扫描速度大于视觉暂留速度时,显示就会清晰显示出来。6第3章 硬件设计3.1 键盘电路设计该设计只用了一个键盘,但实现的功能却是比较完善,减少了
13、硬件资源的损耗,该键盘可以实现小时和分钟的调节以及控制是否进入省电模式。当按键按下又松开,可以实现屏蔽数码管显示的功能,达到省电的目的;直接按下不松开,则可以通过按键实现分钟的累加,每按一次分钟加一;而连续两次按下按键不放松,则可实现小时的调节,同样每按一次小时加一。达到时间调节的目的。选择的多功能按键如图3-1所示。 图3-1 控制键3.2 复位电路的设计可靠的复位电路是保证单片机正常运行的关键因素。将RST引脚连续输入2个机器周期(即24个时钟振荡期间)以上高电平,即可以完成单片机的初始化操作。本设计采用按钮复位方式。复位电路设计图3-2所示:图 3-2 复位电路设计图1363.3 时间显
14、示电路的设计LED数码管显示方式有静态显示方式和动态显示方式两种。静态显示方式虽然占用CPU较少,接口简单,但其硬件电路比较复杂,成本较高,所以本设计中采用动态显示方式。动态显示方式是指轮流电量各位LED数码管,利用定时扫描的方式轮流点亮各位数码管。LED公用一个8位的I/O,即P0口,3位LED的位选线通过74LS138输出,来选中对应的LED数码管,由于采用的是8位LED数码管显示,所以前两位LED显示“时针”,中间两位显示“分针”,后面两位显示秒针间隔有横杠显示“”。同时可通过按键切换到跑表模式,然后还有闹钟模块,通过按键来切换显示模式,同时还可通过对应的按键对其进行时间设定。对于三个显
15、示直接的切换,可通过按键自由切换。时间显示电路如图3-3所示:图3-3显示电路3.4 硬件各接口资源分配AT89C51共有I/O口共32个,实验所用开发板各类I/O采用开放式管理,可有由户自定义使用,本设计需要用到的I/O口及分配如表3-4所示:136P0口P0.0LED数码管A段P3口P3.0LED数码管W1位选端P0.1LED数码管B段P3.1LED数码管W2位选端P0.2LED数码管C段P3.2LED数码管W3位选端P0.3LED数码管D段P3.3LED数码管W4位选端P0.4LED数码管E段P3.4LED数码管W5位选端P0.5LED数码管F段P3.5LED数码管W6位选端P0.6LE
16、D数码管G段P3.6LED数码管W7位选端P0.7LED数码管DP段P3.7LED数码管W8位选端P1口P1.0矩阵键盘的S1列选端P1.1矩阵键盘的S2列选端P1.2矩阵键盘的S3列选端表3-4接口表136第4章 系统软件设计4.1 主程序设计主程序循环中扫描是否有键按下,如有键按下,则做出相应的功能处理,同时扫描显示时间数据。若无按键,则继续执行时钟显示函数。主程序是先开始,然后启动定时器,定时器启动后在进行按键检测,检测完后,就可以显示时间。图4-1主程序流程图按键处理是先检测秒按键是否按下,秒按键如果按下,秒就加1;如果没有按下,就检测分按键是否按下,分按键如果按下,分就加1;如果没有
17、按下,就检测时按键是否按下,时按键如果按,时就加1;如果没有按下,就把时间显示出来。 图4-2 按键处理流程图114.2 时钟定时器T0中断设计本设计采用中断子程序。定时时间为50ms,当连续中断20次时,即为一秒,此时秒加一;当秒值为60时,分钟加一,同时秒清零。计数器TO中断服务程序流程如图4-2所示:开始T0中断入口通过查表方式显示数据数码位选加1位选值=8NY位选数值=0秒计数加1秒计数=500NY秒计数=0SECOND加1中断返回图4-2 计数器TO中断服务程序流程图1311第5章 调试结果和调试说明通过 proteus 7.7SP2 仿真,开始后数码管可以正常显示时间,分别按秒分时
18、键可进行加一调整。按复位键可以复位回到最初状态。调试过程的截图如下:总 结经过近两个星期的努力,我的单片机电子时钟课程设计终于完成了。在这两周的课程设计中,我有过不知所措的茫然,有过废寝忘食的专注,有过无从下手的苦恼,也有过豁然开朗的喜悦。功夫不负有心人,我所设计的电子时钟在老师和同学的帮助下在理论上基本达到了课程设计上的要求,但要运用在实际生活中还有很很多需要改善的地方。在本次设计的过程中,我发现很多的问题,也学到了很多知识与技巧。这次设计让我有了长足的进步,真正实现了对单片机硬件与软件的兼顾与融会贯通。也对C51编程有了跟一步的加深和了解。在这次课程设计中,感谢同组同学的鼓励与配合。通过本
19、次课程设计,我认识到了自己的许多缺点和不足,体会到了实践是检验真理的唯一标准以及实践出真知的道理。在此我忠心的感谢学校给我们提供的这次课程设计的机会;同时也要感谢李老师对我电子时钟设计的指导和很多同学对我的帮助;在这次课程设计中由于我们现在所学知识还不能满足课程设计的要求,所以我们在图书馆查阅了大量的资料,所以也应该感谢学校给我们提供了大量图书。由于本人水平有限,加之时间比较仓促,课程设计中错误和不妥之处,在所难免,殷切希望同学们,给予批评指正。14参考文献1 王迎旭编.单片机原理与应用M.机械工业出版社,20032 李军,刘君华编. AVR单片机的特点及其应用J. 测控技术,20023 黄勤
20、编.计算机硬件技术基础实验教程M.重庆大学出版社,20044 刘乐善编.微型计算机接口技术及应用M.华中科技大学出版社,20035 李慧编.基于FPGA的电子万年历设计J. 微计算机信息, 201013附录附录A 系统电路原理图13附录B 系统程序清单S_SETBITP1.0;数字钟秒控制位M_SETBITP1.1;分钟控制位H_SETBITP1.2;小时控制位SECONDEQU30HMINUTEEQU31HHOUREQU32HTCNTEQU34HORG00HSJMPSTARTORG0BHLJMPINT_T0START:MOVDPTR,#TABLEMOVHOUR,#0;初始化MOVMINUTE
21、,#0MOVSECOND,#0MOVTCNT,#0MOVTMOD,#01HMOVTH0,#(65536-50000)/256;定时50毫秒MOVTL0,#(65536-50000)MOD 256MOVIE,#82HSETBTR0;*;判断是否有控制键按下,是哪一个键按下A1:LCALLDISPLAY13JNBS_SET,S1JNBM_SET,S2JNBH_SET,S3LJMPA1S1:LCALLDELAY;去抖动JBS_SET,A1INCSECOND;秒值加1MOVA,SECONDCJNEA,#60,J0;判断是否加到60秒MOVSECOND,#0LJMPK1S2:LCALLDELAYJBM_
22、SET,A1K1:INCMINUTE;分钟值加1MOVA,MINUTECJNEA,#60,J1;判断是否加到60分MOVMINUTE,#0LJMPK2S3:LCALLDELAYJBH_SET,A1K2:INCHOUR;小时值加1MOVA,HOURCJNEA,#24,J2;判断是否加到24小时13MOVHOUR,#0MOVMINUTE,#0MOVSECOND,#0LJMPA1;*;等待按键抬起J0:JBS_SET,A1LCALLDISPLAYSJMPJ0J1:JBM_SET,A1LCALLDISPLAYSJMPJ1J2:JBH_SET,A1LCALLDISPLAYSJMPJ2;*;定时器中断服务
23、程序,对秒,分钟和小时的计数INT_T0:MOVTH0,#(65536-50000)/256MOVTL0,#(65536-50000)MOD 256INCTCNTMOVA,TCNTCJNEA,#20,RETUNE;计时1秒INCSECONDMOVTCNT,#0MOVA,SECONDCJNEA,#60,RETUNE13INCMINUTEMOVSECOND,#0MOVA,MINUTECJNEA,#60,RETUNEINCHOURMOVMINUTE,#0MOVA,HOURCJNEA,#24,RETUNEMOVHOUR,#0MOVMINUTE,#0MOVSECOND,#0MOVTCNT,#0RETUN
24、E:RETI;*;显示控制子程序DISPLAY:MOVA,SECOND;显示秒MOVB,#10DIVABCLRP3.6MOVCA,A+DPTRMOVP0,ALCALLDELAYSETBP3.6MOVA,BCLRP3.7MOVCA,A+DPTR13MOVP0,ALCALLDELAYSETBP3.7CLRP3.5MOVP0,#40H ;显示分隔符LCALLDELASETBP3.5MOVA,MINUTE ;显示分钟MOVB,#10DIVABCLRP3.3MOVCA,A+DPTRMOVP0,ALCALLDELAYSETBP3.3MOVA,BCLRP3.4MOVCA,A+DPTRMOVP0,ALCALL
25、DELAYSETBP3.4CLRP3.2MOVP0,#40H ;显示分隔符13LCALLDELAYSETBP3.2 MOVA,HOUR ;显示小时MOVB,#10DIVABCLRP3.0MOVCA,A+DPTRMOVP0,ALCALLDELAYSETBP3.0MOVA,BCLRP3.1MOVCA,A+DPTRMOVP0,ALCALLDELAYSETBP3.1RETTABLE: DB 3FH,06H,5BH,4FH,66HDB6DH,7DH,07H,7FH,6FHDELAY:MOVR6,#10D1:MOVR7,#250DJNZR7,$DJNZR6,D1RETEND13电气信息学院课程设计评分表项 目评 价优良中及格差设计方案合理性与创造性(10%)开发板焊接及其调试完成情况*(10%)硬件设计或软件编程完成情况(20%)硬件测试或软件调试结果*(10%)设计说明书质量(20%)答辩情况(10%)完成任务情况(10%)独立工作能力(10%)出勤情况(10%)综 合 评 分 指导教师签名:_ 日 期:_ 注:表中标*号项目是硬件制作或软件编程类课题必填内容; 此表装订在课程设计说明书的最后一页。课程设计说明书装订顺序:封面、任务书、目录、正文、评分表、附件(非16K大小的图纸及程序清单)。 13
限制150内