




已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
微机原理与单片机系统课程设计报告微机原理与单片机系统课程设计评语:考勤10分守纪10分过程30分设计报告30分答辩20分总成绩(100分)专 业: 电气工程及其自动化班 级: 电气1204 姓 名: 学 号: 指导教师: 兰州交通大学自动化与电气工程学院2014 年 12 月 28 日2基于单片机的篮球比赛计分计时器设计1.设计说明:1.1设计题目:基于单片机的篮球计分器设计1.2设计目的:(1) 篮球赛计时计分系统包含了8051系列单片机的最小系统的构成,同时 在此基础上扩展了一些外接设备。(2)可以了解到led显示器的结构、工作原理以及这种显示器的接口实例、具体连接与编程方法。1.3设计要求:(1)篮球计时计分器功能:记录比赛双方比分,可进行加减分交换场地时比分交换倒计时形式记录比赛时间比赛结束发出报警声(2)设计硬件电路图。(3)画出程序流程图、编写程序、完成编译。(4)硬件电路进行连接、调试、并完成proteus仿真。1.4设计方案及原理:本次设计主要基于at89c51单片机,主体的计时计分器系统框图如图1.0所示。图1.0 系统整体框图本系统采用单片机at89c51作为本设计的核心元件。利用7段共阴led作为显示器件。在本次设计中,共接入8个共阴led显示器,其中4个用于记录 甲、乙两队的分数,每队2个led显示器分数范围可达到099分,足够满足赛程需要。另外4个led显示器则用于记录赛程的时间,分别用于记录分钟和秒钟。赛程计时采用倒计时方式。即比赛前将时间设置为10分钟,比赛开始时启动计时,直至计时到零为止。其次键盘共设置了16个开关,0-7号键盘为计分键盘分别控制甲队、乙队得分,为防止出现分加错的情况,特别设置了3、7号开关为减分按钮。8、9按钮分别是比分清零和比分切换按钮。a-f按钮则是控制时间及比赛开始。复位按钮控制复位情况。2.硬件设计:2.1at89c51性能介绍:at89c51是一个使用性能高但是损耗功率很小的单片机,40个外部引脚,其中包含有32个双向输入/输出(i/o)端口,单片机内部还含2个全双工串行通信口,以及2个16位可编程定时计数器和2个外中断口;它主要由中央处理器,控制器,存储器,i/o接口,定时器/计数器, 中断控制系统,内部总线等部分组成。如图2.1所示 图2.1 at89c51引脚图2.1.1主要特性:兼容mcs-51的相关指令系统4k字节可擦写存储器32个i/o接口8*128bit位内部ram2个16位定时/计数器工作时钟频率0-24mhz5个中断源可供编程使用的。1串行口2.2电路连接图:图2.2 电路连接图2.3元件图示:1.功能按键:图2.3.1 功能按键2.比赛时间和比分显示:图2.3.2 比赛时间显示 图2.3.3 比分显示3. 软件设计:3.1流程图:流程图见附录a3.2定时初值计算:单片机的定时初值计算公式为:定时初值=655336=定时时间/机器周期,则最大定时时间=65536us=0.065536s本设计中采用晶振频率为fosc=12mhz,则机器周期=1us (1微秒)。程序中采用的是定时器t0,工作在方式1,取定时器1次定时0.05s,20次定时为1s,定时初值=(65536-50000)/256=60=3c00h,那么可以对单片机定时器0赋初值为th0= 0x3ch;tl0=0x00h。3.2源程序:源程序见附录b3.3系统仿真:根据电路连接图连接电路,在keil环境下编译链接装入isis7 professional中,修改预定参数,进行软件仿真,点击软件执行键,按下比赛开始键,7段共阴极(4位)数码管显示10分钟倒计时,另外两个7段共阴(2位)极数码管分别显示甲队和乙队的比分,最终仿真成功。3.4仿真结果:仿真结果见附录c4.总结:通过本次基于at89c51的篮球计时、计分器的毕业设计,实现了篮球比赛的计时计分,可应用于学校中的篮球比赛的计时计分。此次设计也使我对于单片机工作原理、功能有了宏观的了解,并对单片机汇编程序的应用有了新的、进4一步的认识。在进行本次设计之前,觉得这个设计是一个比较简单的设计,而且自己对篮球比赛也有所了解,举得自己应该能做好。不过在设计的过程中发现自己还是有许多不足的,虽然对知识有所了解,但是并不熟练,不能准确的将书本上的知识转化为设计的结果对于基于at89c51的篮球计时、计分器的课程设计,还有两点改进之处。一是加入24秒倒计时,对单次进攻时间做出限制;二是在单节比赛时间小于1分钟时,倒计时显示可以精确到0.1秒,这样可以更直观的看到比赛最后阶段的时间变化,也能使比赛变的更激烈,分秒必争。参考文献1 王思明.单片机原理及设计与应用m.北京:科学教育出版社,20122 胡辉.单片机原理与应用m.北京:中国水利水电出版社,20073 戴佳.51单片机c语言应用程序设计实例精讲m.北京:电子工业出版社,2006.4附录a 流程图:开始开始 i/o初始化比赛开始计时器显示比赛开始计时器显示倒计时开始记分器显示n时间为0ny时间归零nny报警器报警y报警器报警比赛结束比赛结束图1.1 总流程图 图1.2 计时器流程图开始计分显示nnn甲加分 甲减分乙加分乙加分nn nyyyy 乙队减分显示乙队加分显示甲队减分显示甲队加分显示n比分切换ny比分切换显示y比分清零nny比分清零显示y比赛结束 图1.3 比分程序流程图附录b 源程序:#include#include #define uint unsigned int#define uchar unsigned charuchar code table1=0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef;uchar code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;uchar disbuffer8=0;uchar minute=0,second=0; /定义全局变量uchar ascore=0,bscore=0,temp=0; uchar flage1=0; /定义标志位uchar flage=0;uint count,z; sbit bizz=p37; /蜂鸣器sbit add1=p10; /加一分sbit add2=p11; /加两分sbit minus1=p12; /减一分sbit exchange=p13; /上下半场换场时换分sbit bstop=p14; /全场结束 关闭蜂鸣器sbit start=p15; /开始sbit stopagain=p16; /暂停 开始sbit turn=p17; /切换 加分sbit timeadd=p32; /加时间设定时间void ininterrupt() interrupt 1 /定时器t0中断函数 th0=(65536-50000)/256;tl0=(65536-50000)%256;count+;if(count=20)count=0;if(second=0 & minute=0)et0=0; else if(second=0 & minute!=0) second=59;minute-; else if(second!=0 ) second-; void delay( ) /显示延时函数uint x,y;for(x=10;x0;x-)for(y=10;y0;y-); void delay1( ) /延时消抖函数uint x,y;for(x=10;x0;x-)for(y=360;y0;y-) ;void display1() /显示函数uchar i,j;disbuffer3=second%10;disbuffer2=second/10;disbuffer1=minute%10;disbuffer0=minute/10;disbuffer5=ascore%10;disbuffer4=ascore/10;disbuffer7=bscore%10;disbuffer6=bscore/10;temp=0xfe;p2=temp;for(i=0;i8;i+)j=disbufferi;p0=table1j;delay();temp=_crol_(temp,1); /调用函数 移位p2=temp; void display() /显示函数uchar i,j;uchar temp;disbuffer3=second%10;disbuffer2=second/10;disbuffer1=minute%10;disbuffer0=minute/10;disbuffer5=ascore%10;disbuffer4=ascore/10;disbuffer7=bscore%10;disbuffer6=bscore/10;temp=0xfe;p2=temp;for(i=0;i8;i+)j=disbufferi;p0=tablej;delay();temp=_crol_(temp,1); /调用函数 移位p2=temp; void bizzer() /蜂鸣器函数 while(minute=0 & second=0) /判断时间结束bizz=0;display1();if(!bstop=1) /关闭蜂鸣器按键 delay1(); /延时消抖if(!bstop=1)while(!bstop=1);while(1)bizz=1;display(); void exinterrupt() interrupt 0 /中断delay1();if(!timeadd) /按键设置比赛时间 while(!timeadd);minute+; void button()/按键 函数if(!turn)delay1(); /延时消抖 以下用delay1的都是延时消抖if(!turn)while(!turn);flage+=1; /标志位 if(flage%2=0)if(!add1)delay1();if(!add1)while(!add1); /按键时 松手检测ascore+=1; / a(甲队)加 1 分 if(!add2)delay1();if(!add2)while(!add2);ascore+=2;if(!minus1)delay1();if(!minus1)while(!minus1);ascore-=1;elseif(!add1)delay1();if(!add1)while(!add1);bscore+=1; / b(乙队)加 1 分 if(!add2)delay1();if(!add2)while(!add2);bscore+=2; / b(乙队)加 2 分 if(!minus1)delay1();if(!minus1)while(!minus1);bscore-=1; / b(乙队)减 1 分if(!exchange) /下半场换场切换比分按键delay1();if(!exchange)while(!exchange);temp=ascore;ascore=bscore;bscore=temp;if(!stopagain) /暂停 继续 按键delay1();if(!stopagain)while(!stopagain);flage1+=1;if(flage1%2=1)tr0=0; else tr0=1; if(!bstop=1) delay1();if(!bstop=1)while(!bstop
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 11926-2025二氧化铀粉末和芯块中磷的测定钼蓝分光光度法
- 天津硬笔书法4级考试题目及答案
- 文化传播-濒危语言保护政策在跨文化交流中的作用-洞察及研究
- 2025年公需科目考试网络安全建设与网络社会治理试题库(含答案)
- 2025年秋季学期高中校长“开学第一课”主题讲话:坚定信念成就自我
- 2025年高校辅导员结构化面试题含题集及参考答案
- 基层医疗综合试题及答案
- 护理类文职题库及答案
- 规范资金风险管理办法
- 中山机场保安管理办法
- 2025年秋三年级上册语文同步教案 4 古诗三首
- 航运品牌国际化拓展策略-洞察及研究
- 《矿图》教学课件
- 《中华传统文化教育》课件(第一章-思想文化)
- (高清版)DB1301∕T 345-2020 优 质冬小麦石农952栽培技术规程
- 餐饮技术入干股协议书
- T/GIEHA 034-2022等离子体空气消毒机
- 2025入党考试试题及答案
- 即时检验在急重症的应用管理专家共识(2024)解读
- 教科版五年级上册科学教学计划附进度表
- 红色国潮风汉宫春晓图宣传介绍教育课件
评论
0/150
提交评论