找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3631|回复: 1
收起左侧

基于51单片机汇编语言按键实现简单的抢答器PCB+代码

[复制链接]
ID:472794 发表于 2019-1-25 13:06 | 显示全部楼层 |阅读模式
很久之前做的一个简单的抢答器系统
附有原理图以及相关的源程序
希望可以对感兴趣的人有帮助
可以对单片机有一定了解

Altium Designer画的原理图和PCB图如下:(51hei附件中可下载工程文件)

原理图

原理图
0.png

单片机源程序如下:
  1.         P4        DATA        0C0H
  2.         P5        DATA        0C8H
  3.         MIAO            EQU    32H
  4.         SW1            BIT    P1.0
  5.         SW2         BIT    P1.1
  6.         SW3         BIT    P1.2
  7.         SW4         BIT    P1.3
  8.         SW5         BIT    P1.4
  9.         BEEP        BIT    P5.5
  10.         LED1        BIT    P3.4
  11.         LED2        BIT    P3.5
  12.         LED3        BIT    P4.5
  13.         LED4        BIT    P4.6
  14.         LED5        BIT    P4.7
  15.       

  16.         ORG        0000H                          ;
  17.         AJMP        MAIN   
  18.         ORG        000BH                        ;
  19.         AJMP        TIMER0
  20.         ORG        0013H                       
  21.         AJMP        part_1
  22.         ORG        0100H

  23. MAIN:        MOV        SP,#40H
  24.         MOV        TMOD,#01H                        ; T0?????1
  25.         MOV TH0,#0E0H
  26.         MOV TL0,#0C0H
  27.         SETB TR0                                ;??T0??
  28.         SETB ET0                                ;T0???
  29.         SETB EX1
  30.         SETB PX1
  31.         SETB EA

  32.        
  33.         MOV MIAO,#09H        ;CNT=09
  34.         MOV P0,#90H
  35.         MOV R3,#250                ;1s=250*4ms
  36.         MOV P2,#0c0H        ;DISPLAY 0
  37.         AJMP        $
  38.        

  39. part_1:push ACC
  40.           push PSW
  41.           JNB        SW1,SW1_OK
  42.           JNB        SW2,SW2_OK
  43.           JNB        SW3,SW3_OK
  44.           JNB        SW4,SW4_OK
  45.           AJMP SW5_OK
  46. SW1_OK:LCALL DELAY
  47.            CLR         LED1
  48.            MOV P2,#0F9H
  49.            AJMP        END_EXT1
  50.           
  51. SW2_OK:LCALL DELAY
  52.            CLR LED2
  53.            MOV P2,#0A4H
  54.            AJMP         END_EXT1
  55.           
  56. SW3_OK:LCALL DELAY
  57.            CLR LED3
  58.            MOV P2,#0B0H
  59.            AJMP  END_EXT1
  60.           
  61. SW4_OK:LCALL DELAY
  62.            CLR LED4
  63.            MOV P2,#99H
  64.            AJMP  END_EXT1
  65.           
  66. SW5_OK:LCALL DELAY
  67.            CLR LED5
  68.            MOV P2,#92H
  69.        
  70. END_EXT1:CLR EX1
  71.                  CLR ET0
  72.                  CLR BEEP
  73.                  LCALL DELAY3S
  74.                  SETB BEEP
  75.                  POP PSW
  76.                  POP ACC
  77.                  RETI
  78.                  

  79. DELAY:        MOV          R5,#04      ;160ms
  80. DEL01:        MOV          R6,#200
  81. DEL02:        MOV          R7,#200
  82.                 DJNZ  R7,$
  83.                 DJNZ  R6,DEL02
  84.                 DJNZ  R5,DEL01
  85.                 RET
  86.                
  87. DELAY3S:MOV R4,#20
  88. WW:        LCALL DELAY
  89.                 DJNZ  R4,WW
  90.                 RET

  91. TIMER0:PUSH ACC
  92.            PUSH PSW
  93.            PUSH DPH
  94.            PUSH DPL
  95.            MOV TH0,#0E0H
  96.            MOV TL0,#0C0H
  97.            DJNZ R3,A2
  98.            MOV        R3,#250
  99.            MOV        A,MIAO
  100.            DEC         A
  101.            MOV        MIAO,A
  102.            CJNE A,#0FFH,A2
  103.            MOV        MIAO,#00H
  104.            CLR        ET0
  105.            CLR        EX1
  106.            CLR        BEEP
  107.            LCALL DELAY3S
  108.            SETB BEEP
  109.         A2:MOV A,MIAO
  110.                 MOV           DPTR,#TAB_LED
  111.                 MOVC   A,@A+DPTR
  112.                 MOV           P0,A
  113.                 POP           DPL
  114.                 POP    DPH
  115.                 POP PSW
  116.                 POP ACC
  117.                 RETI
  118.                
  119. TAB_LED:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H                ;???????
  120.                 DB 90H,88H,83H,0C6H,0A1H,86H,8EH
  121.                
  122.         END
复制代码
0.png

所有资料51hei提供下载:
1.zip (610.98 KB, 下载次数: 17)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:291294 发表于 2019-3-6 17:44 | 显示全部楼层
好,太好了
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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