一款基于单片机控制的多路数字抢答器内容摘要:

sjmp lp2 loop1: djnz r3,lp1。 循环 20 次 ,即 1 秒 ret。 子程序返回 … 3. 6 外部中断 0 程序 0003h ljmp rest。 外部中断的调用 setb ex0。 外部中断 0 开启 setb it0 setb ea … 4 详细设计 4. 1 设计思想 多人抢答时,对其抢答者编号,根 据显示的抢答编号确定抢答者。 在有效时间内,抢答有效,有选手抢答时 LED 点亮,显示优先按下抢答器对应的编号,同时屏蔽其他抢答按钮。 时间到,扬声器报警,同时关闭抢答器。 无效时间内,若有选手无规按钮, LED 一直亮 以示提醒。 4. 2 设计 分析 7 (1).多人对号抢答显示,用译码器 74LS147。 mov a,p1。 读取 P1 口数据 cjne a,0f0h,loop1。 比较 a 与 0f0h,相等执行下一条。 否则,跳转至 loop1 处 anl a,0fh。 屏蔽高 4 位 (2).显示编号 和 定时计数时间 采用查表: mov dptr,tab。 建表 movc a,@a+dptr。 查表 tab: db 3h,06h,5bh,4fh,。 所建表 db 66h,6dh,7dh,07h,7fh (3).主持人开启键,采用外部中断法: setb ex0。 外部中断 0 开启 setb it0 setb ea 4. 3 设计实现源程序 (1). U1—— 80C51 的功能是对抢答者编号显示,和控制整个抢答过程。 其程序如下: 0。 程序执行开始地址 ljmp start。 跳至 start 执行 0003h ljmp rest。 外部中断的调用 0030h start: mov sp,60h。 建立堆栈 8 mov p2,00h。 关闭显示器 stop1: jnb ,stop。 开启抢答器 setb。 关计时器 setb。 熄灭 LED sjmp start stop: clr。 开计时器 setb ex0。 外部中断 0 开启 setb it0 setb ea clr。 清零 口 jb , loop2。 判断 口, 口为 0, 执行下一条。 否则,跳转至 LOOP2 处 lcall loop。 调用子程序 loop sjmp start。 返回开始 loop。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。