目录摘要 (2)1 设计意义及要求 (3)1.1 设计意义 (3)1.2 设计要求 (3)4444556778 4994.2 C语言源程序 (10)5 软件仿真调试 (20)6 总结 (21)7 参考文献 (22)摘要数字技术作为当今世界上发展最快的一门科学,已被广泛地应用于计算机、自动控制、电子测量仪表、通信等各个领域。
例如,在生活中,很多关于智力竞赛的电视节目的抢答环节就很好的应用了数字技术。
关于竞赛抢答器的设计,最重要的是完成当参赛选手们可以开始抢答后,每次只可能有一个人抢答成功这一功能。
本实验设计中,以八位竞赛抢答器八路竞赛抢答器设计1 设计意义及要求1.1 设计意义在很多关于智力竞赛的电视节目上,经常会出现抢答环节,参赛选手们30秒),当主持人启动“开始”键后,定时器进行减计时,同时扬声器发出短暂的声响,持续时间0.5S左右。
5.参赛选手在设定的时间内进行抢答,抢答有效,定时器工作停止,显示器上显示选手的编号和抢答的时间并保持到主持人将系统清除为止,6.如果定时时间已到,无人抢答,本次抢答无效,系统报警并禁止抢答,定时显示器上显示00。
2 方案设计2.1 设计思路2.1.1 模块化设计框架图块集成了四个D触发器的74LS175芯片。
(3)数据编码部分的实现编码部分是对锁存的数据进行编码,由于只有八个参赛选手,故只需要用八个不同的数字便可以代表所有的参赛选手,只要采用能对八位数据进行编码并能有八种或八种以上的输出的编码器即可达到要求。
(4)数据显示部分的实现对于这样的一个仅需要显示数字的设计,很容易联想到使用七段数码管来实现的数字的显示,而且七段数码管可以显示16种不同的输出,对于这种只需要有不少于八种的输出的设计来说,七段数码管完全可以达到要求。
一般的七段数码管有10个数据输入端,所以需要有相应的译码器对输送过来的编码后的数据进行译码操作,并且这种译码器的选择必须结合数码管是共阴还是共阳的情况而定。
下图所示为总体方框图。
其工作原理为:接通电源后,主持人将开关断开,抢答器处于禁止状态,定时器显示设定时间;主持人将开关接通,宣布开始抢答器工作。
定时器倒计时,扬声器给出声响提示。
选手在定时时间内抢答时,抢答器完成:优先判断、编号锁存、编号显示、扬声器提示。
当一轮抢答之后,定时器停止、禁止二次抢答、定时器显示剩余时间。
如果再次抢答必须由主持人再次操作状态开关。
3 硬件设计3.1 元器件及其作用在八位抢答器的设计中,我主要用到了AT89C51型号单片机、晶振、电容、排阻、电阻、电源、拨码开关、7SEG-MPX4-BLUE数码管等元器件。
芯片是由ISIS 7 PROFESSIONAL仿真软件系统提供(AT89C51)。
它主要由CPU,存储器和管脚组成。
所谓排阻就是若干个参数完全相同的电阻,它们的一个引脚都连到一起,作为公共引脚。
其余引脚正常引出。
所以如果一个排阻是由n个电阻构成的,那么它就有n+1只引脚,一般来说,最左边的那个是公共引脚。
它在排阻上一般用一个色点标出来。
排阻一般应用在数字电路上,比如:作为某个并行口的上拉或者下拉电阻用。
使用排阻比用若干只固定电阻更方便。
排阻有a 型和b型的区别。
a型排阻的引脚总是奇数的。
它的左端有一个公共端(用白色的圆点表示),常见的排阻有4、7、8个电阻,所以引脚共有5或8或9个。
B型排阻的引脚总是偶数的。
它没有公共端,常见的排阻有4个电阻,所以引脚共有8个。
图3.1 AT89C51单片机图示及引脚排列3.2 原理图设计根据设计要求及用protues仿真软件做出八位竞赛抢答器电路图如下:4 软件设计4.1 软件设计思路当主持人启动“开始”键后,定时器进行减计时,同时扬声器发出短暂的声响,持续时间0.5S左右。
参赛选手在设定的时间内进行抢答,抢答有效,4.2 C语言源程序#include<reg52.h>#define uchar unsigned char#define uint unsigned intchar s;uchar num=0;char time=20; //抢答时间char datitime=30; //答题限时时间uint tt,t1; //T0,T1定时器定一秒时0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};uchar code tablewe[]={0XFE,0XFD,0XFB,0XF7}; void T0_Init(void){TMOD=0X01;TH0=(65536-2000)/256;TL0=(65536-2000)%256;TH1=(65536-2000)/256;TL1=(65536-2000)%256;ET0=1;ET1=1;EA=1;P0=0;}void Key_Scan(void) //开始键扫描{if(K0==0){delay(10);if(K1==0){while(!K1);num=1; //数码管显示1号"1"TR0=0; //关闭定时器0,时间停止TR1=1; //打开定时器1,使扬声器响一声s_flag=0; //关闭开始键标志位,使再按其他七个键不会响应}}if(K2==0) //下面七个键的处理同上{delay(10);if(K2==0){while(!K2);num=2;TR0=0;TR1=1;s_flag=0; //重要}}if(K3==0)if(K5==0){delay(10);if(K5==0){while(!K5);num=5;TR0=0;TR1=1;s_flag=0;}}if(K6==0){delay(10);if(K6==0){while(!K6);num=6;TR0=0;TR1=1;s_flag=0;s_flag=0;}}}void display(void){if(flag==1) //开始键按下,开始计时抢答{if(num!=0) //如果有人抢答,则显示相应的几号{P0=tabledu[num]; //显示几号抢到了P2=tablewe[0];delay(2);P0=0;P2=0XFF;}else //否则没人抢答,则前面不显示几号{P0=0;P2=0XFF;}P0=tabledu[s/10]; //下面为显示抢答倒计时FF)P0=tabledu[15]; //下面显示 FF,表示违规了P2=tablewe[2];delay(2);P0=0; //消隐P2=0XFF;P0=tabledu[15];P2=tablewe[3];delay(2);P0=0;P2=0XFF;}else{P0=0;P2=0XFF;}}else //没有人违规才显示调整时间{if(K_startcountflag==1){P0=0X6D; //第一位数码管显示"5(S)"(表示抢答时间调整)P0=0X31;P2=tablewe[1];delay(2);P0=0;P2=0XFF;P0=tabledu[datitime/10];P2=tablewe[2];delay(2);P0=0;P2=0XFF;P0=tabledu[datitime%10];P2=tablewe[3];delay(2);P0=0;P2=0XFF;}else //否则显示F FF{P0=tabledu[15];{while(!K_startcount);time++;if(time==50){time=20;}K_startcountflag=1; //将抢答时间标志位置1K_timecountflag=0; //同时关闭答题时间标志位}}if(K_timecount==0) //答题时间调整{delay(10);if(K_timecount==0){while(!K_timecount);datitime++;if(datitime==60){datitime=30;}{while(!K_Time);s=datitime;TR0=1;tt=0;TR1=1;}}}if((flag==0)&(s_flag==1)) //违规{Scan();if(num!=0) //开始键没有按下时,有人按下了抢答器,则置违规标志位{fall_flag=1;rled=0;}}if((flag==1)&(s_flag==1)) //如果开始键按下且抢答键没有人按下,则进行八路抢答键扫描{Scan();b_flag=0;rled=1;}}tt++;if(tt==500) //1秒{tt=0;s--;b_flag=0; //关闭开始键按下响一秒的嘟声if(s==-1){s=20;TR0=0;flag=0; //显示F FFs_flag=1;num=0;rled=1;}}}void timer1(void) interrupt 3 //定时器1处理有人按下抢答器嘟一声(长1秒)}5 软件仿真调试在软件硬件都已连接设计好以后,我们需要用Keil、preoteus软件对其进行仿真调试。
软件调试是通过对程序的编译、连接、执行来发现程序中存在的语法错误与逻辑错误并加以排除纠正的过程。
图5.1 keil调试结果图Keil、preoteus联调效果图6 总结在这两周的单片机课程设计实训中,我通过对八位竞赛抢答器的设计学会了运用Keil、preoteus软件,并且对单片机这门课程有了更深一步的了解。
在短时间内学会一门电路设计软件看,并且要使用proteus实现电路的仿真,这些在我眼里都不是很容易完成的任务,但是最后我以及我们的小组均能在规定的时间之内学会proteus的基本操作,单独完成各自的设计,这与小组之间的合作是离不开的,在这里我也更要感谢我们指导老师对我们的谆谆教片机方面能有进一步的提高。
7 参考文献【1】伍时和,《数字电子技术基础》,清华大学出版社,2009【2】贾秀美,《数字电路硬件设计实践》,高等教育出版社,2008 【3】康华光.电子技术基础-数字部分(第五版),高等教育出版,2006 【4】单片机课程设计指导书皮大能北京理工大学出版社 2012.7。