标题: 用AT89C51单片机电子小制作简易抢答器 [打印本页]

作者: hutians    时间: 2015-2-10 20:29
标题: 用AT89C51单片机电子小制作简易抢答器
        用AT89C51单片机电子小制作简易抢答器,主要是由AT89C51单片机和一个共阳数码管组成。只要有一个人抢先按下其中一个抢答按钮,其余3人再按均无作用,即单片机此时正处于动态死机状态,只有主持人按下复位按钮后,才能使单片机复位,才能进行下一轮的抢答。按下抢答键后,数码管显示相应的数字,同时蜂鸣器发出“滴”的响声 。晶振用12MHZ,P3.7口为数码管的电源端,P3.0口为蜂鸣器的接口。P1口为数码管的段位选通端。用AT89C51单片机制作的简易抢答器开机默认显示“0”。用AT89C51单片机制作的简易抢答器,是单片机爱好都学习入门比较好的实作课题。下面是汇编源程序:





ORG 0000H
CLR P3.7
MOV P1,#0C0H
L1:JNB P3.2,L2
   JNB P3.3,L3
   JNB P3.4,L4
   JNB P3.5,L5
   JMP L1
L2:MOV P1,#0F9H
   ACALL DELAY1
   ACALL DELAY2
   SETB P3.0
   JMP $
L3:MOV P1,#0A4H
   ACALL DELAY1
   ACALL DELAY2
   SETB P3.0
   JMP $
L4:MOV P1,#0B0H
   ACALL DELAY1
   ACALL DELAY2
   SETB P3.0
   JMP $
L5:MOV P1,#99H
   ACALL DELAY1
   ACALL DELAY2
   SETB P3.0
   JMP $
DELAY1:CLR P3.0
       RET
DELAY2:MOV R0,#50
    L6:MOV R1,#100
    L7:MOV R2,#100
       DJNZ R2,$
       DJNZ R1,L7
       DJNZ R0,L6
       RET   
       END




作者: xinhoujue    时间: 2017-3-13 10:16
这个程序用 C 语言来写岂不更加简单吗?




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1