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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

单片机计分器设计Word文档下载推荐.docx

1、3. 目录4. 系统总体方案设计5. 系统硬件设计6. 软件设计(包括流程图)7. 系统的安装调试说明8、 总结 9、参考文献10、附录(源程序清单及硬件原理图等);11、课程设计成绩评分表。进 度 安 排设计时间为两周第一周星期一、上午:布置课题任务,讲课及课题介绍 下午:借阅有关资料,总体方案讨论星期二、确定总体设计方案星期三、硬件模块方案设计星期四、软件模块方案设计星期五、设计及调试第二周星期一、设计及调试星期二、设计及调试星期三、总调星期四、写说明书星期五、上午:写说明书,整理资料下午:交设计资料,答辩参 考 文 献1、微型计算机原理及应用许立梓编 机械工业出版社 20022、微型计算

2、机接口技术及应用刘乐善编 华中理工大学出版社 2000 3、计算机硬件技术基础试验教程邹逢兴编 高等教育出版社 20004、16位微型计算机原理接口及其应用周佩玲编 中国科学技术大学出版社2000 5、微型计算机原理与接口技术吴秀清编 中国科学技术出版社 20016、微型计算机接口技术邓亚平编 清华大学出版社 20017、单片机原理及及应用王迎旭编 机械工业出版社 20018、单片机应用程序设计技术 周航慈 著 北京航空航天大学出版社 20029、单片机实用技术问答 谢宜仁 主编 人民邮电出版社 2002 目 录第1章 系统概述 11.1系统功能 11.2设计内容及要求 11.2.1 设计内容

3、: 11.2.2 设计要求:1.3 按钮设置 2第2章 总体方案设计 32.1 总体系统框图 32.2 系统组成 3第3章 系统硬件设计 53.1控制电路设计 53.1.1 复位电路 53.1.2 矩阵按钮电路 53.2数码管显示电路设计 6第4章 软件设计 84.1主程序设计 84.2各子程序设计 84.2.1 延时子程序 84.2.2 初始化子程序 94.2.3 交换按钮程序 94.2.4 状态部分程序 104.2.5 加减部分程序 11第5章 实物连接图 125.1 交换分值 125.2 发光二极管指示 135.3 清零 135.3 软件调试结果 13设计总结 14参考文献 15附录A:

4、源程序清单 16附录B:总体硬件实物图 21电气信息学院课程设计评分表 22第1章 系统概述1.1系统功能设计一个甲、乙两队比赛计分器,主要用于各种体育比赛记录分数。采用矩阵式键盘作为输入。基于以上思路,本次设计使用80C51实现一基于单片机的电子计分器的设计,其主要具有如下功能:(1)用户可分别对两队比分进行加1、加2、加3和减1,减2,减3操作。(2)比分通过6个8段共阴极数码管显示器进行显示,每队比分显示三位,可以交换两队的比分。(4)具有复位功能,通过复位键实现。(5)预置分可通过加或减分按钮实现。1.2设计内容及要求(1)给甲乙两队分别设置一个分数控制按钮,此按钮有7种状态,分别为+

5、1、+2、+3、-1、-2、-3,+10(置数)。(2)设置一个切换状态按钮,可以分别切换每一种状态,然后每一种状态会有相应的发光二极管点亮以区别是哪种状态。(3)设置一个复位按钮,按下实现甲、乙队总分回到初试分及显示(4)设置一个交换分按钮,用于交换甲乙比分。方案合理、正确,系统稳定、可靠。软件设计要求尽可能精练、简短和运行可靠。硬件电路要求简单明了,以节约成本。1.3 按钮设置本设计的宗旨是用最少的按键实现最多的功能。设计中一共用到了5个按钮,分别为:清零按钮、甲的加分减分按钮,乙的加分减分按钮,切换状态按钮和交换比分按钮。每个按钮的功能如下:控制甲的按钮:实现+1、+2、+3、-1、-2

6、、-3,+10(置数)功能;控制乙的按钮:切换按钮:实现甲乙的各种状态的切换;减缓比分按钮:交换甲乙的比分;清零按钮:实现甲乙比分清零;第2章 总体方案设计2.1 总体系统框图此次设计80C51单片机为核心,配以一定的外围电路和软件,以实现比赛计分器的功能。利用6个8段共阴级数码管显示器.采用动态显示输出比分,用户信息输入则采用44矩阵式键盘,起状态切换用发光二极管的状态表示。用一片单片机可满足本设计的输入输出。系统设计方案的硬件电路设计框图如图2-1所示。图2-1 硬件电路设计2.2 系统组成系统由硬件部分和软件部分组成。硬件电路由复位按钮、80C51单片机、矩阵键盘和7个发光二极管,6个数

7、码管等组成。 软件部分主程序主要由系统初始化段、键盘识别、键值处理、8段共阴极LED显示器扫描显示子程序组成。软件设计主要分为四个部分:信息输入、信息处理、显示输出。信息输入时采用矩阵式键盘来实现,所以需要检测键盘有无按键的子程序;信息处理需要对用户通过键盘输入的不同信息进行辨别并执行相应的处理;显示输出考虑到成本和电路体积,决定采用动态输出,从而达到设计的目的。第3章 系统硬件设计3.1控制电路设计3.1.1 复位电路如图3-1所示,按钮与单片机的RST引脚相连,当每次按下该按钮后,系统将通过软件实现对计分回到初始值功能。图3-1 复位控制接口电路3.1.2 矩阵按钮电路键盘的读取方式:行与

8、列各有4条线档其中一个按键被按下后,它所在的行列线就导通了,所以如果一条线上是低电平,那么按键的另一条线也是低电平。先给第一行送一个低电平,读取列值,就可以判定第一行上是否有按键按下,如果有按键,那么列线里面就有一条线为低电平。如果都为高电平,说明第一行上没有按键被按下,接着给第二行送低电平,重复上述步骤,就可以读取按键了。也可以用另外一种方法:先给行线全部写“0”,然后看列线是否有为低电平的,如果有说明那一列上有键被按下,让后要确定按键所在的行的,给所有列线写“0”,读取行线的值就可以确定按键的具体位置了, 让后将两次读取的值,组成一个值j就得到了键值。图3-2 矩阵键盘的接口电路3.2数码

9、管显示电路设计 显示器采用8段共阴极数码管显示器,来实现显示器的动态扫描,八个二极管连接一个阴极的结构,只要另一段为高电平,二极管就会发光,从而形成一段。将八段顺序排列后就成为具有一定编码的共阴显示器了。动态扫描的频率有一定的要求,频率太低,LED将出现闪烁现象。如频率太高,由于每个LED点亮的时间太短,LED的亮度太低,肉眼无法看清,所以一般均取几个ms左右为宜,这就要求在编写程序时,选通某一位LED使其点亮并保持一定的时间,程序上常采用的是调用延时子程序。显示电路如图4所示。图3-3 数码管显示电路数码管显示采用8个8段数码管显示器,来实现显示器的动态扫描显示采用动态扫描显示方法,即由显示

10、器扫描显示子程序控制显示器逐个循环从左至右依次点亮各个显示器。由单片机的P0口控制显示。第4章 软件设计4.1主程序设计 主程序主要由系统初始化段、键盘识别、键值处理、6个8段共阴极LED显示器扫描显示子程序组成。通过对以上各段和子程序的结合,以实现系统功能。该系统主程序流程图如下图所示。图4-1 系统主程序流程图4.2各子程序设计 4.2.1 延时子程序void delay(uint z) uint x,y; for(x=z;x0;x-) for(y=110;yy-);此段程序是根据实验板各硬件的参数具体设置的。4.2.2 初始化子程序void init() cnt=0; num=0; we

11、la=0; dula=0; temp=0; TMOD=0x01; TH0=(65536-50000)/256; TL0=(65536-50000)%256; EA=1; ET0=1; TR0=1;初始化程序是用来对各定义的变量初始化的,每一次主程序执行之前都要先执行初始化程序以保证变量的值为初值。4.2.3 交换按钮程序if(key4=0) /当交换键按下 delay(10); if(key4=0) m=bai; bai=aa; aa=m; n=shi; shi=bb; bb=n; p=ge; ge=cc; cc=p; while(!key4); /去抖 delay(10); 此程序就是当交换

12、按键按下时,利用中间变量改变甲乙的每一位的数值,这样就能实现交换甲乙两队的比分,然后再给电路去抖动,就不会出现问题了。4.2.4 状态部分程序for(i=0;i4;i+) if(key3=0) if(key3=0) num+; if(num=7) num=0; delay(5); switch(num) case 0: cnt=-3;d7=0;d6=1;break; case 1: cnt=10;d1=0;d7=1; case 2: cnt=1;d2=0;d1=1; case 3: cnt=2;d3=0;d2=1; case 4: cnt=3;d4=0;d3=1; case 5: cnt=-1

13、;d5=0;d4=1; case 6: cnt=-2;d6=0;d5=1; while(!key3);while(! 该程序是主函数里面的部分程序,当切换分按钮按下时利用switch case 语句来实现甲乙各种状态之间的切换,并且同时控制了7个发光二极管的显示来表明当前处于什么状态。切换到相应的状态时在执行显示扫描程序将实现切换功能。4.2.5 加减部分程序if(key1=0) /甲控制按钮按下 delay(10); /延时 if(key1=0) temp=temp+cnt; /实现加减运算 if(temp=256)key1);delay(10); bai=temp/100; /分离处百位

14、shi=temp%100/10; ge=temp%10;该程序是通过前段调用一个变量cnt来作为本次运算的加数,然后通过切换状态来做不同的运算。这样就免去了很多不必要的程序,直接调用实现,简化了程序。第5章 实物连接图单片机语言程序是基于Keil uVision2编程软件编写的。在keil内建立工程后建立汇编文件,编写MCS-51程序。然后进行单步和断点调试,将运行结果和实验现象与预定值进行比较,再适当修改程序以达到要求。最后通过软件下载到单片机即可看到相关的实验结果。5.1 交换分值图5.1比赛分值图5.2 交换分值 当按下交换分值按钮过后甲乙两队的比分将交换,如上面实物图所示。5.2 发光

15、二极管指示图5.3 切换按钮指示灯5.3 清零 图5.4 比分清零5.3 软件调试结果调试结果记录如下:按照键盘分布说明按键,可以给甲、乙加或者减1分,2分,3分,显示器跟踪显示出总分,然后模拟比赛细节,均达到预期效果。在甲、乙均有一定总分的情况下,按复位按钮,显示结果复位。重复进行上面操作,结果均符合设计要求。可以通过切换按钮选择不同的状态,将会实现不同的功能。还可以通过比分交换按钮交换双方的比分,这点是非常实际化的,在现实比赛中也有这样的功能,完全实现了比赛的要求。设计总结这次的课程设计是做一个计分器,主要是以MCS-51单片机为出发点,结合Keil uVision2编程软件和Proteu

16、s调试软件的一门计算机语言,通过指令来控制相应硬件的运行状态,虽然这次设计只有短短的两周时间,但我深刻体会到了其中的苦与乐,感悟甚是深切,总觉得从书本上接受的东西不如操作和实践来的那么深刻。在没有做课程设计以前,觉得课程设计只是对知识的单纯总结,但是通过这次课程设计发现自己的看法有点太片面,课程设计不仅是对前面所学知识的一种检验,也是对自己能力的一种提高,通过这次课程设计使自己明白了原来的那点知识是非常欠缺的,要学习的东西还很多,通过这次课程设计,明白学习是一个长期积累的过程,在以后的工作和生活中都应该不断的学习,努力提高自己的知识和综合素质,并将理论与实际相结合,学以致用,不再是纸上谈兵,。

17、对我们学生来说,理论与实际同样重要,这是我们以后在工作中说明自己能力的一个重要标准。在这次课程设计中,我在整个设计过程中懂得了许多东西,也培养了独立思考和设计的能力,树立了对知识应用的信心,相信会对今后的学习工作和生活有非常大的帮助,并且提高了自己的动手实践操作能力, 使自己充分体会到了在设计过程中的成功喜悦。虽然这个设计做的不是很理想,但是在设计过程中所学到的东西是这次课程设计的最大收获和财富,使我受益良多。课程设计是结束了,不过学习单片机知识的过程还没有终结,探索学习的奥妙,培养学习的兴趣,养成良好的学习习惯对我们来说才是最重要的。与此同时我感受到了老师对学生的那种悔人不卷的精神,每天的固

18、定时间,老师都来给我们指导,使我们少走弯路,顺利完成实习任务,感谢汪老师一路以来对我们的关心与帮助。参考文献1单片机原理与应用王迎旭编 机械工业出版社 251系列单片机原理与接口技术实验指导周向红编 湖南工程学院 3微型计算机原理及应用许立梓编 机械工业出版社 20024微型计算机接口技术及应用刘乐善编 华中理工大学出版社 2000 5计算机硬件技术基础试验教程邹逢兴编 高等教育出版社 2000616位微型计算机原理接口及其应用周佩玲编 中国科技大学出版社2000 7微型计算机原理与接口技术吴秀清编 中国科学技术出版社 20018微型计算机接口技术邓亚平编 清华大学出版社 20019单片机原理

19、及及应用王迎旭编 机械工业出版社 200110单片机应用程序设计技术 周航慈 著 北京航空航天出版社 200211单片机实用技术问答 谢宜仁 主编 人民邮电出版社 2002源程序清单#include#include #define uint unsigned int#define uchar unsigned charsbit d1=P17;/定义发光二极管sbit d2=P16;sbit d3=P15;sbit d4=P14;sbit d5=P13;sbit d6=P12;sbit d7=P11;uchar temp,temp1,bai,shi,ge,aa,bb,cc,num,cnt,i,m

20、,n,p;sbit dula=P26;sbit wela=P27;sbit key1=P34;sbit key2=P35;sbit key3=P36;sbit key4=P37;uchar code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;void display(uchar bai,uchar shi,uchar ge,uchar aa,uchar bb,uchar cc);void delay(uint z);void init();void main() i

21、nit(); /初始化子程序 while(1) if(key4=0) / delay(10); if(key4=0) m=bai; bai=aa; aa=m; n=shi; shi=bb; bb=n; p=ge; ge=cc; cc=p; while(!/交换键 while(! for(i=0; if(key3=0)/切换键 if(key3=0) num+; if(num=7) num=0; delay(5); switch(num)/选择切换状态 case 0: case 5: if(key1=0) / 甲的控制按钮按下 if(key1=0) temp=temp+cnt; if(temp=1

22、000) temp=0; bai=temp/100; shi=temp%100/10; ge=temp%10; if(key2=0) /乙控制按钮按下 if(key2=0) temp1=temp1+cnt; if(temp1=1000) temp1=0;key2); aa=temp1/100; bb=temp1%100/10; cc=temp1%10; display(bai,shi,ge,aa,bb,cc);/显示每一位 void delay(uint z)/延时void display(uchar bai,uchar shi,uchar ge,uchar aa,uchar bb,uchar cc) dula=1; /显示各位的值 P0=tablebai; dula=0; P0=0xff; wela=1; P0=0xfe; wela=0; delay(1); dula=1; P0=tableshi; P0=0xfd; P0=tablege; P0=0xfb; P0=tableaa; P0=0xf7; P0=tablebb; P0=0xef; P0=tablecc; P0=0xdf;void init()/初始化程序总体硬件实物图图5.5 总体实物硬件图电气信息学院课程设计评分表项 目评 价

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

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