目录摘要......................................................................................................1第1章系统概述......................................................................................21.2课程设计要求..............................................................................21.3硬件系统框图..............................................................................21.4软件系统框图..............................................................................3第2章系统硬件设计............................................................................32.1晶振复位电路..............................................................................32.2开关控制电路..............................................................................42.3显示电路......................................................................................52.4硬件电路总图..............................................................................6第3章软件系统设计..............................................................................73.1程序概述......................................................................................73.2程序流程图..................................................................................73.3源程序..........................................................................................8第4章系统仿真与调试........................................................................194.1仿真软件proteus简介..............................................................194.2LED数码管显示调试...............................................................19第5章总结与展望................................................................................22参考文献:..............................................................................................221摘要单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。它由CPU、存储器(包括RAM和ROM)、I/O接口、定时/计数器、中断控制功能等均集成在一块芯片上,片内各功能通过内部总线相互连接起来。它具有优异的性能价格比、集成度高、体积小、可靠性高、控制功能强、低电压、低功耗等诸多优点。电子抢答器的中心构造一般都是由单片机以及外围电路组成,对于抢答器我们大家都知道那是用于选手做抢答题时用的,选手进行抢答,抢到题的选手来回答问题。多适用于学校和企事业单位举行的简单的抢答活动。通常有一台主机(并配有操作键盘),每位选手配有自动记分的显示器和抢答按钮。系统设置一个系统清除和抢答控制开关S,该开关由主持人控制。并且每次设有抢答时间若无人抢答超过抢答时间扬声器发出报警声响,若有人抢答计时器停止计时并显示回答倒计时和选手编号。关键词:AT89C51单片机;抢答电路;7SEG8位数码管;复位电路2第1章系统概述1.1课程设计的目的标题行段前段后需设置0.5行加深对MCS-51单片机的理解,掌握单片机应用系统的设计方法;掌握常用接口芯片的正确使用方法;强化单片机应用电路的设计与分析能力;提高学生在单片机应用方面的实践技能和科学作风;培育学生综合运用理论知识解决问题的能力,力求实现理论结合实际,学以致用的原则。通过查阅资料、硬件设计、程序设计、安装调试、撰写论文等环节,初步掌握工程设计方法和组织实践的基本技能;熟悉科学实践的程序和办法,为今后从事生产技术工作打下必要的基础;学会灵活运用已经学过的知识,并能不断接受新的知识,大胆发明创造的设计理念。1.2课程设计要求设计一个八路抢答器,能进行抢答和显示抢答选手编号,并显示抢答和回答时间并倒计时:(1)掌握51单片机的汇编语言的基本用法。(2)掌握LED数码管的使用。(3)掌握数码管动态扫描的方法。(4)掌握KILE,WAVE6000的编译与调试。(5)掌握PROEUS的仿真与调试。1.3硬件系统框图AT89C51单片机复位晶振电路时钟频率电路LED显示电路开关控制电路图1.3(按要求设置图编号)硬件系统框图31.4软件系统框图图1.4软件系统框图第2章系统硬件设计2.1晶振复位电路复位是单片机的初始化操作,单片机启动运行时,都必须复位。他的作用是使CPU和系统中其他的部件都处于一个确定的初始状态,并从这个状态开始工作。一般,80C51系列单片机本身是不能自动复位的,必须配合相应的外部电路才能实现。4图2.1晶振及复位电路2.2开关控制电路P1.0~P1.7分别接八位选手的抢答按钮;P3.0和P3.1分别接“开始抢答”按钮和“停止”按钮;P3.7接蜂鸣器;P3.2接74ls04器件;RST接复位开关;P1接八位选择开关;P3.3和P3.4接“抢答时间调整”按钮和“回答时间调整”按钮;P3.5和P3.6接“回答时间”加1和减1按键。5图2.2开关控制电路2.3显示电路显示电路由一块8位共阴级的7SEG-MPX4-CA数码管组成。P0(P0.0-P0.6)端口接数码管的段选,同时接7个10k欧的上拉电阻。P1端口通过总线与八位抢答开关和74HC30的八位端口连接。P2.0-P2.2接数码管的1、2、4位位选。6图2.31(什么芯片??)管脚连接图和引脚图图2.32显示电路部分2.4硬件电路总图将各个部分组装连接起来,认真检查并烧入程序,调试直至结果正确。总电路图如下:7图2.5仿真电路总图第3章软件系统设计3.1程序概述本抢答器程序通过LED动态扫描的方法,允许二个中断T0/T1,一开始就运行定时器,以开始显示FFF.如果想重新计数,重置TH1/TL1就可以了。并有去抖动程序,如果开始键按下就向下执行,否者跳到非法抢答查询,用来实现非法抢答和正确抢答。还含有加一减一程序用来调整抢答和回答时间。3.2程序流程图8图3.2程序总流程图3.3源程序英文和数字字号必须是四号,文字是小四号OKEQU20H;抢答开始标志位RINGEQU22H;响铃标志位DATA0EQU36H;抢答按键口数据存放地址ORG0000HAJMPMAIN初始化显示FFF开始键是否按下20秒钟是否回答时间调整键是否按下是否有人按下抢答键显示抢中号倒计时30秒结束调整时间蜂鸣器报警停止键是否按下YYNYNYNN9ORG0003HAJMPINTT0ORG000BHAJMPT0INTORG001BHAJMPT1INTORG0040HMAIN:MOVR1,#20;初设抢答时间为20sMOVR2,#30;初设答题时间为30smov38h,#60;启用锦囊时间从60s倒计时MOVTMOD,#11H;设置未定时器/模式1MOVTH0,#0F0HMOVTL0,#0FFH;越高发声频率越高,越尖MOVTH1,#3CHMOVTL1,#0B0H;50ms为一次溢出中断SETBEASETBET0SETBET1;允许二个中断,T0/T1CLROKCLRRINGSETBTR1SETBTR0;一开始就运行定时器,以开始显示FFF.如果想重新计数,重置TH1/TL1就可以了;===========查询程序=======START:MOVDATA0,#0FFH;初始化MOVR5,#0BHMOVR4,#0BHMOVR3,#0BHACALLDISPLAY;未开始抢答时候显示FFFJNBP3.3,SELSUB0JNBP3.4,TZ3;倒计时调整10JBP3.0,NEXTACALLDELAYJBP3.0,NEXT;去抖动,如果开始键按下就向下执行,否者跳到非法抢答查询SETBEX0;开放INT0ACALLBARK;按键发声MOVA,R1MOVR6,A;送R1-R6,因为R1中保存了抢答时间SETBOK;抢答标志位,在使用锦囊时用作判断是抢答倒计时还是回答倒计时MOVR3,#0AH;抢答只显示计时,灭号数AJMPCOUNT;进入倒计时程序,查询有效抢答的序在COUNT里面NEXT:JNBP1.0,FALSE1JNBP1.1,FALSE2JNBP1.2,FALSE3JNBP1.3,FALSE4JNBP1.4,FALSE5JNBP1.5,FALSE6JNBP1.6,TZ1JNBP1.7,TZ2AJMPSTARTTZ1:AJMPFALSE7TZ2:AJMPFALSE8TZ3:AJMPSELSUB1;;================非法抢答处理程序=====================FALSE1:MOVR3,#01HAJMPERRORFALSE2:MOVR3,#02HAJMPERRORFALSE3:MOVR3,#03HAJMPERROR11FALSE4:MOVR3,#04HAJMPERRORFALSE5:MOVR3,#05HAJMPERRORFALSE6:MOVR3,#06HAJMPERRORFALSE7:MOVR3,#07HAJMPERRORFALSE8:MOVR3,#08HAJMPERROR;==============SELSUB0(抢答时间R1调整程序)============;====SELSUB0:MOVA,R1MOVB,#0AHDIVABMOVR5,AMOVR4,BMOVR3,#0AHACALLDISPLAY;先在两个时间LED上显示R1JNBP3.5,INC0;P3.5为+1s键,如按下跳到INCOJNBP3.6,DEC0;P3.6为-1s键,如按下跳到DECOJNBP3.1,BACK0;P3.1为确定键,如按下跳到BACKOAJMPSELSUB0INC0:MOVA,R1CJNEA,#63H,ADD02加1,如果加到99,R1就置0,重新加起。MOVR1,#00HACALLDELAY1AJMPSELSUB0ADD0:INCR1ACALLDELAY1AJMPSELSUB0DEC0:MOVA,R112JZSETR1;如果R1为0,R1就置99,DECR1A