基于单片机汇编语言的八路抢答器控制1.docx
- 文档编号:12246803
- 上传时间:2023-04-17
- 格式:DOCX
- 页数:11
- 大小:88.78KB
基于单片机汇编语言的八路抢答器控制1.docx
《基于单片机汇编语言的八路抢答器控制1.docx》由会员分享,可在线阅读,更多相关《基于单片机汇编语言的八路抢答器控制1.docx(11页珍藏版)》请在冰豆网上搜索。
基于单片机汇编语言的八路抢答器控制1
《单片机技术及系统设计》课程设计
基于单片机控制的八路抢答器
姓名
姚荣
院系
信息学院
班级
电子1081
学号
200811631159
指导教师
张红
时间
2011年5月28日
目录
摘要I
introductionII
1课程设计要求1
2元器件选择1
3设计原理1
4各部分设计方案1
4.1复位1
4.2按键部分1
4.3显示部分2
4.4产生方波驱动Speaker扬声器2
5程序框图2
6总结和心得3
鸣谢4
参考文献5
附录一程序6
附录二总电路图9
摘要
电子抢答器(ARush-answermachine)是竞赛问答中的必备装置,在进行问答抢答时候,有时候难以肉眼判断谁快谁慢,所以我们就有需要设计电子的抢答器,由于电子抢答器的速度很快,可以准确的作出判断。
单片机技术凭借其优势很快应用到各个领域,本设计采用AT89C51来设计八路抢答器。
介绍了采用外部中断0和1设计抢答器,由于外部中断0优先级比外部中断1优先级高,所以用外部中断0作为复位。
此外,还用了led作为显示部分,分别对应每一路抢答。
最后通过keil调式,并用proteus仿真,验证设计的正确性。
通过做这次设计,加深单片机应用系统设计的基本理论,基本知识与基本技能,掌握单片机应用系统各主要环节的设计,调试方法。
关键词:
(关键词3到5个,关键词之间用“;”隔开)
单片机程序设计;八路抢答器;led显示
introduction
Electronicviestoansweris(ARush-machine)istheindispensabledevice,competitionq&ainanswer,sometimesnakedeyerespondertojudgewhofast,sowe'llwhoslowtoimplement,thedesignelectronicresponderisbytheelectronicspeed,respondercanaccuratelytojudge.
Relyingonitsadvantagesoonmicrocontrollertechnologyusedinvariousfields,thedesignUSESAT89C51istodesignthezhuhaivies.Introducedtheexternalinterruption0and1designcontestdevice,duetoexternalinterruption0prioritythanexternalinterruption1highpriority,souseexternalinterruption0asthereset.Inaddition,stilluseledasdisplaypartswhichcorrespondingtoeverywaycontest.Finallythroughwithkeilmodal,proteussimulation,thecorrectnessofdesignareverified.Bymakingthisdesign,deepenmicrocomputerapplicationsystemdesignbasictheory,basicknowledgeandbasicskills,graspsthemicrocomputerapplicationsystemdesignofthemainsteps,debuggingmethod.
Keywords:
Microcontrollerprogramdesign,Leddisplay,
设计题目
八路抢答器
(电气1081班,200811631133,姚国荣)
指导教师:
(张瑛)
1课程设计要求
八路抢答器,当其中一路按下,LED显示该路,并发出声音(5秒)。
当有一路按下,其他路的按键无效。
2元器件选择
C51单片机,共阴极led数码管,speaker发音器,按钮若干,八路与非门,,非门,电解电容,电容电阻若干,
3设计原理
本设计通过采用中断的方法,且外部0中断用于复位,外部1中断用于按键,按键产生中断请求,响应中断,通过按键跳转使累加器a获得重新数码1-8,再通过查表指令获得驱动led数码管的代码驱动led数码管,刚开始应经送0显示,所以启动仿真是led应经是点亮,显示0。
同时通过软件延时程序和置1及取反指令产生长度变化的方波,驱动speaker发出声音,控制发音时间5秒。
4各部分设计方案
4.1芯片选择
本设计仅仅使用到单片机的中断和软件延时,所以选用AT89C51作为芯片应经做够了。
4.2复位
复位采用软件复位,设计其中断的优先级最高,复位后把显示部分和累加器都清零。
4.3按键部分
按键采用外部1中断,中断产生后清除中断标志,防止再有其他同级的中断。
4.4显示部分
显示部分用led,通过查表指令获得驱动代码驱动led
4.5产生方波驱动Speaker扬声器
通过改变方波的高低电平时间,得到方波驱动扬声器。
5程序框图
6总结和心得
这次课程设计从13周开始做,一周的时间,不多不少。
可能是有了上个学期的微机原理的基础,这次的单片机课程设计感觉不会那个难入手。
我就说说我是如何准备这次的设计。
首先我确定我要做八路抢答器后,我就总体上构思抢答器设计时要用到那部分的知识,我就先把那部分的知识看过一次,然后有一个框架。
再试着把每个部分的程序先编写出来。
其中产生方波发声音这部分是留到最后才加上的。
每个部分都齐全了,我就综合起来。
于是问题就出现了。
下面说说设计中遇到的问题。
首先,我把电路图画好后,程序也调式好了,装入hex文件后仿真不了,提示说不是程序的问题。
由于对proteus软件不熟,还不知道什么原因。
问了同学才知道,我用了一个不能仿真的与非门,换了一个可以仿真的,电路就可以仿真了。
还有,在处理按键中断的时候,中断处理后,其他同级的中断还可以继续产生中断,原来是我有一个地方处理不好,当我把产生方波那部分加上后,同样的问题又出现了,这次也是很细小的问题,都是我没有注意到的。
例如ret和reti的区别等。
后来把这些地方解决了,程序基本上是这样了,大的地方没有改动。
总体上看,这次做课程设计收获很大,除了要对课本的基本知识掌握,还要会灵活运用,那些部分出错了要能解决,做设计要细心,思路要清晰。
要对软件熟练掌握,由于对课本掌握不够,时间也挺紧,所以选做抢答器,有些地方还是匆忙完成的。
鸣谢
感谢在设计中老师和同学提供的帮助,其中再设计中遇到挺多困难,有些很微小,是同学很细心的帮忙查找出来,在这里表示感谢。
参考文献
[1]周美娟.肖来胜.单片机技术及系统设计.北京:
清华大学出版社,
[2]谭浩强.单片机课程设计.北京:
清华大学出版社,1989
附录一程序
ORG0000H
LJMPMAIN
ORG0003H
LJMPEXT0
ORG0013H
LJMPEXT1
ORG0030H
MAIN:
MOVSP,#07H
SETBEA
SETBEX0
SETBEX1
SETBPX0;定义外部0中断为高优先级
SETBIT0
SETBIT1
CLRPX1;定义外部1中断为低优先级
MOVA,#00H;设计刚开始时数码管是亮的,输出数字0
MOVDPTR,#TAB
MOVCA,@A+DPTR
MOVP1,A
HEER:
;等待中断
CLRIE1;清除中断标志
SJMPHEER
EXT0:
MOVP0,#0FFH;设计复位,用外部中断0复位,复位后显示数字0
MOVP1,#0FFH
MOVA,#00H
MOVDPTR,#TAB
MOVCA,@A+DPTR
MOVP1,A
CLRA
RETI
EXT1:
MOVA,P0;按键中断
JNBACC.0,ANJIAN0
JNBACC.1,ANJIAN1
JNBACC.2,ANJIAN2
JNBACC.3,ANJIAN3
JNBACC.4,ANJIAN4
JNBACC.5,ANJIAN5
JNBACC.6,ANJIAN6
JNBACC.7,ANJIAN7
ANJIAN0:
MOVA,#01H;处理按键中断
MOVDPTR,#TAB
MOVCA,@A+DPTR
MOVP1,A
LJMPFASHENGYIN
ANJIAN1:
MOVA,#02H
MOVDPTR,#TAB
MOVCA,@A+DPTR
MOVP1,A
LJMPFASHENGYIN
ANJIAN2:
MOVA,#03H
MOVDPTR,#TAB
MOVCA,@A+DPTR
MOVP1,A
LJMPFASHENGYIN
ANJIAN3:
MOVA,#04H
MOVDPTR,#TAB
MOVCA,@A+DPTR
MOVP1,A
LJMPFASHENGYIN
ANJIAN4:
MOVA,#05H
MOVDPTR,#TAB
MOVCA,@A+DPTR
MOVP1,A
LJMPFASHENGYIN
ANJIAN5:
MOVA,#06H
MOVDPTR,#TAB
MOVCA,@A+DPTR
MOVP1,A
LJMPFASHENGYIN
ANJIAN6:
MOVA,#07H
MOVDPTR,#TAB
MOVCA,@A+DPTR
MOVP1,A
LJMPFASHENGYIN
ANJIAN7:
MOVA,#08H
MOVDPTR,#TAB
MOVCA,@A+DPTR
MOVP1,A
LJMPFASHENGYIN
FASHENGYIN:
MOVR4,#60;以下是声音控制的程序段,通过控P2.7口的输
loop2:
MOVR3,#50;;出矩形波频率控制蜂鸣器的声调和时间。
loop1:
SETBp2.7
ACALLDELAY1
CPLp2.7
ACALLDELAY2
DJNZR3,loop1
DJNZR4,loop2
NEXT:
JNZNEXT;中断返回
RETI
DELAY1:
MOVR7,#10H;延时560us
D1:
MOVR6,#10H
D2:
DJNZR6,D2
DJNZR7,D1
RET
DELAY2:
MOVR7,#10H;延时1073us
D4:
MOVR6,#20H
D3:
DJNZR6,D3
DJNZR7,D4
RET
TAB:
DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
END
附录二总电路图
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 汇编语言 八路 抢答 控制