八路抢答器杨辉.docx
- 文档编号:5404009
- 上传时间:2022-12-16
- 格式:DOCX
- 页数:21
- 大小:386.32KB
八路抢答器杨辉.docx
《八路抢答器杨辉.docx》由会员分享,可在线阅读,更多相关《八路抢答器杨辉.docx(21页珍藏版)》请在冰豆网上搜索。
八路抢答器杨辉
湖南人文科技学院
课程设计报告
课程名称:
单片机原理及应用课程设计
设计题目:
八路抢答器
系别:
通信与控制工程系
专业:
自动化
班级:
08级自动化一班
学生姓名:
赖台俊张杰
学号:
0842110708421123
起止日期:
2010年12月19日~2010年12月31
指导教师:
成继中方智文
教研室主任:
方智文
指导教师评语:
指导教师签名:
年月日
成绩评定
项目
权重
成绩
1、设计过程中出勤、学习态度等方面
0.2
2、课程设计质量与答辩
0.5
3、设计报告书写及图纸规范程度
0.3
总成绩
教研室审核意见:
教研室主任签字:
年月日
教学系审核意见:
主任签字:
年月日
摘要
抢答器是一种应用非常广泛的设备,在各种竞猜、抢答场合中,它能迅速、客观地分辨出最先获得发言权的选手。
本文介绍了利用52单片机及外围接口实现的抢答系统,利用单片机的定时器/计数器定时和记数的原理,将软、硬件有机地结合起来,使得系统能够正确地进行计时,同时使数码管能够正确地显示时间。
用开关做键盘输出,扬声器发生提示。
同时系统能够实现:
在抢答中,只有开始后抢答才有效,如果在开始抢答前抢答为无效;抢答限定时间和回答问题的时间可在1-99s设定;可以显示是哪位选手有效抢答和无效抢答,正确按键后有音乐提示;抢答时间和回答问题时间倒记时显示,满时后系统计时自动复位及主控强制复位;按键锁定,在有效状态下,按键无效非法。
关键字:
抢答器;52单片机;定时器;计数器;数码管。
目录
1.设计要求1
2.方案比较与论证1
2.1方案一1
2.2方案二1
2.3方案比较及其选用依据2
3.电路设计与计算2
3.1其原理框图2
3.2抢答器电路设计3
3.3时序控制电路设计3
3.4复位电路的设计4
3.5外部震荡电路4
3.6报警电路设计5
4.系统主程序设计6
4.1主程序硬件设计6
8
图7AT89C52引脚图8
8255介绍:
8
引脚功能:
9
4.2主程序流程图10
4.3主程序12
5.系统工程测试12
6.系统功能测试与整体指标12
7.心得与致谢13
9.参考文献14
附录一15
附录二16
1.设计要求
1、一位主持人与3位抢答者,复位后,甲乙丙的绿、红灯全亮,开始键、复位键的指示灯全暗;主持人按复位键则仅复位指示灯亮,其他都暗,准备开始;主持人按开始键,开始灯亮,允许甲乙丙抢答,此时优先者则相应成功指示灯亮,如允许前抢就相应犯规灯亮;答题开始进行倒计时,到规定时间不允许答题,并返回复位状态;
2、具有抢答控制和倒计时显示功能;
3、控制器应有复位控制、开始控制、抢答控制和状态指示等功能,并有答题时间控制和显示功能。
2.方案比较与论证
2.1方案一
系统各部分采用中小规模集成数字电路,用机械开关按钮作为控制开关,完成抢答输入信号的触发。
该方案的特点是中小规模集成电路应用技术成熟,性能可靠,能方便地完成选手抢答的基本功能,但是由于系统功能要求较高,所以电路连接集成电路相对较多,而且过于复杂,并且制作过程工序比较烦琐,使用不太方便。
2.2方案二
该系统采用8051系列单片机80C51作为控制核心,该系统可以完成运算控制、信号识别以及显示功能的实现。
由于用了单片机,使其技术比较成熟,应用起来方便、简单并且单片机周围的辅助电路也比较少,便于控制和实现。
整个系统具有极其灵活的可编程性,能方便地对系统进行功能的扩张和更改。
MCS-51单片机特点如下:
<1>可靠性好:
单片机按照工业控制要求设计,抵抗工业噪声干扰优于一般的CPU,程序指令和数据都可以写在ROM里,许多信号通道都在同一芯片,因此可靠性高,易扩充。
<2>单片机有一般电脑所必须的器件,如三态双向总线,串并行的输入及输出引脚,可扩充为各种规模的微电脑系统。
<3>控制功能强:
单片机指令除了输入输出指令,逻辑判断指令外还有更丰富的条件分支跳跃指令。
2.3方案比较及其选用依据
显然方案二比方案一简单的多,不但从性能上优于方案一,而且在使用上及其功能的实现上都较方案一简洁,并且由于单片机具有优越的高集成电路性,使其工作速度更快、效率更高。
另外80C51单片机采用12MHz的晶振,提高了信号的测量精度,并且使该系统可以通过软件改进来扩张功能。
而方案一采用了中小规模集成电路,有其复杂的电路性能,从而可能会使信号的输入输出产生延时及不必要的误差。
依此依据选择方案二比较适合。
3.电路设计与计算
3.1其原理框图
图1抢答器的原理框图
其工作原理为:
接通电源后,主持人将开关拨到“清除”状态,抢答器处于禁止状态,编号显示器灭灯,定时器显示设定时间;主持人将开关置,“开始”状态,宣布“开始”抢答器工作,定时器倒计时,扬声器给出声响提示。
选手在定时时间内抢答时,抢答器完成:
优先判断、编号锁存、编号显示、扬声器提示。
当一轮抢答之后,定时器停止,禁止二次抢答,定时器显示剩余时间。
如果再次抢答必须由主持人再次操作“开始、停止”状态开关。
总体原理图见附录一。
3.2抢答器电路设计
参考电路如图1所示。
该电路完成两个功能:
一是分辨出选手按键的先后,并锁存优先抢答者的编号,同时译码显示电路显示编号;二是禁止其他选手按键操作无效。
如有再次抢答需由主持人将S开关重新置,“清除”然后再进下一次抢答。
图1
3.3时序控制电路设计
电路是抢答器设计的关键,它要完成两个功能:
1、主持人将控制开关拨到"开始"位置时,扬声器发声,抢答电路和定时电路进人正常抢答工作状态。
2、当参赛选手按动抢答键时,扬声器发声,抢答电路和定时电路停止工作。
如图3所示。
图3时序电路控制
3.4复位电路的设计
和内部中断并存,单片机硬件复位端,只要持续4个机器周期的高电平即可实现复位,硬件复位后的各状态可知寄存器以及存储器的值都恢复到了初始值,因为本设计中功能中有倒计时时间的记忆功能,所以不能对单片机进行硬件复位,只能用软件复位,软件复位实际上就是当程序执行完之后,通过一条跳转指令让它完成复位。
复位电路如图4所示:
图4复位电路
3.5外部震荡电路
外部震荡电路单片机必须在52单片机的驱动下才能工作,在单片机内部有一个时钟震荡电路,只需要外接一个振荡器就能产生一定的时钟信号送到单片机内部的各个单元,外部震荡电路如图5所示。
图5外部振荡电路
3.6报警电路设计
用于报警,当遇到报警信号时,发出警报。
驱动喇叭的信号为各种频率的脉冲。
因此,最简单的喇叭驱动方式就是利用达林顿晶体管,或者以两个常用的小晶体管连接成达林顿架势。
在图6中电阻R为限流电阻,在此利用晶体管的高电流增益,以达到电路快速饱和的目的。
不过,如果要由P0输出到此电路,还需要连接一个10K的上拉电阻。
选手在设定的时间内抢答时,实现:
优先判断、编号锁存、编号显示、扬声器提示。
当一轮抢答之后,定时器停止、禁止二次抢答、定时器显示剩余时间。
如果再次抢答必须由主持人再次作"清除"和"开始"状态开关。
报警电路如图6所示。
图6报警电路
4.系统主程序设计
了能够达到抢答的公平、公正、合理,应该在主持人发布抢答命令之前必须先设定抢答的时间,因而在编开始抢答前的程序得先编写设定时间的程序,当时间设好了之后,主持人发布抢答命令按下P1.7按键,程序开始打开定时中断开始倒计时,然后调用键盘扫描子程序,编写键盘扫描程序。
当在扫描到有人按下了答题键,马上关闭T0、调用显示程序、封锁键盘。
4.1主程序硬件设计
1.控制系统及所需元件
控制系统主要由单片机应用电路、存储器接口电路、显示接口电路组成。
其中单
片机AT89C52是系统工作的核心,它主要负责控制各个部分协调工作.所需元件:
该系统的核心器件是AT89C51。
在其外围接上复位电路、上拉电阻、数码管、按钮及扬声器。
元件为:
晶振X1、电容C1、C2、C3、电阻RP1、P3.0和P3.1由裁判控制,分别是抢答停止和开始键。
P1.0-P1.2是3组抢答的输入口,P2.0--P2.3口为数码管的段选口,位选口用的是P0.0--P0.6口输出,外部中断0、1和P3.3,P3.4为抢答记时调整口,实现的对个队进行计时,并且加减调整,外部中断0,1实现了答题时间调整.P3.4P3.5分别实现了时间的加一和减一.P3.6为蜂鸣器的控制口。
2.实验原理
八路抢答器用单片机来设计制作完成,由于其功能的实现主要通过软件编程来完成,采用单片机AT89C52,它是低功耗、高性能的CMOS型8位单片机。
片内带有4KB的Flash存储器,且允许在系统内改写或用编程器编程。
该智力竞赛抢答器的准确度很高,其误差主要由晶振自身的误差所造成。
AT89C52单片机由微处理器,存储器,I/O口以及特殊功能寄存器SFR等部分构成。
其存储器在物理上设计成程序存储器和数据存储器两个独立的空间,片内程序存储器的容量为4KB,片内数据存储器为128个字节。
89C52单片机有4个8位的并行I/O口:
P0口,P1口,P2口和P3口。
各个接口均由接口锁存器,输出驱动器,和输入缓冲器组成。
P1口是唯一的单功能口,仅能用作通用的数据输入/输出口。
P3口是双功能口除了具有数据输入/输出功能外,每条接口还具有不同的第二功能,如P3.0是串行输入口线,P3.1口是串行输出口线。
在需要外部程序存储器和数据存储器扩展时,P0可作为分时复用的低8位地址/数据总线,P2口可作为高8位的地址总线。
P3口也可作为AT89C51的一些特殊功能口,同时为闪烁编程和编程校验接收一些控制信号。
AT89C52芯片介绍:
AT89C52是51系列单片机的一个型号,它是ATMEL公司生产的。
AT89C52是一个低电压,高性能CMOS8位单片机,片内含8kbytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C52单片机可为您提供许多较复杂系统控制应用场合。
AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,但不可以在线编程(S系列的才支持在线编程)。
其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。
AT89C52各引脚功能:
概述:
AT89C52P为40脚双列直插封装的8位通用微处理器,采用工业标准的C51内核,在内部功能及管脚排布上与通用的8xc52相同,其主要用于会聚调整时的功能控制。
功能包括对会聚主IC内部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等。
主要管脚有:
XTAL1(19脚)和XTAL2(18脚)为振荡器输入输出端口,外接12MHz晶振。
RST/Vpd(9脚)为复位输入端口,外接电阻电容组成的复位电路。
VCC(40脚)和VSS(20脚)为供电端口,分别接+5V电源的正负端。
P0~P3为可编程通用I/O脚,其功能用途由软件定义,在本设计中,P0端口(32~39脚)被定义为N1功能控制端口,分别与N1的相应功能管脚相连接,13脚定义为IR输入端,10脚和11脚定义为I2C总线控制端口,分别连接N1的SDAS(18脚)和SCLS(19脚)端口,12脚、27脚及28脚定义为握手信号功能端口,连接主板CPU的相应功能端,用于当前制式的检测及会聚调整状态进入的控制功能。
图7AT89C52引脚图
8255介绍:
8255是Intel公司生产的可编程并行I/O接口芯片,有3个8位并行I/O口。
具有3个通道3种工作方式的可编程并行接口芯片(40引脚)。
其各口功能可由软件选择,使用灵活,通用性强。
8255可作为单片机与多种外设连接时的中间接口电路。
8255作为主机与外设的连接芯片,必须提供与主机相连的3个总线接口,即数据线、地址线、控制线接口。
同时必须具有与外设连接的接口A、B、C口。
由于8255可编程,所以必须具有逻辑控制部分,因而8255内部结构分为3个部分:
与CPU连接部分、与外设连接部分、控制部分。
引脚功能:
RESET:
复位输入线,当该输入端处于高电平时,所有内部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成输入方式。
CS:
芯片选择信号线,当这个输入引脚为低电平时,即/CS=0时,表示芯片被选中,允许8255与CPU进行通讯;/CS=1时,8255无法与CPU做数据传输.
RD:
读信号线,当这个输入引脚为低电平时,即/RD=0且/CS=0时,允许8255通过数据总线向CPU发送数据或状态信息,即CPU从8255读取信息或数据。
WR:
写入信号,当这个输入引脚为低电平时,即/WR=0且/CS=0时,允许CPU将数据或控制字写入8255。
D0~D7:
三态双向数据总线,8255与CPU数据传送的通道,当CPU执行输入输出指令时,通过它实现8位数据的读/写操作,控制字和状态信息也通过数据总线传送。
PA0~PA7:
端口A输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数据输入锁存器。
PB0~PB7:
端口B输入输出线,一个8位的I/O锁存器,一个8位的输入输出缓冲器。
PC0~PC7:
端口C输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数据输入缓冲器。
端口C可以通过工作方式设定而分成2个4位的端口,每个4位的端口包含一个4位的锁存器,分别与端口A和端口B配合使用,可作为控制信号输出或状态信号输入端口。
'
A0,A1:
地址选择线,用来选择8255的PA口,PB口,PC口和控制寄存器.
当A0=0,A1=0时,PA口被选择;
当A0=0,A1=1时,PB口被选择;
当A0=1,A1=0时,PC口被选择;
当A0=1.A1=1时,控制寄存器被选择.
图88255引脚图
4.2主程序流程图
图9主程序流程图
4.3主程序
见附录二
5.系统工程测试
1、用KeilC软件编译,界面如图8所示:
图10KeilC编译图
6.系统功能测试与整体指标
首先将整个程序,在MicrosoftVisualC++软件上编写,运行无误。
随后在硬件上运行。
按课题在板子上试调所要求内容。
现在这个程序不是一气呵成写好的,开始的时候,检查复位状态的,在硬件运行上并不是课题所要求的,仔细检查程序后,调改程序后再次试调,在硬件上运行无误。
此后检查再三并无其他情况发生。
最终达成达成所有课题要求。
7.心得与致谢
课通过两周的单片机课程设计,使我对单片机有了进一步的了解,在设计抢答器、定时器等的过程中,通过翻阅资料,上网搜索等,我对各单元电路器件及原理有了更深一层次的认识,既增强了我的理解能力,也使我能更好的运用所学的知识;在设计程序的时候,让我更深的了解汇编程序,同时慢慢的体会到单片机的内部工作结构及工作原理。
开始时我还不太明白电路是如何连接的,并且对其原理也不甚了解,连最简单的单片机接口也只是了解,不知道接口具体有电路有什么关系,不知道它们之间是怎么工作地。
但通过本次单片机课程设计,我对所学知识的了解更深入了,和同学的交流中,掌握了更多的知识。
在老师及同学的帮助下最终使我克服了难关,并成功地作出了本次设计。
在这个过程中,我也曾经因为实践经验的缺乏失落过,也曾经仿真成功而热情高涨。
生活就是这样,汗水预示着结果也见证着收获。
劳动是人类生存生活永恒不变的话题。
虽然这只是一次的较简单的课程制作(八路抢答器),可是平心而论,也耗费了我不少的心血。
通过这次课程设计,使我受益匪浅。
而且对于论文的总体构思也有了很多经验,相信自己经过这一次的训练与学习,对于今后会更加努力,一定会做得更好。
最后再次真诚地感谢所有帮助过我的老师、同学和朋友!
谢谢各位!
8.详细仪器清单
仪器名称
数量/个
AT89C52
1
8255
1
Sw-PB
6
Y1XTAL
1
LS1-speaker
1
LED
8
数码管
2
40K电阻
7
100PF电容
3
1K电阻
2
表格1仪器清单
9.参考文献
[1]高卫东,辛友顺,韩彦征,《51单片机原理与实践编著》[M],北京航空航天大学出版社,2008.1
[2]刘红玲、邵晓根,《微机原理与接口技术》[M],中国电力出版社,2006年第一版
[3]冯博琴,《微型计算机原理及接口技术》[M],清华大学出版社
[4]艾德才,《微型计算机原理与接口技术》[M],高等教育出版社
[5]沈美明,《IBM-PC汇编语言程序设计》[M],清华大学出版社
[6]任致程,《经典集成电路400例》[M],机械工业出版社,2002
[7]薛栋梁,《单片机原理及应用》[M],中国水利水电出版社,2001
[8]谢筑森,张辉等,《单片机开发与典型应用设计》[M],中国科学技术大学出版社
[9]刘国钧,陈绍业,王凤翥.图书馆目录[M].北京:
高等教育出版社,1957.15-18.
[10]辛希孟.信息技术与信息服务国际研讨会论文集:
A集[C].北京:
中国社会科学出版社,1994.
[11]张筑生.微分半动力系统的不变集[D].北京:
北京大学数学系数学研究所,1983.
[12]冯西桥.核反应堆……的LBB分析[R].北京:
清华大学核能技术设计研究院,1997.
附录一
图11总体原理图
附录二
#include
#defineucharunsignedchar
#defineuintunsignedint
sbitRESET=P3^2;
sbitSTART=P3^3;
ucharxdataPA_at_0xD9FF,PB_at_0XDBFF,PC_at_0XDDFF,//定义外部变量,强制分配地址
EX_PORT_CON_at_0XDFFF;
ucharcodeLED_CODE[]={0XA0,0XBB,0X62,0X2A,0X39,0X2C,0X24,0XBA,//LED段码(0~9)
0X20,0X28};
ucharKEY,SEC=9,COUNT=0;
bitGOT_KEY=0,ERROR=0;
voidDelay(uintA);
voidKey_Scan();
voidmain()
{
EX_PORT_CON=0X81;//8255初始化(PA,PB,PC_H输出,PC_L输入)
TMOD=1;
PC=0x10;//键盘初始化
TH0=0X3C;//定时器初始化
TL0=0XB2;
ET0=1;
TR0=0;
EA=1;
PA=0XFE;
A:
P1=0XC0;
SEC=9;
while
(1)
{PB=LED_CODE[0];
if(!
RESET)
{
Delay(200);
if(!
RESET)
{
while(!
RESET);
P1=0XbF;//复位灯亮其余不
while
(1)
{
Key_Scan();if(GOT_KEY){GOT_KEY=0;ERROR=1;break;}//为允许抢答检测是否有人犯规
if(!
START)//允许抢答后扫描键盘并倒计时
{
Delay(200);
if(!
START)
while(!
START){Key_Scan();if(GOT_KEY){GOT_KEY=0;ERROR=1;gotoRESULT;}}
//TR0=1;
P1=0X7F;
while
(1)
{
Key_Scan();
if((GOT_KEY))
{
PB=LED_CODE[SEC];
TR0=1;
GOT_KEY=0;
ERROR=0;
gotoRESULT;
}
}
}
}
RESULT:
if(ERROR){ERROR=0;
if(KEY==0X01)P1&=0XFE;
elseif(KEY==0X02)P1&=0XFB;
elseif(KEY==0X04)P1&=0XEF;
}
else{if(SEC)
{
if(KEY==0X01)P1&=0XFD;
elseif(KEY==0X02)P1&=0XF7;
elseif(KEY==0X04)P1&=0XDF;
}
elsegotoA;
}
while((RESET)&&(SEC));
TR0=0;
gotoA;
}
}
}
}
voidDelay(uintA)
{
while(A--);
}
voidKey_Scan()
{
KEY=(PC&0X0F);
if(KEY&&(KEY!
=0X08))GOT_KEY=1;
}
voidTimer()interrupt1
{
TH0=0X3C;//重装初值
TL0=0XB2;
COUNT++;//软计时
if(COUNT>=20)
{
COUNT=0;
if(SEC==1)
TR0=0;
SEC--;
PB=LED_CODE[SEC];
}
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 八路 抢答 器杨辉
![提示](https://static.bdocx.com/images/bang_tan.gif)