基于c语言知识单片机8位竞赛抢答器设计课程规划设计

合集下载

单片机八路抢答器课程设计

单片机八路抢答器课程设计

单片机八路抢答器课程设计一、课程目标知识目标:1. 让学生掌握单片机的基本原理,理解并运用I/O口进行输入输出控制。

2. 使学生了解抢答器的功能和工作原理,掌握其设计与实现方法。

3. 帮助学生掌握定时器/计数器的使用,以及在中断处理中的应用。

技能目标:1. 培养学生运用所学知识设计并实现单片机八路抢答器的实际操作能力。

2. 培养学生分析问题和解决问题的能力,提高编程和调试单片机系统的技能。

3. 培养学生的团队协作能力,提高沟通与表达技巧。

情感态度价值观目标:1. 培养学生对单片机及电子制作的兴趣,激发创新意识。

2. 培养学生具有实践操作中的安全意识,养成良好的实验习惯。

3. 培养学生面对挑战,勇于尝试,不断调整和优化设计方案的态度。

课程性质:本课程为实践性较强的课程,结合理论知识,以实际操作为核心。

学生特点:学生已具备一定的单片机基础知识和编程能力,具有较强的求知欲和动手能力。

教学要求:教师需引导学生主动探索,鼓励学生提出问题、解决问题,关注学生在实践中的个性化发展。

在教学过程中,将课程目标分解为具体的学习成果,以便进行有效的教学设计和评估。

二、教学内容1. 理论知识:- 单片机基础原理回顾:I/O口控制原理,中断系统原理。

- 定时器/计数器原理及其在抢答器中的应用。

- 抢答器工作原理及设计要求。

2. 实践操作:- 单片机硬件连接及电路设计。

- 编写抢答器程序,实现基本功能。

- 调试与优化:程序调试,硬件测试,故障排查。

3. 教学大纲:- 第一周:回顾单片机基础知识,讲解抢答器工作原理。

- 第二周:学习定时器/计数器应用,设计单片机I/O口控制电路。

- 第三周:分组讨论设计方案,编写程序,搭建硬件电路。

- 第四周:调试与优化,展示成果,总结经验。

4. 教材关联:- 理论知识:教材第3章单片机原理,第4章中断与定时器。

- 实践操作:教材第5章单片机接口技术,第6章单片机应用实例。

教学内容安排和进度根据课程目标和学生的学习情况调整,确保学生能够逐步掌握单片机八路抢答器的设计与实现。

单片机课程设计八位竞赛抢答器的设计

单片机课程设计八位竞赛抢答器的设计

摘要随着单子技术的飞速发展,基于单片机的控制系统已广泛应用与工业、农业、电力、电子、智能楼宇等行业,微型计算机作为嵌入式控制系统的主体与核心,代替了传统的控制系统的常规电子线路。

本设计是以八路抢答为基本理念。

考虑到需设定限时回答的功能呢个,利用AT89C51单片机及外围接口实现的抢答系统,利用单片机的定时器/计数器定时和记数的原理,将软、硬件有机地结合起来,使得系统能够正确地进行计时,同时使数码管能够正确地显示时间和抢答的号码。

用开关做键盘输出,扬声器发生提示,并且有警告灯显示,正常工作时为绿灯,报警或抢答等违规信号时则出现红灯。

关键词:AT89C51;抢答器;计数器目录1概述 (1)2 抢答器的硬件系统设计 (3)2.1 系统整体方案设计 (3)2.2 系统硬件组成 (3)3 最小系统与主控模块的设计与实现 (5)3.1 单片机最小硬件系统的组成简述 (5)3.1.1 电源电路 (5)3.1.2 时钟电路 (6)3.1.3 复位电路 (7)3.2 主流程图 (8)4 模块的设计与实现 (9)4.1 抢答电路的设计 (9)4.2 锁存器74HC573 (9)4.3 主持人控制电路与扬声器的设计...................... 错误!未定义书签。

4.4 显示电路的设计.................................... 错误!未定义书签。

5 软件的设计 (12)5.1语言选择 (12)5.2软件总体设计 (12)总结 (13)参考文献 (15)致谢 (16)附录 (17)1概述数字技术是当前发展最快的学科之一,数字逻辑器件已从20世纪60年代的小规模集成电路(SSI)发展到目前的中、大规模集成电路(MSI,LSI)及超大规模集成电(VLSI)。

相应地,数字逻辑电路的设计方法在不断的演变和发展,由原来单一的硬件逻辑设计发展成三个分支,即硬件逻辑设计(中、小规模集成器件)、软件逻辑设计(软件组装的LSI和VSI,如微处理器、单片机等)及兼有二者优点的专用集成电路(ASIC)设计。

8位竞赛抢答器课程设计

8位竞赛抢答器课程设计

目录1. 原理分析(by 张潇) (2)1.1 设计任务 (2)1.2 性能指标 (2)1.3 工作原理 (2)2. 方案选择(by 张潇) (3)2.1 方案设定 (3)2.2 方案比较 (3)2.3 方案选择 (3)3. 电路原理图绘制及仿真(by 王倩) (3)3.1 所需元器件型号及数量 (3)3.2 电路原理图 (4)3.3 电路仿真结果 (5)4. Pcb图绘制(by 朱文广) (5)4.1 pcb绘制步骤 (5)4.2 pcb绘制原则 (5)4.3 8路抢答器pcb图 (7)5. 综合调试(by 朱文广) (7)5.1 软件调试 (7)5.2 硬件调试 (9)6. 总结(by 王倩) (10)附录1:电路仿真图 (11)附录2: 8路抢答器完整程序 (12)1.1 设计任务以单片机为核心,设计一个8位竞赛抢答器,同时供8名选手或8个代表队比赛。

设置一个系统清除和抢答控制开关S,开关由主持人控制。

抢答器具有锁存与显示功能。

即选手按按钮,锁存相应的编号,并在优先抢答选手的编号一直保持到主持人将系统清除为止。

抢答器具有定时抢答功能,且一次抢答的时间可由主持人设定。

参赛选手在设定的时间内进行抢答,抢答有效,定时器停止工作,显示器上显示选手的编号和抢答的时间,并保持到主持人将系统清除为止。

如果定时时间已到,无人抢答,本次抢答无效,系统报警并禁止抢答,定时显示器上显示00。

1.2 性能指标电源电压:直流5V±10%选手组数:2-8组初始抢答倒计时:20s初始回答倒计时:30s倒计时范围:1-99s可设倒计时提示时间:最后5s1.3 工作原理八路数字抢答器原理框图如图1所示,其工作原理为:接通电源后,主持人未按下开始抢答,抢答器处于禁止状态,数码管显示“----”;主持人宣布“开始”同时按下开始抢答按键,抢答倒计时开始计时,扬声器给出声响提示。

选手在定时时间内抢答时,抢答器完成:优先判断、编号锁存、编号显示、扬声器提示。

八位抢答器课程设计

八位抢答器课程设计

八位抢答器课程设计一、课程目标知识目标:1. 学生理解抢答器的基本工作原理,掌握其电路组成及功能。

2. 学生了解数字电路基础知识,并能运用到抢答器的设计中。

3. 学生掌握抢答器程序设计的基本方法,能运用所学知识分析并解决实际问题。

技能目标:1. 学生能独立完成抢答器的电路搭建,提高动手实践能力。

2. 学生能通过编程实现抢答器的功能,培养编程思维和解决问题的能力。

3. 学生具备团队协作能力,能在小组合作中发挥个人优势,共同完成抢答器的设计与制作。

情感态度价值观目标:1. 学生培养对电子技术的兴趣,激发创新意识。

2. 学生在学习过程中,养成积极思考、勇于探索的良好习惯。

3. 学生通过小组合作,培养沟通协调能力和团队精神,树立集体荣誉感。

课程性质:本课程为信息技术与电子技术的结合课程,注重实践操作和团队合作。

学生特点:八年级学生对电子技术有一定的基础,好奇心强,具备一定的动手能力和合作意识。

教学要求:结合学生特点,以实践为主,引导学生主动探究,注重培养学生的创新精神和实践能力。

将课程目标分解为具体的学习成果,以便进行教学设计和评估。

二、教学内容1. 数字电路基础知识:介绍抢答器中涉及的逻辑门电路、触发器等基本元件,对应教材第3章相关内容。

- 逻辑门电路原理与功能- 触发器种类及其应用2. 抢答器电路设计与搭建:讲解抢答器电路原理,引导学生进行电路搭建,对应教材第4章相关内容。

- 抢答器工作原理- 电路元件选择与连接- 抢答器电路搭建与调试3. 抢答器程序设计:教授编程基础知识,指导学生进行抢答器程序设计,对应教材第5章相关内容。

- 编程语言基础- 程序流程图设计- 抢答器程序编写与调试4. 抢答器功能实现与优化:培养学生解决问题和团队协作能力,对应教材第6章相关内容。

- 抢答器功能测试与优化- 团队合作与分工- 项目总结与展示教学大纲安排:第一周:数字电路基础知识学习,了解逻辑门电路和触发器原理。

第二周:抢答器电路设计与搭建,动手实践电路连接与调试。

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

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

单片机综合实验报告题目: 8路抢答器实验班级:姓名:学号:指导老师:时间:一、实验内容:以单片机为核心,设计一个8位竞赛抢答器:同时供8名选手或8个代表队比赛,分别用8个按钮S0~S7表示。

本实验有Protues软件仿真。

分别设置一个抢答控制开关S1和复位开关S2,由主持人控制。

抢答器具有锁存与显示功能。

即选手按按钮抢答时,锁存相应的编号,并且优先抢答选手的编号一直保持显示在显示器上,直到主持人将系统复位为止。

抢答器具有定时抢答功能,且一次抢答的时间由主持人设定为30秒。

当主持人启动“开始”键后,定时器进行减计时,同时绿色LED灯亮。

二、实验电路及功能说明分别设置一个抢答控制开关S1和复位开关S2,由主持人控制。

抢答器具有锁存与显示功能。

即选手按按钮抢答时,锁存相应的编号,并且优先抢答选手的编号一直保持显示在显示器上,直到主持人将系统复位为止。

参赛选手在设定的时间内进行抢答,抢答有效,定时器停止工作,显示器上显示选手的编号和抢答的时间,并保持到主持人将系统复位为止。

复位后参赛队员可继续抢答。

如果定时时间已到,无人抢答,本次抢答无效,系统报警红色LED灯亮,并禁止抢答,定时显示器上显示00。

三、实验程序流程图:主程序;非法抢答序;抢答时间调整程序;回答时间调整程序;倒计时程序;正常抢答处理程序;犯规处理程序;显示及发声程序。

主流程图如下图所示子程序四、实验结果分析五、心得体会六、程序清单#include <reg51.h>#define uchar unsigned char#define uint unsigned intsbit wela_a=P3^0;sbit wela1=P3^1;sbit wela2=P3^7;sbit rest=P3^5;sbit host=P3^6;sbit led1=P3^4;//绿灯sbit led2=P3^3;//红灯sbit led3=P3^2;//黄灯sbit key1=P1^0;sbit key2=P1^1;sbit key3=P1^2;sbit key4=P1^3;sbit key5=P1^4;sbit key6=P1^5;sbit key7=P1^6;sbit key8=P1^7;uchar x,q,d,s,ge,t0,t1,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 s,uchar ge,uchar a); void delay(uint z); void keyscan();void main(){init();display(s,ge,a);while(1){if(host==0) //主持人控制开关{delay(5);if(host==0){flag=1;start=1;delay(5); 延时while(!host); 检测开关}}if(rest==0) //复位{delay(5);if(rest==0){q=30;led2=1;led3=1;x=0;delay(5);start=1;delay(5);while(!rest);}}if(flag==1){if(start==0)//选手按下,倒计10秒开始 {led3=0;wela1=0;wela2=0;delay(1);TR0=0;TR1=1;display(s,ge,a);delay(1);}if(start==1)//主持人按下,倒计时30秒{led1=0;wela1=0;wela2=0;delay(1);TR0=1;TR1=0;display(s,ge,a);delay(1);keyscan();}}}}void init()/*初始化*/{t0=0;t1=0;flag=0;q=30;d=10;wela_a=0;a=0;TMOD=0x11;TH0=(65536-50000)/256;TL0=(65536-50000)%256;TH1=(65536-50000)/256;TL1=(65536-50000)%256;EA=1;ET0=1;ET1=1;TR0=0;TR1=0;}void display(uchar s,uchar ge,uchar a)/*数码管动态扫描*/{wela1=1;P0=table[ge];delay(5);wela2=1;P0=table[s];delay(5);wela_a=0;P2=table[a];delay(5);}void keyscan()/*按键扫描函数*/ {if(key1==0){delay(5);if(key1==0){a=1;P2=table[a];start=0;TR1=1;TR0=0;delay(5);while(!key1);}}if(key2==0){delay(5);if(key2==0){a=2;P2=table[a];start=0;delay(5);while(!key2);}}if(key3==0){delay(5);if(key3==0){a=3;P2=table[a]; start=0;delay(5);while(!key3);}}if(key4==0){delay(5);if(key4==0){a=4;P2=table[a]; start=0;delay(5);while(!key4);}}if(key5==0){delay(5);if(key5==0){a=5;P2=table[a]; start=0;delay(5);while(!key5);}}if(key6==0){delay(5);if(key6==0){a=6;P2=table[a]; start=0;delay(5);while(!key6);}}if(key7==0){delay(5);if(key7==0){a=7;P2=table[a]; start=0;delay(5);while(!key7);}}if(key8==0){delay(5);if(key8==0){a=8;P2=table[a];start=0;delay(5);while(!key8);}}}void delay(uint z)/*延时函数*/{uint i,j;for(i=z;i>0;i--)for(j=110;j>0;j--);}void time0() interrupt 1/*定时器0*/ {TH0=(65536-50000)/256;TL0=(65536-50000)%256;s=q/10;ge=q%10;t0++;if(t0==20){t0=0;q--;s=q/10;ge=q%10;if(q==0){while(1){q=0;a=0;led1=1;led2=0;wela1=0;wela2=0;delay(1);display(s,ge,a);}}}}void time1() interrupt 3/*定时器1*/ {TH1=(65536-50000)/256;TL1=(65536-50000)%256;s=d/10;ge=d%10;t1++;if(t1==20){t1=0;d--;s=d/10;ge=d%10;if(d==0){while(1){d=0;a=0;led1=1;led3=1;led2=0;wela1=0;wela2=0;delay(1);display(s,ge,a);}}}}//最后,给朋友们一点点提示,本程序有一点点小问题,有个中断没关,当主持人复位之后,后面的选手回答问题的时间就没有10秒了(可怜啊)。

基于c语言单片机8位竞赛抢答器设计课程设计

基于c语言单片机8位竞赛抢答器设计课程设计

课程设计报告课程名称:单片机课程设计报告题目:8位竞赛抢答器的设计学生姓名:所在学院:信息科学与工程学院专业班级:学生学号:指导教师:2013 年12月25日课程设计任务书摘要抢答器作为一种工具,已广泛应用于各种智力和知识竞赛场合。

但抢答器的使用频率较低,且有的要么制作复杂,要么可靠性低。

作为一个单位,如果专门购一台抢答器虽然在经济上可以承受,但每年使用的次数极少,往往因长期存放使(电子器件的)抢答器损坏,再购置的麻烦和及时性就会影响活动的开展,因此设计了本抢答器。

本设计是以八路抢答为基本理念。

考虑到依需设定限时回答的功能,利用AT89C52单片机及外围接口实现的抢答系统,利用单片机的定时器/计数器定时和记数的原理,将软、硬件有机地结合起来,使得系统能够正确地进行计时,同时使数码管能够正确地显示时间。

用开关做键盘输出,扬声器发生提示。

同时系统能够实现:在抢答中,只有开始后抢答才有效,如果在开始抢答前抢答为无效;抢答限定时间和回答问题的时间可在1-30s设定;可以显示是哪位选手有效抢答,正确按键后有5s的音乐提示(即扬声器发出响声);抢答时间和回答问题时间倒记时显示,满时后系统计时自动复位及主控强制复位;按键锁定,在有效状态下,按键无效非法。

关键词:89c52;电路;显示;按键目录一、概述 (1)二、方案设计 (1)三、硬件电路设计 (2)1、抢答器的电路框图 (2)2、单元电路 (3)2.1、抢答器电路 (3)2.2、时序控制电路 (3)2.3、复位电路 (3)3、时钟震荡电路 (3)4、报警电路 (3)四、软件设计 (4)1、系统主程序 (4)2、系统程序 (5)五、结论与心得 (10)六、参考文献 (10)一、概述本实验电路由抢答电路、译码显示电路、主持人控制电路、定时电路、报警电路组成。

通过复位按键FW,电路进入准备就绪状态。

将抢答时间设定在30S,然后按下开始键开始抢答。

,在电路中“S0-S7”为8路抢答器的8个按键,当有键按下,程序锁定信号,从P2口输出抢答者号码的七段码值,送到数码管显示,并封锁按键,保持刚才按键按下时刻的时间,禁止其他人按键的输入,从而实现了抢答的功能。

单片机8路抢答器课程设计

单片机8路抢答器课程设计

单片机8路抢答器课程设计一、课程目标知识目标:1. 让学生掌握单片机的基本原理和功能,理解8路抢答器的电路构成及其工作原理;2. 使学生掌握8路抢答器程序设计的基本方法,包括程序流程图绘制、程序代码编写等;3. 帮助学生理解数字电路基础知识,以及与单片机接口的原理。

技能目标:1. 培养学生运用单片机进行电子电路设计和程序开发的能力;2. 培养学生动手实践、团队协作的能力,能独立完成8路抢答器的搭建和调试;3. 提高学生分析问题和解决问题的能力。

情感态度价值观目标:1. 激发学生对电子技术和编程的兴趣,培养其创新精神和实践能力;2. 培养学生严谨的科学态度和良好的学习习惯,使其在课程学习过程中体验团队合作的重要性;3. 引导学生关注科技发展,认识到单片机技术在实际应用中的价值,提高学生的社会责任感和使命感。

课程性质:本课程为实践性较强的课程,结合理论知识与实际操作,旨在培养学生的动手能力和实际应用能力。

学生特点:学生已具备一定的电子技术基础和编程能力,具有较强的学习兴趣和探索精神。

教学要求:教师应注重理论与实践相结合,以学生为主体,引导学生主动参与、积极思考、合作交流,提高学生的实践能力和创新能力。

在教学过程中,关注学生的个体差异,因材施教,确保课程目标的实现。

通过课程学习,使学生达到预定的学习成果,为后续学习打下坚实基础。

二、教学内容1. 理论知识:a. 单片机原理与功能:引导学生复习并巩固单片机的基本原理,介绍51单片机结构、工作原理及特性;b. 8路抢答器电路设计:讲解8路抢答器的电路构成、工作原理及各部分功能;c. 程序设计方法:介绍程序流程图的绘制方法,讲解C语言编程基础及其在单片机编程中的应用。

2. 实践操作:a. 8路抢答器硬件搭建:指导学生按照电路图完成8路抢答器的硬件搭建;b. 程序编写与调试:教授学生编写8路抢答器程序,并进行调试;c. 系统测试与优化:引导学生对搭建好的8路抢答器进行测试,发现问题并进行优化。

单片机八路抢答器课程设计

单片机八路抢答器课程设计

单片机八路抢答器课程设计一、引言随着科技的发展和应用越来越广泛,单片机在各个领域的应用日益普遍。

其中,抢答器是一种常见且有趣的单片机应用。

本课程设计将介绍如何使用单片机设计一个八路抢答器,帮助学生更好地理解和掌握单片机的原理和应用。

二、系统框图八路抢答器系统主要由以下几个部分组成: 1. 单片机主控模块:负责系统的整体控制和数据处理。

2. 八个抢答器按键模块:提供用户按键输入功能。

3. 抢答器显示模块:展示抢答器的按键状态和抢答结果。

4. 蜂鸣器模块:用于发出抢答成功或失败的音频提示。

三、系统功能设计八路抢答器的主要功能如下: 1. 抢答器按键功能:每个抢答器都具有独立的按键,当按下按键时,抢答器将发送信号给主控模块。

2. 抢答器显示功能:通过显示模块,实时显示每个抢答器的抢答状态,如按下、未按下等。

3. 抢答器抢答功能:在系统开始抢答后,只有首先按下按键的抢答器才能获得抢答资格。

4. 抢答结果显示功能:在抢答结束后,显示抢答结果,并通过蜂鸣器模块发出音频提示。

四、硬件设计4.1 单片机主控模块主控模块是整个系统的核心,它接收抢答器按键模块发送的信号,并对抢答结果进行处理。

可以选择常用的单片机,如STC89C51等。

### 4.2 抢答器按键模块抢答器按键模块包括八个独立的按键,用于用户进行抢答操作。

按下按键时,将通过IO口发送信号给主控模块。

### 4.3 抢答器显示模块抢答器显示模块采用LED或LCD等显示器件,用于显示八个抢答器的状态,如按下、未按下等。

### 4.4蜂鸣器模块蜂鸣器模块用于发出抢答成功或失败的音频提示。

可以选择适合的蜂鸣器模块并通过IO口控制。

五、软件设计5.1 系统初始化在系统初始化过程中,需要对硬件进行初始化,包括IO口设置、定时器设置等。

### 5.2 抢答逻辑处理通过编程实现抢答逻辑处理,包括按键检测、抢答结果判断等。

当检测到抢答按键按下时,判断该抢答器是否首次按下,并显示相应的抢答结果。

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

单片机实验8路抢答器C语言版
答选手的编号一直保持显示在显示器上,直到主持人将系统复位为止。
抢答器具有定时抢答功能,且一次抢答的时间由主持人设定为30秒。
当主持人启动“开始”键后,定时器进行减计时,同时绿色LED灯亮。
二、
分别设置一个抢答控制开关S1和复位开关S2,由主持人控制。
抢答器具有锁存与显示功能。即选手按按钮抢答时,锁存相应的编号,并且优先抢
单片机综合实验报告
题 目
班 级:
姓 名:
学 号:
指导老师:
时 间:
一、
以单片机为核心,设计一个8位竞赛抢答器:同时供8名选手或8个代表队比赛,
分别用8个按钮SO〜S7表示。本实验有Protues软件仿真。
分别设置一个抢答控制ห้องสมุดไป่ตู้关S1和复位开关S2,由主持人控制。
抢答器具有锁存与显示功能。即选手按按钮抢答时,锁存相应的编号,并且优先抢
三、实验程序流程图:
主程序
非法抢答序;抢答时间调整程序;回答时间调整程序;倒计时程序;正常抢答处理程序;犯
规处理程序;显示及发声程序。主流程图如下图所示
子程序
答选手的编号一直保持显示在显示器上,直到主持人将系统复位为止。参赛选手在设 定的时间内进行抢答,抢答有效,定时器停止工作,显示器上显示选手的编号和抢答 的时间,并保持到主持人将系统复位为止。复位后参赛队员可继续抢答。
如果定时时间已到,无人抢答,本次抢答无效,系统报警红色LED灯亮,并禁止抢
答,定时显示器上显示00。

基于单片机的八路抢答器的设计(C语言版)

基于单片机的八路抢答器的设计(C语言版)

毕业论文基于单片机的8路抢答器专业院系: 信息工程系班级名称: 计算机硬件与外设****: *******: ***完成时间: 2011年12月28日湖南铁道职业技术学院信息工程系2012届毕业设计任务书专业:硬件与外设班级:硬件091 填表日期:2011年11月20日指导教师王昱煜职称讲师联系电话159****7341学生姓名周俊兵课题名称基于单片机的8路抢答器的设计课题工作内容介绍单片机的选型、引脚功能等,然后分析抢答器的设计原理,从各个硬件的总体设计到局部电路设计,分析并阐述设计思路;再进行软件的设计,从程序总体流程图到关键部分的设计思路以及中断处理,最后附上程序代码。

该论文的主要内容应包括:1、单片机芯片选择(1)单片机选择(2)模块性能分析2、硬件设计(1)总体设计(2)外部振荡电路设计(3)复位电路设计(4)显示电路设计(5)按键电路设计(6)报警电路设计3、系统软件设计(1)程序总体结构图(2)程序流程图(3)主程序(4)中断处理4、总结本论文的撰写需要先设计出产品的电路图及软件系统,然后再自己焊接组装成产品,然后根据自己的设计思路及产品焊接组装流程用文字加图片的形式在文章中展示出来。

要求指标(目标)通过毕业设计,应达到以下要求:(1)熟悉单片机的型号及各引脚功能。

(2)熟悉单片机硬件电路设计。

(3)熟练单片机C语言程序设计。

(4)用C语言实现软件系统,并在仿真环境下调试运行。

(5)熟练电子元器件的焊接。

(6)根据硬件电路图和程序代码将产品制作出来并调试。

(7)撰写符合规范的毕业设计论文,对毕业设计所做的工作表达出来。

(8)掌握团队合作开发的方法。

(9)进一步积累实际的单片机产品的开发和研究经验。

进程安排(1)第1周:落实毕业设计任务,明确工作内容,部署毕业设计各项工作。

(2)第2周:查阅与课题相关或针对性强的文献5~10篇,阅读并进行归纳、总结。

(3)第3周:根据课题要求进行资料收集、整理,并写出分析报告。

单片机课程设计 八路抢答器(C语言)

单片机课程设计 八路抢答器(C语言)

单片机课程设计8路抢答器指导老师:宋*******学号:************ 班级:12电子卓越班目录一绪论 (3)二基本设计方案 (4)三具体设计 (5)四电路板的制作 (7)五电路功能测试与调试 (7)六心得体会 (8)附录 (9)一绪论1.1单片机抢答器的背景二十世纪跨越了三个“电”的时代,即电气时代、电子时代和现已进入的电脑时代。

不过,这种电脑,通常是指个人计算机,简称PC机。

它由主机、键盘、显示器等组成。

还有一类计算机,大多数人却不怎么熟悉。

这种计算机就是把智能赋予各种机械的单片机(亦称微控制器)。

顾名思义,这种计算机的最小系统只用了一片集成电路,即可进行简单运算和控制。

因为它体积小,通常都藏在被控机械的“肚子”里。

它在整个装置中,起着有如人类头脑的作用,它出了毛病,整个装置就瘫痪了。

现在,这种单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。

各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词——“智能型”,如智能型洗衣机等。

现在有些工厂的技术人员或其它业余电子开发者搞出来的某些产品,不是电路太复杂,就是功能太简单且极易被仿制。

究其原因,可能就卡在产品未使用单片机或其它可编程逻辑器件上。

在知识竞赛中,特别是做抢答题时,在抢答过程中,为了更确切的知道哪一组或哪一位选手先抢答到题,必须要有一个系统来完成这个任务。

若在抢答中,只靠人的视觉(或者是听觉)是很难判断出哪一组(或哪一个选手)先抢答到题的。

利用单片机编程来设计抢答器,可以使以上问题得以解决,即使两组的抢答时间相差几微秒,也能轻松的分辨出哪一组(或哪个选手)先抢答到题的。

本文主要介绍了抢答器的工作原理及设计,以及它的实际用途。

1.2设计要求:一、基本功能:1、六路抢答,抢答有效时相应的灯亮,并有音乐提示;2、每轮抢答需主持人按“开始”后,抢答才有效;3、抢答无效时,有相应的灯及音乐提示;二、扩展功能:1、扩展到8路或以上;2、抢答倒计时提示;3、各路的参赛者有得分显示;4、其他自行增加的功能;二基本设计方案2.1 单片机的选择我选择STC89C52单片机芯片的理由如下:1、在设计过程中可能会出现很多问题,89C52可重复烧程序;2、是80C51的增强型,功能与我们所学的51单片机基本相同;3、学校配套发的单片机开发板用的就是89C52,有很多相关教程,程序的测试与烧写都十分方便;4、器材室很方便就能领到。

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

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

单片机综合实验报告题目: 8路抢答器实验班级:姓名:学号:指导老师:时间:一、实验内容:以单片机为核心,设计一个8位竞赛抢答器:同时供8名选手或8个代表队比赛,分别用8个按钮S0~S7表示。

本实验有Protues软件仿真。

分别设置一个抢答控制开关S1和复位开关S2,由主持人控制。

抢答器具有锁存与显示功能。

即选手按按钮抢答时,锁存相应的编号,并且优先抢答选手的编号一直保持显示在显示器上,直到主持人将系统复位为止。

抢答器具有定时抢答功能,且一次抢答的时间由主持人设定为30秒。

当主持人启动“开始”键后,定时器进行减计时,同时绿色LED灯亮。

二、实验电路及功能说明分别设置一个抢答控制开关S1和复位开关S2,由主持人控制。

抢答器具有锁存与显示功能。

即选手按按钮抢答时,锁存相应的编号,并且优先抢答选手的编号一直保持显示在显示器上,直到主持人将系统复位为止。

参赛选手在设定的时间内进行抢答,抢答有效,定时器停止工作,显示器上显示选手的编号和抢答的时间,并保持到主持人将系统复位为止。

复位后参赛队员可继续抢答。

如果定时时间已到,无人抢答,本次抢答无效,系统报警红色LED灯亮,并禁止抢答,定时显示器上显示00。

三、实验程序流程图:主程序;非法抢答序;抢答时间调整程序;回答时间调整程序;倒计时程序;正常抢答处理程序;犯规处理程序;显示及发声程序。

主流程图如下图所示子程序四、实验结果分析五、心得体会六、程序清单#include <reg51.h>#define uchar unsigned char#define uint unsigned intsbit wela_a=P3^0;sbit wela1=P3^1;sbit wela2=P3^7;sbit rest=P3^5;sbit host=P3^6;sbit led1=P3^4;//绿灯sbit led2=P3^3;//红灯sbit led3=P3^2;//黄灯sbit key1=P1^0;sbit key2=P1^1;sbit key3=P1^2;sbit key4=P1^3;sbit key5=P1^4;sbit key6=P1^5;sbit key7=P1^6;sbit key8=P1^7;uchar x,q,d,s,ge,t0,t1,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 s,uchar ge,uchar a); void delay(uint z);void keyscan();void main(){init();display(s,ge,a);while(1){if(host==0) //主持人控制开关{delay(5);if(host==0){flag=1;start=1;delay(5); 延时while(!host); 检测开关}}if(rest==0) //复位{delay(5);if(rest==0){q=30;led2=1;led3=1;x=0;delay(5);start=1;delay(5);while(!rest);}}if(flag==1){if(start==0)//选手按下,倒计10秒开始 {led3=0;wela1=0;wela2=0;d elay(1);T R0=0;T R1=1;display(s,ge,a);delay(1);}if(start==1)//主持人按下,倒计时30秒{led1=0;w ela1=0;w ela2=0;delay(1);T R0=1;TR1=0;display(s,ge,a);delay(1);keyscan();}}}}void init()/*初始化*/{t0=0;t1=0;flag=0;q=30;d=10;wela_a=0;a=0;TMOD=0x11;TH0=(65536-50000)/256;TL0=(65536-50000)%256;TH1=(65536-50000)/256;TL1=(65536-50000)%256;EA=1;ET0=1;ET1=1;TR0=0;TR1=0;}void display(uchar s,uchar ge,uchar a)/*数码管动态扫描*/{wela1=1;P0=table[ge];delay(5);wela2=1;P0=table[s];delay(5);wela_a=0;P2=table[a];delay(5);}void keyscan()/*按键扫描函数*/ {if(key1==0){delay(5);i f(key1==0){a=1;P2=table[a];start=0;TR1=1;TR0=0;delay(5);while(!key1);}}if(key2==0){delay(5);i f(key2==0){a=2;P2=table[a]; start=0;delay(5);while(!key2);}}if(key3==0){delay(5);i f(key3==0){a=3;P2=table[a]; start=0;delay(5);while(!key3);}}if(key4==0){delay(5);i f(key4==0){a=4;P2=table[a]; start=0;delay(5);while(!key4); }}if(key5==0){delay(5);i f(key5==0){a=5;P2=table[a]; start=0;delay(5);while(!key5);}}if(key6==0){delay(5);i f(key6==0){a=6;P2=table[a]; start=0;delay(5);while(!key6);}}if(key7==0){delay(5);if(key7==0){a=7;P2=table[a];start=0;delay(5);while(!key7);}}if(key8==0){delay(5);i f(key8==0){a=8;P2=table[a];start=0;delay(5);while(!key8);}}}void delay(uint z)/*延时函数*/{uint i,j;for(i=z;i>0;i--)for(j=110;j>0;j--);}void time0() interrupt 1/*定时器0*/{TH0=(65536-50000)/256;TL0=(65536-50000)%256;s=q/10;ge=q%10;t0++;if(t0==20){t0=0;q--;s=q/10;ge=q%10;if(q==0){while(1){q=0;a=0;led1=1;led2=0;wela1=0;wela2=0;delay(1);display(s,ge,a);}}}}void time1() interrupt 3/*定时器1*/{TH1=(65536-50000)/256;TL1=(65536-50000)%256;s=d/10;ge=d%10;t1++;if(t1==20){t1=0;d--;s=d/10;ge=d%10;if(d==0){while(1){d=0;a=0;led1=1;led3=1;led2=0;wela1=0;wela2=0;delay(1);display(s,ge,a);}}}}//最后,给朋友们一点点提示,本程序有一点点小问题,有个中断没关,当主持人复位之后,后面的选手回答问题的时间就没有10秒了(可怜啊)。

基于单片机的八路智能抢答器的设计_毕业设计

基于单片机的八路智能抢答器的设计_毕业设计

基于单片机的八路智能抢答器的设计_毕业设计华北科技学院毕业设计(论文)根据抢答器的功能,智能抢答器的设计要求如下:抢答器可以同时供8名选手或8个代表队比赛使用;主持人可以通过智能抢答器的按键设定每道题的抢答时间和回答时间;具有清零和非法抢答控制功能,设置一个系统清除和抢答控制开关,并由主持人操控;当主持人启动“开始抢答按键”后,定时器进行减计时,抢答时间耗尽后禁止抢答;倒计时5秒时,如果仍无人抢答,则系统每1s报警一次,用以提示参赛选手;抢答器具有锁存与显示功能。

即选手按下按键,锁存相应选手的参赛编号,并在LED数码管上显示,选手抢答实行优先锁存,其他按键者将不能响应,以便公平地选择第一个抢答者;参赛选手在设定的时间内进行抢答,抢答有效,显示器上显示选手的编号,同时进入回答问题的时间倒计时;倒计时期间,主持人想终止倒计时,可以按下“停止”键,系统会自动进入准备状态。

本系统采用软硬件结合的方法而设计,其中硬件设计是借用单片机AT89C51为中心控制模块,采用模块化设计思想,根据系统功能划分成六个模块,分别为:核心控制模块、电源模块、时钟与复位模块、按键输入模块、显示模块、报警模块。

软件设计是采用汇编语言编程。

按键输入模块共有14个按键,分为抢答按键和控制按键。

抢答按键共有八个,分别为S1―S8,供抢答选手进行抢答使用;控制按键有六个,分别为S9―S14,其中S9和S10分别为“抢答时间调整键”和“回答时间调整键”;S11和S12分别为时间“加1”和“减1”按键;S13和S14分别为“抢答开始按键”和“停止按键”。

显示模块本系统采用四个共阳极LED数码管显示,一个数码管用来显示抢答到问题的选手的号码,两个用来显示倒计时时间,一个未使用的数码管作为以后的扩展使用。

时钟与复位模块包括时钟电路和复位电路,单片机的时钟信号用来提供单片机片内各种操作的时间基准,复位操作则使单片机的片内电路初始化,使单片机从一种确定的初态开始运行。

单片机八路抢答器课程设计

单片机八路抢答器课程设计

单片机八路抢答器课程设计课程设计概述:本课程设计是针对单片机的八路抢答器的设计。

抢答器是一种常见的竞赛工具,可以用于比赛、竞赛等活动中实现精准的答题和排名。

本设计旨在实现一个基于单片机的八路抢答器系统,通过使用单片机和相应的电路设计实现对八路玩家的快速、准确的答题判断和排名结果的显示。

设计思路:本设计采用基于单片机的设计,将每个玩家的回答结果作为输入信号,通过对输入信号进行处理后,实现对八个回答结果的判断和排名。

其中,每个玩家的输入信号通过一个按键输入到单片机的IO口中,然后将IO口信号处理后,向显示屏发送相应的排名信息。

电路设计:1、按键输入电路按键输入电路是将每个玩家的回答结果输入到单片机中的重要电路。

每个按键连接到一个IO口,并通过一个上拉电阻连接到VCC。

当玩家按下按键时,IO口信号被拉低,单片机检测到信号后,将其处理为按键按下事件。

2、显示屏输出电路显示屏输出电路是将排名结果以数字方式输出的电路。

选用数码管进行数字显示,驱动数码管的芯片采用共阳极显示方式。

将多个数码管的ANODE和COM端分别与单片机的IO口连接,通过发送不同的电平信号,实现各位玩家排名结果的显示。

程序设计:首先,需要对IO口进行初始化,使其适应按键输入电路和显示屏输出电路。

接着,需要编写轮流扫描每个IO口并检测是否有按键被按下的程序,检测到按键按下后,将其加入到一个答题人员回答顺序队列中,并更新相应的显示屏。

当八个玩家答题完毕后,根据答题顺序队列进行排名,并更新显示屏显示排名结果。

总结:本设计实现了一个基于单片机的八路抢答器系统,通过使用按键输入电路、显示屏输出电路和相应的程序设计,实现了快速、准确的答题判断和排名结果的显示。

单片机课程设计--8位智能抢答器

单片机课程设计--8位智能抢答器

摘要本次课程设计是采用7端数码管显示结果,以AT89C51单片机为核心,由八个抢答按钮,两个锁存器,开始按钮,复位按钮组成。

八位智能定时抢答器可靠性高,反应速度灵敏,抢答器具有PC接口,可以对系统进行初始化、工作方式、显示时间的集中设置,使用人机界面操作,使操作简单易行。

单片机应用的重要意义在于从根本上改变了传统的控制系统设计思想和设计方法,以前必须由模拟电路或数字电路实现大部分功能,现在已能用单片机通过软件方法来实现了。

1目录一、课程设计目的: (3)二、课程设计内容: (3)三、硬件设计: (3)3.1、硬件总原理图(见附录1) (3)3.2、主要硬件介绍 (4)3.2.1 AT89C51简介 (4)3.2.2 74HC573简介 (10)3.2.3 LED数码管简介 (11)四、软件设计、 (13)4.1主程序流程图 (13)4.2 定时器T0\T1中断服务处理 (13)4.3 抢答处理设计 (14)4.4键盘扫描程序流程图 (15)4.5 抢答数码显示软件程序设计 (17)4.6软件程序(见附录2) (18)五、设计总结: (18)参考文献: (19)附录1 (20)附录2 (21)2单片机原理及接口技术课程设计(8位智能定时抢答器)一、课程设计目的:1、熟悉单片机仿真软件Proteus,单片机开发环境Keil的应用;2、增进对单片机的感性认识,加深对单片机理论方面的理解;3、使学生了解和掌握单片机应用系统的软硬件设计过程、方法及实现,为以后设计和实现单片机应用系统打下良好基础。

二、课程设计内容:此倒计时抢答器可容纳8组参赛的数字式抢答器,它们的编号分别是1、2、3、4、5、6、7、8,首先按下电源开关,指示灯亮,再按下启动按钮SB1,抢答器可以进行20秒倒计时,选手必须在20秒之内进行抢答,八个选手,谁先按下自己手中的按钮,LED显示器SM就会显示相对应的选手号码,如果20秒还没有人抢答,那么抢答器自锁,本次抢答无效,按下复位按钮S10后可继续抢答。

基于单片机的8路抢答器的设计

基于单片机的8路抢答器的设计

基于单片机的八路抢答器设计方案第一章抢答器设计功能分析1.1 数字抢答器的概述对于抢答器我们大家来说都不陌生, 它是用于很多竞赛场合, 真正实现先抢先答, 让最先抢到题的选手来回答问题。

抢答器不仅考验选手的反应速度同时也要求选手具备足够的知识面和一定的勇气。

选手们都站在同一个起跑线上, 体现了公平公正的原则。

1.2 设计任务与要求1.基本要求:给主持人设置一个开关, 用来控制系统的清零(编号显示数码管灭灯)和抢答器的开始。

抢答器具有数据锁存和显示的功能。

抢答开始后, 若有选手按动抢答器按钮, 编号立即锁存, 并在LED数码上显示选手的编号, 同时扬声器给出音响提示。

此外, 要封锁输入电路, 禁止其他选手抢答。

1.发挥部分:2.抢答器具有定时抢答的功能, 且一次抢答的时间可以由主持人设定(如30秒)。

当节目主持人启动“开始”键后, 要求定时器立即减计时, 并用显示器显示, 同时扬声器发出短暂的声响, 声响持续时间0.5秒左右。

3.参加选手在设定的时间内抢答, 抢答有效, 定时器停止工作, 显示器上显示选手的编号和抢答时刻的时间, 并保持到主持人将系统清零为止。

如果定时抢答的时间已到, 却没有选手抢答时, 本次抢答无效, 系统短暂报警, 并封锁输入电路, 禁止选手超时后抢答, 时间显示器上显示00。

选手如果在主持人按开始键之前违规抢答, 系统报警, LED显示违规选手号码和FF, 直到主持人按下停止键。

第二章抢答器方案论证抢答器的实现方式有种多样, 通过纯电子器件搭建电路实现, 如优先编码器, 锁存器, 555定时器译码器等, 纯电子器件实现没有软件参与, 调试简单, 但是它不易于扩展和修改, 而且电路结构复杂, 调试困难电子, 电子器件管脚很多, 实际搭建起来费时费力, 焊接很容易出错。

于是, 我想到了用单片机实现。

单片机体积小价格低, 应用方便, 稳定可靠。

单片机将很多任务交给了软件编程去实现, 大大简化了外围硬件电路, 使外围电路的实现简单方便。

八路抢答器课程设计

八路抢答器课程设计

八路抢答器课程设计一、背景在当今时代,信息技术的发展及应用越来越深入人们的生活,在教育领域也有着广泛应用。

在教育课程设计中,教师用八路抢答器来进行互动式教学,为学生学习增添了不少乐趣,同时,学生也学会了如何协作解决问题,增强思维能力。

二、任务以PIC18F4520的抢答器程序设计为基础,完成一套八路抢答器课程设计,包括程序设计、实物结构设计及相应的教学实施方案。

三、程序设计(1)课程开发环境该课程使用MPLAB X IDE(v3.35)软件进行开发,为C语言编程,主控微处理器为PIC18F4520,用到的硬件元件有蜂鸣器、按钮和数码管等。

本课程基于MCHP(Microchip)官方库(XC8),采用C 语言编程,并参考Microchip开发的示例程序(Clicker)。

(2)程序设计(1)系统结构框架系统架构分为按钮控制模块、数字管显示模块和延时控制模块。

(2)按钮控制模块按钮控制模块的功能是接收按钮按下信号,根据信号的变化来控制系统的运行状态,共包括节拍按钮、开始按钮和结束按钮三个部分。

(3)数字管显示模块数字管显示模块的功能是显示抢答者应答的结果,具体包括:显示延时计时器的值,显示抢答者得分情况,显示获胜者的序号。

(4)延时控制模块延时控制模块的功能是计算延时时间,系统会根据节拍按钮的按动情况计算抢答者的延时时间,最后根据延时时间最短的判断获胜者。

四、实物结构设计(1)实物结构根据程序设计,系统的结构主要包括PIC18F4520微处理器,按钮,蜂鸣器,数码管,LED指示灯,电源等元件组成。

(2)硬件连接PIC18F4520与蜂鸣器连接在RA0上,按钮和LED灯连接在RA3、RA4和RA5上,数码管连接在RA1和RA2上,电源接口和其他元件连接如下图所示。

五、教学实施(1)课程分析本课程是基于PIC18F4520的抢答器程序设计,主要涉及编程、硬件连接和系统运行实施三个内容,重点讲解如何通过编程实现系统的运行。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程设计报告课程名称:单片机课程设计报告题目:8位竞赛抢答器的设计学生姓名:所在学院:信息科学与工程学院专业班级:学生学号:指导教师:2013 年12月25日课程设计任务书摘要抢答器作为一种工具,已广泛应用于各种智力和知识竞赛场合。

但抢答器的使用频率较低,且有的要么制作复杂,要么可靠性低。

作为一个单位,如果专门购一台抢答器虽然在经济上可以承受,但每年使用的次数极少,往往因长期存放使(电子器件的)抢答器损坏,再购置的麻烦和及时性就会影响活动的开展,因此设计了本抢答器。

本设计是以八路抢答为基本理念。

考虑到依需设定限时回答的功能,利用AT89C52单片机及外围接口实现的抢答系统,利用单片机的定时器/计数器定时和记数的原理,将软、硬件有机地结合起来,使得系统能够正确地进行计时,同时使数码管能够正确地显示时间。

用开关做键盘输出,扬声器发生提示。

同时系统能够实现:在抢答中,只有开始后抢答才有效,如果在开始抢答前抢答为无效;抢答限定时间和回答问题的时间可在1-30s设定;可以显示是哪位选手有效抢答,正确按键后有5s的音乐提示(即扬声器发出响声);抢答时间和回答问题时间倒记时显示,满时后系统计时自动复位及主控强制复位;按键锁定,在有效状态下,按键无效非法。

关键词:89c52;电路;显示;按键目录一、概述 (1)二、方案设计 (1)三、硬件电路设计 (2)1、抢答器的电路框图 (2)2、单元电路 (3)2.1、抢答器电路 (3)2.2、时序控制电路 (3)2.3、复位电路 (3)3、时钟震荡电路 (3)4、报警电路 (3)四、软件设计 (4)1、系统主程序 (4)2、系统程序 (5)五、结论与心得 (10)六、参考文献 (10)一、概述本实验电路由抢答电路、译码显示电路、主持人控制电路、定时电路、报警电路组成。

通过复位按键FW,电路进入准备就绪状态。

将抢答时间设定在30S,然后按下开始键开始抢答。

,在电路中“S0-S7”为8路抢答器的8个按键,当有键按下,程序锁定信号,从P2口输出抢答者号码的七段码值,送到数码管显示,并封锁按键,保持刚才按键按下时刻的时间,禁止其他人按键的输入,从而实现了抢答的功能。

当设定的抢答时间结束,仍然没有抢答键被按下,则产生已经超时的报警信号,结束抢答。

当要进行下一次的抢答时,首先按一下复位按键,电路复位。

该设计是以MCS51为基础,结合单片机汇编语言知识,设计而成的8位竞赛抢答器。

在伟福试验箱上实现仿真。

主持人按下“开始抢答键”既单脉冲键后,喇叭响0.5秒给出提示信号,并立刻进入抢答倒计时(预设30秒抢答时间)此时,数码显示管上显示倒计时时间:有选手抢答,停止计时,八段数码显示抢答时间和选手号;无选手抢答,倒计时30秒后,显示00。

然后选手等待主持人按下按钮开始新一轮抢答。

注意:(1)由于设计的局限性,如果在无人抢答期间,30秒还未到,主持人不能按下重新下一轮抢答按钮。

(2)由于试验箱上按钮数量有限,故选用开关代替按钮,供8位选手抢答使用。

鉴于开关与按钮动作过程的差异,所以每次当选手抢答,拨下开关时必须将开关复位。

(3)当系统出现错误的时候,停止操作,重新编译开始。

二、方案设计方案:该系统采用51系列单片机AT89C51作为控制核心,该系统可以完成运算控制、信号识别以及显示功能的实现。

由于用了单片机,使其技术比较成熟,应用起来方便、简单并且单片机周围的辅助电路也比较少,便于控制和实现。

整个系统具有极其灵活的可编程性,能方便地对系统进行功能的扩张和更改。

MCS-51单片机特点如下:<1>可靠性好:单片机按照工业控制要求设计,抵抗工业噪声干扰优于一般的CPU,程序指令和数据都可以写在ROM里,许多信号通道都在同一芯片,因此可靠性高,易扩充。

<2>单片机有一般电脑所必须的器件。

<3> 控制功能强:单片机指令除了输入输出指令,逻辑判断指令外还有更丰富的条件分支跳跃指令。

三、硬件电路设计1、抢答器的电路框图如图3.1.1所示为电路框图。

其工作原理为:接通电源后,主持人按下开关即为“开始”状态,宣布“开始”抢答器工作。

编号显示器灭灯,定时器显示设定时间。

定时器倒计时,扬声器给出5s声响提示。

选手在定时时间内抢答时,抢答器完成:优先判断、编号锁存、编号显示。

当一轮抢答之后,定时器停止、禁止二次抢答、定时器显示剩余时间。

如果再次抢答必须由主持人再次操作"开始、停止"状态按键。

图3.1.1电路框图2、单元电路3.2.1、抢答器电路该电路完成两个功能:一是判断出选手按键的先后,并锁存优先抢答者的编号,同时译码显示电路显示编号;二是禁止其他选手按键操作无效。

如有再次抢答需由主持人将S开关重新置,“清除”然后再进行下一次抢答。

3.2.2、时序控制电路时序控制电路是抢答器设计的关键,它要完成以下功能:a.主持人将控制开关拨到"开始"位置时,扬声器发声,抢答电路和定时电路进人正常抢答工作状态。

b.当参赛选手按动抢答键时,扬声器发声,抢答电路和定时电路停止工作。

3.2.3、复位电路设计外部中断和内部中断并存,单片机硬件复位端,只要持续4个机器周期的高电平即可实现复位,硬件复位后的各状态可知寄存器以及存储器的值都恢复到了初始值,因为本设计中功能中有倒计时时间的记忆功能,所以不能对单片机进行硬件复位,只能用软件复位,软件复位实际上就是当程序执行完之后,将程序通过一条跳转指令让它完成复位。

3、时钟震荡电路时钟震荡电路单片机必须在89C52驱动下才能工作,在单片机内部有一个时钟震荡电路,只需要外接一个振荡器就能产生一定的时钟信号送到单片机内部的各个单元。

4、报警电路报警电路用于报警,当遇到报警信号时,发出警报。

8952动喇叭的信号为各种频率的脉冲。

因此,最简单的喇叭驱动方式就是利用达林顿晶体管,或者以两个常用的小晶体管连接成达林顿架势。

在右图中电阻R为限流电阻,在此利用晶体管的高电流增益,以达到电路快速饱和的目的。

不过,如果要由P0输出到此电路,还需要连接一个10K的上拉电阻。

图3硬件电路图四、软件设计1、系统主程序为了能够达到抢答的公平、公正、合理,应该在主持人发布抢答命令之前必须先设定抢答的时间,因而在编开始抢答前的程序得先编写设定时间的程序,当时间设好了之后,主持人发布抢答命令按下s1按键,程序开始打开定时中断开始倒计时,然后调用键盘扫描子程序,编写键盘扫描程序。

当在扫描到有人按下了答题键,马上关闭T0、调用显示程序、封锁键盘。

以单片机为核心,设计一个8位竞赛抢答器:同时供8名选手或8个代表队比赛,分别用8个按钮S0~S7表示。

设置一个系统清除和抢答控制开关S,开关由主持人控制。

抢答器具有锁存与显示功能。

即选手按按钮,锁存相应的编号,并在优先抢答选手的编号一直保持到主持人将系统清除为止。

当主持人启动“开始”键后,定时器进行减计时,同时扬声器发出短暂的声响,声响持续的时间为0.5s左右。

参赛选手在设定的时间内进行抢答,抢答有效,定时器停止工作,显示器上显示选手的编号和抢答的时间,并保持到主持人将系统清除为止。

如果定时时间已到,无人抢答,本次抢答无效,系统报警并禁止抢答,定时显示器上显示00。

图4.1主程序方框图2、系统程序#include<reg52.h>#define uint unsigned int#define uchar unsigned charsbit s1=P3^0;sbit we=P3^6;uchar h[]={0xe0,0xd0,0xb0,0x70};uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff}; uchar num,count;uchar a=0,c=0,t,bb=0,t1;void delay(uint z){uint x,y;for(x=110;x>0;x--)for(y=z;y>0;y--);}void write_sx(){P2=0xdf;P0=0x08;P2=0x00;P0=0xff;P2=0xff;P0=table[t1];P2=0x00;P0=0x00;delay(5);P2=0xdf;P0=0x40;P2=0x00;P0=0xff;P2=0xff;P0=table[(t/10)%10];P2=0x00;P0=0x00;delay(5);P2=0xdf;P0=0x80;P2=0x00;P0=0xff;P2=0xff;P0=table[t%10];P2=0x00;P0=0x00;delay(5);}void init(){P2=0xbf;P0=0xbf;TMOD=0x01;TH0=(65536-50000)/256; TL0=(65536-50000)%256; EA=0;ET0=1;TR0=1;}void keyscan(){ we=0;if(s1==0){delay(5);if(s1==0){while(!s1);EA=1;P2=0xbf;P0=0xff;t=30;a=1;t1=10;c=0;}}if(c==0){P3=0xfd;num=P3;num=num&0xf0;if(num!=0xf0){delay(5);if(num!=0xf0){while(P3!=0xfd);c=1;EA=0;if(num==h[3])t1=1;if(num==h[2])t1=2;if(num==h[1])t1=3;if(num==h[0])t1=4;}}P3=0xfb;num=P3;num=num&0xf0;if(num!=0xf0){delay(5);if(num!=0xf0){while(P3!=0xfb);c=1;EA=0;if(num==h[3])t1=5;if(num==h[2])t1=6;if(num==h[1])t1=7;if(num==h[0])t1=8;}}}}void main(){init();while(1){keyscan();if((a==1)&&((t>0)&&(t<=30))){write_sx();}if(t==0){EA=0;t=0;t1=10;}}}void timer0() interrupt 1{TH0=(65536-50000)/256;TL0=(65536-50000)%256;count++;if(count==10){P2=0xbf;P0=0xbf;}if(count==20){count=0;t--;}}五、结论与心得通过这次课程设计,我深刻的认识到自己在许多方面的不足。

相关文档
最新文档