⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 alarm.lst

📁 16路无线报警器
💻 LST
📖 第 1 页 / 共 2 页
字号:
A51 MACRO ASSEMBLER  ALARM                                                                09/12/2007 23:33:37 PAGE     1


MACRO ASSEMBLER A51 V7.07
OBJECT MODULE PLACED IN alarm.OBJ
ASSEMBLER INVOKED BY: C:\Keil\C51\BIN\A51.EXE alarm.asm SET(SMALL) DEBUG EP

LOC  OBJ            LINE     SOURCE

  0030                 1     ledbuf  equ     30h
  0034                 2     segadd  equ     34h
  0022                 3     bitadd  equ     22h
  00B3                 4     beep    equ     p3.3
  0000                 5     segbit  equ     00h
  0001                 6     shift   equ     01h
  0002                 7     run     equ     02h
  0003                 8     alarm   equ     03h
  0025                 9     ct      equ     25h
0000                  10             org 0000h
0000 0189             11             jmp init
                      12     
0003                  13             org 0003h
0003 8064             14             JMP ET0IN
                      15     
000B                  16             ORG 000BH
000B 8018             17             jmp t0int
0023                  18             org 0023h
0023 410E             19             jmp serve
0025 C0D0             20     t0int:  push psw
0027 C0E0             21             push acc
0029 D2D4             22             setb rs1
002B D2D3             23             setb rs0
002D C28C             24             clr tr0
002F 758CEC           25             mov th0,#0ech
0032 758A78           26             mov tl0,#078h
0035 D28C             27             setb tr0
                      28             ;inc ct
0037 0534             29             inc segadd
0039 A834             30             mov r0,segadd
003B E6               31             mov a,@r0
003C 75A01F           32             mov p2,#00011111B
003F F580             33             mov p0,a                ;送段码
0041 E522             34             mov a,bitadd
0043 A200             35             mov c,segbit
0045 33               36             rlc a
0046 9200             37             mov segbit,c
0048 F522             38             mov bitadd,a            ;右移1位
004A 441F             39             ORl a,#00011111b        ;屏蔽低5位
004C F5A0             40             mov p2,a
004E E534             41             mov a,segadd
0050 B4320F           42             cjne a,#32h,nx1
0053 75342F           43             mov segadd,#2fh
0056 C28C             44             clr tr0
0058 0525             45             inc ct
005A 758CD8           46             mov th0,#0d8h
005D 758AF0           47             mov tl0,#0f0h
0060 D28C             48             setb tr0
0062 D0E0             49     nx1:    pop acc
0064 D0D0             50             pop psw
0066 32               51             reti
0067 00               52             nop
0068 00               53             nop
                      54     
0069 C0D0             55     ET0IN:  push psw
006B C0E0             56             push acc
006D C009             57             push 09h
006F D2D3             58             setb rs0
A51 MACRO ASSEMBLER  ALARM                                                                09/12/2007 23:33:37 PAGE     2

0071 C2D4             59             clr rs1
0073 C203             60             clr alarm
0075 E590             61             mov a,p1
0077 540F             62             ANL A,#00001111B
0079 FF               63             MOV R7,A
                      64             
007A 3198             65     ok:     call datain
007C D009             66     exit:   pop 09h
007E D0E0             67             POP acc
0080 D0D0             68             POP psw
0082 00               69             nop
0083 00               70             nop
0084 00               71             nop
0085 32               72             RETI
0086 00               73             nop
0087 00               74             nop
0088 00               75             nop
0089 753080           76     init:   MOV 30h,#80h    ;8
008C 753180           77             mov 31h,#080h   ;8
008F 753280           78             mov 32h,#080h   ;8
0092 752292           79             mov bitadd,#10010010b;位码
0095 75342F           80             mov segadd,#2fh ;ledbuf-1
0098 C200             81             clr 00h
009A D28A             82             setb it1        ;
009C D288             83             setb it0        ;下降沿
009E 75817F           84             mov sp,#7fh
00A1 9001F7           85             mov dptr,#ledtab
00A4 758901           86             mov tmod,#01h   ;t0方式0
00A7 758CEC           87             MOV TH0,#0ecH
00AA 758A78           88             MOV TL0,#078H
00AD D28C             89             setb tr0
00AF 00               90             nop
00B0 754000           91             mov 40h,#00h
                      92     
00B3 31C2             93             call delay
00B5 31C2             94             call delay
00B7 31C2             95             call delay
00B9 31C2             96             call delay
00BB 75A883           97             mov ie,#83h
00BE E540             98     START:  mov a,40h
00C0 7002             99             jnz next        ;有报警跳转
00C2 8018            100             jmp wait        ;跳到等待状态
00C4 31A7            101     next:   call dataout    ;队列取数
00C6 31DB            102             call asc2led    ;译码
00C8 753088          103             mov ledbuf,#88h ;第一位显示'A'
00CB C2B3            104             clr beep
00CD 20B4FD          105     NTAL:   JB P3.4,NTAL
00D0 31C2            106             CALL DELAY
00D2 20B4F8          107             JB P3.4,NTAL
00D5 31C2            108     nt:     call delay
00D7 30B4FB          109             jnb p3.4,nt
00DA 80E2            110             jmp start
                     111             
00DC D2B3            112     wait:   setb beep       ;无报警,显示广告
00DE E525            113             mov a,ct
00E0 B4000B          114             cjne a,#00h,step1
00E3 7530F9          115             MOV 30h,#0f9h   ;1
00E6 7531B0          116             mov 31h,#0b0h   ;3
00E9 7532F8          117             mov 32h,#0f8h   ;7
00EC 80D0            118             jmp start
00EE E525            119     step1:  mov a,ct
00F0 B4140B          120             cjne a,#20,step2
00F3 7530B0          121             mov 30h,#0b0h   ;3
00F6 7531F8          122             mov 31h,#0f8h   ;7
00F9 7532B0          123             mov 32h,#0b0h   ;3
00FC 80C0            124             jmp start
A51 MACRO ASSEMBLER  ALARM                                                                09/12/2007 23:33:37 PAGE     3

00FE E525            125     step2:  mov a,ct
0100 B4280B          126             cjne a,#40,step3
0103 7530F8          127             mov 30h,#0f8h   ;7
0106 7531B0          128             mov 31h,#0b0h   ;3
0109 753290          129             mov 32h,#90h    ;9
010C 80B0            130             jmp start
010E E525            131     step3:  mov a,ct
0110 B43C0B          132             cjne a,#60,step4
0113 7530B0          133             mov 30h,#0b0h   ;3
0116 753190          134             mov 31h,#90h    ;9
0119 7532C0          135             mov 32h,#0c0h   ;0
011C 80A0            136             jmp start
011E E525            137     step4:  mov a,ct
0120 B4500B          138             cjne a,#80,step5
0123 753090          139             mov 30h,#090h   ;9
0126 7531C0          140             mov 31h,#0c0h   ;0
0129 7532F8          141             mov 32h,#0f8h   ;7
012C 8090            142             jmp start
012E E525            143     step5:  mov a,ct
0130 B4640B          144             cjne a,#100,step6
0133 7530C0          145             mov 30h,#0c0h   ;0
0136 7531F8          146             mov 31h,#0f8h   ;7
0139 7532F8          147             mov 32h,#0f8h   ;7
013C 8080            148             jmp start
013E E525            149     step6:  mov a,ct
0140 B4780B          150             cjne a,#120,step7
0143 7530F8          151             mov 30h,#0f8h   ;7
0146 7531F8          152             mov 31h,#0f8h   ;7
0149 753280          153             mov 32h,#080h   ;8
014C 01BE            154             jmp start
014E E525            155     step7:  mov a,ct
0150 B48C0B          156             cjne a,#140,step8
0153 7530F8          157             mov 30h,#0f8h   ;7
0156 753180          158             mov 31h,#080h   ;8
0159 7532F9          159             mov 32h,#0f9h   ;1
015C 01BE            160             jmp start
015E E525            161     step8:  mov a,ct
0160 B4A009          162             cjne a,#160,step9
0163 753080          163             mov 30h,#080h   ;8
0166 7531F9          164             mov 31h,#0f9h   ;1
0169 7532A4          165             mov 32h,#0a4h   ;2
016C E525            166     step9:  mov a,ct
016E B4B409          167             cjne a,#180,step10
0171 7530F9          168             mov 30h,#0f9h   ;1
0174 7531A4          169             mov 31h,#0a4h   ;2
0177 7532FF          170             mov 32h,#0ffh   ;-
017A E525            171     step10: mov a,ct
017C B4C809          172             cjne a,#200,step11
017F 7530A4          173             mov 30h,#0a4h   ;2
0182 7531FF          174             mov 31h,#0ffh   ;-
0185 7532FF          175             mov 32h,#0ffh   ;-
0188 E525            176     step11: mov a,ct
018A B4DC09          177             cjne a,#220,step12
018D 7531FF          178             mov 31h,#0ffh   ;-
0190 7532FF          179             mov 32h,#0ffh   ;-
0193 7530FF          180             mov 30h,#0ffh   ;-
0196 01BE            181     step12: jmp start
                     182             
                     183     
                     184     ;;;;;;;;;;;;;;;;;;;;;;;;;;;;先入先出队列;;;;;;
                     185     ;数据入
                     186     ;入口:R7,待入数据
0198 7940            187     DATAIN: MOV R1,#40h
019A E7              188             MOV A,@R1       ;读取成员个数

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -