单片机数字时钟实验报告_第1页
单片机数字时钟实验报告_第2页
单片机数字时钟实验报告_第3页
单片机数字时钟实验报告_第4页
单片机数字时钟实验报告_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

PAGEPAGE3课程设计课题基于单片机的电脑钟的设计课程设计要求掌握使用proteus软件的方法。理解单片机的时钟显示方法。明确设计指标,写出设计方案,设计出硬件原理图。基于硬件的软件设计与调试。将结果向指导教师演示,由教师提问验收通过;打印程序清单,撰写程序说明,完成课程设计报告书,进行分组讨论设计心得。课程设计工作量周一:明确课程设计任务和目标,熟悉单片机系统调试软件仿真实现。周二:明确设计指标,设计电路原理图。周三、周四:基于硬件的软件设计与调试。4.周五:学生演示设计调试结果,教师提问验收。打印程序清单,撰写程序说明,完成课程设计报告书。课程设计说明书内容(有指导书的可省略)单片机结构、原理。电脑钟硬件设计(原理图,原理图分析)。软件设计(软件简介,调试过程)。硬件、软件程序清单。目录第一章.前沿…………………………1第二章.数字时钟……………………22.1数字时钟方案…………22.2数码管显示方案………………………2第三章.单片机………………………33.1数码管显示工作原理………………33.2AT89C51芯片的介绍…………………33.3晶振原理………………43.4数字钟的调节开关……………………5第四章.硬件…………………………64,1Proteus软件介绍………………………64.2使用Protues软件………………………7第五章.软件………………………105.1Keil软件介绍…………105.2Keil软件的基础知识…………………105.3Keil软件的优点………………………105.4编程……………………115.4.1数字电子时钟主程序流程图………………115.4.2中断服务程序流程图……………………12第六章.总结………………………13参考文献……………14附录一元件清单…………………15附录二程序清单…………………16PAGEPAGE4第一章前言时钟,自从它发明的那天起,就成为人类的朋友,但随着时间的推移,科学技术的不断发展,人们对时间计量的精度要求越来越高,应用越来越广。怎样让时钟更好的为人民服务,怎样让我们的老朋友焕发青春呢?这就要求人们不断设计出新型时钟。现今,高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟,石英表,石英钟都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调校,数字式电子钟用集成电路计时时,译码代替机械式传动,用LED显示器代替显示器代替指针显示进而显示时间,减小了计时误差,这种表具有时,分,秒显示时间的功能,还可以进行时和分的校对,片选的灵活性好。时钟电路在计算机系统中起着非常重要的作用,是保证系统正常工作的基础。在一个单片机应用系统中,时钟有两方面的含义:一是指为保障系统正常工作的基准振荡定时信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢;二是指系统的标准定时时钟,即定时时间,它通常有两种实现方法:一是用软件实现,即用单片机内部的可编程定时/计数器来实现,但误差很大,主要用在对时间精度要求不高的场合;二是用专门的时钟芯片实现,在对时间精度要求很高的情况下,通常采用这种方法,典型的时钟芯片有:DS1302,DS12887,X1203等都可以满足高精度的要求。本文主要介绍用单片机内部的定时/计数器来实现电子时钟的方法,本设计由单片机AT89S51芯片和LED数码管为核心,辅以必要的电路,构成了一个单片机电子时钟。第二章数字时钟2.1数字时钟方案数字时钟是本设计的最主要的部分。根据需要,可利用两种方案实现。方案一:本方案采用Dallas公司的专用时钟芯片DS12887A。该芯片内部采用石英晶体振荡器,其芯片精度不大于10ms/年,且具有完备的时钟闹钟功能,因此,可直接对其以用于显示或设置,使得软件编程相对简单。为保证时钟在电网电压不足或突然掉电等突发情况下仍能正常工作,芯片内部包含锂电池。当电网电压不足或突然掉电时,系统自动转换到内部锂电池供电系统。而且即使系统不上电,程序不执行时,锂电池也能保证芯片的正常运行,以备随时提供正确的时间。方案二:本方案完全用软件实现数字时钟。原理为:在单片机内部存储器设三个字节分别存放时钟的时、分、秒信息。利用定时器与软件结合实现1秒定时中断,每产生一次中断,存储器内相应的秒值加1;若秒值达到60,则将其清零,并将相应的分字节值加1;若分值达到60,则清零分字节,并将时字节值加1;若时值达到24,则将十字节清零。该方案具有硬件电路简单的特点。但由于每次执行程序时,定时器都要重新赋初值,所以该时钟精度不高。而且,由于是软件实现,当单片机不上电,程序不执行时,时钟将不工作。基于硬件电路的考虑,本设计采用方案二完成数字时钟的功能。2.2数码管显示方案方案一:静态显示。所谓静态显示,就是当显示器显示某一字符时,相应的发光二极管恒定的导通或截止。该方式每一位都需要一个8位输出口控制。静态显示时较小的电流能获得较高的亮度,且字符不闪烁。但当所显示的位数较多时,静态显示所需的I/O口太多,造成了资源的浪费。方案二:动态显示。所谓动态显示就是一位一位的轮流点亮各个位,对于显示器的每一位来说,每隔一段时间点亮一次。利用人的视觉暂留功能可以看到整个显示,但必须保证扫描速度足够快,字符才不闪烁。显示器的亮度既与导通电流有关,也于点亮时间与间隔时间的比例有关。调整参数可以实现较高稳定度的显示。动态显示节省了I/O口,降低了能耗。从节省I/O口和降低能耗出发,本设计采用方案二。第三章单片机3.1数码管显示工作原理数码管是一种把多个LED显示段集成在一起的显示设备。有两种类型,一种是共阳型,一种是共阴型。共阳型就是把多个LED显示段的阳极接在一起,又称为公共端。共阴型就是把多个LED显示段的阴极接在一起,即为公共商。阳极即为二极管的正极,又称为正极,阴极即为二极管的负极,又称为负极。通常的数码管又分为8段,即8个LED显示段,这是为工程应用方便如设计的,分别为A、B、C、D、E、F、G、DP,其中DP是小数点位段。而多位数码管,除某一位的公共端会连接在一起,不同位的数码管的相同端也会连接在一起。即,所有的A段都会连在一起,其它的段也是如此,这是实际最常用的用法。数码管显示方法可分为静态显示和动态显示两种。静态显示就是数码管的8段输入及其公共端电平一直有效。动态显示的原理是,各个数码管的相同段连接在一起,共同占用8位段引管线;每位数码管的阳极连在一起组成公共端。利用人眼的视觉暂留性,依次给出各个数码管公共端加有效信号,在此同时给出该数码管加有效的数据信号,当全段扫描速度大于视觉暂留速度时,显示就会清晰显示出来。本实验采用8个一体的数码管如图(1)所示图(1)3.2AT89C51芯片的介绍AT89C51是一个8位单片机,片内ROM全部采用FLASHROM技术,晶振时钟为12MHz。89C51是标准的40引脚双列直插式集成电路芯片,有4个八位的并行双向I/O端口,分别记作P0、P1、P2、P3。第31引脚需要接高电位使单片机选用内部程序存储器;第40脚为电源端VCC,接+5V电源,第20引脚为接地端VSS,通常在VCC和VSS引脚之间接0.1μF高频滤波电容。如图(2)所示。图(2)AT89C51VCC:供电电压。

GND:接地。

P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。

P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。3.3晶振原理振荡器主要用来产生时间标准信号。因为数字钟的精度,主要取决于时间标准信号的频率及其稳定度。所以要产生稳定的时标信号,一般是采用石英晶体振荡器。石英晶体不但频率特性稳定,而且品质因数很高,有极好的选频特性。一般情况下,晶振频率越高,准确度越高,但所用的分频级数越多,耗电量就越大,成本就越高,分频器也会增多。所以在确定频率时应考虑两方面的因素,然后在选定石英晶体型号。本实验才用内部时钟方式。如图(3)所示。图(3)3.4数字钟的调节开关开关的作用是用于,调节时间的,本实训中,共用到4个开关电路。分别是控制总开关,调时,调分,调秒开关。每个开关电路都由电阻,电源,接地,及中断入口组成。也是本实训中必不可少的一部分。其电路图,如图(4)示如图(4)第四章硬件4,1Proteus软件介绍(1)proteus软件是英国Labcenterelectronics公司出版的EDA工具软件(该软件中国总代理为广州风标电子技术有限公司)。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。(2)PROTEUS是单片机课堂教学的先进助手。PROTEUS不仅可将许多单片机实例功能形象化,也可将许多单片机实例运行过程形象化。前者可在相当程度上得到实物演示实验的效果,后者则是实物演示实验难以达到的效果。它的元器件、连接线路等却和传统的单片机实验硬件高度对应。这在相当程度上替代了传统的单片机实验教学的功能,例:元器件选择、电路连接、电路检测、电路修改、软件调试、运行结果等。课程设计、毕业设计是学生走向就业的重要实践环节。由于PROTEUS提供了实验室无法相比的大量的元器件库,提供了修改电路设计的灵活性、提供了实验室在数量、质量上难以相比的虚拟仪器、仪表,因而也提供了培养学生实践精神、创造精神的平台随着科技的发展,“计算机仿真技术”已成为许多设计部门重要的前期设计手段。它具有设计灵活,结果、过程的统一的特点。可使设计时间大为缩短、耗资大为减少,也可降低工程制造的风险。相信在单片机开发应用中PROTEUS也能茯得愈来愈广泛的应用。使用Proteus软件进行单片机系统仿真设计,是虚拟仿真技术和计算机多媒体技术相结合的综合运用,有利于培养学生的电路设计能力及仿真软件的操作能力;在单片机课程设计和全国大学生电子设计竞赛中,我们使用Proteus开发环境对学生进行培训,在不需要硬件投入的条件下,学生普遍反映,对单片机的学习比单纯学习书本知识更容易接受,更容易提高。实践证明,在使用Proteus进行系统仿真开发成功之后再进行实际制作,能极大提高单片机系统设计效率。因此,Proteus有较高的推广利用价值。4,2使用Protues软件单片机模块驱动模块按键模块LED显示模块时钟模块电源模块系统框图整个系统用单片机作为中央控制器,由单片机执行采集芯片内部时钟信号,时钟信号通过单片机I/O口传给单片机,单片机模块控制驱动模块驱动显示模块,通过显示模块来实现信号的输出、LED的显示及相关的控制功能。系统设有按键模块用于对时间进行调整及扩展多个小键盘,系统整体框图如图上图所示根据系统框图及实训要求,使用Proteus软件进行添加元件,连线如图(5)图(5)时分秒都显示的如图(6)图(6)秒显示的电路图,如图(7)图(7)分显示的电路图,如图(8)图(8)时显示的电路图,如图(9)图(9)软件5.1Keil软件介绍。KeilC51是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。如果你使用C语言编程,那么Keil几乎就是你的不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。5.2Keil软件的基础知识。1.系统概述KeilC51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到KeilC51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。下面详细介绍KeilC51开发系统各部分功能和使用。2.KeilC51单片机软件开发系统的整体结构C51工具包的整体结构,uVision与Ishell分别是C51forWindows和forDos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别由C51及C51编译器编译生成目标文件(.OBJ)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。使用独立的Keil仿真器时,注意事项*仿真器标配11.0592MHz的晶振,但用户可以在仿真器上的晶振插孔中换插其他频率的晶振。*仿真器上的复位按钮只复位仿真芯片,不复位目标系统。*仿真芯片的31脚(/EA)已接至高电平,所以仿真时只能使用片内ROM,不能使用片外ROM;但仿真器外引插针中的31脚并不与仿真芯片的31脚相连,故该仿真器仍可插入到扩展有外部ROM(其CPU的/EA引脚接至低电平)的目标系统中使用。5.3Keil软件的优点。1.KeilC51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。2.与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。KeilC51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。5.4编程及流程图在本次实训中也是通过Keil软件进行编程的,参考程序见附录二。5.4.1、数字电子时钟主程序流程图主程序流程图如下图图4所示。MAINMAIN定义堆栈区显示缓冲单元清0调用显示子程序定时器1工作方式1装载计数初值定时开始开中断设置循环次数等待定时中断请求开始图4数字电子时钟主程序流程图5.4.2中断服务程序流程图中断服务程序流程图如下图所示。YY是否满24h?显示缓冲单元清0返回NY是否满60m?小时加1分值加1N计数器重新加载循环次数加1是否满1s?是否满60s?秒值加1N开始中断服务程序流程图总结本单片机数字电子钟系统的功能基本符合显示格式为:XX:XX:XX,即时:分:秒。时间可采用12小时制显示或24小时制显示,通过四个按键可以对时,分,秒进行调节。过这次的实训一方面使我认识到本人对单片机方面的知识知道的太少了,对于书本上的很多知识还不能灵活运用,尤其是对程序设计语句的理解和运用,不能够充分理解每个语句的具体含义,导致编程的程序过于复杂,使得需要的存储空间增大。损耗了过多的内存资源。另一方面,在这次实训中让我收获很多。课程设计是培养学生综合运用所学知识,发现实际问题、提出实际问题、分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际学习能力、动手能力的具体训练和考察过程。在此次数字钟设计过程中,在学习新知识的同时,把在课程中学到的理论知识运用到实际作品设计、操作中,更进一步地熟悉了单片机芯片的结构及掌握了其工作原理和具体的使用方法与相关元器件的参数计算方法、使用方法,了解了电路的开发和制作及课程设计报告的编写。加深了对相关理论知识及专业知识的掌握度,增强自身的动手能力,锻炼及提高了理解问题、分析问题、解决问题的能力,更深刻的体会到了理论联系实际的重要性,进一步掌握画图软件的使用和提高相应的画图操作水平及技巧参考文献[1]谢自美.电子线路设计·实验·测试[M].武汉:华中理工大学出版社,1992.[2]何立民.单片机应用系统设计[M].北京:北京航空航天大学出版社,1993.[3]楼然笛.单片机开发[M].北京:人民邮电出版社,1994.

[4]付家才.单片机控制工程实践技术[M].北京:化学工业出版社2004.3.

[5]李光才.单片机课程设计实例指导[M].北京:北京航空航天大学出版社2004.

[6]朱定华.单片机原理及接口技术实验[M].北京:北方交通大学出版社2002.11.[7]刘湘涛.江世明.单片机原理与应用[M].北京:电子工业出版社,2006.附录一元件清单名称数量型号芯片1个 AT89C51八个一体数码管1个 共阳按键4个晶振 1个12MHZ电容 3个电阻13个附录二程序清单 ORG 0000H LJMP MAIN ORG 0003H LJMP MIAO ORG 000BH LJMP SHI ORG 0013H LJMP FEN ORG 001BH LJMP SZMAIN:MOV R7, #20 MOV R4, #00H MOV R5, #00H MOV R6, #00HMOV TMOD, #16H MOV TH1, #3CH MOV TL1, #0B0H MOV TH0, #0FFH MOV TL0, #0FFH SETB TR0 SETBTR1 SETB EA SETB ET1 SETB PT1 SETB IT0 SETB IT1 CLR EX0 CLR EX1 CLR ET0LOOP:MOV A, R4MOV B, #10 DIV AB MOV DPTR, #TAB MOVC A, @A+DPTR MOV P0, A MOV P1,#01H LCALL DELAY MOV P0, #0FFH MOV A, BMOVC A, @A+DPTR MOV P0, A MOV P1,#02H LCALL DELAY MOV P0, #0FFH MOV P2, #0FFH JNB P2.0, TIAOJIE MOV P1, #04H MOV P0, #0F6H LCALL DELAY MOV P0, #0FFH MOV A, R5MOV B, #10 DIV AB MOV DPTR, #TAB MOVC A, @A+DPTR MOV P0, A MOV P1,#08H LCALL DELAY MOV P0, #0FFH MOV A, BMOVC A, @A+

温馨提示

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

评论

0/150

提交评论