ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:539.23KB ,
资源ID:10177085      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10177085.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于STC89C52定时器设计.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于STC89C52定时器设计.docx

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

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

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

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

5、由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。4.2 STC89C52硬件介绍 单片机自1976年由Intel公司推出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。8052内部有8K ROM,8752内部有8KB EPROM。4.3 LED数码管显示器概述 LED

7、数码显示器是一种有LED发光二极管组合显示字符的显示器件。它使用了8个LED发光二极管,其中7个用于显示字符,一个用于显示小数点,故通常称之为7段发光二极管数码器。其内部结构如下图4.1所示,LED数码显示器有两种连接方法如下 : 图4.1 LED数码管 共阳极接法:把发光二极管的阳极连在一起构成公共阳极,使用时公共阳极接+5V,每个发光二极管的阴极通过电阻与输入端相连。 共阴极接法:把发光二极管的阴极连在一起构成公共阴极,使用时公共阴极接地,每个发光二极管的阳极通过电阻与输入端相连。5电路原理图 根据设计要求,确定总体电路原理图如图4.1:图4.1 总体电路原理图实现秒表器控制与显示功能模块

8、如图4.2:图4.2 控制与显示模块 STC89C52单片机的P1口与四片数码管的七段发光二极管及小数点位a、b、c、d、e、f、g、dp引脚相连,在P1口的相应位置低电平时,七段发光二极管进行相应的显示;而P2口是用于控制四片数码管中每一片的显示,在P2口的相应位置低电平时,与之相连的数码管片将用于显示。继电器工作模块如图4.3:图5.3 继电器工作模块 STC89C52单片机的P3口(RD)通过PNP三极管与继电器相连,P3口置低电平时,继电器工作,LED(D13)被点亮。6电路板的制作安装 根据电路总原理图和对单片机、各种原理电路的认识,以及购买的元器件清单,设备和工具清单,开始对电路板

9、进行制作安装。安装好的电路板如图6.1所示: 图6.1 电路板演示7程序设计7.1程序流图根据题目的要求,按照程序的编写原则,可以画出如下程序框图7.1:图7.1 程序流图7.2程序代码 程序代码如下:#include #include #define unit unsigned int#define uchar unsigned charuchar data timer_count,cm,cf,cs,f; /*定时器计数变量*/uchar code duma=0x28,0xF9,0x4C,0x58,0x99,0x1A,0x0A,0xF8,0x08,0x18;/共阴的数码管段选.将值送给P0口

10、 uchar code wema=0xEF,0xDF,0xBF,0x7F; /P1口的片选位unsigned char led_buf=0,0,0,0;delay(uchar time)/time=1时延时10msuchar i,j,k, q; for(q=time;q0;q-);/10*time ms for(i=10;i0;i-) /10ms for(j=2;j0;j-);/1ms for(k=60;k0;k-);/154*3.255=500us void display(void)unsigned char i=0;led_buf0=cm%10;led_buf1=cm/10;led_bu

11、f2=cf%10; led_buf3=cf/10;for(i=0;i4;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; P0=dumaled_bufi;if(i=2) if(f=0) P0&=0xf7; else P0|=0x08; delay(1); void main(void)timer_count=0;/ 初始化端口cm=0;cf=0;cs=0;EA=1; ET

12、0=1;TMOD=0x01; /* T0方式1计时 */TH0=-46080/256; / 定时器T0的高四位赋值TL0=-46080%256;TR0=1;/* 开中断,启动定时器 */f=0;for(;)display(); /* 定时计数器0的中断服务子程序 */void timer0(void) interrupt 1 using 1TH0=-46080/256; TL0=-46080%256;timer_count=timer_count+1; if(timer_count=10) if(f=0) f=1; else f=0; if (timer_count=20) cm=cm+1;

13、if(f=0) f=1; else f=0; timer_count=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设计报告总结 经过了几周的实践与探索,更进一步的对所学的知识有了深

14、刻的理解,而且也学到了新的知识并将理论知识与实践经验相结合,深化用理论去指导实践。这次实践锻炼了我的动手实践能力,加强了我分析和解决问题的能力,培养了我的团队合作意识。在我们组里,每个人都很认真的完成焊接工作,最终我们团结一致,共同努力,完成了满意的结果。这是大学里的最后一次的实验,我们倍加珍惜,对我们进入社会做了初步的锻炼,受益匪浅。在今后社会的发展和学习实践过程中,一定要不懈努力,不能遇到问题就想到要退缩,一定要不厌其烦的发现问题所在,然后一一进行解决,只有这样,才能成功的做成想做的事,才能在今后的道路上劈荆斩棘,而不是知难而退,那样永远不可能收获成功。参考文献1 樊昌信,曹丽娜.通信原理M,国防工业出版社,20072 余成波,单片机实用技术与应用,清华大学出版社,20103 马秀丽,C语言程序设计,清华大学出版社,20084 江丽,单片机原理与应用技术,清华大学出版社,20075 何宏主编. 单片机原理与接口技术,国防工业出版社, 20066 王秋爽,单片机开发基础与经典设计实例,机械工业出版社,20087 沈建良,单片机入门与提高,北京航空航天大学出版社,2009

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1