《单片机课程设计(基于多路数字抢答器).doc》由会员分享,可在线阅读,更多相关《单片机课程设计(基于多路数字抢答器).doc(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流单片机课程设计(基于多路数字抢答器).精品文档.一、概述大学四年的学习生活中,会遇到各种各样的竞赛,抢答器便成为了主要的工具之一。而现在的抢答器智能化越来越强,这必然会提高抢答器的成本。本抢答器与其他抢答器电路相比较成本低、制作方便,并且还有作弊显示功能。因此,这款四路抢答器摒弃了成本高、体积大、操作复杂等不足。我们采用了数字显示器直接指示,因而本抢答器具有显示直观,操作简单的特点。二、主要功能及技术指标抢答器的工作原理是用矩阵式键盘进行抢答。采用动态显示组号。主持人按下开始抢答键才可以抢答。主持人没有按下开始抢答按纽(P3.2),有人抢答则
2、抢答违规,报警并显示组号,主持人按下开始抢答开关重新抢答。主持人按下开始抢答按纽(P3.2),蜂鸣响声提示,且数码管10秒倒计时(10秒内抢答有效),有人在10秒抢答,蜂鸣器响声提示并显示他的组号,3秒开始20秒倒计时(20秒内必须回答完问题)。20秒后主持人按下复位开关为下一题的抢答做准备。单片机最小系统、抢答按键模块(四位并行数码显示、1*4矩阵式键盘)、显示模块、抢答开关模块、蜂鸣器输出模块。三、系统组成及原理1、分图四、软件1、分配流程图2、源程序 ORG 0000H LJMP MAIN ORG 0013H LJMP ESS1 ORG 0100HMAIN:SETB EA SETB EX
3、1 SETB IT1 ;外部中断1初始化 L16:MOV P1,#0FFH MOV R2,#00H CLR P1.0 INC R2 JB P1.4,L0 LCALL DE0 L0:INC R2 JB P1.5,L1 LCALL DE0 L1:INC R2 JB P1.6,L2 LCALL DE0 L2:INC R2 JB P1.7,L3 LCALL DE0 L3:SETB P1.0 CLR P1.1 INC R2 JB P1.4,L4 LCALL DE0 L4:INC R2 JB P1.5,L5 LCALL DE0 L5:INC R2 JB P1.6,L6 LCALL DE0 L6:INC R
4、2 JB P1.7,L7 LCALL DE0 L7:SETB P1.1 CLR P1.2 INC R2 JB P1.4,L8 LCALL DE0 L8:INC R2 JB P1.5,L9 LCALL DE0 L9:INC R2 JB P1.6,L10 LCALL DE0 L10:INC R2 JB P1.7,L11 LCALL DE0 L11:SETB P1.2 LJMP L16;读行列式键盘 ESS1:MOV 70H,#30D ;外部中断1 MOV R7,#0CH CLR P3.0 S2:LCALL DELAY DJNZ 70H,S2 SETB P3.0 ;蜂鸣器提示开始抢答 MOV TMO
5、D,#00010000B MOV R3,#0AH L20:MOV 55H,#14H L19:MOV TH0,#3CH MOV TL0,#0B0H ;定时器1初始化 SETB TR1 ;启动定时器1 MOV A,R3 MOV B,#0AH DIV AB MOV DPTR,#TAB MOVC A,A+DPTR MOV 53H,A CLR P2.4 MOV P0,53H LCALL DELAY1 SETB P2.4 MOV A,B MOVC A,A+DPTR MOV 54H,A CLR P2.5 MOV P0,54H LCALL DELAY1 SETB P2.5 L18:JNB TF1,L18 CL
6、R TF1 DJNZ 55H,L19 DEC R3 CJNE R7,#00H,D6 LJMP D5 D6:CJNE R3,#0FFH,L21 LJMP L22 L21:LJMP L20 ;抢答倒计时 L22:MOV 73H,#02D S5:MOV 70H,#20D MOV 71H,#20H CLR P3.0 S4:LCALL DELAY DJNZ 70H,S4 SETB P3.0 S6:LCALL DELAY DJNZ 71H,S6 DJNZ 73H,S5 ;抢答倒计时时间到声音提示 D5:RETI DE0:MOV DPTR,#TAB ;抢答违规报警并显示抢答违规组号 MOV A,R2 MOV
7、 B,#0AH S10:MOV 72H,#20D MOV 73H,#10D CLR P3.0 S8:LCALL LCC DJNZ 72H,S8 SETB P3.0 S9:LCALL LCC DJNZ 73H,S9 DJNZ 71H,S10 L17:LCALL LCC LJMP L17 LCC:CLR P2.4 MOV P0,50H LCALL DELAY DELAY1:MOV P1,#0FFH ;正常抢答读键 MOV R4,#250D W17:MOV R2,#00H CLR P1.0 INC R2 JB P1.4,W0 LCALL DE1 W0:INC R2 JB P1.5,W1 LCALL
8、DE1 W1:INC R2 JB P1.6,W2 LCALL DE1 W2:INC R2 JB P1.7,W3 LCALL DE1 W3:SETB P1.0 CLR P1.1 INC R2 JB P1.4,W4 LCALL DE1 W4:INC R2 JB P1.5,W5 LCALL DE1 W5:INC R2 JB P1.6,W6 LCALL DE1 W6:INC R2 JB P1.7,W7 LCALL DE1 W7:SETB P1.1 CLR P1.2 INC R2 JB P1.4,W8 LCALL DE1 W8:INC R2 JB P1.5,W9 LCALL DE1 W9:INC R2
9、JB P1.6,W10 LCALL DE1 W10:INC R2 JB P1.7,W15 LCALL DE1 W15:SETB P1.3 DJNZ R4,W16 LJMP W18 W16:LJMP W17 W18:RET DE1:MOV P1,#0FFH ;抢答成功声音提示及回答问题时间20秒倒计时 MOV 70H,#20D CLR P3.0 S3:LCALL DELAY DJNZ 70H,S3 SETB P3.0 SETB P2.0 SETB P2.1 MOV DPTR,#TAB MOV A,R2 MOV B,#0AH DIV AB MOVC A,A+DPTR MOV 56H,A MOV A
10、,B MOVC A,A+DPTR MOV 57H,A MOV TMOD,#00000001B MOV R5,#16H L32:MOV R6,#14H L31:MOV TH0,#3CH MOV TL0,#0B0H SETB TR0 CLR P2.4 MOV P0,56H LCALL DELAY SETB P2.4 CLR P2.5 MOV P0,57H LCALL DELAY SETB P2.5 CJNE R5,#14H,L34 LJMP L35L34: JC L35 LJMP L30L35: MOV A,R5 MOV B,#0AH DIV AB MOVC A,A+DPTR MOV 58H,A
11、MOV A,B MOVC A,A+DPTR MOV 59H,A CLR P2.6 MOV P0,58H LCALL DELAY SETB P2.6 CLR P2.7 MOV P0,59H LCALL DELAY SETB P2.7 L30:JNB TF0,L30 CLR TF0 DJNZ R6,L31 DEC R5 CJNE R5,#0FFH,L32 MOV P1,#0FFH MOV 70H,#50D CLR P3.0 S7:LCALL DELAY DJNZ 70H,S7 SETB P3.0 MOV P2,#0FFH MOV R3,#00H MOV R7,#00H RETDELAY:MOV 5
12、1H,#10D ;延时子程序 D0:MOV 52H,#248D D1:DJNZ 52H,D1 DJNZ 51H,D0 RET TAB:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH END五、分析 这次实训遗憾的是,我的实训材料是买的成品的板,没有自己去焊制自己的实训板,当然这节省了一些时间,但是,在原理图上确实也花费了一些时间。对于四路抢答器的程序方面,也有需要改进的地方,有很多的不合适的地方,比如,在违规抢答倒计时方面,当你违规抢答时,也会出现20秒的倒计时,和正常抢答的一样。所以,在以后的编程和调试过程中还应该注意这种小的毛病。六、体会本次实训使我对
13、单片机有课更加深入的了解,以及对汇编语言的编程有了更进一步的体会,知道在编程的过程中会有大量的错误产生,一次一次的修改,有时真的比较麻烦。在最初读程序的过程中,也遇到过大量的程序读不懂,在编程的过程中,确实话费了很多的时间。在此我非常要感谢的是各位知道老师不遗余力的指导,同样也非常感谢同学的帮助,在我不懂程序时帮助我完善程序。这次实训能够顺利的完成,当然与我个人的努力也是分不开的。七、参考文献1张鑫单片机原理及应用电子工业出版社2010年2李泉溪单片机原理与应用实例仿真北京航天航空大学出版社 2009年3 张洪润单片机应用设计200例北京航空航天大学出版社2006年4 万光毅单片机实验与实践教程北京航天航空大学出版社2003年