《《单片机技术及系统设计》课程设计基于单片机控制的八路抢答器.doc》由会员分享,可在线阅读,更多相关《《单片机技术及系统设计》课程设计基于单片机控制的八路抢答器.doc(13页珍藏版)》请在三一办公上搜索。
1、单片机技术及系统设计课程设计基于单片机控制的八路抢答器姓名姚荣院系信息学院班级电子1081学号200811631159指导教师张红时间2011年 5 月 28 日目 录摘要IINTRODUCTIONII1课程设计要求12元器件选择13设计原理14各部分设计方案14.1复位14.2按键部分14.3显示部分24.4产生方波驱动Speaker扬声器25程序框图26总结和心得3鸣 谢4参考文献5附 录一程序6附录二总电路图9摘要电子抢答器(A Rush-answer machine)是竞赛问答中的必备装置,在进行问答抢答时候,有时候难以肉眼判断谁快谁慢,所以我们就有需要设计电子的抢答器,由于电子抢答器
2、的速度很快,可以准确的作出判断。单片机技术凭借其优势很快应用到各个领域,本设计采用AT89C51来设计八路抢答器。介绍了采用外部中断0和1设计抢答器,由于外部中断0优先级比外部中断1优先级高,所以用外部中断0作为复位。此外,还用了led作为显示部分,分别对应每一路抢答。最后通过keil调式,并用proteus仿真,验证设计的正确性。通过做这次设计,加深单片机应用系统设计的基本理论,基本知识与基本技能,掌握单片机应用系统各主要环节的设计,调试方法。关键词:(关键词3到5个,关键词之间用“;”隔开)单片机程序设计;八路抢答器;led显示INTRODUCTIONElectronic vies to
3、answer is (A Rush - machine) is the indispensable device, competition q&a in answer, sometimes naked eye responder to judge who fast, so well who slow to implement, the design electronic responder is by the electronic speed, responder can accurately to judge.Relying on its advantage soon microcontro
4、ller technology used in various fields, the design USES AT89C51 is to design the zhuhai vies. Introduced the external interruption 0 and 1 design contest device, due to external interruption 0 priority than external interruption 1 high priority, so use external interruption 0 as the reset. In additi
5、on, still use led as display parts which corresponding to every way contest. Finally through with keil modal, proteus simulation, the correctness of design are verified. By making this design, deepen microcomputer application system design basic theory, basic knowledge and basic skills, grasps the m
6、icrocomputer application system design of the main steps, debugging method.KEYWORDS: Microcontroller program design,Led display,设计题目八路抢答器(电气1081班,200811631133,姚国荣)指导教师:(张瑛)1 课程设计要求八路抢答器,当其中一路按下,LED显示该路,并发出声音(5秒)。当有一路按下,其他路的按键无效。2 元器件选择C51单片机,共阴极led数码管,speaker发音器,按钮若干,八路与非门,非门,电解电容,电容电阻若干,3 设计原理本设计通过
7、采用中断的方法,且外部0中断用于复位,外部1中断用于按键,按键产生中断请求,响应中断,通过按键跳转使累加器a获得重新数码1-8,再通过查表指令获得驱动led数码管的代码驱动led数码管,刚开始应经送0显示,所以启动仿真是led应经是点亮,显示0。同时通过软件延时程序和置1及取反指令产生长度变化的方波,驱动speaker发出声音,控制发音时间5秒。4 各部分设计方案4.1芯片选择本设计仅仅使用到单片机的中断和软件延时,所以选用AT89C51作为芯片应经做够了。4.2复位复位采用软件复位,设计其中断的优先级最高,复位后把显示部分和累加器都清零。4.3按键部分按键采用外部1中断,中断产生后清除中断标
8、志,防止再有其他同级的中断。4.4显示部分显示部分用led,通过查表指令获得驱动代码驱动led4.5产生方波驱动Speaker扬声器通过改变方波的高低电平时间,得到方波驱动扬声器。5 程序框图6 总结和心得这次课程设计从13周开始做,一周的时间,不多不少。可能是有了上个学期的微机原理的基础,这次的单片机课程设计感觉不会那个难入手。我就说说我是如何准备这次的设计。首先我确定我要做八路抢答器后,我就总体上构思抢答器设计时要用到那部分的知识,我就先把那部分的知识看过一次,然后有一个框架。再试着把每个部分的程序先编写出来。其中产生方波发声音这部分是留到最后才加上的。每个部分都齐全了,我就综合起来。于是
9、问题就出现了。下面说说设计中遇到的问题。首先,我把电路图画好后,程序也调式好了,装入hex文件后仿真不了,提示说不是程序的问题。由于对proteus软件不熟,还不知道什么原因。问了同学才知道,我用了一个不能仿真的与非门,换了一个可以仿真的,电路就可以仿真了。还有,在处理按键中断的时候,中断处理后,其他同级的中断还可以继续产生中断,原来是我有一个地方处理不好,当我把产生方波那部分加上后,同样的问题又出现了,这次也是很细小的问题,都是我没有注意到的。例如ret和reti的区别等。后来把这些地方解决了,程序基本上是这样了,大的地方没有改动。总体上看,这次做课程设计收获很大,除了要对课本的基本知识掌握
10、,还要会灵活运用,那些部分出错了要能解决,做设计要细心,思路要清晰。要对软件熟练掌握,由于对课本掌握不够,时间也挺紧,所以选做抢答器,有些地方还是匆忙完成的。鸣 谢感谢在设计中老师和同学提供的帮助,其中再设计中遇到挺多困难,有些很微小,是同学很细心的帮忙查找出来,在这里表示感谢。参考文献1周美娟.肖来胜.单片机技术及系统设计.北京:清华大学出版社, 2谭浩强.单片机课程设计. 北京:清华大学出版社,1989附 录一程序ORG 0000HLJMP MAINORG 0003HLJMP EXT0ORG 0013HLJMP EXT1ORG 0030HMAIN: MOV SP,#07HSETB EASE
11、TB EX0SETB EX1SETB PX0 ;定义外部0中断为高优先级SETB IT0SETB IT1CLR PX1;定义外部1中断为低优先级MOV A,#00H ;设计刚开始时数码管是亮的,输出数字0MOV DPTR,#TABMOVC A,A+DPTRMOV P1,AHEER: ;等待中断CLR IE1 ;清除中断标志SJMP HEEREXT0:MOV P0,#0FFH ;设计复位,用外部中断0复位,复位后显示数字0MOV P1,#0FFHMOV A,#00HMOV DPTR,#TABMOVC A,A+DPTRMOV P1,ACLR ARETIEXT1: MOV A,P0 ;按键中断JNB
12、 ACC.0, ANJIAN0JNB ACC.1, ANJIAN1JNB ACC.2, ANJIAN2JNB ACC.3, ANJIAN3JNB ACC.4, ANJIAN4JNB ACC.5, ANJIAN5JNB ACC.6, ANJIAN6JNB ACC.7, ANJIAN7ANJIAN0: MOV A,#01H ;处理按键中断MOV DPTR,#TABMOVC A,A+DPTRMOV P1,ALJMP FASHENGYINANJIAN1:MOV A,#02HMOV DPTR,#TABMOVC A,A+DPTRMOV P1,ALJMP FASHENGYINANJIAN2:MOV A,#0
13、3HMOV DPTR,#TABMOVC A,A+DPTRMOV P1,ALJMP FASHENGYINANJIAN3:MOV A,#04HMOV DPTR,#TABMOVC A,A+DPTRMOV P1,ALJMP FASHENGYINANJIAN4:MOV A,#05HMOV DPTR,#TABMOVC A,A+DPTRMOV P1,ALJMP FASHENGYINANJIAN5:MOV A,#06HMOV DPTR,#TABMOVC A,A+DPTRMOV P1,ALJMP FASHENGYINANJIAN6:MOV A,#07HMOV DPTR,#TABMOVC A,A+DPTRMOV
14、P1,ALJMP FASHENGYINANJIAN7:MOV A,#08HMOV DPTR,#TABMOVC A,A+DPTRMOV P1,ALJMP FASHENGYINFASHENGYIN:MOV R4,#60; 以下是声音控制的程序段,通过控P2.7口的输loop2: MOV R3,#50 ;;出矩形波频率控制蜂鸣器的声调和时间。loop1:SETB p2.7 ACALL DELAY1 CPL p2.7 ACALL DELAY2 DJNZ R3,loop1 DJNZ R4,loop2NEXT:JNZ NEXT ;中断返回RETIDELAY1:MOVR7,#10H;延时560usD1: MOV R6,#10HD2: DJNZR6,D2DJNZ R7,D1 RETDELAY2:MOVR7,#10H;延时1073usD4: MOVR6,#20HD3: DJNZR6,D3 DJNZR7,D4 RETTAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FHEND附录二总电路图