欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    基于51单片机的五路抢答器.doc

    • 资源ID:4147830       资源大小:1.87MB        全文页数:11页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于51单片机的五路抢答器.doc

    实习(设计)报告姓 名 班 级 学 号 实习(设计)科目 基于51单片机的五路抢答器 实习(设计)地点 实习(设计)时间 电气工程及自动化学院School of Electrical Engineering & Automation一 实验安排1. 设计一个八路抢答器。2. 必须有主持人按钮,当主持人按下按钮,开始30秒倒计时,这30秒内即是八位选手抢答的时长,若30秒内无人抢答,则视为所有选手弃权。3. 倘若主持人按下开始的30秒内有人抢答,定时到10秒,同时在一屏幕上显示该抢答选手号码,当主持人按下开始答题键时,则倒计时从10秒开始,同时选手号码清零。若10秒内无法回答,则该选手视为题目回答错误。/*五路抢答器c语言程序设计*/#include <reg52.h>#define uchar unsigned char#define uint unsigned intsbit wela_hao=P30; /显示选手的数码管位选sbit wela1=P31;sbit wela2=P37;sbit qing=P35;sbit host=P36;sbit answer=P34;sbit key1=P10;sbit key2=P11;sbit key3=P12;sbit key4=P13;sbit key5=P14;uchar hao,shu,shi,ge,t0,start,flag;uchar code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;void init();/*初始函数申明*/void display(uchar shi,uchar ge,uchar hao);void delay(uint z);void keyscan();void main() init(); while(1) if(host=0)/主持人 delay(5); if(host=0) shu=30; hao=0; flag=1; start=1; delay(5); while(!host); if(qing=0)/清零 delay(5); if(qing=0) while(1) shu=0; shi=shu/10; ge=shu%10; TR0=0; delay(5); hao=0; wela1=0; wela2=0; wela_hao=0; delay(1); display(shi,ge,hao); if(host=0)break; delay(5); while(!qing); if(answer=0) /开始答题 delay(5); if(answer=0) flag=1; shu=10; start=1; hao=0; delay(5); while(!answer); if(flag=1) if(start=0) /选手按下,定时10秒 shu=10; shi=shu/10; ge=shu%10; wela1=0; wela2=0; wela_hao=0; delay(1);TR0=0; display(shi,ge,hao); delay(1); if(start=1) /主持人按下,倒计时30秒 wela1=1; wela2=1; wela_hao=1; delay(1); TR0=1; display(shi,ge,hao); delay(1);keyscan(); void init() /*初始化*/ t0=0; t1=0; shi=shu/10; ge=shu%10; flag=0; shu=30; wela_hao=1; hao=0; TMOD=0x11; TH0=(65536-50000)/256; TL0=(65536-50000)%256; EA=1; ET0=1; TR0=0;void display(uchar shi,uchar ge,uchar hao) /*数码管动态扫描*/ wela1=1; wela2=0; P0=tablege; delay(5); wela2=1; wela1=0; P0=tableshi; delay(5); wela_hao=0; P2=tablehao; delay(5);void keyscan() /*按键扫描函数*/ if(key1=0) delay(5);if(key1=0) hao=1; P2=tablehao; start=0; delay(5); while(!key1); if(key2=0) delay(5);if(key2=0) hao=2; P2=tablehao; start=0; delay(5); while(!key2); if(key3=0) delay(5);if(key3=0) hao=3; P2=tablehao; start=0; delay(5); while(!key3); if(key4=0) delay(5);if(key4=0) hao=4; P2=tablehao; start=0; delay(5); while(!key4); if(key5=0) delay(5);if(key5=0) hao=5; P2=tablehao; start=0; delay(5); while(!key5); void delay(uint z) /*延时函数*/ uint x,y; for(x=z;x>0;x-) for(y=110;y>0;y-);void time0() interrupt 1 /*定时器0*/ TH0=(65536-50000)/256; TL0=(65536-50000)%256; shi=shu/10; ge=shu%10; t0+; if(t0=20) t0=0; shu-; shi=shu/10; ge=shu%10; if(shu=0) while(1) shu=0; hao=0; wela1=0; wela2=0; wela_hao=0; delay(1); display(shi,ge,hao); if(host=0)break;

    注意事项

    本文(基于51单片机的五路抢答器.doc)为本站会员(laozhun)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开