单片机实验路抢答器C语言版.docxVIP

  • 3
  • 1
  • 约1.81千字
  • 约 5页
  • 2021-08-09 发布于四川
  • 举报
文档内容来源于:网络收集整理,word版本可编辑,欢迎下载支持 文档内容来源于:网络收集整理,word版本可编辑,欢迎下载支持 单片机综合 单片机综合试验报告 题 目: 8 路抢答器试验 班 级: 姓 名: 学 号: 指导老师 : 时 间: 文档内容来源于:网络收集整理,word版本可编辑,欢迎下载支持 文档内容来源于:网络收集整理,word版本可编辑,欢迎下载支持 一,试验内容 : 以单片机为核心,设计一个 8 位竞赛抢答器:同时供 8 名选手或 8 个代表队竞赛, 分别用 8 个按钮 S0~ S7 表示;本试验有 Protues 软件仿真; 分别设置一个抢答掌握开关 S1 与复位开关 S2,由主持人掌握; 抢答器具有锁存与显示功能;即选手按按钮抢答时,锁存相应的编号,并且优先抢答选手的编号始终保持显示在显示器上,直到主持人将系统复位为止; 抢答器具有定时抢答功能,且一次抢答的时间由主持人设定为 30 秒; 当主持人启动“开头”键后,定时器进行减计时,同时绿色 LED 灯亮; 二,试验电路及功能说明 分别设置一个抢答掌握开关 S1 与复位开关 S2,由主持人掌握; 抢答器具有锁存与显示功能;即选手按按钮抢答时,锁存相应的编号,并且优先抢答选手的编号始终保持显示在显示器上,直到主持人将系统复位为止;参赛选手在设 定的时间内进行抢答,抢答有效,定时器停止工作,显示器上显示选手的编号与抢答 的时间,并保持到主持人将系统复位为止;复位后参赛队员可连续抢答; 假如定时时间已到,无人抢答,本次抢答无效,系统报警红色 LED 灯亮,并禁止抢答,定时显示器上显示 00; 文档内容来源于:网络收集整理,word版本可编辑,欢迎下载支持 文档内容来源于:网络收集整理,word版本可编辑,欢迎下载支持 三,试验程序流程图: 主程序 ; 非法抢答序;抢答时间调整程序;回答时间调整程序;倒计时程序;正常抢答处理程序;犯 规处理程序;显示及发声程序;主流程图如下图所示 子程序 文档内容来源于:网络收集整理,word版本可编辑,欢迎下载支持 文档内容来源于:网络收集整理,word版本可编辑,欢迎下载支持 四,试验结果分析 五,心得体会 文档内容来源于:网络收集整理,word版本可编辑,欢迎下载支持 文档内容来源于:网络收集整理,word版本可编辑,欢迎下载支持 六,程序清单 #include reg51.h void keyscan(); #define uchar unsigned char void main() #define uint unsigned int { sbit wela_a=P3^0; init(); sbit wela1=P3^1; display(s,ge,a); sbit wela2=P3^7; while(1) sbit rest=P3^5; { sbit host=P3^6; if(host==0) // 主持人掌握开关 sbit led1=P3^4;// 绿灯 sbit led2=P3^3;// 红灯 { delay(5); sbit led3=P3^2;// 黄灯 if(host==0) sbit key1=P1^0; { sbit key2=P1^1; flag=1; sbit key3=P1^2; start=1; sbit key4=P1^3; delay(5); 延时 sbit key5=P1^4; sbit key6=P1^5; while(.host); 检测开关 } sbit key7=P1^6; } sbit key8=P1^7; if(rest==0) // 复位 uchar x,q,d,s,ge,t0,t1,start,flag; { uchar code table[]={ delay(5); 0x3f,0x06,0x5b,0x4f, if(rest==0) 0x66,0x6d,0x7d,0x07, { 0x7f,0x6f,0x77,0x7c, q=30; 0x39,0x5e,0x79,0x71}; led2=1; void init();/* 初始函数申明 */ led3=1; void display(uchar s,uchar ge,uchar a); x=0; void delay(uint z); delay(5);

文档评论(0)

1亿VIP精品文档

相关文档