版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、“融园杯”电子竞赛之四路抢答器的设计组长: 组员: 设计时间:2010、11、11一、前言: 在电视中,我们经常会看到一些抢答题目,而抢答器却是这个衡量时间的至关重要的工具。而作为设计者的我们需要就是把那些看似很远的东西拿到身边,让科学与我们越来越近,体会到科学真正给我们带来的喜悦以及给生活带来的便利。单片机具有CPU所具有的功能,从而使我们的产品更接近智能化和高可控制性等特点。本次设计主要是通过数码管实现四路抢答器的功能。数码管拥有蜂鸣器和数码管以及LED显示,因此,选择数码管进行实现四路抢答器功能是合理并且实现方便。因此对于四路抢答器的硬件设计便是对数码管的硬件电路的设计。 本次竞赛作品,
2、主要针对一些时间限制的抢答,因此,本产品具有较强的实用性和比较合适的价钱。二、设计目的:1、 熟悉抢答器的工作原理2、 了解和熟悉单片机的软硬件的设计方法3、 加强自己的实践动手能力,在做实物的过程中充分锻炼自己能力,扬长避短,达到更进一步的提高自己综合素质三、设计任务和要求:1.设计任务(1)设计一台可供4名选手参加比赛的智力竞赛抢答器。 用数字显示抢答倒计时间,由“20”倒计到“0”时,无人抢答,蜂鸣器鸣响。选手抢答时,数码显示选手组号,同时蜂鸣器鸣响,倒计时停止。(2)分组:负责抢答硬件电路的设计和调试。负责编写程序和相关调试工作。2.设计要求 (1)4名选手编号为:1,2,3,4。各有
3、一个抢答按钮,按钮的编号与选手的编号对应,也分别为1,2,3,4。(2)当选手按下自己抢答器时候,数码立即显示从20秒开始逐秒递减,抢答的开始。(3)如果抢答定时已到,却没有选手抢答时,本次抢答无效。系统扬声器报警,并封锁输入编码电路,禁止选手超时后抢答,时间显示器显示0。四、总体方案选择:1)硬件电路的设计:1、原理图(附件一)2、硬件电路的PCB2、protues仿真图2)程序设计:程序清单(附件一):五、元器件清单:元器件名称规格数量AT89S521底座3晶振12MHZ1发光二极管9单排插40脚1三极管90129蜂鸣器1小按键9下载口座子十芯118b20温度传感器1六脚开关1USB电源线
4、加接口1电阻2001电阻4.7K1电阻1K3电阻47024电解电容220uF1瓷片电容33pF2排阻10K2短路帽3杜邦线8p1PCB板子1电源黄色插座1五、设计感想:通过本次参与竞赛,我们获得不少。首先,从知识积累和技术提高方面来讲。无论是对硬件电路的设计、调试以及检查错误还是对电路的工作原理的都需要我们运用自己已有的知识以及自己掌握一些自己不熟悉的知识。需要我们较强的学习能力和较强的领悟能力,和理解分析能力。对于程序的设计方面,让我更加熟练的运用自己已学的C语言,对于自己提高C语言和更加熟练的掌握C语言有很好的巩固作用。其次,对于仿真电路的设计以及调试工作让我更加对电路的原理以及工作方式有
5、更明确的理解。对使用Protues、multisim以及keil的调试,让我们更加熟悉它们的使用和调试。更加有助于我们的学习和实践相结合。再次,对于自己的一些综合素质提高也很有帮助。当问题出现时,我们可能会有点不开心,但是这个时候我们需要更加坚定自己的信念和决心。我们需要自己学会分析和解决问题,有自己的独立见解。同时,我们学会更加懂得分析的重要性。七、参考文献:1康华光.电子技术基础数字部分.北京:高等教育出版社,20062王彦朋.大学生电子设计与应用.北京:中国电力出版社,20073张钦双.实用电子电路200例.北京:机械工业出版社,20034李光弟 朱月秀 单片机基础.北京:北京航空航天大
6、学出版社,20065马忠梅 .单片机的C语言应用程序设计. 北京航空航天大学出版社,20066常华.仿真软件教程.北京:清华大学出版社,2006附件一:程序清单/*项目名称:四路抢答器的设计设计者: 刘军 设计日期:2010年11月11日*功能要求:(1)显示系统提示符“P.”。(2)设计一个四路抢答器。键功能:S2:抢答开始;S3:抢答结束;S4、S5、S6、S7为四路抢答按键;S8:抢答器复位。指示灯:LED0:抢答开始指示;LED1:抢答结束指示;LED2:违规指示;LED3:超时指示;LED4、LED5、LED6、LED7为四路位置指示;要求: 在抢答开始键S2按下之前,有S4、S5、
7、S6、S7键按下,视为违规,违规指示 灯LED2亮,蜂鸣器报警,数码管显示违规回路号;抢答开始键S2键按下后,抢答开始指示灯LED0亮,蜂鸣器报警;如20秒之内无人抢答,抢答结束指示灯LED1亮,蜂鸣器报警;抢答开始键S2键按下后,如20秒之内有人抢答,则相应回路指示灯亮,蜂鸣器报警,数码管显示回路号并开始倒计时,计时初值20秒:如在20秒内没有回答完毕,则超时指示灯LED3亮,蜂鸣器报警;如在20秒内回答完毕,则需按抢答结束键S3,抢答结束指示灯LED1亮,蜂鸣器报警;按下S8键抢答器复位,重新开始抢答。*LED数码管显示器设定;P0.7-P0.0段控线,接LED的显示段dp,g,f,e,d
8、,c,b,aP2.0-P2.7位控线,从左至右(LED7,LED6,LED5,LED4,LED3,LED2,LED1,LED0)*独立式键盘设定;8个按键S2至S9分别依次接在P1.0至P1.7口线/*宏定义*数组区共阳数码管字型码P.显示序号*函数区void DelayX1ms(uint count) 延时函数void find_code_auto_flush(void)显示缓冲区更新函数void timer0(void)定时器t0中断服务函数void put_on_leds(void)显示输出函数void init_sys(void)定时器初始化函数keychuli()键值处理函数key(
9、)键盘扫描函数void main()主函数*变量定义uchar sec计时变量uchar pos段码序号数组下标uchar dmask位控码uchar k返回键值uchar keyzhi,keyzhii键盘按键值临时存放uchar biaozhi标志位位变量定义bit biaozhi0=biaozhi0; 超时标志位bit biaozhi1=biaozhi1; 抢答标志位bit biaozhi2=biaozhi2; 开始标志位*/#include"reg52.h"#include<intrins.h>#define uchar unsigned char#def
10、ine uint unsigned int #define ulong unsigned long/* 定义定时器TO时间常数和方式控制字 */#define v_th0 0x3c#define v_tl0 0xb0#define v_tmod 0x01uchar sec; /定义计时变量/*共阳数码管字型码*/*0,1,2,3,4,5,6,7,8,9,p.,灭*/char code dispcode=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x0c,0xff; /*"P."显示代码序号*/ char find_c
11、ode8=10,11,11,11,11,11,11,11;/*/函数名: void DelayX1ms(uint count)/功能: 延时时间为1ms/调用函数:/输入参数:count,1ms计数/输出参数:/说明:总共延时时间为1ms乘以count,crystal=12Mhz/*/void DelayX1ms(uint count) uint j; while(count-!=0) for(j=0;j<80;j+); /*显示缓冲区更新函数*/ void find_code_auto_flush(void) reentrant find_code7=sec/10; /获得秒十位fin
12、d_code6=sec%10; /获得秒个位 /*定时器t0中断服务函数*/void timer0(void) interrupt 1 using 2 /选用定时器0工作方式为1 static uchar click=0; /定时器0定时中断次数 TH0=v_th0;TL0=v_tl0; /设置初始值50ms为循环20次为1ms,12MHz+click;if(click>=20) click=0; if(-sec<=0) TR0=0;P3=0x77;DelayX1ms(30); find_code_auto_flush(); /LED显示缓冲区时间值更新 /*显示输出函数*/voi
13、d put_on_leds(void) uchar dmask=0xFE; /位控码初始化 uchar pos; for(pos=0;pos<8;pos+) P2=dmask; /位控码输出到位控口 P0=dispcodefind_codepos; /取显示段码并输出到段控口 DelayX1ms(1);/延时 dmask=_crol_(dmask,1); /修改位控码 /* 函数原型:void init_sys(void);* 功 能:对系统进行初始化并接受用户的初始化时间设置。*/void init_sys(void) TMOD=v_tmod; TH0=v_th0; TL0=v_tl0
14、; /设置时间初值 TR0=0; EA=1; ET0=1; /开启中断,关闭定时器 /* 函数原型:keychuli();* 功 能:处理与键盘相连的P1口的内容,作为键值。*uchar keychuli() uchar k; k=P1; /P1口内容送K k=k; /取反 return(k); /返回键值 /* 函数原型:key();* 功 能:键盘扫描函数,函数返回值即键值。*uchar key() uchar keyzhi,keyzhii; /键盘按键键值临时存放 keyzhi=keychuli(); /调P1口处理函数 if(keyzhi!=0) /有键动作延时去抖动,否则函数返回 p
15、ut_on_leds(); put_on_leds(); keyzhi=keychuli(); /再次调P1口处理函数 if(keyzhi!=0) /真正有键按下,取键值并暂存 keyzhii=keyzhi; while(keyzhi!=0) /判按键是否释放,没有释放延时去抖动等待释放 put_on_leds(); put_on_leds(); keyzhi=keychuli(); keyzhi=keyzhii; /按键释放后恢复按键键值 return(keyzhi); /返回按键键值 /*主函数*/void main() uchar keyzhiii; /定义键值变量 uchar biao
16、zhi; /定义标志位bit biaozhi0=biaozhi0; /定义超时标志位bit biaozhi1=biaozhi1; /定义抢答标志位bit biaozhi2=biaozhi2; /定义开始标志位 biaozhi0=0;biaozhi1=0;biaozhi2=0;sec=20;/赋计时初值init_sys(); /定时器初始化find_code0=10; find_code6=11; find_code7=11; while(1) put_on_leds(); DelayX1ms(2);if(sec>0) /超时标志位处理biaozhi0=0;else biaozhi0=1;
17、 if(biaozhi1=0) P3=0xfd;/有人抢答则LED3亮 else P3=0xf7;/无人抢答则LED1亮 keyzhiii=key(); /调键盘扫描函数得到按键键码 switch(keyzhiii) /按键功能控制 case 0: /没有键按下,则返回 put_on_leds(); DelayX1ms(2); break; case 1: /S2按下开始抢答 TR0=1; P3=0xfe; biaozhi2=1; find_code0=11; TR0=1;find_code_auto_flush();put_on_leds();break; case 2: /S3按下,结束抢
18、答 biaozhi0=1;TR0=0; find_code_auto_flush();put_on_leds();break; case 4: /S4按下,一号抢答 if(biaozhi2=0) /判断是否开始 P3=0x7b;find_code0=1;break; /违规抢答、显示一号,蜂鸣器叫 if(biaozhi0=1|biaozhi1=1)break; /判断是否超时或已有其他选手抢答 else find_code0=1; /显示一号 P3=0xef;/LED4亮,置计时初值 sec=20; biaozhi1=1; /抢答标志位 find_code_auto_flush();put_on_leds();break; case 8: if(biaozhi2=0) P3=0x7b;find_code0=2;break; if(biaozhi0=1|biaozhi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024-2028年中国手机地图行业市场发展监测及投资潜力预测报告
- 庭院金属家具项目可行性研究报告
- 2025年中国组氨酸市场竞争格局及行业投资潜力预测报告
- 2025年苯胺项目评估报告
- 年产1.5亿金刚石破碎料项目可行性研究报告建议书
- 2025手机合作协议主体变更合同协议范本
- 2025-2031年中国盐酸环丙沙星片行业市场发展监测及投资策略研究报告
- 关于编制蓄电池生产建设项目可行性研究报告编制说明
- 2025年中国饮料易拉盖市场评估分析及发展前景调研战略研究报告
- 2025年中国保险公司行业发展趋势预测及投资战略咨询报告
- 北京市房山区2023-2024学年九年级上学期期末语文试题(解析版)
- 15《八角楼上》说课稿-2024-2025学年语文二年级上册(统编版)
- 施工工地汛期防洪防汛应急预案(9篇)
- 商业伙伴与合作伙伴管理制度
- 03S702钢筋混凝土化粪池-标准图集
- 耳鼻咽喉-头颈外科:绪论
- 2024年高中语文课内文言文复习《项脊轩志》课后练习、探究性阅读含答案解析翻译
- 汽车机械制图(第二版)AB卷模拟试卷及答案2套
- 人教版(2024版)七上数学第二单元:有理数的运算大单元教学设计
- 6树叶书签(教学设计)苏教版二年级上册综合实践活动
- 安全环保重点岗位人员应知应会考试附有答案
评论
0/150
提交评论