8位竞赛抢答器的设计文档格式.docx
- 文档编号:14754555
- 上传时间:2022-10-24
- 格式:DOCX
- 页数:20
- 大小:618.53KB
8位竞赛抢答器的设计文档格式.docx
《8位竞赛抢答器的设计文档格式.docx》由会员分享,可在线阅读,更多相关《8位竞赛抢答器的设计文档格式.docx(20页珍藏版)》请在冰豆网上搜索。
.17
设计任务与要求
以单片机为核心,设计一个8位竞赛抢答器:
同时供8名选手或8个代表队比赛,
分别用8个按钮SO〜S7表示。
设置一个系统清除和抢答控制开关S,开关由主持人控制。
抢答器具有锁存与显示功能。
即选手按按钮,锁存相应的编号,并在优先抢答选手的编号一直保持到主持人将系统清除为止。
抢答器具有定时抢答功能,且一次抢答的时间由主持人设定(如30秒)。
当主持人启动“开始”键后,定时器进行减计时,同时扬声器发出短暂的声响,声响持续的时间为左右。
参赛选手在设定的时间内进行抢答,抢答有效,定时器停止工作,显示器上显示选
手的编号和抢答的时间,并保持到主持人将系统清除为止。
如果定时时间已到,无人抢答,本次抢答无效,系统报警并禁止抢答,定时显示器上显示00。
通过键盘改变抢答的时间,原理与闹钟时间的设定相同,将定时时间的变量置为全局
变量后,通过键盘扫描程序使每按下一次按键,时间加1(超过30时置0)。
同时单片
机不断进行按键扫描,当参赛选手的按键按下时,用于产生时钟信号的定时计数器停
止计数,同时将选手编号(按键号)和抢答时间分别显示在LED上。
、方案设计与论证
方案一:
使用C语言编程实现基于单片机的八位抢答器的课程设计,用到的元器件有
AT89C51、MAX7219按键、数码管、上拉电阻、蜂鸣器等。
万案一:
使用汇编语言编程实现八位抢答器的课程设计,用到的元器件有AT89C51、74LS373、按键、数码管、上拉电阻、蜂鸣器等。
选择方案二的理由:
首先汇编语言是
•种功能很强的程序设计语言
也是利用计算机所有
硬件特性并能直接控制硬件的语言,
具有很高的精确控制;
其次选用
74LS373芯片作为数码
管的控制芯片是因为它容易控制选用
3个74IS373分别控制倒计时的两个数码管及一个显示
抢答结果的数码管,所以我选择了方案〔
—*。
三、单元电路的设计
芯片的选择及工作原理
本设计使用到的元器件包括AT89C51芯片、数码管。
工作原理:
仿真开始显示FFF;
按下“复位”键显示倒计时初值,起初设的是30秒;
再按下“设时”
键,按一下计数初值加1,到30自动清零;
按下“开始”键开始倒计时,每减一,有秒的声响;
当有选手按下,则倒计时停止,显示当前倒计时数值和选手编号;
若在倒计时计数到
0,无人抢答则有1秒声响的报警。
系统的硬件构成及功能
1、单片机晶振及复位部分电路电路
2、选手抢答部分电路:
由八个按键S0~S7以及8个阻值为1k的上拉电阻组成
3、开始、复位、时间设置及扬声器部分电路:
由3个按键、1个电阻、NPF和1个BUZZERS成,用于主持人操作及扬声器提示报警
4、显示部分电路:
由3个74LS373芯片及3个数码管构成,用于显示倒计时时间和抢答结果
四、软件的设计
主程序流程图
开始
显示FFF
时间设置
倒计时加1
主程序
MAIN:
MOVTMOD,#01H
MOVTH0,#3CH
MOVTL0,#0B0H
SETBEA
SETBET0
SETBEX0
SETBIT0
MOVR4,#30
MOVR3,#0AH
MOVR7,#0AH
MOVR6,#0AH
MOVR0,#30;
R0
LCALLXIANSH2
复位键
开始按钮
开始倒计时
30s抢答
显示抢答结果
Ik
;
30秒倒计时
抢答结果
倒计时
存放倒计时的显示值,初值设为
30
子程序
1、开始、复位程序;
********复位程序********FW:
JNB,FW1;
JMPFW
FW1:
LCALLDELAY;
JNB,FW2
FW2:
MOVR3,#0BH;
的代码
MOVA,R4;
MOVR0,A
LCALLXIANSH1
开始程序
SAM:
JNB,PK
JMPSAM
PK:
JNB,PK1;
PK1:
MOVR3,#0BH
SETBTR0;
/
MOVR2,#0AH
HERE:
CJNER1,#01H,YY转入STAR
JMPSTAR;
YY:
JMPHERE2、中断程序;
中断程序IT0P:
CLRTR0
DECR2
CJNER2,#05H,JX0;
clr
JX0:
CJNER2,#00H,JX1
秒
setb
DECR0LCALLXIANSH1
MOVR2,#0AH;
R2
JX1:
LCALLSAMO
CJNER1,#01H,JX2按下则返回
JMPRETURN
JX2:
JNB,PK2
JMPCZ
预判复位键按下否
去抖动,判断是否真按下
复位按下,则存放选手编号的R3,放入"
灭"
倒计时初值R4放入显示倒计时寄存器R0中
扫描开始键是否按下
按下则R3存"
灭”代码,
启动定时器
中断次数设为10次,刚好1秒
若R1中存放的选手按键标志位为1,则
否则继续循环等待中断
中断5次后,开启扬声器
中断10次后,关闭扬声器,这样喇叭响
中再存入中断次数
扫描选手按键标志位R1,未按下则转JX2
PK2:
LCALLDELAY
检测复位键按下否
JNB,QFW
QFW:
MOVR1,#01HJMPRETURN
CZ:
CJNER0,#00H,CZ1clr;
LCALLDELAY5MOVR1,#01HJMPRETURN
CZ1:
MOVTH0,#3CHMOVTL0,#0B0HSETBTR0
RETURN:
RETI3、选手键盘扫描程序
选手键盘扫描程序
SAMO:
JNB,XS1
JNB,XS2
JNB,XS3
JNB,XS4;
JNB,XS5
JNB,XS6
JNB,XS7
JNB,XS80
RETURN2:
RET
XS80:
LJMPXS8
XS1:
JNB,XS11JMPRETURN2
XS11:
MOVR1,#01Hsetb;
MOVR3,#01HLCALLXIANSH1JMPRETURN2
XS2:
LCALLDELAYJNB,XS22JMPRETURN2
XS22:
MOVR3,#02HLCALLXIANSH1JMPRETURN2
XS3:
LCALLDELAYJNB,XS33
JMPRETURN2
按下则返回
倒计时是否计时完毕
及时完毕无人抢答则扬声器开启
延时1秒
R1设1
中断返回计时器初值重装
预扫描选手按键是否按下
未按下则返回
去抖动再判是否按下
按下则显示1号扬声器关闭
按下则显示2号扬声器关闭
XS33:
MOVR3,#03HLCALLXIANSH1JMPRETURN2
XS4:
LCALLDELAYJNB,XS44JMPRETURN2
XS44:
MOVR1,#01HsetbMOVR3,#04HLCALLXIANSH1JMPRETURN2
XS5:
LCALLDELAYJNB,XS55JMPRETURN2
XS55:
MOVR1,#01HsetbMOVR3,#05HLCALLXIANSH1JMPRETURN2
XS6:
LCALLDELAYJNB,XS66JMPRETURN2
XS66:
MOVR3,#06HLCALLXIANSH1JMPRETURN2
XS7:
LCALLDELAYJNB,XS77JMPRETURN2
XS77:
MOVR1,#01HsetbMOVR3,#07HLCALLXIANSH1JMPRETURN2
XS8:
LCALLDELAYJNB,XS88JMPRETURN2
XS88:
MOVR3,#08HLCALLXIANSH1
按下则显示3号扬声器关闭
按下则显示4号扬声器关闭
按下则显示5号扬声器关闭
按下则显示6号扬声器关闭
按下则显示7号扬声器关闭
按下则显示8号扬声器关闭
4、数码管显示程序;
显示程序XIANSH1:
MOVA,R0
MOVB,#0AH;
R0和个位
DIVAB
MOVR7,A
MOVR6,B
XIANSH2:
SETB
CLR;
CLR
MOVA,R3
MOVDPTR,#SEGTAB
MOVCA,@A+DPTR
MOVP2,A
SETB;
MOVA,R7
MOVDPTR,#SEGTAB;
MOVA,R6
5、抢答时间设计程序;
抢答时间设置程序SHESH:
INCR0
CJNER0,#31,BQL;
MOVR0,#00H
BQL:
MOVA,R0;
样可以全局不变,R(会倒计时中递减而改变
MOVR4,A
RETI
6、延时子程序
10ms延时程序(用于去抖动)
中存放的倒计时显示值除10分出十位
;
十位存入R7中
个位存入R6中
选择选手编号的数码管
调入代码
显示选手编号
选择显示十位的数码管
调入代码
显示十位
选择显示个位的数码管
显示个位
倒计时初值加1
倒计时初值设置超过30自动清零
倒计时初值存入其专用寄存器R知,这
DELAY:
MOVR7,#20
D1:
MOVR6,#248
D2:
DJNZR6,D2
DJNZR7,D1
1s延时程序(无人抢答报警)
DELAY5:
MOVR7,#40
DL1:
MOVR6,#50
DL2:
MOVR5,#248
DL3:
DJNZR5,DL3
DJNZR6,DL2
DJNZR7,DL1
五、仿真与调试
抢答器调试结果
1、开始
开始运行
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 竞赛 抢答 设计