基于单片机的数字抢答器设计

更新时间:2023-08-18 14:47:01 阅读量: 资格考试认证 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

南京邮电大学 自动化 学院

实 验 报 告

实验名称:基于单片机的数字抢答器设计

课程名称: 智能仪器原理与设计 所在专业: 学生姓名: 班级学号: 任课教师:

2014 /2015 学年第 二 学期

摘 要

数字抢答器由主体电路与扩展电路组成。优先编码电路、锁存器、译码电路将参赛队的输入信号在显示器上输出;用控制电路和主持人开关启动报警电路,以上两部分组成主体电路。通过定时电路和译码电路将秒脉冲产生的信号在显示器上输出实现计时功能,构成扩展电路。经过布线、焊接、调试等工作后数字抢答器成形。单片机体积小价格低,应用方便,稳定可靠。单片机将很多任务交给了软件编程去实现,大大简化了外围硬件电路,使外围电路的实现简单方便。单片机系统的硬件结构给予了抢答系统“身躯”,而单片机的应用程序赋予了其新的“生命”,使其在传统的抢答器面前具有电路简单、成本低、运行可靠等特色。对于抢答器我们大家都知道那是用于选手做抢答题时用的,选手进行抢答,抢到题的选手来回答问题。抢答器不仅考验选手的反应速度同时也要求选手具备足够的知识面和一定的勇气。选手们都站在同一个起跑线上,体现了公平公正的原则。

关键字: 抢答电路 定时电路 报警电路

Abstract

Digital responder from the main circuit and expansion circuit. Priority coding circuit, a lock latch and decoding circuit will be the team's input signal on the display output; an alarm starting circuit with the control circuit and the host switch, the above two parts composed of main circuit. Through the timing circuit and decoding circuit to generate the second pulse signal output on the display to achieve timing function, constitute the extended circuit. After wiring, welding, testing and other work forming digital answering device. The single chip microcomputer has the advantages of low price, convenient application, stable and reliable. SCM will be a lot of tasks to the software programming to achieve, greatly simplifying the peripheral hardware circuit, so that the realization of the peripheral circuit is simple and convenient. The hardware structure

of the microcomputer system to give the answer systems, "body", and SCM application gives the new "life", so that it has characteristics of simple circuit, low cost, reliable operation and in front of the tradition vies to answer first. For the responder we all know it is for the player to do the rush to answer for. Players vies to answer first, grab the player to answer the question. Responder not only tests the player's reaction speed but also requires a player with enough knowledge and courage. Players are standing on the same starting line, reflects the principle of fair and equitable.

Key words: answer circuit timing circuit warning circuit

一、实验目的

1、对单片机进一步掌握 2、实现自己设计实验完成实验 3、掌握仪器设计原理

二、实验内容

(1)系统容量:为满足竞赛抢答的要求,系统容量定位8路。

(2)系统能完成:倒计时指令发送与接收;抢答对别信息发送与接收; (3)抢答倒计时可在0-99秒内根据需要任意调整。 (4)所有信息交换都采用无线通信。 (5)抢答指令发出和抢答成功要有提示音。

三、实验设备

51单片机箱

四、实验硬件原理

总体设计

根据抢答器的基本功能,可以设计出如下的单片机外围电路:

总体设计

P3.0为开始抢答,P3.2为停止,P1.0-P1.7为八路抢答输入,数码管段选P0口,位选P2口低3位,蜂鸣器(用绿灯代替)输出为P3.6口。P3.2为时间加1调整,P3.3为时间减1调整。

外部振荡电路

一般选用石英晶体振荡器。此电路在加电大约延迟10ms后振荡器起振,在XTAL2引脚产生幅度为3V左右的正弦波时钟信号,其振荡频率主要由石英晶振的频率确定。

按钮输入电路的设计

抢答器的输入按钮使用常开开关

抢答按键

硬件电路简单,在程序设计上也不复杂,只要在程序中消除在按键过程中产生的“毛刺”现象就可以了。这里采用最常用的方法即延时法,其的原理为:因为“毛刺”脉冲一般持续时间短,约为几ms,而按键的时间一般远远大于这个时间,所以当单片机检测到有按键动静后再延时一段时间(这里取10ms)后再判断此电平是否保持原状态,如果是则为有效按键,否则无效

发声

这里能利用程序来控制单片机P3.6口线反复输出高电平或低电平,即在该口线上产生一定频率的矩形波,接上扬声器就能发出一定频率的声音,再利用延时程序控制“高”“低”电平的持续时间,就能改变输出频率,从而改变音调,使扬声器发出不同的声音。

系统软件设计

抢答器流程图

流程图是使用图形表示算法的思路是一种极好的方法,不论采用何种程序设计方法,程序总体结构确定后,一般以程序流程图的形式对其进行描述。总体框图中的各个子模块或各个子任务也应该结合具体的教学模型和算法画出较详细的程序流程图,供后面编写具体程序和阅读程序使用。

流程图是由一些图框和流程线组成的,其中图框表示各种操作的类型,图框

中的文字和符号表示操作的内容,流程线表示操作的先后次序。流程图的基本结

构为顺序结构,分支结构(又称选择结构),循环结构。为便于识别,绘制流程图的习惯做法是:

方框表示:要执行的处理(Process) 平行四边型表示:代表资料输入(Input)

不规则图形代表资料输出(Output)或报表输出(Print) 菱形表示:决策或判断(例如:If...Then...Else)

抢答器主程序流程图

抢答器定时器中断流程图

主程序

我们组所设计的抢答器的程序采用的是6,C语言的显著特点是用二进制来编写程序,程序的各个部分除了必要的信息交流外彼此之间相互独立。这种结构化方式可使程序层次清晰, 便于使用、维护以及调试。C语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。虽然C语言也是强类型语言,但它的语法比较灵活,允许程序编写者有较大的自由度。本次设计的主程序中包括时钟设计程序,定时器中断子程序,LED显示程序以及按键控制子程序,程序设计如下:

#include<reg52.h> sbit k0=P1^0; sbit k1=P1^1; sbit k2=P1^2; sbit k3=P1^3; sbit d0=P1^4; sbit d1=P1^5; sbit d2=P1^6; sbit d3=P1^7;

sbit B0=P3^7; sbit l0=P2^0; sbit l1=P2^2; sbit l2=P2^3; sbit l3=P2^4; sbit kz=P3^0;

unsigned char qiangdanum=0x3f; unsigned

unsigned char ge=0,shi=0; unsigned int num=0,time=0;

void display(); /*显示函数*/ void delay(unsigned int); main() {

TMOD=0X01; /*采用方式一,即十六位计数器*/

TH0=(65536-50000)/256; /*设置初始值*/ TL0=(65536-50000)%256; IT0=0;

EA=1;ET0=1; /*开启总中断源*/ EX0=1; /*启动外部中断0*/ {while(1) {display(); if(kz==0)

TR0=1; /*开启定时器0中断*/ if(num==20) { num=0; time++;

if(time==60) /*60秒的计时*/ time=0; } } }

char

code

table[]={0x3f,0xxx,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};

}

void exter0() interrupt 0 /*外部中断程序*/ {EA=0;l0=0;

if(k0==0) /*开关0按下*/ {d0=0;qiangdanum=1;B0=1;

}/* 1号选手抢答成功,数码管显示1,蜂鸣器响,第1个二极管亮*/ if(k1==0) /*开关1按下*/ {d1=0;qiangdanum=2;B0=1;

}/* 2号选手抢答成功,数码管显示2,蜂鸣器响,第2个二极管亮*/ if(k2==0) /*开关2按下*/ {d2=0;qiangdanum=3;B0=1;

}/* 3号选手抢答成功,数码管显示3,蜂鸣器响,第3个二极管亮*/

if(k3==0) /*开关3按下*/ {d3=0;qiangdanum=4;B0=1;

}/* 4号选手抢答成功,数码管显示4,蜂鸣器响,第4个二极管亮*/ }

void time0() interrupt 1 {num++;

TH0=(65536-50000)/256; TL0=(65536-50000)%256;

} /*1秒定时函数*/ void delay(unsigned int z) {unsigned int x,y; for(x=z;x>0;x--) for(y=110;y>0;y--);

} /*延迟函数*/ void display(void) {shi=time/10; ge=time%10; P2=0xef; P0=table[ge]; delay(5);

P2=0xf7; P0=table[shi]; delay(5); P2=0xFE;

P0=table[qiangdanum]; delay(5);

} /*显示函数:来显示0-60的计数*/

中断程序

什么是中断

中断是指由于某种随机事件的发生,计算机暂停现行的程序的运行,转去执行另一个程序,以处理发生的事件,处理完毕后又自动返回原来的程序继续运行。

有五种中断源:外部中断0、外部中断1、定时器中断0、定时器中断1、串行

五种中断源的表示

中断所用到的寄存器

介绍定时器/计数器中所介绍的寄存器: (1)、定时器/计数器控制寄存器TCON

TCON的作用是控制定时器的启动`停止,标志定时器的溢出和中断情况; (2)、中断允许控制寄存器IE

对中断源的开放或屏蔽是由中断寄存器IE控制的,地址为0A8H,即可以按字节寻址,也可以按位寻址。当单片机复位时,IE被清零。

中断所用到的寄存器

介绍定时器/计数器中所介绍的寄存器: (1)、定时器/计数器控制寄存器TCON

TCON的作用是控制定时器的启动`停止,标志定时器的溢出和中断情况; (2)、中断允许控制寄存器IE

对中断源的开放或屏蔽是由中断寄存器IE控制的,地址为0A8H,即可以按字

选择定时方式表

②中断程序的编写的步骤:

(1)、根据要求设置IE(中断允许寄存器)的对应位EA(EA—总中断允许位 EA=1开放所有的中断;EA=0禁止所有的中断),某个中断源还有相应的中断允许位

①、当=1时:允许相应中断源的中断; ②、当=0时:禁止相应中断源的中断;

(2)、INT0、INT1设定触发方式IT0(外部中断触发方式控制位)当为0时:低电平触发;当为1时:下降沿触发;

(3)、返回值是Void中断函数名() interrupt()

五、实验结果

六、总结及心得体会

我在这一次抢答器的设计过程中,很是受益匪浅。通过对自己在大学三年时间里所学的知识的回顾,并充分发挥对所学知识的理解和对毕业设计的思考及书面表达能力,最终完成了。这为自己今后进一步深化学习,积累了一定宝贵的经验。通过这次课程设计我发现,只有理论水平提高了;才能够将课本知识与实践相整合,理论知识服务于教学实践,以增强自己的动手能力。这个实验十分有意义 我获得很深刻的经验。通过这次课程设计,我们知道了理论和实际的距离,也知道了理论和实际想结合的重要性,,也从中得知了很多书本上无法得知的知识。

参考文献

1. 单片机课程设计实例指导,李光飞,北京航天航空大学出版社,2004 2. 单片机原理及接口技术(第3版),李朝青,北京航空航天大学出版社,2002

3. 单片机C程序设计及应用实例,胡伟,人民邮电出版社,2003

4. 单片机系统设计与实例指导,冯育长,西安电子科技大学出版社,2007 5.电子电路及电子器件, 郭培源, 高等教育出版社.,2003 6.数字电子技术. 杨志忠, 高等教育出版社,2002

本文来源:https://www.bwwdw.com/article/k1pj.html

Top