单片机计分抢答器报告

上传人:ph****6 文档编号:70634108 上传时间:2022-04-06 格式:DOC 页数:15 大小:2.12MB
收藏 版权申诉 举报 下载
单片机计分抢答器报告_第1页
第1页 / 共15页
单片机计分抢答器报告_第2页
第2页 / 共15页
单片机计分抢答器报告_第3页
第3页 / 共15页
资源描述:

《单片机计分抢答器报告》由会员分享,可在线阅读,更多相关《单片机计分抢答器报告(15页珍藏版)》请在装配图网上搜索。

1、-目录1.设计要求12.设计方案23.硬件设计23.1 晶振模块23.2 复位模块33.3 led红绿灯显示模块43.4 数码管显示模块53.5 键盘模块53.6 发声模块63.6 设计总图74程序设计74.1编程步骤74.2主程序流程图84.3显示函数流程图94.4键盘扫描函数流程图105仿真结果116收获与总结137源代码13参考文献211.设计要求设计一个基于单片机的计分抢答器。1. 可根据赛事规则设定加减分。2显示每一位参赛者得分。3有清零功能。2.设计方案本系统采用单片机作为整个控制核心。控制系统的四个模块为:显示模块、发声模块、抢答开关模块、主持人控制模块。该系统利用数码管来完成显

2、示功能,记录每个选手的分数,初始分均为5分;通过四个开关按键让选手输入抢答信号,并使用蜂鸣器发声,以P1口的指示灯显示哪一组答题;主持人控制加减分、开场以及确定按钮实现抢答和计分,最终其中一位选手分数达10分赢得比赛。3.硬件设计3.1 晶振模块晶振电路由2个电容,一个晶振组成,如图3.1所示。图3.1单片机晶振的作用是为系统提供根本的时钟信号。通常一个系统共用一个晶振,便于各局部保持同步。有些通讯系统的基频和射频使用不同的晶振,而通过电子调整频率的方法保持同步。单片机晶振两端有2个电容,这2个电容叫晶振的负载电容,分别接在晶振的2个脚上和对地的电容,一般在几十皮法。它会影响到晶振的振谐频率和

3、输出幅度。晶振的负载电容=(Cd*Cg)/(Cd+Cg)+Cic+C。3.2 复位模块复位电路由电容、电阻、复位按键组成,如图3.2所示。 图3.2AT89C51的复位引脚RESET是第9脚,当此引脚连接高电平超过2个机器周期,即可产生复位的动作。以12MHz的时钟脉冲为例,每个时钟脉冲为1S,两个机器周期为2S,因此,在第9脚上连接一个2S的高电平脉冲,即可产生复位动作。最简单的就是只有一个电阻跟一个电容就可组成一个可靠复位的电路,复杂一点的就加个按键,可以进展手动复位如图3.2所示3.3 led红绿灯显示模块图3.3P1口作为输出端,分别接红、绿、黄、白LED,表示选手抢答的指示灯。电阻使

4、用510,起限流保护作用。当P1口输出低电平,使二极管点亮,P1口输出高电平,使二极管熄灭。3.4 数码管显示模块图3.6显示电路根据设计,系统包含4个LED数码管,都为八段、,数码管分别显示四位参赛选手的分数。该系统采用共阳极数码管,对于阳阴极数码管,其公共端必须接高电平。数码管中选手初始分都为5分,每当主持人控制对应选手加减分时,数码管显示的数字对应发生改变,直至其中一人到达10分比赛完毕。3.5 键盘模块图3.4通过矩阵键盘来实现输入。如下图,矩阵键盘的每一条水平行线与垂直线列线的穿插处不相通,而是通过一个按键来连通,利用这种行列式矩阵构造只需要N条行线和M条列线即可组成有个按键的键盘。

5、本次设计需要抢答键、计分加减键、开场键、确定键,所以选用4*4的矩阵按键。第一列为选手抢答按键,第二、三列为对应选手加减分键,第四列的二、三行分别对应主持人控制确实定键和开场抢答键。3.6 发声模块图3.5发声模块由单片机和蜂鸣器两大主要局部组成,如图3.5所示,中选手抢答完成时或分数满10分时给P3.7输入高电平,蜂鸣器发出声音。3.6 设计总图4程序设计4.1编程步骤翻开软件后, 1建立一个新工程单击Project菜单,在弹出的下拉菜单中选中New Project选项。2然后选择你要保存的路径,输入工程文件的名字,比方保存到C51目录里,工程文件的名字为C51 。3这时会弹出一个对话框,要

6、求你选择单片机的型号,你可以根据你使用的单片机来选择,keil c51几乎支持所有的51核的单片机,一般选用Atmel 的89C51。选择89C51之后,右边栏是对这个单片机的根本的说明,然后点击确定.4单击File菜单,再在下拉菜单中单击New选项单击菜单上的File,在下拉菜单中选中Save As选项单击,在文件名栏右侧的编辑框中,键入欲使用的文件名,同时,必须键入正确的扩展名。注意,如果用语言编写程序,则扩展名为(.c);如果用汇编语言编写程序,则扩展名必须为(.asm)。然后,单击保存按钮 5回到编辑界面后,单击Target 1前面的号,然后在Source Group 1”上单击右键,

7、然后单击Add File to Group Source Group 1, 选中Test.c,然后单击Add6开场编程并调试生成He*文件。开场YYYYNNNdo=1;P1=0*ff;flag=0beef,P1显示组别do=0(控制选手锁存)对应加减分num控制flag=1抢答按键控制完毕key=0*be(主持人OK键key=(抢答键&flag其中一组为10分.key=(加减分键&flag.key=0*de(开场按键数码管显示子程序4.2主程序流程图初始化flag=0、do=1Num=5键盘扫描主程序. z-4.3显示函数流程图YYYYNNNNa=0;b=0;c=0;d=1;a=0;b=0;c

8、=1;d=0;a=0b=1;c=0;d=0;a=1;b=0;c=0;d=0;=P0=tablenum1P0=tablenum2P0=tablenum3P0=tablenum4各组得分变量读取开场. z-4.4键盘扫描函数流程图开场YP2.0-P2.3为1P2.4-P2.7为0延时去抖动读取行值P2.0-P2.3为0P2.4-P2.7为1延时去抖动读取列值P2.0-P2.3与P2.4-P2.7相或读取键值完毕5实物图 图6.1模拟比赛开场,每位选手设置根本分5分,主持人按下开场抢答键图6.2选手抢答,对应灯亮,蜂鸣器报警图6.3主持人对对应选手进展加减分并确认图6.4其中一名选手得到10分比赛完

9、毕,蜂鸣器发出响声6收获与总结这次的课程设计花费了小组成员许多的心血,最后在教师和同学的商讨和帮助下,我们较好的完成了设计任务。通过此次课程设计,我重新认识到了自学的重要性,以及学以致用的道理。我查阅了大量的资料,通过此次的抢答器的设计,让我重新拾起了以前所学习的电子知识,及我觉得此次设计让我更加稳固了所学的知识并在设计的过程中学会了与时俱进,克制了编程的枯燥感,让我受益匪浅。而现在,我们在学习单片机这门课程,我们应该好好地记笔记,课下好好地做练习题,再加上课外的拓展才能把C程序设计灵活的运用到单片机程序的设计上。在单片机这门课程的学习上,我们还应该知道一种常用的仿真软件proteus软件,可

10、以让你我们更为清晰的掌握ATC89C51系列的实际应用上的设计。在今后的学习过程中,应该多到图书馆看一些专业方面的书籍,以丰富自己的知识。这次课设也使我加深了对单片机及接口技术的理解和应用,由于知识水平的局限,设计中可能会存在着一些缺乏,我真诚地承受教师和同学的批评和指正。7源代码*include*define uchar unsigned char*define uint unsigned intsbit a=P30;sbit b=P31;sbit c=P34;sbit d=P35;sbit fmq=P37;unsigned char flag=0;unsigned char d0=1;/*

11、变量,控制按键锁存*/*/uint num=0 ,num1=5,num2=5,num3=5,num4=5,uchar key;unsigned char code table=0*c0,0*f9,0*a4,0*b0,0*99,0*92,0*82,0*f8,0*80,0*90,0*88,0*83,0*c6,0*a1,0*86,0*8e;/共阳数码管字型表/*/void delay1() /按键延时函数,矩阵键盘用uchar l;for(l=254;l0;l-);/*/void delayms(uint *ms)/延时*msuint i,j;for(i=*ms;i0;i-)for(j=110;j0

12、;j-);/*/void delay500us() /500us基准延时程序unsigned char k;for(k=0;k0;m-)beep1();/*/uchar keyscan(void)/键盘扫描函数unsigned char hang,lie;P2=0*f0;while(P2&0*f0)!=0*f0) delay1(); if(P2&0*f0)!=0*f0) P2=0*f0; hang=P2&0*f0; P2=0*0f; lie=P2&0*0f; return (hang+lie) ;return 0;/*/void display() /显示函数a=1;b=0;c=0;d=0;

13、/*各组得分显示*/P0=tablenum1;delayms(5);a=0;b=1;c=0;d=0;P0=tablenum2;delayms(5);a=0;b=0;c=1;d=0;P0=tablenum3;delayms(5);a=0;b=0;c=0;d=1;P0=tablenum4;delayms(5); /*/void main()TMOD=0*01; /*采用方式一,即十六位计数器*/TH0=(65536-50000)/256;/*设置初始值*/TL0=(65536-50000)%256;IT0=0;EA=1;ET0=1;/*开启总中断源*/fmq=0;P1=0*ff;a=0;b=0;c

14、=0;d=0;P0=table0;while(1)display();key=keyscan();if(key=0*de)flag=1;/*/ if(key=0*ed&flag) /各组对应的加减分键delayms(200);if(key=0*ed)num1+;if(num19)num1=14;while(!key);/1*if(key=0*eb&flag)delayms(200);if(key=0*eb)num1-;if(num1=0)num1=0;while(!key);/*/if(key=0*dd&flag)delayms(200);if(key=0*dd)num2+;if(num29)

15、num2=14;while(!key); /2*if(key=0*db&flag)delayms(200);if(key=0*db)num2-;if(num2=0)num2=0;while(!key);/*/if(key=0*bd&flag)delayms(200);if(key=0*bd)num3+;if(num39)num3=14;while(!key); /3*if(key=0*bb&flag)delayms(200);if(key=0*bb)num3-;if(num3=0)num3=0;while(!key);/*/if(key=0*7d&flag)delayms(200);if(ke

16、y=0*7d)num4+;if(num49)num4=14;while(!key); /4*if(key=0*7b&flag)delayms(200);if(key=0*7b)num4-;if(num4=0)num4=0;while(!key);/*/if(num1=14|num2=14|num3=14|num4=14) /晋级环节:那组分数先到达10晋级,比赛完毕beep(); delayms(3000);num1=num2=num3=num4=10;qiangdanum=8;time=88; /*/if(d0=1)/抢答环节,有锁存功能 if(key=0*e7&flag) /*开关1按下*

17、/beep();P1=0*fe;d0=0; /* 1号选手抢答成功,数码管显示1,蜂鸣器响*/if(key=0*d7&flag)/*开关2按下*/beep();P1=0*fd;d0=0; /* 2号选手抢答成功,数码管显示2,蜂鸣器响*/if(key=0*b7&flag)/*开关3按下*/beep();P1=0*fb;d0=0; /* 3号选手抢答成功,数码管显示3,蜂鸣器响*/if(key=0*77&flag) /*开关4按下*/beep();P1=0*f7;d0=0; /* 4号选手抢答成功,数码管显示4,蜂鸣器响*/*/if(key=0*be)/主持人复位键d0=1;P1=0*ff;flag=0;display();key=keyscan();if(key=0*de) 参考文献1 单片机原理与c51编程/宋彩利,友仓,吴宏岐编著:交通大学,2021.62021.7重印2 c语言设计教程与实验/吉顺如主编:清华大学,2021.63 百度:计分抢答器. z

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!