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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

单片机课程设计.docx

1、单片机课程设计目录摘要 - 1 -一、设计原理及功能 - 2 -1.1设计原理 - 2 -1.2实现功能 - 2 -二、硬件设计 - 3 -2.1 原理介绍 - 3 -2.2硬件设计 - 4 -三、软件设计 - 8 -3.1程序流程图 - 8 -3.2程序清单 - 9 -四、心得体会 - 13 -参考文献 - 14 -定时器设计摘要本设计是使用单片机STC89C52芯片进行程序的存储与控制设计的一个定时器系统,主要使用MAX232串口转换芯片进行电平的转换。本系统的主要功能是通过程序控制四个按键来实现定时器定时时间的设置,定时器的复位,以及定时开始与暂停等功能,定时时间则由一个两位一体共阳极数

2、码管实时显示。关键词:定时器 STC89C52 LED数码管 数码显示 一、设计原理及功能1.1设计原理本次定时器的设计是以单片机89C52为核心控制芯片,结合MAX232串口电平转换芯片来实现定时器的实时数码显示,定时时间由一两位一体共阳极数码管显示,通过四个控制按钮来设置定时时间和定时器清零、复位、开始计时与暂停计时。定时器的程序则由C语言和汇编语言两种方案来实现定时器的相关功能。1.2实现功能 将按键定义为设置键、上翻键、下翻键、开始/取消键。数码管显当前设置时间与正在计时时间。可通过按键在1-99秒之间设置,按开始键启动计时,计时完成后驱动蜂鸣器发声提示。二、硬件设计2.1 原理介绍设

3、计的基本原理本方案以STC89C52RC单片机作为主控核心,与晶振、数码管、蜂鸣器等构成3路抢答器,利用了单片机的延时电路、按键复位电路、时钟电路、定时/中断等电路,利用软硬件结合,实现抢答功能。采用查询与中断的方式,先等待主持人按下按键,是否可以进行抢答,按下后则进行查询按键,是否有选手按下按键,谁先抢答数码管上显示哪个选手的号码同时对应的指示灯亮表示他抢答成功。同时,在主持人按钮开始按下的时候,开启T0中断,使定时器开始定时,在10秒到达的时候,还没有人抢答的话就开始报警,宣布此题作废,主持人可以在按下开始键开始下一题的抢答,如此循环。原理图如下。图1-1 硬件原理图2.2硬件设计21 芯

4、片STC89C52RC选用STC系列芯的理由:降低成本,提高性能,原有程序直接使用,硬件无需改动。STC89C52RC具有以下标准功能: 8k字节Flash,512字节RAM, 32 位I/O 口线,看门狗定时器,2 个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口, 片内晶振及时钟电路。另外,STC89C52RC可降至0Hz 静态逻辑操作,时钟频率0-80MHz,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结, 单片机一切工作停止,直到下一个中断或硬件复位为止。

5、8 位微控制器 8K 字节在系统可编程。芯片如图2-1所示:图2-1 STC89C52芯片22电源电路采用5V电源供电,电源指示灯LED1亮时,说明供电成功。电源电路图如图2-2所示。图2-2 电源电路23 晶振电路单片机必须在时钟的驱动下才能工作。在单片机内部有一个时钟振荡电路,只需要外接一个振荡源就能产生一定的时钟信号送到单片机内部的各个单元,决定单片机的工作速度。时钟电路如下图2-3所示。图2-3 晶振电路24 复位电路单片机的第9脚RST为硬件复位端,只要将该端持续4个机器周期的高电平即可实现复位,复位后单片机的各状态都恢复到初始化状态,复位电路图如图2-4所示:图2-4 复位电路25

6、 蜂鸣器电路由于蜂鸣器的工作电流一般比较大,以致于单片机的I/O 口是无法直接驱动的,所以要利用放大电路来驱动,在此使用三极管进行放大电流就可以了。电路图如下图2-5: 图2-5 蜂鸣器电路26按键电路KEY1为主持人按钮,KEY2、KEY3、KEY4分别为三位选手按钮,通过按钮的连接,实现抢答功能,当按键按下时,对应的发光二极管D2、D3、D4亮。连接电路如图2-6所示,而二极管发光电路如图2-7所示。图2-6 按键电路 27 数码管显示电路选用的是两位一体的共阳数码管,将P0口分别接数码管的八段发光二极管,将电源VCC端口接经数码管位选三极管,构成显示电路。电路图如图2-8所示图2-8 数

7、码管显示电路28 电平转换与PC机接口电路电平转换电路,实现芯片与PC机的电压相匹配,同时实现与PC机之间的连接。电路图如图2-9所示图2-9 电平转换与PC机接口电路三、软件设计3.1程序流程图程序流程图如图3-1所示图3-1主程序流程图3.2程序清单主程序#include#define uint unsigned int #define uchar unsigned char sbit gw=P14; /数码管各位位选 sbit sw=P15; /十位位选 sbit SPEAK=P16; /定义蜂鸣器uchar num,num1,tt,shi,ge,t; /tt为设定值,t为当前计数值uc

8、har code table= 0x88,0x9F,0xA4,0x85,0x93,0xC1,0xC0,0x8F,0x80,0x81,0x82,0xC8,0xE8,0xA1,0x86,0x8E; /数码管显示段码 void delay(uint z); /延时子函数声明 void play(uchar aa); /数码管显示子函数声明 void SPK_Test( void ); /蜂鸣器控制子函数 void Init(); /初始化子函数声明 void KeyScanf(void); / 键盘扫描 void main() Init(); /初始化 for(num1=60;num10;num1-

9、) play(tt); t=tt; while(1) KeyScanf(); while(t=0) TR0=0; /定时时间到停止定时器工作 SPK_Test(); t=60; break; play(t); /显示当前剩余定时时间 /*名称:void Init()*功能:初始化定时器0等 */void Init() EA=1; /开总中断 ET0=1; /开定时器0中断 tt=60; /设定默认定时时间 (一分钟 ) num=20; TMOD=0x01; /设置定时器0为工作方式1 TH0=(65536-50000)/256; /定时器0设定50ms定时初值 TL0=(65536-50000

10、)%256; SPEAK=0; /*函数名:按键扫描描 述:*/void KeyScanf(void) if(P1&0x0f)!=0x0f) /检查按键 delay(20); if(P1&0x0f)!=0x0f) /检查按键 delay(20); if(!(P1&0x01) while(1) TR0=0; play(tt); if(!(P1&0x02) tt+; play(tt); else if(!(P1&0x04) tt-; play(tt); if(!(P1&0x08) TR0=1; t=tt; break; if(TR0=1)&(!(P1&0x08) if(!(P1&0x08) TR0

11、=0; /停止 delay(20); if(TR0=0)&(!(P1&0x08) TR0=1; /启动 delay(20); /*名称: Delay_NS()*功能: 长软件1ms延时*/void delay(uint ms) uchar i; while(ms-) /ms毫秒软件延时 for(i = 63;i 1;i-); /*函数名称:定时器0中断服务子程序 功能: 重装初并重启定时器值, 定时中断满20次(1s) , 计数减1 */void time0() interrupt 1 /定时器0中断子函数 if(num0) num-; else if(num=0) t-; num=20; T

12、H0=(65536-50000)/256; /重装定时器初值 TL0=(65536-50000)%256; ET0=1; TR0=1; /重新启动T0 /*名称: void play(uchar) *功能: LED数码管显示0-F字符,同时控制2个数码管显示对应的十六进制数 */void play(uchar aa) /数码管显示子函数 shi=aa/10; ge=aa%10; P0=tablege; gw=0; delay(20); / 延时 显示 gw=1; P0=tableshi; sw=0; delay(20); / 延时 显示 sw=1; /*函数名:SPK_test() 描 述:

13、蜂鸣器控制 */void SPK_Test( void ) unsigned int i = 0; unsigned char j,k,m = 14; for(j = 0;j 8;j +) m -=1; for(i = 0;i 1;k-); delay(15); SPEAK =0; 四、心得体会通过本次课程设计,让我很好的锻炼了理论联系实际,与具体项目、课题相结合开发、设计产品的能力。既让我们懂得了怎样将理论应用于实际,又让我们懂得了在实践中遇到的问题怎样用理论去解决。在设计过程中,总是会遇到这样或那样的问题。有时一个问题可能会需要大家集体去查阅资料,做大量的工作,花大量的时间才能解决。通过不

14、断地发现问题,解决问题,自然而然,我的发现问题和解决问题的能力便在其中建立起来了。这都为以后的工作积累了经验,同时也增强了我们解决问题的能力。总之,在设计过程中,我不仅学到了以前从未接触过的新知识,而且学会了独立的去发现,面对,分析,解决新问题的能力,不仅学到了知识,又锻炼了自己的能力,使我受益非浅。参考文献1 李鸿单片机原理及应用M 长沙:湖南大学出版社,20052 南京伟福实业有限公司LAB6000U(USB接口)单片机/微控制器仿真实验系统3 胡汉才单片机原理及其应用M 北京:清华大学出版社,20044 何立民单片机应用技术选编M 北京:北京航空航天大学出版社,20065 何立民单片机应用文集1-8M 北京:北京航空航天大学出版社,2000

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

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