单片机原理与接口技术课程设计(论文)-实时时钟的设计.doc_第1页
单片机原理与接口技术课程设计(论文)-实时时钟的设计.doc_第2页
单片机原理与接口技术课程设计(论文)-实时时钟的设计.doc_第3页
单片机原理与接口技术课程设计(论文)-实时时钟的设计.doc_第4页
单片机原理与接口技术课程设计(论文)-实时时钟的设计.doc_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

湖南工程学院课 程 设 计课程名称 单片机原理与接口技术 课题名称 实时时钟的设计 专 业 电气工程及其自动化 班 级 学 号 姓 名 指导教师 2009 年6 月 8日湖南工程学院课 程 设 计 任 务 书课程名称 单片机原理与接口技术 课 题 实时时钟的设计 专业班级 电气工程及其自动化 学生姓名 学 号 200601010704 指导老师 审 批 任务书下达日期 2009 年 6月 8 日任务完成日期 2009年 6月19 日设计内容与设计要求设计内容:本课题要求以单片机为核心设计一个多功能电子表,具有电时钟,万年历和跑表功能。做时钟时在显示器上显示时、分、秒,做跑表时显示范围00时00分00秒-23时59分59秒并具有跑表启动和跑表复位功能键。设计要求:1)确定系统设计方案; 2)进行系统的硬件设计;3)完成必要的参数计算与元器件选择;4)完成应用程序设计;*5)进行部分单元电路及应用程序的调试;主 要 设 计 条 件电子时钟的计时范围00时00分00秒23时59分-59秒,并在显示器上显示;万年历显示年月日;做跑表时显示范围00时00分00秒-23时59分59秒,当按下启动按钮跑表开始计时,按下停止按停止计时,当按下复位按钮跑表回零。说 明 书 格 式1. 课程设计任务书2. 目录3. 系统总体方案选择与说明4. 系统结构框图与工作原理5. 各单元硬件设计说明及计算方法6. 软件设计与说明(包括流程图)7. 调试结果与必要的调试说明8. 使用说明10、总结11、参考文献附录A 程序清单附录B 系统原理图进 度 安 排设计时间为两周第一周星期一、上午:布置课题任务,讲课及课题介绍 下午:借阅有关资料,总体方案讨论星期二、确定总体设计方案星期三、软件模块方案设计星期四、软件模块方案设计星期五、各软件模块设计第二周星期一、各软件模块设计星期二、各软件模块设计星期三、各软件模块设计星期四、写说明书星期五、上午:写说明书,整理资料下午:交设计资料,答辩参 考 文 献参考文献1、 教材单片机原理与应用王迎旭 编 机械工业出版社2 目 录一 、系统总体方案选择与说明71.设计要求72设计思路73电路的设计方案7二、系统结构框图与工作原理81、系统结构框图82、AT89C51单片计算机的组成原理83. AT89C5单片机的引脚功能124按键电路13三、各单元硬件设计说明及计算方法141.AT89C51器件142.AT89C51内部功能图153.LED显示电路15四、软件设计与说明161、主程序流程图设计如下162、显示模块17五、调试结果与必要的调试说明17六、设计总结18参考文献19附录20 一 、系统总体方案选择与说明1.设计要求电子时钟的计时范围00时00分00秒23时59分-59秒,并在显示器上显示万年历显示年月日;做跑表时显示范围00时00分00秒-23时59分59秒,当按下启动按钮跑表开始计时,按下停止按停止计时,当按下复位按钮跑表回零2设计思路根据设计要求可确定如下的设计思路:利用89C51系列单片机、LED显示器和一些辅助元件来生成时钟电路来达到设计要求。然后通过编写相应的程序对时钟电路进行调试和控制。 3电路的设计方案随着单片机技术的飞速发展,通过单片机对被控对象进行控制日益成为今后自动控制领域的一个重要发展方向,采用MCS-51单片机来对时间进行控制,不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被控时间的技术指标,从而能够大大提高产品的质量和数量。因此,单片机对时间的控制问题是一个工业生产中经常会遇到的问题。经过设计和原器件的功能,设计要求与设计思路,确定相应的设计方案。该电路由多个部分组成,如控制按键的输入电路,单片机的时钟电路,复位电路,LED显示器段码驱动电路,LED显示器位码驱动电路,显示器电路和跑表时钟电路组成。然后通过对以上电路的产生和调整设计出总的电路框图。所以可根据上述条件作出相应的实时时钟电路总的框图。然后开始设计内部驱动程序,是各种芯片按照相应的程序实现特定的功能个,之后按照程序的设计,将相应的管脚连接调试,看是否能实现预定的功能,由于本题目要实现万年历、时钟、跑表三种功能呢,所以需要三个驱动显示电路二、系统结构框图与工作原理1、系统结构框图 单片机LED显示器段码 驱动电路LED显示器位码 驱动电路 LED显示电路2个按键电路时钟电路复位电路跑表电路2、AT89C51单片计算机的组成原理(1)、组成框图及内部总体结构图2-1为89C51单片机功能结构框图 89C51 芯片内部集成了 CPU、RAM、ROM、定时/计数器和I/O口等各功能部件,并由内部总线把这些不见连接在一起。89C51单片机内部包含以下一些功能部件:1) 一个8位CPU;2) 一个片内振荡器和时钟电路;3) 4KB ROM(89C51有4KB掩膜ROM,87C51有4KB EPROM,80C31片内有无ROM);4) 128B内RAM;5) 可寻址64KB的外ROM和外RAM控制电路;6) 两个16位定时/计数器;7) 21个特许功能寄存器;8) 4个8位并行I/O口,共32条可编程I/O端线;9) 一个可编程全双工串行口;10) 5个中断源,可设置成2个优先级。(2)单片机各口及其负载能力、接口要求AT89C51共有4个8位并行I/O端口,共32个引脚1)P0口8位双向I/O口。 在不并行扩展外存储器(包括并行扩展I/O口)时, P0口可用作双向I/O口。在并行扩展外存储器(包括并行扩展I/O口)时, P0口可用于分时传送低8位地址(地址总线)和8位数据信号(数据总线)。位结构如图2-4所示。P0口能驱动8个LSTTL门。 VCC地址/数据控制锁存器P0.XDCPQQMUXV1V2P0.X引脚读锁存器写锁存器内部总线读引脚&1图2-2 P0口位结构2) P1口8位准双向I/O口(“准双向”是指该口内部有固定的上拉电阻)。位结构如图2-5所示。 P1口能驱动为4个LSTTL门。VCC锁存器P1.XDCPQQP1.X引脚读锁存器写锁存器内部总线读引脚内部上拉电阻图 2-3 P1口位结构3) P2口8位准双向I/O口。在不并行扩展外存储器(包括并行扩展I/O口)时, P2口可用作双向I/O口。在并行扩展外存储器(包括并行扩展I/O口)时, P2口可用于传送高8位地址(属地址总线) 。P2口能驱动4个LSTTL门。P2口的位结构如图2-6所示,引脚上拉电阻同P1口。在锁存器P2.XDCPQQ读锁存器写锁存器内部总线读引脚VCCP2.X引脚内部上拉电阻1地址控制MUX结构上,P2口比P1口多一个输出控制部分。图 2-4 P2口位结构 4) P3口8位准双向I/O口。可作一般I/O口用,同时P3口每一引脚还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)。P3口驱动能力为4个LSTTL门。 图 2-5 P3口位结构P3口第二功能如下表: 上述4个I/O口,各有各的用途。 在不并行扩展外存储器(包括并行扩展I/O口)时, 4个I/O口都可作为双向I/O口用。在并行扩展外存储器(包括并行扩展I/O口)时, P0口专用于分时传送低8位地址信号和8位数据信号,P2口专用于传送高8位地址信号。P3口根据需要常用于第二功能,真正可提供给用户使用的I/O口是P1口和一部分未用作第二功能的P3口端线。3. AT89C5单片机的引脚功能 AT89C51将具有多种功能的8位CPU与FPEROM结合在一个芯片上,为很多嵌入式控制应用提供了非常灵活而又便宜的方案。其引脚排列如下图所示:(1)VCC:电源电压(2)GND:接地(3)RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。(4)/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。(5)XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。(6)XTAL2:来自反向振荡器的输出。4按键电路由于我设计的是电子万年历,需要实现多种功能的显示,并要能够切换显示和调节年月日,因此,在设计过程中按键的设计就显得尤为重要。在设计过程中我一共采用了4个按键,尽量在小的空间里实现最多的功能。Mode键实现的是暂停功能。时按键按下一次就能够更换一次显示位。在调整显示环境下分按键是显示调整位的的加1键,FUNCTION键实现年月日与跑表时间显示切换键和跑表清零,并提高万年历显示的精确性。按键电路图如下三、各单元硬件设计说明及计算方法1.AT89C51器件2.AT89C51内部功能图3.LED显示电路单片机应用系统中,通常都需要人机对话。这包括人对应用系统的状态干预与数据输入,以及应用系统向人们显示运行状态与运行结果等。显示器键盘电路就是用来完成人机对话的人机通道。LED显示器的是一个非常重要的问题,显示电路由LED显示器,段驱动电路和位驱动电路组成。由于单片机的并行口不能直接驱动LED显示器,必须采用专用的驱动电路芯片,使之产生足够大的电流,显示器才能正常工作。如果驱动电路能力差,即负载能力不够,显示器亮度就低,而且驱动电路长期在超负荷下运行容易损坏。LED显示器的显示控制方式分为静态显示和动态显示两种,若选择静态显示,则LED驱动器的选择较为简单,只要驱动器的驱动能力与显示器电流相匹配即可,而且一般只需考虑段的驱动.动态显示则不同,由于一位数据的显示是由段和位选信号共同配合完成的,因此,要同时考虑段何位的驱动能力,而且段的驱动能力决定位的驱动能力.四、软件设计与说明1、主程序流程图设计如下初始化定时器初始化化定时器初始化化串口初始化显示待机指示符设定月设置年显示刷新启动走时变量初始化刷新显示判时分变化否否?秒指示判秒到否?年代显示时间显示星期显示YYYY2、显示模块基本显示模块设计的重点是由显示代码取得相应的段码、显示段码数据的串行发送,其中时个位的段码必须加上小数点,即带小数点显示时个位,目的是以小数点符代替时间分割符“-”。软件秒脉冲发生器其实质是利用了定时器0的定时溢出中断,将它设定为100ms溢出中断,则10次中断的时间正好为1s。将时间参数设计为100ms的原因有两个:)根据系统时钟主频为6M的特点,16位定时器最大定时时间为655362M(M为机器周期,这里是2),即131ms,取整数100便于计次数;)如取的太短,如10ms,则定时器频繁中断,干扰系统正常运行效果。有了秒脉冲发生器,10次中断为1s,秒指示灯闪亮1次,秒变量单元加1,60后分变量单元加1,如果为60分则时变量单元加1。任何一个变量的变化,则显示刷新一次(更新)。上述思想的实现均集成在定时器0的中断子程序中。五、调试结果与必要的调试说明打开WAVE6000,输入所编写的源程序并对程序进行编译,在软件的帮助下检查其中的错误并进行反复修改,知道编译正确后运行,确保没有错误以后对正确的源程序进行保存,保存时给其命名,以便将来载入程序时容易找到。2、打开PROTEUS软件,并出画单片机电子万年历具体运行电路图。3、检查所画电路运行图,确保没有错误以后,在PROTEUS下对原理图进行加载WAVE6000下的源程序。4、加载完成后,单击电路图框下的开始按钮,进行仿真,观察LED数码管现实情况,此时LED数码管开始显示数字。调节开关进行时间的调节。当秒的显示间隔快与或慢与实际间隔时,调节石英晶体震荡器的频率参数,从而使秒的间隔达到标准。然后检查电路其它问题,并对其的各参数进行调整,使之正确。4.2仿真结果通过在WAVE6000下对源程序的编译,改正了其中的很多错误,然后运行,保证源程序的正确性。然后按原理图选择正确合理的电器元件,画出正确的电路图,加载源程序运行,顺利实现了单片机数字电子钟的“小时”、“分钟”、“秒”的显示。六、设计总结两周的单片机课程设计终于顺利完成了,其中包含着快乐,也有辛酸。通过本次课程设计,使我对单片机程序设计的基本过程、方法、步骤、思路、有了一定的了解与认识,在调试过程中也总结了很多宝贵的经验,使所学的知识从理论转换到实际。我们选的设计题目是“实时时钟的设计”,大家都觉得这个题目是比较简单的。其实不然,做了之后,发现设计电路虽然简单,但我们认为它真正困难的地方是程序设计,不过在我们同心努力下最终完成了。我们刚接到老师布置的这个题目时,真的是一头雾水,硬件电路不知如何下手,更何谈解决程序那块,因为我们所学的都是单片机方面的理论知识,应用到实践中去还比较少。不过,我们三人也没偷下懒,迅速分工去查阅和收集资料。我们去了图书馆借一些参考书,上网找一些相关资料,并且请教指导老师。通过不断努力,终于把实时时钟的思路和模型定了下来,通过翻阅相关书籍,对单片机如何实现时钟这一功能有了初步的理解,原来在51系列单片机中写入不同的程序即可实现不同的功能,通过程序定义其端口的连线,信号的输出和外部中断控制。经过了一番努力,初步程序已经完成,接下来就是调试过程,这一过程十分重要,也是很难的一个阶段,这一过程是程序和器件结合的过程,要对程序有更深一步的了解和认识。通过一番整理和修改后,在电脑上进行仿真,当第一次仿真时我们受到了严重的打击,因为LCD显示器上并不能完整的显示日期,经过了一番检查,发现原来在程序中没有定义这一管脚的触发脉冲,当解决完这一问题后,更大的问题随之出现,就是时钟与万年历的切换问题,经过了数次改动,终于利用外部中断解决了这一问题。仿真成功后要做的事还有很多,比如对电路和程序的简化,这一过程也是经验积累的重要过程。在完成单片机课程设计后,我们发现我们还有许多不足,所学到的知识还远远不够,以至于还有一些功能不能被动完成。但通过学习这一次实践,增强了我们的动手能力,提高和巩固了单片机方面的知识,特别是软件方面。从中增强了我们的团队合作精神,并让我们认识到把理论应用到实践中去是多么重要。参考文献1 张迎新.单片微型计算机原理、应用及接口技术.国防工业出版社2 张鑫。单片机原理及应用 北京:电子工业出版社3 何立明 MCS-51单片机应用系统设计(系统配置与接口技术) 北京:北京航空航天 大学出版社4陈明荧.8051单片机课程设计实训教材北京:清华大学出版社5胡汉才.单片机原理及其接口技术北京:清华大学出版社6徐淑华程退安姚万生.单片机微型机原理及应用哈尔滨工业大学出版社7 余永权权,汪明慧,黄英编著。单片机在控制系统中的应用。北京:电子工业出版社 8 武锋 PIC系列单片机的开发应用技术。北京:电子工业出版社9 教材单片机原理与应用王迎旭 编 机械工业出版社附录附录 A 程序清单#include #include #define uchar unsigned char#define uint unsigned intUchar dispcode1=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x98uchar dispcode2=0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x18; uchar dispbit=0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80;uchar disp4;uchar dpt=0,t,cnt=0,i,second,miniute=20,hour=9,day=15,month=6;int year=2009; void aaa();void disp_1(void);void chushi(void)TMOD=0x01;TH0=0xf0;TL0=0xb0;TI=1;TR0=1;IE=0x82;P33=1;void mdelay(t) for(i=0;it;i+);void start()hour=0;miniute=0;second=0;while(P3!=0xff)void stop()while(P3!=0xff);TR0=0;jian() char n;i=P3&0x0f;switch(i)case 0x0e: TR0=1;n+; while(P3!=0xff)aaa();break;case 0x0d: TR0=1; switch(n) case 1: TR0=1;miniute=miniute+1;while(P3!=0xff)aaa();break;case 2: TR0=1;hour=hour+1; while(P3!=0xff)aaa();break;case 3: TR0=1;day+;while(P3!=0xff)aaa();break;case 4: TR0=1;month+;while(P3!=0xff)aaa();break;case 5: TR0=1;year+;while(P3!=0xff)aaa();break;default:n=1; break; while(P3!=0xff)aaa();break;case 0x0b: TR0=1;start();break;case 0x07: stop();break;default: break; void aaa() mdelay(50); P2=dispbit7; P1=dispcode1second%10; mdelay(50); P2=dispbit6; P1=dispcode1second/10; mdelay(50); P2=dispbit5; P1=0xbf;mdelay(50); P2=dispbit4; P1=dispcode1miniute%10; mdelay(50); P2=dispbit3; P1=dispcode1miniute/10; mdelay(50);P2=dispbit2; P1=0xbf;mdelay(50); P2=dispbit1; P1=dispcode1hour%10; mdelay(50); P2=dispbit0; P1=dispcode1hour/10;mdelay(50);P2=0x00;mdelay(50);P0=dispbit7; P1=dispcode1day%10; mdelay(50); P0=dispbit6; P1=dispcode1day/10;mdelay(50); P0=dispbit5; P1=dispcode1month%10;mdelay(50); P0=dispbit4; P1=dispcode1month/10; mdelay(50); P0=dispbit3; P1=dispcode1year%10;mdelay(50);P0=dispbit2; P1=dispcode1(year/10)%10;mdelay(50); P0=dispbit1; P1=dispcode1(year/100)%10

温馨提示

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

最新文档

评论

0/150

提交评论