




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、中北大学课程设计任务书学生姓名: 学 号: 学 院: 信息与通信工程学院 专 业: 电子信息工程 题 目: 专业综合实践之单片机系统部分: 篮球计分器设计 指导教师: 王伟 职称: 副教授 2015 年 12 月28日中北大学课程设计任务书 2015/2016 学年第 一 学期学 院: 信息与通信工程学院 专 业: 电子信息工程 学 生 姓 名: 学 号: 学 生 姓 名: 学 号: 学 生 姓 名: 学 号: 题 目: 专业综合实践之单片机系统部分: 篮球计分器设计 起 迄 日 期: 12 月 28 日 1 月 8 日 课程设计地点: 中北大学 指 导 教 师: 王伟 张敏娟 系 主 任:
2、王浩全 下达任务书日期: 2015 年 12月 28日课 程 设 计 任 务 书1设计目的:在学习专业基础课和专业课的基础上,主要在电子仪器、微机综合设计与实践、单片机与A/D和D/A和光、计、电综合应用等几个方面开展实践活动,巩固所学知识、培养动手能力。2设计内容和要求(包括原始数据、技术参数、条件、设计要求等):1. 设计一款能够显示篮球比分的记分牌。2. 通过加分按钮可以给A队,或B队加分。3. 设计对调功能,更换场地后,AB队分数互换。4增加局数比分功能。5增加比赛时间倒计时功能。6其他功能。3设计工作任务及工作量的要求包括课程设计计算说明书(论文)、图纸、实物样品等:1) 设计说明书
3、符合要求;2) 相应器件的工作原理及应用;3) 系统工作原理图;4) 参考文献原文不少于3篇。 课 程 设 计 任 务 书4主要参考文献: 1 万文略编著. 单片机原理及应用M. 重庆:重庆大学出版社,2004. 2 孙德文编著. 微型计算机技术M. 北京:高等教育出版社,2005. 3 张建勋编著. C语言程序设计教程M. 北京:清华大学出版社,2008. 4 于海生编著. 计算机控制技术M. 北京:机械工业出版社,2007. 5 唐俊翟编著. 单片机原理及应用M.北京:冶金工业出版社,2003. 6 彭为编著. 单片机典型系统应用设计实例精讲M.北京:电子工业出版社, 2006.5设计成果
4、形式及要求:设计说明书及相关电路图6工作计划及进度:12月 28 日 12 月 31 日:查阅资料; 1 月 1 日 1 月 5 日:方案设计、实验验证;1 月 6 日 1 月 7 日:完成课程设计说明书; 1 月 8 日:答辩。系主任审查意见: 签字: 年 月 日目 录1 概述12 硬件方案设计及描述13 软件设计流程及描述44 运行结果145 总结16参考文献18附录191 概述 1.1 设计意义目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能I
5、C卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。通过此次基于单片机设计的篮球计时计分系统,我们可以更清楚详细的了解单片机程序设计的基本指令功能、编程步骤和技巧来讲述单片机编程,并对AT89S51单片机的结构和原理进行讲述,以及基于单片机开发应用的相关芯片的工作原理,和相关外围电路的设计和调试过程进一步了解,有助于今后的工作和学习生活。 本次设计用由AT89S51编程控制LCD作显示的球赛计时计分
6、系统。该系统具有赛程时间暂停,及时刷新甲、乙双方的成绩等功能。它具有价格低廉,性能稳定,操作方便并且易于携带等特点。广泛适合各类学校或者小型团体作为赛程计时计分。1.2 系统的主要功能 本系统有三项主要主要功能:1. 设计一款能够显示篮球比分的记分牌。2. 通过加分按钮可以给A队,或B队加分。3. 设计对调功能,更换场地后,AB队分数互换。4增加局数比分功能。5增加比赛时间倒计时功能。2 硬件方案设计及描述 2.1 方案选择及设计思想通过分析之后我们觉得此次设计主要是两大模块,一是系统显示模块,二是单片机设计模块,在显示模块的设计中,开始想到了常用的LED显示,但是考虑的后续硬件实现的复杂性(
7、超过10以上的LED实物连接将十分复杂),于是选取了方便但是没有接触过的LCD显示,因此也导致了一定程度的难度,在选取单片机方面,我们选取了课堂上讲授的51单片机,对于简单的输入和输出控制,51机显然最合适,51单片机是8位的,采用总线结构,但是具有变成控制简便,接口简单,工作可靠,价格经济,能耗少,容易实现系统小型化等特点。因为篮球计分系统电路结构比较简单,只有按键控制和数码显示两个部分,P0口接12个开关,分别作为比分的加一,加二,加三,减一,设置节次,暂停,交换场地的按键控制。P2口和P3口控制LCD的比分及时间显示。该系统包括AT89S51,时钟及复位电路,按键电路,及LCD显示器。该
8、电路控制简单,清晰明了,用LCD液 晶显示,避免了用LED的复杂接线,便于实体硬件电路的焊接。2.2 原理框图 1602a LCD按键电路AT89S51LCD显示器 复位电路 时钟电路图1.1 原理图2.3 工作原理 LCD显示器该显示器的RS,RW,E端与P2相连,引脚的作用分别是:RS=0输入指令,RS=1输入数据,RW=0向LCD写入指令或数据,RW=1从LCD读取信息,E是使能信号。D0D7与P3相连是数据总线。 时钟电路时钟电路在单片机系统中起着非常重要的作用,是为保证系统正常工作的基础,在一个单片机系统中,时钟是保障系统正常工作的基准震荡定时信号,主要有晶振和外围电路组成,晶振频率
9、大小决定单片机的快慢,我们这里采用的是12MHZ,另外有2个30P的电容。 复位电路单片机系统的复位电路我们采用的是上电加按钮的复位电路形式,电阻采用220欧的阻值,采用22的电容。按键电路本设计共有12个设置按键,分别为+1,+2,+3,-1,暂停,设置节次按键和交换场次按键。2.4 电路图3 软件设计流程及描述 3.1 系统模块层次结构图主函数定时器初始化函数化函数写指令函数写字符函数LCD初始化函数写数据函数按键扫描函数延时函数显示时间函数读忙信号判断函数3.2 程序流程图开始定时器0,LCD初始化显示当前时间读取P0口的值是否有按键按下NY哪个按键按下加一交换场次节次暂停减一加三加二待
10、按键释放将时间,分数,节次经P2,P3口输出显示3.3 源程序代码#include <reg51.h>#include "intrins.h" /_nop_();延时函数用#define uchar unsigned char#define uint unsigned int #define Lcd_Port P3 /定义数据端口#define KEY_IO P0 /键盘接口 sbit RS = P21; /定义和LCM的连接端口sbit RW = P22;sbit E = P25;sbit Busy = P37;sbit speaker=P10;uchar d
11、ata keytemp,key;uchar L=0;uchar k=0;uchar c = 0;uchar b=0;uchar j=0;uchar e=1;uchar d = 0;uchar hour =24;uchar hour1=0;uchar min = 11;uchar sec = 59; /赋初值uchar data flag=0x00;bit flag_key=0; uchar code Lcddata = "0123456789:"/uchar code Lcddata12=0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x8
12、0,0x90,0xff,0xbf;/* 函数名称 :Timer0Init* 功能描述 :定时器0初始化 */void Timer0Init(void) TMOD=0x11;TH0 = 0x3c;TL0 = 0xb0;TH1=-10300/256;TL1=-10300%256; /25MS定时初值(T1计时用)ET0=1;ET1=1;TR0=1;TR1=1;EA=1;/* 函数名称 :IsrTimer0* 功能描述 :T0 50mS中断程序 */void IsrTimer0(void) interrupt 1 using 1 /T0 50mS中断程序static uchar count = 0;
13、 TH0 = 0x3c;TL0 = 0xb0;count+;if(count =20) /定时1s时间到 count = 0; sec-; if(sec = 0) /1分钟时间到 if(min = 0) /1小时时间到 min = 0; EA=0; speaker=speaker; else sec = 59;min-; void IsrTimer1(void) interrupt 3 using 3/T1 50mS中断程序uchar i=0,m=0,a=0;static uchar ta20ms= 0; TH1=-10300/256;TL1=-10300%256;ta20ms+;if(ta2
14、0ms= 1 ) /定时1s时间到 ta20ms=0; hour1-; if(hour1 =-1) /1分钟时间到 hour-;hour1 =99; if(hour=0) hour=24;hour1=0; k=1; /EA=0; L=1; speaker=speaker; while(a<=2) while(m<=225)for(i=0;i<=225;i+) a+;m+; speaker=1; /* 函数名称 :Delay* 功能描述 :延时子程序,延时 (1MS*t) S */void Delay(uchar t)uchar a;while(t- != 0) for(a =
15、 0; a < 125; a+);/* 函数名称 :Read_Busy* 功能描述 :读忙信号判断 */void Read_Busy(void)uchar i=50; Lcd_Port=0xff; RS = 0; RW = 1; E = 1;while(i-)&&Busy);E=0;/* 函数名称 :Write_Comm* 功能描述 :写指令函数 ok*/void Write_Comm(uchar lcdcomm) Read_Busy();RS = 0;RW = 0;E = 1;Lcd_Port=lcdcomm;E = 0;/* 函数名称 :Write_Char* 功能描
16、述 :写字符函数 ok*/void Write_Char(uint num)/写字符函数 Read_Busy();RS = 1;RW = 0;E = 1;Lcd_Port = Lcddatanum;E = 0;/* 函数名称 :Write_Data* 功能描述 :写数据函数 ok*/void Write_Data(uchar lcddata) Read_Busy();RS = 1;RW = 0;E = 1;Lcd_Port = lcddata;E = 0;/* 函数名称 :Init_LCD* 功能描述 :初始化LCD*/void Init_LCD(void)/Delay(400); /稍微延时
17、,等待LCM进入工作状态Write_Comm(0x38); /8位2行5*8Write_Comm(0x0c); /显示开/关,光标开闪烁开Write_Comm(0x01); /清显示Write_Comm(0x06); /文字不动,光标右移Write_Comm(0x02); /光标归位/* 函数名称 :Show_Time* 功能描述 :LCD上显示当前时间*/void Show_Time(void)Write_Comm(0x80+0x08); /显示首地址Write_Char( hour / 10 );/显示小时Write_Char( hour % 10 ); Write_Char( 10 );
18、 /显示: Write_Char( hour1 / 10 );/显示小时Write_Char( hour1 % 10 ); Write_Comm(0x80+0x4b);Write_Char( min / 10 ); /显示分钟Write_Char( min % 10 );Write_Char( 10 ); /显示:Write_Char( sec / 10 ); /显示秒Write_Char( sec % 10 ); Write_Comm(0x80+0x45); Write_Char( c / 10 ); Write_Char( c % 10 );Write_Comm(0x85);Write_C
19、har(d / 10 ); Write_Char(d % 10 ); /*按键扫描函数/*void keyscan()uchar i,t=0xef,temp=0; /1110 1111 KEY_IO=0x0f;keytemp=(KEY_IO)&0x0e;if(keytemp!=0) /0000 0000 ;0000 1000; 0000 0100; 0000 0010; 0000 0001;Delay(20);for(i=0;i<4;i+) KEY_IO=t; keytemp=(KEY_IO)&0x0e; if(keytemp!=0&flag_key=0) fla
20、g_key=1; switch(keytemp) case 0x08:key=0*3+i;break; case 0x04:key=1*4+i;break; case 0x02:key=2*4+i;break; default:break; switch(key) case 0:c+; j=1;if(c>=99) Write_Comm(0x84);Write_Data('1');d=0;b=0;break; case 1:c+;c+; j=1;if(c>=99) Write_Comm(0x84);Write_Data('1');d=0;b=0;bre
21、ak; case 2:c+;c+;c+;if(c>=99) Write_Comm(0x84);Write_Data('1');d=0; j=1;b=0;break; case 4:d+;if(d>=99) Write_Comm(0x80+0x44);Write_Data('1');c=0;b=1;j=0;break; case 5:d+;d+;if(d>=99) Write_Comm(0x80+0x44);Write_Data('1');c=0;b=1;j=0;break; case 6:d+;d+;d+;if(d>=99
22、) Write_Comm(0x80+0x44);Write_Data('1');c=0;b=1;j=0;break; case 8:if(b=1)d-;if (d=0) d=0;if(j=1) c-;break; case 9:if (k=1)hour=24;EA=EA;speaker=1;L=0;k=0;break; case 10: e+;if (e=5)e=1;Write_Comm(0x80+0x0d);Write_Char(e%10); break; case 3:Write_Comm(0x80); Write_Data('C');Write_Data(
23、'B');Write_Data('A');Write_Data(':');Write_Comm(0x80+0x0d);Write_Char(e%10);Write_Data('S');Write_Data('t');Write_Comm(0x80+0x40);Write_Data('N');Write_Data('B');Write_Data('A');Write_Data(':');temp=c;c=d;d=temp;break; case 7:Wr
24、ite_Comm(0x80); Write_Data('N');Write_Data('B');Write_Data('A');Write_Data(':');Write_Comm(0x80+0x0d);Write_Char(e%10);Write_Data('S');Write_Data('t');Write_Comm(0x80+0x40);Write_Data('C');Write_Data('B');Write_Data('A');Write_Data(':'
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年浙江档案职称考试(档案高级管理实务与案例分析)综合练习题及答案
- 2025年环保项目合作协议环境监测数据保密合同
- 2025年绿色物流水路货运服务合同模板环保升级版
- 建设工程劳务大清包合同
- 排水管道焊接与接头技术方案
- 黑龙江省海林市朝鲜族中学2026届化学高一第一学期期中统考试题含解析
- 2025-2030中国微粉类可吸收止血材市场发展商机及供给前景预测报告
- 2026届河北省郑口中学高一化学第一学期期末调研模拟试题含解析
- 2025-2030中国尼龙(PA)行业需求预测及未来营销渠道分析报告
- 2025-2030中国富锂锰基正极材料行业全景调研及竞争规模调查报告
- 2023年4月自考00107现代管理学试题及答案
- 心电图机的使用及心电图的识别
- 人教版数学四年级上册完整全册教案
- 华北理工选矿厂设计教案第16-17讲 辅助设备和设施的选择与计算
- 电气控制及PLC应用-定时器、计数器指令介绍
- 大学生劳动教育PPT新时代大学生劳动教育教程全套完整教学课件
- 云南小粒种咖啡栽培技术
- JJF 1071-2010国家计量校准规范编写规则
- GB/T 27548-2011移动式升降工作平台安全规则、检查、维护和操作
- 饲料卫生标准解读x自动保存的
- GB/T 22166-2008非校准起重圆环链和吊链使用和维护
评论
0/150
提交评论