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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

单片机综合设计报告.docx

1、单片机综合设计报告 学前训练综合设计报告(基于AT89S52的篮球计分器的设计实现)学院名称计算机科学与技术学院专业名称信息安全学生姓名学号 指导教师 二一二年四月目 录功能设计: 2(一) 可以实现加分功能 2(二) 可以实现减分功能 2(三) 可以实现分数显示功能 2设计开发平台简介: 3硬件平台 3软件平台 3硬件设计及实现: 4软件设计及实现: 5实现效果测试: 6设计总结: 7功能设计:(一) 可以实现加分功能 本设计可以利用4*4键盘实现篮球比赛的加分功能,罚球+1分 2分球 3分球的分数都可以实现。(二) 可以实现减分功能 如果加分出现错误,可利用键盘按键实现减分。(三) 可以实

2、现分数显示功能 分数可显示利用数码管显示。设计开发平台简介:硬件平台CSIII CS-III 型单片机实验开发设备是由计算机学院独立设计开发,用于单片机原理及应用课程的实验教学。这套设备的设计和开发采用模块化组合设计,可以结合不同类型的单片机模块进行实验开发。针对课程的教学采用了ATMEL 公司的AT89S52 单片机芯片,同时配合keil 集成开发环境,支持汇编语言和C语言的程序设计。1. 功能特点* 使用CPU 主模块与实验板分离设计的方式,同时可以兼容不同类型的单片机模块,并可根据用户需要独立设计模块。* 采用ISP 通信技术,支持在线编程,方便用户开发。* 采用开关电源设计,安全可靠(

3、板上最高电压不超过18v),驱动电流最高可达5V/3A,过载自动保护,方便用户其他设备的引入* 所有IO 端口全部引出,方便与外部端口连接搭配。* 实验板上的功能器件可直接采用跳线器直接连接,减少过多的飞线连接。* 2 个端口模拟显示,可直接模拟端口高低电平状态,方便用户观察。* 8 个数码管显示,方便开发秒表,时钟,计算器,以及显示特殊提示信息等。* 一个4*4 矩阵键盘,可作键盘全扫描和逐行扫描。* 独立脉冲产生模块,可产生脉冲及方波,配合中断和计数器使用。* 普通键盘/鼠标接口,方便用户开发通信协议。* 采用串转并的方式进行端口扩展,同时配合汉字点阵模块显示,可作汉字显示和字库开发。*

4、扩展显示模块。* 具有发声器,配合定时器方便用户开发电子音乐盒。* 具有RS232 转换电路,完成UART 通信实验,可与上位机进行通信设计。* 具有液晶显示模块接口,方便用户开发液晶显示以及菜单系统的设计。* 红外模块,数据传输载波可调,用户作红外产品开发以及无线通信协议开发。2. 开发板硬件原理2.1 实验开发板功能框图软件平台:Keil C51 Keil C51 Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、连接器、库管理

5、和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。如果你使用C语言编程,那么Keil几乎就是你的不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。 图2uVision2 IDE 是一个基于Window的开发平台,包含一个高效的编辑器,一个项目管理器和一个MAKE工具. uVision2支持所有的KEIL AT89S52工具,包括C编译器,宏汇编器,连接/定位器,目标代码到HEX的转换器。uVision2通

6、过以下特性加速你的嵌入式系统的开发过程: 全功能的源代码编辑器. 器件库用来配置开发工具设置. 项目管理器用来创建和维护你的项目. 集成的MAKE工具可以汇编,编译和连接你的嵌入式应用 . 所有开发工具的设置都是对话框形式的. 真正的源代码级的对CPU和外围器件的调试器 . 高级GDIAGDI接口用来在目标硬件上进行软件调试,以及和Monitor-51 进行通信 .与开发工具手册和器件数据手册和用户指南有直接的链接 .硬件设计及实现: 图1 八段数码管 图2 键盘软件设计及实现:1、 键盘操作功能实现 /*键盘分布*/ /* K15 K14 K13 K12 */ /* K11 K10 K9 K

7、8 */ /* K7 K6 K5 K4 */ /* K3 K2 K1 K0 */ /*/K3主队罚球+1分 K7 2分球 K11 3分球 K15客队减1分K0客队罚球+1分 K4 2分球 K8 3分球 K12客队减1分设计代码#include at89x52.hconst unsigned int Dis_code=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;const unsigned int Dis_bit= 0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f;unsigned int key=0;int

8、Repeat=0;int Count=0;int Count1=0; /全局变量int a,b,c,d;void delay()int time;for(time=0;time100;time+); /延时void Display1() a=Count1%10; b=Count1/10; P1=Dis_bit1; P0=Dis_codea; delay(); P1=Dis_bit0; P0=Dis_codeb;void Display() c=Count%10; d=Count/10; P1=Dis_bit7; P0=Dis_codec; delay(); P1=Dis_bit6; P0=Di

9、s_coded; /计数函数void Keyboard() int tmp,x=0,y=0,g; P2=0x0f; tmp=P2&0x0f; if(tmp=0x0e) y=1; if(tmp=0x0d) y=2; if(tmp=0x0b) y=3; if(tmp=0x07) y=4; P2=0xf0; tmp=P2&0xf0; if(tmp=0xe0) x=1; if(tmp=0xd0) x=5; if(tmp=0xb0) x=9; if(tmp=0x70) x=13; / 键盘扫描 g=x+y; if (g=Repeat) g=0; if(g!=0) /按键时 key=g; Repeat=k

10、ey; if(g=2|g=3) Count-; if(g=4|g=5) Count1-; if(g=6|g=7) Count+=3; if(g=11|g=10) Count+=2; if(g=15|g=14) Count+; if(g=8|g=9) Count1+=3; if(g=12|g=13) Count1+=2; if(g=16|g=17) Count1+; /加减分控制 void zhongduan() interrupt 1 Display(); Display1(); Keyboard(); /键盘全扫描 TH0=0xff;void Timer0Init(void) TMOD=0X

11、01; TH0=0Xdf; TL0=0X00; /初始化 IE=0X82; /设置计时器void main(void) Timer0Init(); TR0=1; /开启计时器 while(1) 实现效果测试:初始比分 0:02分球3分球罚球+1分减分设计总结:本次的课程设计,使关于51系列单片机的,正是我们刚刚学到的51单片机,在平时课程的学习中,我们仅限于理论知识的讲解,即使知识是很扎实的,实际应用并不是这样的。开始时我也觉得自己的理论知识已经够了,但当我拿到课题时,在脑海里想的是非常好的,但真正编成和控制时,理论和实际结合不到一起,甚至于51芯片的使用我都感觉很迷茫,还是经过搜集大量资料才

12、将理论与实际结合到一起了。本次课程设计我主要负责编程,这次不仅锻炼了我C语言的知识,更加我们正在学习的51的定时与中断结合在一起,进行了实际的操作,让我的知识掌握得更加牢固。本次的实际经验之后,让我对单片机定时赋初值有了更新的认识,对程序的循环顺序、结构类型都有了非常深刻的认识,对真正硬件的连接也有了认识,不再将自己的知识局限于自己狭隘的空间中。通过这次课程设计秒表/时钟计时器,使我又重新开始学习C语言,因为C语言是大一学的,至从学完就再也没用过,所以开始很陌生,我又找了有关资料来了解,才有了一点眉目。在课堂上学习的都理论的,跟实际永远有一定的差距,不实践就不会发现问题。通过这次课程设计使我把课堂上学习的东西都用到了实践中,例如:定时/计数器的应用与中断。学习的时候不怎么理解,但是在实践中应用了以后就自然了解了。这次课程设计使我受益匪浅,而且都是实际的东西。

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

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