基于STC89C52定时器设计_第1页
基于STC89C52定时器设计_第2页
基于STC89C52定时器设计_第3页
基于STC89C52定时器设计_第4页
基于STC89C52定时器设计_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

1、沈阳理工大学信息科学与工程学院-创新实践报告摘要近年来随着计算机在社会领域的渗透,单片机的应用正在不断地走向深入,同时带 动传统控制检测日新月异更新。在实时检测和自动控制的单片机应用系统中,单片机往 往是作为一个核心部件来使用,仅单片机方面的知识是不够的,还应根据具体硬件结构, 以及针对具体应用对象特点的软件结合,以作完善。本次课程设计主要是使用 STC89C52单片机来实现定时器计时,开发板主要由发光 二极管、数码管显示器、矩阵键盘、继电器、串口max232以及温度传感等模块组成,在掌握原理的基础上完成焊接任务,能够做到正确认识元器件,并做到基本焊接技巧, 保证了不出现断路、短路、极性元件焊

2、反等情况。利用Keil C软件进行编程与调试,通过单片机的定时中断来实现计时并在开发板的二位数码管上显示时间。关键词:STC89C52单片机;数码管显示器;Keil C ;计时器2目录1设计题目12设计目的 13设计要求 14软硬件介绍14.1软件简介14.2 STC89C52硬件介绍 24.3 LED数码管显示器概述 25电路原理图 36电路板的制作安装 57程序设计 67.1程序流图 67.2程序代码 78软硬件调试 129设计报告总结 12参考文献 13沈阳理工大学信息科学与工程学院-创新实践报告1设计题目基于STC89C52时钟设计。2设计目的1、巩固和加深单片机原理课程知识的理解和运

3、用。2 、培养学生综合分析问题、发现问题和解决问题的能力。3设计要求使用STC89C52定时器完成定时,设计出时钟,并将时间在数码管上显示,秒闪烁 使用小数点实现,保留分。1. 能正确认识元器件;2. 能读懂电路原理图;3. 能正确掌握PCB图和原理图的关系;4. 掌握基本焊接技巧,保证不能出现断路、短路、极性元件焊反等情况,以便保证 下一步调试程序的正常进行;5学会利用Keil软件进行程序的编程与设计,以实现相应的功能。4软硬件介绍4.1软件简介随着单机片的开发软件也在不断发展,Keil软件时目前最流行开发 MCS-51系列单 机片软件,这从近年来各仿真机厂商纷纷宣布全面支持 Keil即可看

4、出,Keil提供了包括 C编译器,宏汇编,连接器,库管理和一个功能强大的方针调试器等在内的完整开发方 案,通过一个集成开发环境(uUision)将这些部分组合在一起,运行Keil软件需要Pentium 或以上的CPU,16MB或更多RAM.20M 以上空闲的硬盘空间,WIN98,WIN2000.WINXP 等操作系统。Keil C51单片机软件开发系统中法的整体结构中的 uVision与Ishell分别是用于在 C51 for Windows和for Dos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、 仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后

5、分别由C51及A51编译器编译生成目标文件(.OBJ)。目标文件可由LIB51创建生成 库文件,也可以与库文件一起经 L51连接定位生成绝对目标文件(.ABS)。ABS文件由 OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调 试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。4.2 STC89C52硬件介绍单片机自1976年由In tel公司推出MCS-48开始,迄今已有二十多年。由于单片机 集成度高、功能强、可靠性高、体积小、功耗低、使用方便、价格低廉等一系列优点, 目前已经渗入到人们工作和生活的方方面面,“几乎无

6、处不在,无所不为”。单片机的 应用领域已经从面相工业控制、通讯、交通、智能仪表等迅速发展到家用消费产品、办 公自动化、汽车电子、PC机外围以及网络通讯等广大领域。单片机系列有51和52两个系列。MCS-51系列有8053、8051、8751共3种机型, 它们的指令系统和引脚完全相同,而差别在于片内有无ROM或EPROM。8031内部无ROM,8051 内部有 4KB ROM,8751 内部有 4KB EPROM。MCS-52 系列有 8032、8052、 8752共三种机型,52系列的指令系统及引脚和51系列相同,但52系列有3个16位定 时器/计数器、6个中断源,片内有256字节的RAM。8

7、052内部有8K ROM,8752内部 有 8KB EPROM。4.3 LED数码管显示器概述LED数码显示器是一种有LED发光二极管组合显示字符的显示器件。它使用了 8 个LED发光二极管,其中7个用于显示字符,一个用于显示小数点,故通常称之为 7 段发光二极管数码器。其内部结构如下图4.1所示,LED数码显示器有两种连接方法如 下:14t d c<«) MMIBc«n* mnm图4.1 LED数码管共阳极接法:把发光二极管的阳极连在一起构成公共阳极,使用时公共阳极接+5V,每个发光二极管的阴极通过电阻与输入端相连。共阴极接法:把发光二极管的阴极连在一起构成公共阴极

8、,使用时公共阴极接地, 每个发光二极管的阳极通过电阻与输入端相连。5电路原理图根据设计要求,确定总体电路原理图如图4.1 :图4.1总体电路原理图IrLrLTwrE-Bs-r-L实现秒表器控制与显示功能模块如图4.2:7-ktrTJO1QXIIALL*图4.2控制与显示模块STC89C52单片机的P1 口与四片数码管的七段发光二极管及小数点位 a b、c、d、 e、f、g、dp引脚相连,在P1 口的相应位置低电平时,七段发光二极管进行相应的显示; 而P2 口是用于控制四片数码管中每一片的显示, 在P2 口的相应位置低电平时,与之相 连的数码管片将用于显示。继电器工作模块如图4.3:7"

9、;P 10l:'KXI1T.DIJLTI f'r 11VCC 對器_ D3京叫;hRI11图5.3继电器工作模块STC89C52单片机的P3 口(RD)通过PNP三极管与继电器相连,P3 口置低电平时, 继电器工作,LED(D13)被点亮。6电路板的制作安装根据电路总原理图和对单片机、各种原理电路的认识,以及购买的元器件清单,设备和工具清单,开始对电路板进行制作安装。安装好的电路板如图6.1所示:图6.1电路板演示7程序设计7.1程序流图根据题目的要求,按照程序的编写原则,可以画出如下程序框图7.1 :开始重置定时初值中断 20次秒加 1NO秒-60秒=0,分加 1NO 分=6

10、0YES分=0,时加 1结束图7.1程序流图7.2程序代码程序代码如下:#in elude <reg52.h>#in elude <absacc.h>#define unit unsigned int#defi ne uchar un sig ned charuchar data timer_count,cm,cf,cs,f;/*定时器计数变量 */uchar code duma=0x28,0xF9,0x4C,0x58,0x99,0x1A,0x0A,0xF8,0x08,0x18; 共阴的数码管段选将值送给P0 口uchar code wema=0xEF,0xDF,0xB

11、F,0x7F; P1 口的片选位un sig ned char led_buf=0,0,0,0;delay(uchar time)/time=1 时延时 10msuchar i,j,k, q;for(q=time;q>0;q-);/10*time msfor(i=10;i>0;i-) /10msfor(j=2;j>0;j-);/1msfor(k=60;k>0;k-);/154*3.255=500usvoid display(void)un sig ned char i=0;led_buf0=cm%10;led_buf1=cm/10;led_buf2=cf%10;led_

12、buf3=cf/10;for(i=0;i<4;i+)switch(i)case 0: P2=0x7F;break;case 1: P2=0xBF;break;case 2: P2=0xDF;break;case 3: P2=0xEF;P0|=0x08;break;default:P2=0xEF;break;PO=dumaled_bufi;if(i=2)if(f=0)P0&=0xf7;elseP0|=0x08;delay(1);void ma in (void)timer_count=O; 初始化端口cm=0;cf=O;cs=0;/* T0方式1计时*/定时器T0的高四位赋值EA=

13、1;ET0=1;TMOD=0x01;TH0=-46080/256;TL0=-46080%256;TR0=1;/*开中断,启动定时器*/f=0;for(;)display。;/*定时计数器0的中断服务子程序*/ void timer0(void) in terrupt 1 using 1 TH0=-46080/256;TL0=-46080%256;timer_co un t=timer_co un t+1;if(timer_cou nt=10)if(f=0)f=1;elsef=0;if (timer_coun t=20)cm=cm+1;if(f=0)f=1;elsef=0;timer_co un

14、 t=0;if(cm=60) cf=cf+1;cm=0;if(cf=60)cs=cs+1;cf=0; if(cs=24)cs=0; 8软硬件调试软件调试的任务是利用开发工具进行在线仿真调试,发现和纠正程序错误,同时也 能发现硬件故障。在Keil C软件中编写程序,然后进行程序调试、仿真,检查数码管是 否按要求进行变化,经过仿真,程序符合题目要求。硬件调试是先用万用表检查印制电路的焊接情况,检查是否有虚焊,是否有短路。在检查无误后通电检查 LED数码管显示。9设计报告总结经过了几周的实践与探索,更进一步的对所学的知识有了深刻的理解,而且也学到 了新的知识并将理论知识与实践经验相结合,深化用理论去指导实践。这次实践锻炼了 我的动手实践能力,加强了我分析和解决问题的能力,培养了我的团队合作意识。在我 们组里,每个人都很认真的完成焊接工作,最终我们团结一致,共同努力,完成了满意 的结果。这是大学里的最后一次的实验,我们倍加珍惜,对我们进入社会做了初步的锻 炼,受益匪浅。在今后社会的发展和学习实践过程中,一定要不懈努力,不能遇到问题 就想到要退缩,一定要不厌其烦的发现问题所在,然后一一进行解决,只有这样,才能 成功的做成想做的事,才能在今

温馨提示

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

评论

0/150

提交评论