八路抢答器设计说明书 精品.doc_第1页
八路抢答器设计说明书 精品.doc_第2页
八路抢答器设计说明书 精品.doc_第3页
八路抢答器设计说明书 精品.doc_第4页
八路抢答器设计说明书 精品.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

八路抢答器的设计一、设计要求(1)设计一个智力抢答器,可同时供8名选手或八个代表队参加比赛,他们的编号分别是1,2,3,4,5,6,7,8,各用一个抢答按钮,按钮的编号与选手的编号相对应,分别是S0,S1,S2,S3,S4,S5,S6,S7。(2)节目主持人设置一个控制开关,用来控制系统的复位和抢答开始。(3)抢答器具有数据锁存和显示功能。抢答开始后,若有选手按动抢答按钮,编号立即锁存,并在LED数码管上显示出选手的编号,同时扬声器发出提示声音,此外封锁输入电路,禁止其他选手抢答。优先抢答的选手的编号一直保持到主持人将系统复位为止。二、总体设计思路本次设计采用T0外部中断来实现主持人的控制开关,用P0口输出选手的段码,用P2口来读取按键选手号,用P1口来点亮选手相应的发光二极管。三、硬件设计3.1 原理综述单片机:使用了AT89C51单片机芯片控制电路。显示电路:P0口输出选手段码,P1口点亮相应的发光二极管。按键电路:P32管脚接一个开关来实现主持人的控制开关,通过P2口接的按键来读取选手号。图3.1 硬件框图3.2 元器件清单序号名称型号1单片机AT89C512数码管7SEG-MP*1-CA3上拉电阻RN12204上拉电阻RP12205电阻R18806电阻R22207开关(10个)BUTTON8晶振12M9电容(C1、C2)22pf10电容C31uf11三极管PNP12扬声器BUZZER13发光二极管(8个)LED_BLUE3.3 硬件原理图图3.2 硬件原理图四、软件设计4.1 程序流程图 图4.1 主程序流程图4.2 程序及注释#include/包含头文件REG51.H#define uchar unsigned char#define uint unsigned int /数据类型的宏定义uchar code seg79=0xff,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80;/7段数码管0-8断码uchar act9=0xff,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f; /低电平有效的位码uchar num; /宏定义全局变量numbit bdata start; /定义开始按键startsbit bz=P33;/定义P3.3为bz/延时函数*void delay(uint k) uint i,j; for(i=0;ik;i+) for(j=0;j121;j+);/蜂鸣器*void buzzer(void) while(1) bz=bz; delay(10); /外中断0 *void EA_INT0() interrupt 0 /定义函数名为EA_INT0的T0外中断服务函数,中断号为0 uchar in=1; /定义in=1 start=!start; /start取反 if(start=1) /判断是否开始抢答 while(in) /循环 P2=act0; /初始化P2 if(P2!=0xff) /判断有无选手按下 delay(10); /延时确定有选手按下 for(num=1;num9;num+) /判断选手号 if(P2=actnum) /读取选手号 bz=1;in=0;break; /停止循环 else num=0; P3=0xff; bz=0; /* void main(void) /主函数 start=0; /初始化start P0=seg70; /初始化段码 P1=act0; /初始化发光二级管 bz=0; /初始化蜂鸣器 EX0=1; /允许外中断T0 IT0=1; /外中断T0设为边沿触发 EA=1; /开启总中断 while(1) /无限循环 P0=seg7num; /P0输出段码 P1=actnum; /点亮相应的二极管五、软硬件调试5.1 软硬件仿真环境设置1)Keil 与Proteus连接连接开始必须在proteus安装目录下VDM51.dll文件复制到Keil安装目录的 C51BIN 目录中,但新版本中没有,所以必须下载安装补丁vdmagdi.exe,则在Keil安装目录的 C51BIN 目录中有文件:VDM51.dll2)修改keil安装目录下 Tools.ini文件用记事本(其它的编辑软件也可以,如Ultra Edit)打开Keil 根目录下的 TOOLS.INI 文件,在C51 栏目下加入TDRV3=BINVDM51.DLL (Proteus VSM Monitor-51 Driver ) ,其中“TDRV3” 中的 “3”要根据实际情况写,不要和原来的重复。3) 打开proteus,画出相应电路。在proteus的debug菜单中选中use remote debug monitor 。在keil中编写MCU的程序。 进入KEIL的project菜单option for target 工程名。在DEBUG选项中右栏上部的下拉菜选中 Proteus VSM Monitor-51 Driver。进入seting,如果同一台机IP 名为127.0.0.1,如不是同一台机则填另一 台的IP地址。端口号一定为8000。5.2 调试步骤图5.1 中断初始化图5.2 开始抢答图5.3 有选手抢答图5.4 显

温馨提示

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

评论

0/150

提交评论