重庆大学单片机课程交流设计-八人抢答器_第1页
重庆大学单片机课程交流设计-八人抢答器_第2页
重庆大学单片机课程交流设计-八人抢答器_第3页
重庆大学单片机课程交流设计-八人抢答器_第4页
重庆大学单片机课程交流设计-八人抢答器_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实用文档单片机多路抢答器设计与实现班级:小组成员:设计思路1.外部电路连接将主持人按钮与单片机INT0口连接,按下时输出低电平;将选手抢答按钮与单片机P0口连接,按下时输出低电平;将8个指示灯与单片机P1口连接,当P1口输出高电平时指示灯熄灭,输出低电平时点亮。为了实现主持人控制抢答的开始和选手抢答功能,设置两个外部中断,在中断程序中实现相关功能。2.主持人中断INT0:1)实现功能:5s倒计时、解锁选手抢答功能、新一轮抢答的开启2)实现方案:a.5s倒计时功能:将定时器0的工作方式设置为非门控、定时器、工作方式1,一轮定时时间约为65ms。定时器循环15次,即完成1s延时功能。首先将P1口置为00000111,每次延时后,P1口内容左移一位,并将P1.0设置为1,一共循环5次,即可完成指示灯倒计时的功能。b.解锁选手抢答功能:程序开始时,屏蔽外部中断1,完成倒计时后,再允许INT1的请求。c.新一轮抢答的开启:将INT0的优先级设置为最高级3.选手抢答中断INT1:1)实现功能:抢答、检测是否有抢答并列、程序感知并点亮选手对应的指示灯2)实现方案:因为单片机的机器周期远远小于按钮开关与电路的接触时间,因此在中断响应后先读出P0口的状态,存入累加器中。取反后对累加器内容取反后依次右移,检测最低位是否为1,如果是,将其与11111110进行与运算,如果最后结果为0,则没有并列情况,P1口输出P0口的状态,反之则报错,P1口输出00000000。以P0口的状态为11001111为例,取反后为00110000,右移4次后为00000011,最低位为一,与运算后为00000010,不为0,说明有并列情况,报错。因为INT1不可以在中断过程中嵌入,即实现了抢答功能。另外中断的优先级使得按键消抖功能的自动实现。电路图图1.电路连接图软件流程图2.主持人中断INT0流程图图3.选手抢答中断INT1流程图软件代码ORG0000H//程序开始 LJMPMAIN ORG0003H//INT0入口LJMPZHUCHI ORG0013H//INT1入口 LJMPANS ORG2000HZHUCHI:MOVP1,#00000111B//点亮五盏指示灯MOVA,#00000111BMOVR2,#5MOVTMOD,#00000001B//设置定时器0工作方式ACALLDELAY//计时程序 MOVIE,#10000101B//解锁选手抢答功能RETIANS:MOVIE,#10000001B//锁定选手抢答功能MOVP0,#0FFH MOVA,P0//将抢答状态读入CPU MOVR4,A//保留状态 MOVR2,#08H//检测是否有同时抢答现象出现CPLALOOP:RRAJBACC.0,RIGHT DJNZR2,LOOP RIGHT:ANLA,#11111110B JZLIGHT//若正常则点亮MOVA,#00H//异常全部点亮,退出中断 LJMPEND1LIGHT:MOVP1,R4END1:NOPRETIDELAY:MOVR3,#15H//循环和定时器构成1s延时LOOP1:MOVTL0,#00H//14*65ms(65536*1μs)≈1s MOVTH0,#00H SETBTR0 JNBTF0,$ CLRTR0 CLRTF0 DJNZR3,LOOP1//单次延时结束 RLA SETBACC.0MOVP1,#0FFH MOVP1,A//从低到高逐渐熄灭指示灯 DJNZR2,DELAY RET ORG0030H MAIN:MOVP1,#0FFH//开始时所有指示灯均熄灭MOVIE,#10000001B//允许INT0,屏蔽INT1,选手不能提前抢答 MOVIP,#00000001B//INT0优先级最高SJMP$ END五.仿真结果利用proteus对代码和电路进行仿真,仿真电路如图1。通过仿真可以看出:在倒计时结束之前,选手按键无效主持人按键后,发光二极管实现5秒倒计时,表现为最低5个亮—>4个亮—>3个亮—>2亮—>1个亮—>全灭,启动抢答器选手按键后,对应指示灯点亮,再次按动抢答按键无效主持人重新按键后,发光二极管再次5s倒计时,新一轮抢答开始为检测并列检测程序的正确性,利用如下代码进行调试,设置累加器的不同初值,可以发现结果正确,可以达到并列检测的目的ORG0000H AJMP0030H ORG0030HMAIN:MOVA,#00111111B MOVR4,A MOVR2,#08HCPLALOOP:RRAJBACC.0,RIGHT DJNZR2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论