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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

基于单片机的简易多路智力抢答器Word文档格式.docx

1、1. 识别最先选手按键并锁存。2.实时显示当前状态和抢答号码。3. 8路输入与显示。4. 对最先抢答人亮灯。5. 主持人能开始,停止/清零抢答器状态。2.2 各种方案选择比较2.2.1 实现方式的选择 方案一:采用纯数字门电路。通过各种逻辑门电路的组合连接,实现系统功能。此方案设计复杂,电路复杂,功能单一,且需要门电路较多,成本较高,也不美观。维护调试都比较麻烦。 方案二:采用单片机为主控制器。此方案电路简单,设计工作主要是软件设计,设计较为灵活,功能都是通过软件实现,硬件花费少;应用KEIL 软件,C语言编程,软件设计也较为方便。系统易于调试维护。应用单片机使得系统更具有智能化的特色,是当今

2、的主流。故采用本方案。2.2.2 控制器的选择采用AT89C51系列单片机。由于AT系列单片机烧录调试程序需要专门烧写器。购买烧写器成本较高,且烧录不方便。采用STC89C51系列单片机。STC8951系列单片机为AT8951的同类替代产品,除去和AT8951具有的相同性能外,还可以直接用串口烧录程序,大大简化了程序烧写的流程。降低了成本,加快了开发周期。考虑到单片机内部存储器的大小(STC89C52的flash为8K,RAM为512),本系统选用STC89C52单片机。2.2.3 显示模块的选择采用L12864液晶显示。此器件能显示4*8个字符,操作简便,但器件很小,视觉效果差。采用数码管显

3、示。此器件价格较低廉,能显示数字,亮度较高,且规格较多,本系统可选用大尺寸、高亮度的LED数码管。故选用此方案。2.3 系统的描述图2.3.1 抢答器的系统框图本系统以STC89C52单片机为控制核心,结合周边电路,通过单片机引脚I/O口实现对按键抢答的迅速响应;应用单片机外部中断实现对按键的快速响应,单片机的相应时间可达几微妙,满足系统快速响应要求。在此基础上,实现了按键响应并识别。主持人能够通过“开始”键开始答题,此时选手可以抢答。单片机通过中断的方式响应最先抢答的选手并识别选手号码,此时选手们的按键锁定,所有人按键无效,数码管显示最先抢答人的号码,相应选手的LED发光二极管点亮,此时主持

4、人可以按“停止/清零”键停止抢答,停止时,数码管显示“FF”。第三章 电路设计3.1 系统总体设计本设计的主要电路有:单片机STC89C52最小系统、数码管显示驱动模块、按键输入模块。LED发光二极管电路。外围电路都与单片机引脚I/O口相连,以实现单片机对外围电路的控制,实现相应功能。3.2 单元电路设计3.2.1 单片机最小系统图3.2.1 单片机最小系统 如图3.2.1 单片机最小系统包括单片机、时钟电路、复位电路。其他引脚I/O相应的扩充功能,P1口接8个独立按键,P3.4-5为功能控制按键,P3.6-7为数码管扫描位,INT0、INT1接按键门电路处理的信号中断,P2接LED发光二极管

5、,PO接数码管数据位。3.2.2 电源电路图3.2.2 电源电路 本电源电路如上图所示,应用7805三端稳压电源模块构成。输出稳压5V电压,为单片机、LED灯和数码管提供工作电压。电容为滤波作用,使输出电源更平滑稳定。3.2.3 数码管驱动电路 本电路由数码管、三极管构成。三极管的作用是为数码管提供驱动,使之更亮。单片机引脚接三极管基极,控制三极管的导通对数码管选择位控制。数码管为共阳极数码管。如图3.2.3所示。图3.2.3 数码管驱动电路3.2.4 按键电路图3.2.4 按键电路 如上图所示,按键电路分为两部分,第一部分是选手按键阵列,共有8个独立按键,接到单片机P1口,同时8位按键通过一

6、个8输入与门接入单片机外部中断位INT1。第二部分是主持人按键阵列,共有2个独立按键,接到P3的两个普通I/O口,同时2位按键通过一个2输入与门接入单片机外部中断位INT0。主持人的优先级高于选手。3.2.5 LED发光二极管电路图3.2.5 LED发光二极管电路 本电路由高亮度发光二极管组成,共阳极连接,阴极接P2口。由P2口控制发光二极管的亮灭。第四章 程序设计4.1程序总体流程图图4.1.1 系统总体流程图 图4.1.2 中断程序流程图 主程序实现当主持人按开始时,等待按键并显示最先抢答人号码,相应二极管灯点亮,此时其他人抢答无效。当主持人按停止清零时,选手按键无效,数码管和二极管灯清零

7、。 中断程序有两个,分别实现1.如果主持人按键,触动外部中断1,识别是否是开始还是停止清零,如果是开始,则开选手按键中断,选手可按键抢答。如果是停止清零,则选手按键关,选手按键无效。2.选手按键中断,识别按键并关选手按键,其他人按键无效。 程序见附录。第五章 测试与仿真5.1测试方法 测试仿真工具:Protues软件仿真5.2测试效果图5.2.1 Protues仿真总体效果图 上图为系统启动时,当前为停止清零状态,选手此时不能按键,按键无效,数码管显示FF,发光二极管都不亮。图5.2.2 开始后效果图图5.2.3 选手抢答后效果图 图5.2.2为主持人按键开始时,此时数码管为00,等待选手抢答

8、。 图5.2.3为选手抢答后,数码管显示选手号码,相应二极管灯点亮。此时其他选手抢答按键无效。综上所述,仿真效果完全符合题目要求指标。第五章 总结 本系统以STC89C52单片机为控制核心,结合周边电路。经过测试,各项功能指标均达到设计要求,且电路设计简洁,程序设计也较为简单,界面效果简洁美观,操作简单实用。 通过此次毕业课题的设计,让我学到很多东西,一方面,它是3年大学所学知识的一个综合应用,考察了我大学所学的知识,是一次彻底的知识巩固和提高。另一方面,通过综合的应用设计,锻炼了我应用知识的能力和动手能力。同时,在设计的过程中,也锻炼了我解决问题的能力,遇到问题坚持不懈的毅力和细心程度。让我

9、在以后求职就业中更好的学习和提高自己。第六章 参考文献1 李全利. 单片机原理及接口技术.高等教育出版社2 公茂法. 单片机原理与实践.北京航空航天出版社3 全国大学生电子设计竞赛组委会. 第九届全国大学生电子设计竞赛获奖作品选编.北京理工大学出版社4 及力. Protel 99原理图与PCB设计教程. 电子工业出版社第七章 附录/*=程序清单=*/#includetypedef unsigned char uchar;typedef unsigned int uint;#define KEY P1 /8个按键#define DATA P0 /数码管段sbit LED1=P20;sbit LE

10、D2=P21;sbit LED3=P22;sbit LED4=P23;sbit LED5=P24;sbit LED6= P25;sbit LED7= P26;sbit LED8= P27; /发光二极管sbit WEI1=P36; /数码管高位sbit WEI2=P37; /数码管地位sbit start=P34; /开始按键sbit stop=P35; /停止按键uchar num,temp,work_mode;uchar code lab11=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d, /数码管编码 0x07,0x7f,0x6f,0x71;/0123456789

11、F/*=自定义子程序=*/void delay10ms(); /延时10msvoid delay5ms(); /计时器计时void display_num(); /显示数码管数字void init_INT0(); /初始化void init_INT1();void key_process(); /按键处理void display_led(); /LED灯显示void init_port(); /初始化I/O口/*=主程序=*/void main() init_INT0(); init_INT1(); /系统初始化 init_port(); while(1) EX1=1; /开抢答人按键中断 ,

12、 while(work_mode) /当主持人按键开始抢答时 display_num(); /显示抢答号码 display_led(); while(!work_mode) /当主持人按键停止抢答时 EX1=0; /关抢答按键中断,抢答无效 num=0; /数字清零 P2=0XFF; /LED灭灯 WEI1=1; WEI2=1; DATA=lab10; /显示FF停止 void init_port() WEI1=0; WEI2=0;void delay10ms() unsigned char a,b,c; for(c=1;c0;c-) for(b=38;bb-) for(a=130;aa-);

13、void delay5ms() unsigned char a,b; for(b=18;void display_num() DATA=labnum/10; WEI1=1; delay5ms(); DATA=labnum%10; WEI2=1;void init_INT0() EX0=1; IT0=1; EA=1;void init_INT1() EX1=1; IT1=1;void INT1_SIR()interrupt 2 EA=0; temp=KEY; key_process();void INT0_SIR()interrupt 0 if(!(start&stop) delay10ms()

14、; if(!start)&stop)work_mode=1;stop)&start)work_mode=0;void key_process() switch(temp) case (0x01):num=1;EX1=0;break; case (0x02):num=2; case (0x04):num=3; case (0x08):num=4; case (0x10):num=5; case (0x20):num=6; case (0x40):num=7; case (0x80):num=8; default :void display_led() switch(num) case 1:LED1=0; case 2:LED2=0; case 3:LED3=0; case 4:LED4=0; case 5:LED5=0; case 6:LED6=0; case 7:LED7=0; case 8:LED8=0;P2=0XFF;

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

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