8位竞赛抢答器程序与仿真图_第1页
8位竞赛抢答器程序与仿真图_第2页
8位竞赛抢答器程序与仿真图_第3页
免费预览已结束,剩余1页可下载查看

下载本文档

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

文档简介

1、8设计要求以单片机为核心, 设计一个 88 名选手或 8竞赛,分别用 8S0S7设置一个系统去除和抢答把握开关 S,开关由主持人把握。答选手的编号始终保持到主持人将系统去除为止。抢答器具有定时抢答功能,且一次抢答的时间由主持人设定如当主持人启动“开头”键后,定时器进展减计时,同时扬声器发出短暂的声响,声响持续的时间为 0.5s 左右。显示选手的编号和抢答的时间,并保持到主持人将系统去除为止。显示器上显示 00。通过键盘转变抢答的时间,原理与闹钟时间的设定一样,将定时时间的变量置为全局变量后,通过键盘扫描程序使每按下一次按键,时间加时置0。同时单片机不断进展按键扫描,当参赛选手的按键按下时,用于

2、产生时钟按键号和抢答时间分别显示LEDORG 0000H LJMP MAIN ORG 0003H LJMP SHESHORG 000BHLJMP IT0P ORG 0100HMAIN:MOV TMOD,#01HMOV TH0,#3CH MOV TL0,#0B0HSETB EASETB ET0跳沿触发。SETB EX0 SETB IT0 MOV R4,#30MOV R3,#0AH/定时器T0 工作于方式1/1秒的初值/开总中断,T0 0 / R4 30,用于存放倒计时初值MOV R7,#0AH/ 个十百初始显示“FFF“ ,R3 存放选手编号,R7 存放倒计时的十位,R6 存放倒计时的个位MOV

3、 R6,#0AHMOV R0,#30/R0 存放倒计时的显示值,初值设为30LCALL XIANSH2STAR: setb P3.6/关喇叭MOV R1,#00H从等待中断中返回到初始/=复位局部程序= FW:JNB P3.1,FW1JMP FW FW1: LCALL DELAYJNB P3.1,FW2JMP FWFW2:MOV R3,#0BH的代码/选手按键,复位按键,无人抢答的标志位,用于/预判 复位键按下否/去抖动,推断是否真按下/复位按下,则存放选手编号的R3,放入“灭“MOV A,R4 MOV R0,ALCALL XIANSH1/=开头局部程序= SAM:JNB P3.0,PKJMP

4、 SAMPK:JNB P3.0,PK1JMP SAMPK1:MOV R3,#0BH SETB TR0 MOV R2,#0AHHERE:CJNE R1,#01H,YYSTAR/R4 R0 中/扫描开头键是否按下/R3 存“灭“代码,/启动定时器/10 1 秒/R1 JMP STARYY:JMP HERE/=中断程序=/否则连续循环 等待中断IT0P:CLR TR0DEC R2CJNE R2,#05H,JX0/ 5 次后,开启扬声器JX0:clr P3.6CJNE R2,#00H,JX1/10 次后,关闭扬声器,这样喇叭响0.5 秒setb P3.6DEC R0LCALL XIANSH1MOV R

5、2,#0AHJX1:LCALL SAMOCJNE R1,#01H,JX2/R2 中再存入中断次数/R1JX2 ,按下则返回JMP RETURNJX2:JNB P3.1,PK2JMP CZPK2:LCALL DELAY/检测复位键按下否JNB P3.1,QFWJMP CZQFW:CZ:MOV R1,#01HJMP RETURN CJNE R0,#00H,CZ1clr P3.6/按下则返回/倒计时是否计时完毕/准时完毕 无人抢答则扬声器开启CZ1:LCALL DELAY5MOV R1,#01HJMP RETURNMOV TH0,#3CH/1 秒/R1 1/中断返回/计时器初值重装MOV TL0,#

6、0B0HSETB TR0RETURN: RETI/=选手键盘扫描程序= SAMO:JNB P1.0,XS1JNB P1.1,XS2 JNB P1.2,XS3 JNB P1.3,XS4 JNB P1.4,XS5 JNB P1.5,XS6 JNB P1.6,XS7 JNB P1.7,XS80RETURN2:RET XS80:LJMP XS8XS1:LCALL DELAY JNB P1.0,XS11JMP RETURN2XS11:MOV R1,#01Hsetb P3.6MOV R3,#01H LCALL XIANSH1JMP RETURN2XS2: LCALL DELAYJNB P1.1,XS22

7、JMP RETURN2XS22:MOV R1,#01Hsetb P3.6MOV R3,#02H LCALL XIANSH1JMP RETURN2XS3: LCALL DELAYJNB P1.2,XS33 JMP RETURN2XS33:MOV R1,#01Hsetb P3.6MOV R3,#03H LCALL XIANSH1JMP RETURN2XS4: LCALL DELAY/预扫描 选手按键是否按下/未按下则返回/去抖动再判是否按下/1 号 扬声器关闭/2 号 扬声器关闭/3 号 扬声器关闭JNB P1.3,XS44 JMP RETURN2XS44:MOV R1,#01Hsetb P3.6

8、MOV R3,#04H LCALL XIANSH1JMP RETURN2XS5: LCALL DELAYJNB P1.4,XS55 JMP RETURN2XS55:MOV R1,#01Hsetb P3.6MOV R3,#05H LCALL XIANSH1JMP RETURN2XS6: LCALL DELAYJNB P1.5,XS66 JMP RETURN2XS66:MOV R1,#01Hsetb P3.6MOV R3,#06H LCALL XIANSH1JMP RETURN2XS7: LCALL DELAYJNB P1.6,XS77 JMP RETURN2XS77:MOV R1,#01Hset

9、b P3.6MOV R3,#07H LCALL XIANSH1JMP RETURN2XS8: LCALL DELAYJNB P1.7,XS88 JMP RETURN2XS88:MOV R1,#01Hsetb P3.6MOV R3,#08H LCALL XIANSH1JMP RETURN2/=显示程序= XIANSH1:MOV A,R0MOV B,#0AH位DIV AB MOV R7,AMOV R6,BXIANSH2:SETB P0.4CLR P0.5CLR P0.6/4 号 扬声器关闭/5 号 扬声器关闭/6 号 扬声器关闭/7 号 扬声器关闭/8 号 扬声器关闭/R0中存放的倒计时显示值 除

10、10 分出十位和个/R7 中/R6 中/选择选手编号的数码管MOV A,R3MOV DPTR,#SEGTAB/调入代码MOVC A,A+DPTRMOV P2,A/显示选手编号CLR P0.4SETB P0.5/选择显示十位的数码管CLR P0.6MOV A,R7MOV DPTR,#SEGTAB/调入代码MOVC A,A+DPTRMOV P2,A/显示十位CLR P0.4CLR P0.5/选择显示个位的数码管SETB P0.6MOV A,R6MOV DPTR,#SEGTAB/调入代码MOVC A,A+DPTRMOV P2,A/显示个位RET/=抢答时间设置程序=SHESH:INC R0/1CJN

11、E R0,#31,BQL/30 自动清零MOV R0,#00HBQL:MOV R3,#0BHMOV A,R0/R4 中,这样可以全局不变,R0 会倒计时中递减而转变MOV R4,A LCALL XIANSH1RETI/=10ms 延时程序去抖动=DELAY: MOV R7,#20D1: MOV R6,#248D2: DJNZ R6,D2 DJNZ R7,D1RET/1s 延时程序无人抢答报警=DELAY5:MOV R7,#40DL1:MOV R6,#50 DL2:MOV R5,#248DL3:DJNZ R5,DL3DJNZ R6,DL2 DJNZ R7,DL1RET/=数码管显示调用代码=SEGTAB:D

温馨提示

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

评论

0/150

提交评论