找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1034|回复: 0
打印 上一主题 下一主题
收起左侧

单片机汇编语言抢答器

[复制链接]
跳转到指定楼层
楼主
汇编源代码:
        ORG 0000H
        AJMP START
        ORG 000BH
        AJMP TIME0
        ORG 0040H
START:  MOV SP,#60H
        SETB P3.7
        SETB P3.0

L1:     JB P3.0,$   ;等待主持人按键
        JNB P3.0,$
        MOV P2,#0C0H   ;数码管显示0
;5s初始化
        MOV 30H,#00H  ;软件计数器清00
        MOV TMOD,#01H
        MOV TH0,#3CH
        MOV TL0,#0B0H
        SETB EA
        SETB ET0
        SETB TR0     ;启动5s计时
LOOP:   SJMP LOOP

TIME0:  LCALL S0

        MOV TL0,#0B0H
        MOV TH0,#3CH
        INC 30H
        MOV R1,30H
        CJNE R1,#100,RET0
        DEC SP
        DEC SP
        LJMP L1      
RET0:   RETI

s0:     MOV A,#0FFH
        MOV P1,A
        MOV A,P1    ;将选手按键状态送寄存器A
        XRL A,#0FFH
        JNZ L2
        RET

L2:     JNB P1.0,S1
        JNB P1.1,S2
        JNB P1.2,S3
        JNB P1.3,S4
        JNB P1.4,S5
        JNB P1.5,S6
        JNB P1.6,S7
        JNB P1.7,S8

S1:     MOV P2,#0F9H
        LJMP SS
S2:     MOV P2,#0A4H
        LJMP SS
S3:     MOV P2,#0B0H
        LJMP SS
S4:     MOV P2,#99H
        LJMP SS
S5:     MOV P2,#92H
        LJMP SS
S6:     MOV P2,#82H
        LJMP SS
S7:     MOV P2,#0F8H
        LJMP SS
S8:     MOV P2,#80H
        LJMP SS


;扬声器重复发声
        MOV R3,#0FFH
SS:     CLR P3.7
        LCALL DELAY
        SETB P3.7
        LCALL DELAY
        DJNZ R3,SS
;准备进行下一轮抢答
        JB P3.0,$
        JNB P3.0,$
        MOV P2,#0C0H
        LJMP S0        

;短延时
DELAY:  MOV R1,#249
LOP:    NOP
        NOP
        DJNZ R1,LOP
        RET
        END        

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表