




已阅读5页,还剩20页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单片机原理及应用课程设计题 目 单片机多功能电子钟设计 学院名称 电气工程学院 指导教师 班 级 电力三班 学 号 20114450310 学生姓名 2014年 月 日 南华大学电气工程学院课程设计(论文) 单片机课程设计任务书1课程设计的内容和要求(包括原始数据、技术要求、工作要求等):(1) 设计内容 利用单片机实现具有计时、校时等功能的数字时钟,是以单片机AT89C51为核心元件 同时采用LED数码管显示器动态显示“时”、“分”、“秒”的计时装置。显示的数据为12:00:00,然后电路会自动开始计时。电路中有时、分、秒各自单独的调整按钮,时间调整按钮每按一次,相应的显示时间加1。实现时分秒和的调时功能。 (2) 设计要求 硬件电路设计。 根据设计任务选择合适的单片机,根据控制功能要求,设计各单元模块电路,设计的单元电路必须有设计原理分析,器件的选择与作用,参数计算过程。 编写程序。 根据电路工作过程,画出软件流程图,根据流程图编写相应的程序,进行调试并打印程序清单。 利用仿真器进行系统整体仿真调试、运行程序,并分析仿真结果。 完成硬件电路的制作与调试。 使用PROTEL绘制系统电路原理图。 编写设计论文说明书。要求条理清楚,重点突出,结构合理。对电路有详细分析,所用芯片详细介绍,并附有完整电路图(A3)及带有注释说明的完整的软件源程序清单,格式符合设计论文规范。2对课程设计成果的要求包括图表(或实物)等硬件要求:设计电路与程序,安装调试或仿真,分析实验结果,并写出设计说明书,语言流畅简洁,文字不得少于3500字。要求图纸布局合理,符合工程要求,使用Altium Designer (Protel)软件绘出原理图(SCH),使用Proteus软件平台仿真,器件的选择要有计算依据。3主要参考文献:1张洪润,易涛.单片机应用技术教程M.清华大学出版社.20062康华光.电子技术基础M.高等教育出版社.20003阎石.模拟电子技术基础M.华中科技大学出版社.20054刘乐善.微型计算机接口技术及应用M.华中科技大学出版社.20055张毅刚.MCS-51单片机应用设计M.哈尔滨工业大学出版社.20054课程设计工作进度计划:序号起 迄 日 期工 作 内 容12014.8.25-2014.8.30分析设计任务,查阅相关资料,确定设计方案22014.8.31-2014.9.4完成硬件电路设计及调试32014.9.5-2014.9.10编写程序、录入程序、软件编译调试、仿真。42014.9.11-2014.9.16硬件电路制作与调试,编写设计论文说明书52014.9.17完成设计论文说明书,准备答辩62014.9.19提交设计成果,答辩主指导教师汪普林日期: 2014年 9 月 25 日摘要:本文为基于单片机的数字电子时钟的设计。单片机是集CPU、RAM、ROM、定时器/计数器和多种接口于一体的微控制器。它体积小、成本低、功能强,广泛应用于智能产品和工业自动化上。而51系列的单片机是各单片机中最为典型和最有代表性的一种。,本次设计提出了系统总体设计方案,并设计了各部分硬件模块和软件流程,在用C语言设计了具体软件程序后,将各个模块完全编译通过过后,结果证明了该设计系统的可行性。通过运用所学的知识及查阅参考大量资料,按照课程设计的基本要求完成了设计。随着科学技术的不断发展,人们对时间计量的精度要求越来越高。数字式电子钟用集成电路计时时,译码代替机械式传动,用LED显示器代替指针显示进而显示时间,减小了计时误差.这种表具有时、分、秒、显示时间的功能,还可以进行时、分的校对。片选的灵活性好。传统的数字电子时钟采用了较多的分立元器件,不仅占用了很大的空间而且利用率也比很低,随着系统设计复杂度的不断提高,用传统时钟系统设计方法很难满足设计需求。该设计利用单片机的运算和控制功能,并采用系统化LED显示模块实时显示数字的设计方案,适当地解决了实际生产和日常生活中对计时高精确度的要求,因此该设计在现代社会中具有广泛的应用性。关键字:51单片机 ;电子时钟 ; 数码管显示 ; C程序目录引言81 概述9 1.1设计目的9 1.2设计要求92 设计流程图103 电子原件介绍11 3.1 AT89C51介绍11 3.1.1AT89C51标准功能11 3.1.2AT89C51主要特性124 电路设计13 4.1数字时钟构成13 4.2数字钟的工作原理13 4.3各部分电路分析14 4.3.1显示模块14 4.3.2运算模块14 4.3.3校时模块14 4.3.4电路仿真图145 软件设计17 5.1 C语言在单片机中的应用17 5.2 程序设计18结束语19参考文献12附录一 C语言程序21附录二 原理图27引言1957年,Ventura发明了世界上第一个电子表,从而奠定了电子时钟的基础,电子时钟开始迅速发展起来。现代的电子时钟是基于单片机的一种计时工具,采用延时程序产生一定的时间中断,用于一秒的定义,通过计数方式进行满六十秒分钟进一,满六十分小时进一,满二十四小时小时清零。从而达到计时的功能,是人民日常生活补课缺少的工具。现在高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟、石英钟、石英表都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调试,数字式电子钟用集成电路计时时,译码代替机械式传动,用LED显示器代替指针显示进而显示时间,减小了计时误差,这种表具有时、分、秒显示时间的功能,还可以进行时和分的校对,片选的灵活性好。1 概论1.1设计目的单片机以其功能强,体积小,功耗低,易开发等很多优势被广泛应用。本次数字时钟的设计就是需要通过选择合适的单片机来进行主控,再结合电路的知识,同时在软件的设计过程中用到液晶显示驱动、模数转换程序及汉字库的的设计,做到对我们所学数电、模电、单片机等知识的综合应用,最终实现所设计数字电子秤的各项功能,达到“巩固知识,培养技能,学而用之”的实践目的。通过这次课程设计,不但要提高我们在工作中的学习能力、探究能力、应用能力和动手能力,还要历练我们不畏艰难、不懂便学、有漏必补的认真严谨的工作态度,强化我们的社会适应力和社会竞争力,为走向社会提前试水,完善自我。1.2 设计要求 设计应包括以下基本功能:(1)应用AT89C51单片机设计实现数字时钟电路。(2)显示的数据为12:00:00,然后电路会自动开始计时。(3)电路中有时、分、秒各自单独的调整按钮,时间调整按钮每按一次,相应的显示时间加1。(4)实现时分秒和的调时功能。 (5) 采用C语言编写程序并调试。分按键了?2 设计流程图 开始分寄存器值加1定时器TO初始化 秒寄存器值=60?设置显示初始值为12:00:00 NN使分寄存器清0设置定时4ms初值分按键松开了?设置中断允许N设置中断250次是按键了?启动T0中断时寄存器值加1秒按键了?N时寄存器值=24?秒寄存器值加1N秒寄存器值=60?NY使时寄存器清0使秒寄存器清0秒按键松开了?N秒按键松开了?NYY 图2 设计流程图3 电子元件介绍3.1 AT89C51介绍高AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,高性能、CMOS、8位单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。AT89C51的管脚图如图3.1所示:图3.1 AT89C51管脚图 3.1.1 AT89C51标准功能 4k 字节FLASH闪速存储器,128字节内部RAM,32个I/O口线,2个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51降至0Hz的静态逻辑操作,并支持两种可选的节电工作模式。空闲方式体制CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器体制工作并禁止其他所有不见工作直到下一个硬件复位。3.1.2 AT89C51主要特性1、与MCS-51 兼容2、4K字节可编程闪烁存储器3、寿命:1000写/擦循环4、数据保留时间:10年5、全静态工作:0Hz-24Hz6、三级程序存储器锁定7、128*8位内部RAM8、32可编程I/O线9、两个16位定时器/计数器10、5个中断源11、可编程串行通道12、片内振荡器和时钟电路 4 电路设计4.1数字钟的构成 数字钟实际上是一个对标准频率(1HZ)进行计数的计数电路.由于计数的起始时间不可能与标准时间一致,故需要在电路上加一个校时电路,同时标准的1HZ时间信号必须做到准确稳定.通常使用石英晶体振荡器电路构成数字钟. 晶体振荡器电路 晶体振荡器电路给数字钟提供一个频率稳定准确的32768Hz的方波信号,可保证数字钟的走时准确及稳定.不管是指针式的电子钟还是数字显示的电子钟都使用了晶体振荡器电路. 分频器电路 分频器电路将32768Hz的高频方波信号经32768()次分频后得到1Hz的方波信号供秒计数器进行计数.分频器实际上也就是计数器. 时间计数器电路 时间计数电路由秒个位和秒十位计数器,分个位和分十位计数器及时个位和时十位计数器电路构成,其中秒个位和秒十位计数器,分个位和分十位计数器为60进制计数器,而根据设计要求,时个位和时十位计数器为24进制计数器. 译码驱动电路 译码驱动电路将计数器输出的8421BCD码转换为数码管需要的逻辑状态,并且为保证数码管正常工作提供足够的工作电流. 数码管 数码管通常有发光二极管(LED)数码管和液晶(LCD)数码管,本设计提供的为LED数码管.4.2数字钟的工作原理 设计原理主要利用AT89C51单片机,由单片机的p2口控制数码管的位显示,p1口控制数码管的段显示,p3.0p3.2与按键相接用于时间校正。整个系统工作时,秒信号产生器是整个系统的时基信号,他直接决定计时系统的精度,将标准信号送入计数器的时钟脉冲。分计数器也采用60进制计数器,每累计60分钟,发出一个“分脉冲”信号,该信号将被送到时计数器。时计数器采用24进制计数器,可以实现对一天24小时的累计。显示电路将“时”“分”“秒”计数器的输出,通过六个八段led显示器现出来。校时电路是直接加一个脉冲信号到时计数器或者分计数器或者秒计数器来对“时”“分”“秒”显示数字进行校对调整。4.3各部分电路分析 此实时时钟的设计与实现,主要采用了6只LED数码管,89C51内部二进制16位定时器/计数器,可编程中断控制器89C51等芯片,包括显示模块,运算模块和校时模块三大功能模块。4.3.1显示模块 用89C51控制,用数码管的显示功能来设计。显示部分硬件用六只LED为显示管,这些LED发光二极管的阴极是互相连接在一起的,所以称为共阴极数码管。通过在这8只发光二极管的阳极加+5 V或0 V的电压使不同的二极管发光,形成不同的数字。该模块主要是将运算模块和校时模块运算出来并存放在内存单元里的十六进制表示的时位、分位和秒位数值转化为十进制,并通过8只数码管显示出来。CPU直接往LED输出八段代码,省去了硬件译码器。P1口作为8段数据输出口,经74LS04驱动后到达各LED。只要做到每送一次段选码时也送一次位扫描码,并且每送一次位扫描码后,位码中的0右移一位作为下一次的位扫描码,即可实现由左向右使6只LED依次出现数字显示。4.3.2运算模块该模块的主要功能是对时、分、秒的运算,并把运算出的最终结果存到事先已经开辟的内存单元里,以便显示模块即时地显示出来。该模块可以细分为秒定时模块和运算模块。秒定时模块负责提供中断信号,由于CPU运算模块中的指令消耗一定的时间,所以中断信号最好通过硬件来实现。本实验中用89C51定时器/计数器,但因为89C51供的信号的周期是毫秒级的,因此必须通过软件的方法在运算模块中设置一个统计中断次数的变量,并且这一变量必须事先在内存里开辟存储单元。中断信号是89C51工作方式为方式1,产生一个50ms的脉冲信号。运算模块负责时、分、秒的计算,该模块主要通过89C51的IR1号中断来实现,但由于每50ms一次中断请求,所以在中断服务程序必须利用已申请内存单元35H来统计中断请求的次数,只有当35H的值为20时,才能让秒单元内的数值加1。在中断服务程序里,必须对秒、分和时的单元内的数值进行判断,当秒加到60时,分必须加1 、秒清零;当分加到60时,时加1、分清零。当时加到24时,直接清零。然后转到调用处。4.3.3校时模块 该模块主要功能是修改时、分、秒内存单元的数值。每按一次键,对应的显示值便加1。分、 秒加到59后变为00;小时加到23后再按键即变为00.再调校时均不向上一单位进位(例如分加到59后变为00;但小时不发生改变)。注意:在主程序中对时间进行调校前应关闭中断,以防在调校过程中定时中断服务程序也对时间进行修改而造成混淆。4.3.4电路仿真图 在6块LED数码管上能实现数字时钟的时、分、秒显示,并能对时、分、秒进行加1校对、减1校对和清零。本实验中陪。P3.0键、P3.1键、P3.2键是分别对时、分、秒的加1校对。并且开机时时钟时从120000开始计时的,到235959时在回到000000. 图4.3.4电路仿真图5 软件设计 在单片机应用系统的开发中,软件的设计是最复杂和困难的,大部分情况下工作量都较大,特别是对那些控制系统比较复杂的情况。如果是机电一体化的设计人员,往往需要同时考虑单片机的软硬件资源分配。本系统的软件设计主要分为系统初始化、按键、显示处理及信号频率输入处理。程序设计是一件复杂的工作,为了把复杂的工作条理化,就要有相应的步骤和方法。其步骤可概括为以下三点: (1)分析系统控制要求,确定算法:对复杂的问题进行具体的分析,找出合理的计算方法及适当的数据结构,从而确定编写程序的步骤。这是能否编制出高质量程序的关键。(2) 根据算法画流程图:画程序框图可以把算法和解题步骤逐步具体化,以减少出错的可能性。(3)编写程序:根据程序框图所表示的算法和步骤,选用适当的指令排列起来,构成一个有机的整体,即程序。程序数据的一种理想方法是结构化程序设计方法。结构化程序设计是对利用到的控制结构类程序做适当的限制,特别是限制转向语句(或指令)的使用,从而控制了程序的复杂性,力求程序的上、下文顺序与执行流程保持一致性,使程序易读易理解,减少逻辑错误和易于修改、调试。根据系统的控制任务,本系统的软件设计主要由主程序、初始化程序、显示子程序、数据采集子程序和延时程序等组成。5.1 C语言在单片机中的应用C语言是一种通用的计算机程序设计语言,在国际上非常流行。它既可以用来编写计算机的系统程序,也可以用来编写一般的应用程序。以前计算机的系统软件主要用汇编语言编写,单片机应用系统更是如此。C语言是当前最流行的程序设计语言,它像其它高级语言一样,面向用户,面向解题的过程,编程者不必熟悉具体的计算机内部结构和指令;C语言又像汇编语言一样,可以对机器硬件进行操作。如进行端口I,0操作、位操作、地址操作,并可内嵌汇编指令,将汇编指令当作它的语句一样。我们知道,汇编语言将涉及计算机硬件,所以C语言又像低级语言一样,可以对计算机硬件进行控制,因此人们把它称为介于高级语言与低级语言之间的一种中级语言。正是因为C语言具有这样的特性,所以很适合编写要对硬件进行操作的软件程序。本文采用C语言进行编写因为此系统软件比较,其存储量较大,因此必须应用C语言编程。5.2程序设计结束语 第三学期的单片机课程设计到目前为止可以说是告一段落了,我也顺利的完成了自己的课题简易电子时钟的设计,由于自己一心准备考研在这次课程设计上除了那些必要的时间其余也么有花太多的时间,本想着是做实物的,但在程序上出了点问题就没花时间去做了,所以这次设计还不算很完美。刚开始被拿到这个课题的,感觉挺迷茫的,当时就只知道软件编程要用到定时器,自己也就在这方面懂一点,其余的关于硬件电路,液晶显示电路的驱动的什么都不知道,后来回来之后就看了一下51单片机课程设计那本书,自己还学过这门专业可,加上在网上找了一些资料对硬件电路的设计有了一定的了解。在大脑里面有了一个大致的思路了,于是就把仿真软件装好开始了我的课设。本次课设让我对单片机有了更深入的认识,现代社会中几乎处处都有单片机的影子,电子产品离不开它。课设提高了我的单片机实际运用能力,也发现了自己以前学习的不扎实,对问题不求甚解。现在才知道“书到用时方少”啊!学习还是得扎实。本次课设能顺利完成,甚是感谢指导老师的帮助。参考文献1张洪润,易涛.单片机应用技术教程M.清华大学出版社.20062康华光.电子技术基础M.高等教育出版社.20003阎石.模拟电子技术基础M.华中科技大学出版社.20054刘乐善.微型计算机接口技术及应用M.华中科技大学出版社.20055张毅刚.MCS-51单片机应用设计M.哈尔滨工业大学出版社.2005附录一 C语言程序#include#define uchar unsigned char#define uint unsigned intsbit rs=P33;sbit rw=P34;sbit lcden=P35;unsigned int a,b,c;uchar count,k;uchar shi,fen,miao;uchar code table=12:00:00;void delay(uint z) uint x,y;for(x=0;xz;x+)for(y=0;y110;y+);void w_com(uchar com)rs=0;lcden=0;P1=com;delay(5);lcden=1;/给高脉冲delay(5);lcden=0;/*写指令*/void w_data(uchar date)rs=1;lcden=0;P1=date;delay(5);lcden=1;delay(5);lcden=0;/*写数据*/*初始化函数*/void w_sfm(uchar add,uchar date)/时分秒uchar shi,ge;shi=date/10;ge=date%10; w_com(0x80+add);w_data(0x30+shi);w_data(0x30+ge); void init()uchar num;lcden=0;/初始化使能为0fen=00;miao=00;shi=00;w_com(0x30);/写入显示模式指令码w_com(0x0c);/写入显示开/关及光标指令码w_com(0x06);/当写一个字符后,地址指针加一,光标加一,不动光标不闪烁w_com(0x01); /清零作w_com(0x00);/代表第一位for(num=0;num8;num+)w_data(tablenum);delay(5); w_sfm(0,shi); w_sfm(3,fen); w_sfm(6,miao); TMOD=0x01; TH0=(65536-50000)/256;/50毫秒产生一次中断 TL0=(65536-50000)%256; EA=1; ET0=1; TR0=1;void key()P2=0x0f;/,a=P2; /先对P2置数 行扫描if(P2!=0x0f) /判断是否有键按下delay(100); /延时,软件去干扰if(P2!=0x0f) /确认按键按下a=P2;P2=0x0f0;if(P2!=0x0f0)b=P2;c=a&b;elsec=P2;void keyscan()key();if(c=0x88)/闪烁位置/选择要调整的项目,左移 k+;if(k=1)/k键按一下依次向左移TR0=0;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025学年高三上学期第三次模拟考试地理试题(含答案解析)
- 工勤考试收银审核员考试题库附答案
- 2025年美容整形医师应聘面试指南及专业问题解答技巧总结
- 2025年A特种设备相关管理(锅炉压力容器压力管道)操作证考试题库及答案
- 2025年企业安全生产管理知识培训资料及模拟题集
- 2025年电子商务运营团队负责人选拔面试题集与答案详解
- 2026届甘肃省玉门市一中化学高三上期中综合测试试题含解析
- 2025年旅游行业营销策划部招聘面试模拟题及解析
- 桌面运维高级知识培训课件
- 2025年陪诊师考试医学知识试题及答案
- 异位妊娠的课件
- 台州市开发投资集团有限公司招聘笔试题库2024
- 达州事业单位笔试真题2024
- DL-T5493-2014电力工程基桩检测技术规程
- 2024年山东省济南市行政职业能力测验题库(考点梳理)
- 测量基础能力测试
- 光伏发电站运行规程
- (2024年)肺栓塞的护理课件
- 117湖南省怀化市雅礼实验学校2023-2024学年七年级下学期开学考试数学试题
- (高清版)TDT 1031.6-2011 土地复垦方案编制规程 第6部分:建设项目
- 遥感数字图像处理课件
评论
0/150
提交评论