学 号
分 类 号
密 级
课程设计
基AT89C51单片机抢答器设计
学 院 名 称: 工 学 院
专 业 名 称: 机械设计制造动化
学 生 姓 名:
学 生 学 号:
指 导 老 师:
2014 年 X 月 X 日
摘
路数字抢答器种智力竞赛中常校举行种竞赛中常抢答环节举办方数采选手通举答题板方法判断选手答题权某种程度会持观误断造成赛公性解决问题准备次课程设计机会制作八路数显抢答器方面加深学知识解巩固模拟数字电路知识提升解决日常生活中常见问题力掌握般设计方法设计步骤积累实际设计制作验走更复杂更实应领域奠定基础控制系统单片机控制电路存储器接口电路显示电路组成具体AT89C51单片机系统工作核心负责控制部分协调工作外围接复位电路拉电阻数码钮扬声器元器件晶振X1电容C1C2C3电阻RP1P30P31持控制分抢答停止开始键P10178组输入口P20P23数码段选口位选口P0P06口输出外部中断01P33P34抢答计时调整口实现队计时加减调整外部中断01实现答题时间调整P34P35分实现时间加减P36蜂鸣口控制口安装led灯中WAVE软件集成调试环境集成编辑器编译器调试器支持软件模拟等时PROTEUS软件通仿真完全实现设计系统功模拟
关键词:路数字抢答器AT89C51 WAVE PROTEUS
目 录
1 绪……………………………………………………………………………1
11 引言………………………………………………………………………2
12 抢答器原理………………………………………………………………2
2 硬件设计………………………………………………………………………3
21 晶振复位开始抢答电路3
22 选手抢答键………………………………………………………………3
23 显示显示驱动电路……………………………………………………4
24 蜂鸣音频LED灯输出电路……………………………………………4
3 软件设计………………………………………………………………………5
31 系统流程图………………………………………………………………5
32 显示抢答违规流程图……………………………………………………7
33 抢答成功流程图…………………………………………………………7
4 系统仿真………………………………………………………………………8
41 仿真步骤…………………………………………………………………8
5 课程设计总结体会…………………………………………………………10
参考文献…………………………………………………………………………10
附录………………………………………………………………………………12
附录A…………………………………………………………………………12
附录B…………………………………………………………………………23
1 绪
11 引言
单片机作计算机重分支应范围广发展快已成现代电子技术计算机应网络通信动控制计量测试数采集信号处理等技术中日益普项新兴技术应范围十分广泛计算机专业学生说暂时没事单片机应开发学单片机重意义学仅事该方面开发基础方面单片机作微型计算机种类麻雀五脏俱全作微型计算机简化模型学单片机加深微型计算机工作原理理解更加清楚计算机脉络时提供实际应手段21世纪信息技术飞速发展时代智力竞赛种形式较活泼教育方式休闲娱乐生活部分竞赛方面充实娱乐生活方面提高努力汲取相关领域知识兴趣智力竞赛参赛选手间规定时间规定点相互竞争赛
抢答种竞赛常种形式抢答赛中持宣布抢答开始确定选手抢答题权具体答题时间时设定果仅持观判断容易出现误判情况竞赛中抢答器扮演非常重角色
抢答器计数器寄存器集成定时器译码显示等组合时序电路组成分抢答电路定时电路报警电路等单元部分单元电路分处理抢答竞赛中基问题
次课程设计设计路定时抢答器两位选手参赛抢答器具锁存显示功时持控制系统清零抢答开始抢答开始名选手动抢答钮抢答器会显示该选手编号直系统持清零扬声器发出提示时抢答效次设计抢答器动定时功持设定选手答题时间持启动开始键定时器会动减计时会显示显示器选手抢答时间抢答效答题时间没选手答题时间时报警电路会发出警报亮灯禁止抢答 T5
12 抢答器原理
抢答器工作原理采单片机系统程序查询方式采动态显示组号持开始抢答键抢答持没开始抢答纽(P30)抢答抢答违规报警显示组号持开始抢答开关重新抢答持开始抢答纽(P30)蜂鸣响声提示数码30秒倒计时抢答蜂鸣器响声提示显示组号30秒抢答开始60秒倒计时(60秒必须回答完问题)五秒倒计时警报单片机系统抢答键模块(四位行数码显示)显示模块显示驱动模块抢答开关模块蜂鸣器音频输出模块
13 单片机控制原理
单片机(SCM)单片微型计算机(Single Chip Microcomputer)简称中央处理器CPU机存储器RAM读存储器ROMIO接口电路定时计数器输入输出适配器集成块芯片构成完整微型计算机优点体积放仪表部存储量输入输出适配器简单功较低目前单片机民工业测控领域广泛应早已深深融入生活中
简单说单片机系统设计抢答器实现两组抢答时间相差微秒分辨出组优先答题
2 硬件设计
21 晶振复位开始抢答电路
晶振频率12MHZ提供89C51时钟脉89C51工作复位电路单片机初始化单片机重新开始执行程序复位开关RST低电变高电程序头开始执行次课程设计电路中问题结束持复位开关进行题准备
图1复位开始抢答电路
22选手抢答键
89C51P1口做选手抢答输入键引脚P10P17轮流输出低电位选手编号18选手钮时P1口端口电变化P1口输入单片机处理P0输出数码显示抢答者编号
图2选手抢答电路
23显示显示驱动电路
电路包括显示驱动显示采数码驱动P2口 违规者编号抢答30秒倒计时正常抢答者编号回答问题时间60秒倒计时数码采动态显示驱动电路P2口查询显示程序利P0口做段选码口输出P2低3位做位选码输出低电驱动数码显示数字+5V电压接10k电阻保证正常压降
图3显示显示驱动电路
24蜂鸣器音频LED灯输出电路
通控制频率矩形脉控制蜂鸣器发声次课程设计中需简单提示声音稍微显眼灯控抢答违规开始抢答抢答时间结束回答时间提示声亮灯提醒
图4输出电路
3 软件设计
31系统流程图
开 始
初 始 化
读键盘否键
调显示抢答违规报警子程序
Y
中断条件否满足
N
进入中断程序
Y
N
开 始
开中断响声提示
设定定时器初值启动定时器
30秒抢答时间显示
调读键子程序延时程序
否键
调抢答者获回答问题子程序
N
Y
60秒中断返回
图1系统流程图
32显示抢答违规流程图 33抢答成功流程图
开 始
报警直提示
显示违规者编号
开 始
响声提示
设置定时器初值启动
显示抢答者30秒倒计时
60秒答问题时间响声提示
RET
图2显示抢答违规流程图 图3抢答成功流程图
4 系统仿真
41仿真步骤
1)程序设计汇编软件(伟福6000)编译生成HEX文件
2)proteus中加载HEX文件
3)点击开始仿真软件进行仿真仿真效果:
5课程设计总结体会
接触单片机直觉单片机非常难次课程设计开始老师布置题目选择象面发现八路数字抢答器脑海中根没点意象网搜资料感觉懂问老师弄面发现老师意见原程序图方便两者综合调试运行发现行通便开始忐忑正文模版路快搞完面发现实程序图细细弄懂写报告程序图细细剖析遍然慢慢流程图proteus图画截取段时间电脑前面驻守觉肯付出努力发现实东西难懂提升动手力独立思考力
参考文献
[1] 张迎新 单片机初级教程北京航天航空学出版社 2000年
[2] 康华光 电子技术基础(模拟部分)第四版 高等教育出版社 1999年
[3] 喻宗泉 单片机原理应技术西安电子科技学出版社 2005年
[4] 万光毅 单片机实验实践教程 北京航天航空学出版社 2003年
[5] 张俊谟 单片机初级教程北京航天航空学出版社 2000年
附录 A(源文件)
OK EQU 20H抢答开始标志位
RING EQU 22H铃声标志位
ORG 0000H
AJMP MAIN
ORG 00003H
AJMP INT0SUB
ORG 000BH
AJMP TOINT
ORG 0013H
AJMP INT1SUB
ORG 001BH
AJMP T1INT
ORG 0040H
MAIN MOV R1#3O初设抢答时间30S
MOV R2#60初设答题时间60S
MOV TMOD#11H设置未定时器模式1
MOV TH0#0F0H
MOV TL0#0FFH越高发生频率越高越尖
MOV TH1#3CH
MOV TL1#0B0H5Oms次溢出中断
SETB EA
SETB ET0
SETB ET1
SETB EX0
SETB EX1允许四中断TOT1INT0INT1
CLR OK
CLR RING
SETB TR1
SETB TR0开始运行定时器开始显示FFF果想重新计数重置TH1TL1
查询程序
START MOV R5#0BH
MOV R4#0BH
MOV R3#0BH
ACALL DISPLAY未开始抢答时显示FFF
JB P30NEXT
ACALL DELAY
JB P30NEXT抖动果开始键执行否跳非法抢答查询
ACALL BARK键发声
MOV AR1
MOV R6A送R1R6R1中保存抢答时间
SETB OK抢答标志位COUNT子程序中判断否查询抢答
MOV R7#01H读抢答键数信号标志里表示读次信号
MOV R3#0AH抢答显示计时灭号数
AJMP COUNT进入倒计时程序查询效抢答程序COUNT里面
NEXT JNB P10FALSE1
JNB P11FALSE2
JNB P12FALSE3
JNB P13FALSE4
JNB P14FALSE5
JNB P15FALSE6
JNB P16FALSE7
JNB P17FALSE8
AJMP START
非法抢答处理程序
FALSE1MOV R3#01H
AJMP ERROR
FALSE2MOV R3#02H
AJMP ERROR
FALSE3MOV R3#03H
AJMP ERROR
FALSE4MOV R3#04H
AJMP ERROR
FALSE5MOV R3#05H
AJMP ERROR
FALSE6MOV R3#06H
AJMP ERROR
FALSE7MOV R3#07H
AJMP ERROR
FALSE8MOV R3#08H
AJMP ERROR
INTO(抢答时间R1调整程序)
INT0SUBMOV AR1
MOV B#0AH
DIV AB
MOV R5A
MOV R4B
MOV R3#0AH
ACALL DISPLAY 先两时间LED显示R1
JNB P34INC0 P34加1s键果跳INC0
JNB P35DEC0 P35减1s键果跳DEC0
JNB P31BACK0 P31确定键果跳BACK0
AJMP INT0SUB
INC0MOV AR1
CJNE A#63HADD0果99R2加99R1置0 重新加起
MOV R1#00H
ACALL DELAY1
AJMP INT0SUB
ADD0INC R1
ACALL DELAY1
AJMP INT0SUB
DEC0MOV AR1
JZ SETR果R10R1置99
DEC R1
ACALL DELAY1
AJMP INT0SUB
SETRMOV R1#63H
ACALL DELAY1
AJMP INT0SUB
BACK0RETI
INT1(回答时间R2调整程序)
INT1SUBMOV AR2
MOV B#0AH
DIV AB
MOV R5A
MOV R4B
MOV R3#0AH
ACALL DISPLAY
JNB P34INC1
JNB P35DEC1
JNB P31BACK1
AJMP INT1SUB
INC1MOV AR2
CJNE A#63HADD1
MOV R2#00H
ACALL DELAY1
AJMP INT1SUB
ADD1INC R2
ACALL DELAY1
AJMP INT1SUB
DEC1MOV AR2
JZ SETR
DEC R2
ACALL DELAY1
AJMP INT1SUB
BACK1RETI
倒计时程序(抢答倒计时回答倒计时跳该程序)
REPEATMOV AR2锦囊重新计时
MOV R6A
CLR RING
COUNTMOV R0#00H重新定时器中断次数
MOV TH1#3CH
MOV TL1#0B0H重置定时器
RECONTMOV AR6R6保存倒计时时间前先抢答时间回答时间R6
MOV B#0AH
DIV AB十分出位十位
MOV 30HA十位存(30H)
MOV 31HB位存(31H)
MOV R530H取十位
MOV R431H取位
MOV AR6
SUBB A#07H
JNC LARGER 5s跳LARGER等5s会提醒
MOV AR0
CJNE A#0AHFULL1s中05s运行
CLR RING
AJMP CHECK
FULLCJNE A#14HCHECK面1s情况响显示号数清R0重新计
SETB RING
MOV AR6
JZ QUIT计时完毕
MOV R0#00H
DEC R6秒标志减1
AJMP CHECK
LARGERMOV AR0
CJNE A#14HCHECK果1s运行否跳查询停显示
DEC R6计时秒R6动减1
MOV R0#00H
CHECKJNB P31QUIT停止键退出
JNB OKCHECKK回答倒计时效
AJMP NEXTT
CHECKKJNB P30REPEAT判断否锦囊
NEXTTACALL DISPLAY
JB OKACCOUNT果抢答倒计时果查询抢答否跳查询继续倒计数(里起锁抢答作)
AJMP RECONT
ACCOUNTMOV A36H
JNB ACC0TRUE1
JNB ACC1TRUE2
JNB ACC2TRUE3
JNB ACC3TRUE4
JNB ACC4TRUE5
JNB ACC5TRUE6
JNB ACC6TZ1
JNB ACC7TZ2
AJMP RECONT
TZ1JMP TRUE7
TZ2JMP TRUE8
QUITCLR OK果停止键执行程序
CLR RING
AJMP START
正常抢答处理程序
TRUE1ACALL BARK
MOV AR2
MOV R6A抢答时间R2送R6
MOV R3#01H
CLR OK答题计时查询抢答锁抢答
AJMP COUNT
TRUE2ACALL BARK
MOV AR2
MOV R6A抢答时间R2送R6
MOV R3#02H
CLR OK答题计时查询抢答锁抢答
AJMP COUNT
TRUE3ACALL BARK
MOV AR2
MOV R6A抢答时间R2送R6
MOV R3#03H
CLR OK答题计时查询抢答锁抢答
AJMP COUNT
TRUE4ACALL BARK
MOV AR2
MOV R6A抢答时间R2送R6
MOV R3#04H
CLR OK答题计时查询抢答锁抢答
AJMP COUNT
TRUE5ACALL BARK
MOV AR2
MOV R6A抢答时间R2送R6
MOV R3#05H
CLR OK答题计时查询抢答锁抢答
AJMP COUNT
TRUE6ACALL BARK
MOV AR2
MOV R6A抢答时间R2送R6
MOV R3#06H
CLR OK答题计时查询抢答锁抢答
AJMP COUNT
TRUE7ACALL BARK
MOV AR2
MOV R6A抢答时间R2送R6
MOV R3#07H
CLR OK答题计时查询抢答锁抢答
AJMP COUNT
TRUE8ACALL BARK
MOV AR2
MOV R6A抢答时间R2送R6
MOV R3#08H
CLR OK答题计时查询抢答锁抢答
AJMP COUNT
犯规抢答程序
ERRORMOV R0#00H
MOV TH1#3CH
MOV TL1#0B0H
MOV 34HR3犯规号数暂存(34H)
HEREMOV AR0
CJNE A#06HFLASH03s运行灭停响
CLR RING
MOV R3#0AH
MOV R4#0AH
MOV R5#0AH三灯全灭
AJMP CHECK1
FLASHCJNE A#0CHCHECK1面08s情况响显示号数清R0重新计
SETB RING
MOV R0#00H
MOV R334H取回号数
MOV R5#0BH
MOV R4#0BH显示FF号数
AJMP CHECK1
CHECK1JNB P31QUIT1
LCALL DISPLAY
AJMP HERE
QUIT1CLR RING
CLR OK
LJMP START
显示程序
DISPLAYMOV DPTR#DAT1查询显示程序利P0口做段选码口输出P2低3位做位选码输出
MOV AR3
MOVC A@A+DPTR
MOV P2#0FEH
MOV P0A
ACALL DELAY2
MOV DPTR#DAT2
MOV AR5
MOVC A@A+DPTR
MOV P2#0FDH
MOV P0A
ACALL DELAY2
MOV AR4
MOVC A@A+DPTR
MOV P2#0FDH
MOV P0A
ACALL DELAY2
RET
DAT1
DB 00H06H5BH4FH66H6DH7DH07H7FH6FH00H71H 灭0123456789灭F
DAT2
DB 3FH06H5BH4FH66H6DH7DH07H7FH6FH00H71H第0相十位果0显示灭
加减时间延时(起会加N数)
DELAY1MOV 35H#08H
LOOP0ACALL DISPLAY
DJNZ 35HLOOP0
RET
延时4236机器周期(抖动)
DELAYMOV 32H#12H
LOOPMOV 33H#0AFH
LOOP1DJNZ 33HLOOP1
DJNZ 32HLOOP
RET
延时4236机器周期(显示)
DELAY2MOV 32H#43H
LOOP3MOV 33H#1EH
MOV AR7隔6070机器周期读次P1口全1时效数继续读1时转正常抢答处理
JNZ AAAA1没读效数时继续转AAAA1
LOOP2DJNZ 33HLOOP2
DJNZ 32HLOOP3
RET
读抢答键数口程序
AAAA1MOV AP1
CJNE A#0FFHAA1全1时数效数
AA0MOV 36HA效数送36H暂存
AJMP LOOP2
AA1DEC R7
AJMP AA0
发声程序
BARKSETB RING
ACALL DELAY1
ACALL DELAY1
CLR RING键发声
RET
T0溢出中断
TOINTMOV TH0#0ECH
MOV TL0#0FFH
JNB RINGOUT
CPL P36RING标志位1时P36口短路取反喇叭发出定频率声音
OUTRETI
T1溢出中断(计时程序)
T1INTMOV TH1#3CH
MOV TL1#0B0H
INC R0
RETI
END
附录 B (电路总设计图)
41 原理电路总框图
图1抢答器总原理图
文档香网(httpswwwxiangdangnet)户传
《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档