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

📄 finalbu.lst

📁 8051单片机 a51 投票器 带控制端 含原理图
💻 LST
字号:
A51 MACRO ASSEMBLER  FINALBU                                                              04/12/2008 18:00:02 PAGE     1


MACRO ASSEMBLER A51 V8.01
OBJECT MODULE PLACED IN FINALBU.OBJ
ASSEMBLER INVOKED BY: C:\Keil\C51\BIN\A51.EXE FINALBU.a51 SET(SMALL) DEBUG EP

LOC  OBJ            LINE     SOURCE

  00A0                 1     CANPAN EQU P2 ; (I/P CONFIG) INTERFACED WITH CANDIDATE PANEL
  0090                 2     VOTCAST EQU P1 ;(O/P CONFIG) INTERFACED WITH VOTE CAST LED PANEL
  0080                 3     OPT2CU EQU P0 ; FOR TRANSFERRING CODE TO CU
  00B4                 4     SIGNAL1 EQU P3.4 ;(I/P CONFIG)IF THIS PIN BEKMS LOW DAT MEANS, CU HAS SIGNALLED TO GLOW MAC
                             HINE RDY LED
  00B5                 5     SIGNAL2 EQU P3.5 ;(I/P CONFIG)IF THIS PIN BEKMS LOW DAT MEANS, CU HAS COUNTED D VOTEN BU SH
                             UD GLOW "VOTE CASTED" LED
  00B6                 6     BUZZER EQU P3.6  ;(O/P CONFIG)INTERFACING BUZZER
  00B7                 7     RDYLED EQU P3.7  ;(O/P CONFIG)INTERFACING MACHINE READY LED
  0032                 8     CCODE EQU 32h    ; MEMORY LOCATION TO STORE THE APP. CODE VALUE OF CANDIDATE WHO IS VOTED F
                             OR
                       9     
0000                  10     ORG 0000h  
0000 020030           11     LJMP MAIN  
                      12     
0030                  13     ORG 0030h  
0030                  14     MAIN:
                      15     
0030                  16     BUINIT:
0030 D2B6             17             SETB BUZZER
0032 D2B4             18         SETB SIGNAL1                                 ;CONFIGURNG SIGNAL1 TO BE I/P
0034 20B4FD           19         JB SIGNAL1,$                                 ;WAIT TILL CU SENDS A SIGNAL TO GLOW MACHI
                             NE READY LED
0037 C2B7             20         CLR RDYLED                                   ;GLOW MACHINE READY LED
0039 1168             21             ACALL PANELSCAN
003B D2B7             22             SETB RDYLED                                      ;TURN OFF MACHINE READY LED
                      23     
                      24     
003D                  25     WAITING:
003D D2B5             26             SETB SIGNAL2                     ;CONFIGURNG SIGNAL2 TO BE I/P
003F 7590FF           27             MOV VOTCAST,#0FFh                ;CONFIGURING THE VOTCAST PORT TO B O/P PORT 
0042 20B5FD           28             JB SIGNAL2,$                     ;WAIT TILL CU SEND A SIGNAL TO GLOW VOTE CAST LED
0045 E532             29             MOV A, CCODE
0047 B4FF03           30             CJNE A,#0FFh,VOTECASTED      ;IF CONTENT OF A IS NOT 0FFh, IT MEANS CORRECT CODE WA
                             S DETECTED, HENCE VOTECAST LED SHUD GLOW 
                      31                                      ;AND BUZZER SHUD RING SO JUMP TO 'VOTECASTED'MODULE
004A 020030           32             LJMP BUINIT                          ;OTHERWISE JUMP TO BUINIT 
                      33     
004D                  34     VOTECASTED:
004D F590             35             MOV VOTCAST,A                           ;VOTE CAST LED IS CONNECTED TO VOTCAST PORT
                              
004F C2B6             36             CLR BUZZER
0051 115B             37             ACALL DELAY_5SEC
0053 D2B6             38             SETB BUZZER
0055 7590FF           39             MOV VOTCAST,#0FFh
0058 020030           40             LJMP BUINIT
                      41     
                      42     
                      43     
                      44     
                      45     
                      46     ;******5 SECOND DELAY ROUTINE********
005B                  47     DELAY_5SEC:                    
005B 7905             48             MOV R1,#05h
005D 7AFF             49         AGAIN2:MOV R2,#0FFh      
005F 7FFF             50         AGAIN1:MOV R7,#0FFh
0061 DFFE             51         DJNZ R7,$
0063 DAFA             52         DJNZ R2,AGAIN1
A51 MACRO ASSEMBLER  FINALBU                                                              04/12/2008 18:00:02 PAGE     2

0065 D9F6             53         DJNZ R1,AGAIN2
0067 22               54         RET                                                 ;*******TO RETURN FROM DELAY_5SEC R
                             OUTINE*******
                      55     
                      56     
                      57     
                      58     
                      59     
                      60     
                      61     ;*****SCANNER ROUTINE TO DETECT THE SWITCH PRESSED FROM THE CANDIDATE PANEL******
0068                  62     PANELSCAN:
                      63     
0068                  64     LABEL1:
0068 75A0FF           65             MOV CANPAN,#0FFh                ;CONFIGURING THE CANPAN PORT TO B I/P PORT
006B 7580FF           66             MOV OPT2CU,#0FFh                ;CONFIGURING THE OPT2CU PORT TO B O/P PORT
                      67     
006E                  68     LABEL2:     
006E E5A0             69         MOV A,CANPAN                                ;READING THE VALUE FROM THE CANDIDATE PANEL
0070 F532             70         MOV CCODE, A
0072 7C00             71         MOV R4,#0h                                  ;VALUE IN R4 REFLECTS NO. OF ZEROS IN A's C
                             ONTENTS
                      72                                                     ;THAT IS HOW MANY SWITCHES ARE PRESSED SIMU
                             LTANEOUSLY
0074 7D08             73         MOV R5,#8h                                  ;VALUE '8' MEANS THAT ALL 8 BITS OF 'A' ARE
                              UNCHECKED RITENOW, AS THEY ARE CHECKED ONE BY ONE, R5 IS DECREMENTED
0076 D3               74         SETB C
0077 B4FF02           75         CJNE A,#0FFh,LABEL3         ;IF A IS STILL EQUAL TO #0FFh, DAT MEANS NO BUTTON 
007A 80F2             76         JMP LABEL2                  ;HAS BEEN PRESSED, SO READ D VALUE OF CANPAN AGAIN      
                      77     
007C                  78     LABEL3:
007C FB               79             MOV R3,A                                        ;SAVE CURRENT VALUE OF A IN R3
007D ED               80         MOV A,R5                                    ;IF R5==0, JUMP TO FIN LABEL BCOS WHEN R5 B
                             KUMS '0', IT MEANS ALL BITS OF 'A' HAV BEEN CHECKED
007E 600B             81         JZ FIN
0080 EB               82         MOV A,R3
0081 13               83         RRC A                                               ;TO CHECK ACCUMULATOR CONTENTS BITW
                             ISE
0082 5003             84         JNC INCRM                                   ;IF BIT IS LOW THEN INCRM R4
0084 1D               85         DEC R5                                              ;R5 IS DECREMENED AFTER A BIT OF 'A
                             ' HAS BEEN CHECKED FOR IF ITS '0' OR '1'
0085 80F5             86         JMP LABEL3
                      87     
0087                  88     INCRM:
0087 0C               89             INC R4                                          ;R4 IS INCREMENTED WENEVER A ZERO I
                             S ENCOUNTERED IN A's CONTENTS
0088 1D               90         DEC R5                                              ;R5 IS DECREMENED AFTER A BIT OF 'A
                             ' HAS BEEN CHECKED FOR IF ITS '0' OR '1'
0089 80F1             91         JMP LABEL3
                      92     
008B                  93     FIN:
008B BC010F           94         CJNE R4,#01h,LABEL7         ;IF R4==1, IT MEANS ONLY ONE '0' IS ENCOUNTERED
                      95                                     ;ie ONLY ONE BUTTON IS PRESSED
008E E532             96             MOV A,CCODE                     ;HENCE MOVE ORIGINAL VALUE OF 'A' WHICH WAS STORED 
                             IN 'CCODE', AGAIN INTO 'A'
0090 7E00             97         MOV R6, #00h
                      98                     
0092                  99     LABEL5:
0092 13              100         RRC A                               ;TO GENRATE CODE(4-BIT)FOR THE CANDIDATE WHO IS VOT
                             ED FOR
0093 0E              101         INC R6                              ;CODE INITIALLY IS STORED IN R6
0094 5002            102         JNC LABEL6
0096 40FA            103         JC LABEL5        
                     104     
0098                 105     LABEL6:
0098 EE              106             MOV A,R6                        ;HIGHER NIBBLE PINS OF PORT# ARE ASSUMED TO BE ACTI
                             VE HIGH
A51 MACRO ASSEMBLER  FINALBU                                                              04/12/2008 18:00:02 PAGE     3

0099 F580            107         MOV OPT2CU, A               ;4- BIT CODE IS SEND TO CU THROUGH PORT #(OPT2CU)
009B 8009            108         JMP ENDING 
                     109     
                     110     ;IF R4 IS NOT EQUAL TO 1, IT MEANS THERE ARE MORE THAN ONE '0'IN A's CONTENTS,
                     111     ;ie MORE THAN ONE SWITCH IS PRESSED ON THE CANDIDATE PANEL
                     112     
                     113     
009D                 114     LABEL7:                                                                                    
                                  
009D 7532FF          115             MOV CCODE,#0FFh                         ;FFh IS SAVED AT CCODE BCOS FOR GLOWING VOT
                             CAST LED, CONTENTS OF CCODE IS COPIED IN'A', 
                     116                                             ;AND SENT TO LED PANEL, BUT NO LED SHUD GLOW IN CAS
                             E VAGUE CODE IS DETECTED
                     117                                             ;HENCE FFh WEN SENT TO LED PANEL WONT GLOW ANY LED.
                     118                    
00A0 7409            119         MOV A,#09h
00A2 F580            120         MOV OPT2CU, A    
00A4 8000            121         JMP ENDING 
                     122     
00A6                 123     ENDING:
00A6 00              124             NOP
00A7 00              125             NOP
00A8 00              126             NOP
00A9 00              127             NOP
00AA 75A0FF          128             MOV CANPAN,#0FFh    
00AD 7580FF          129             MOV OPT2CU,#0FFh     
                     130     
00B0 22              131     RET                                                             ;*****TO RETURN FRM PANELSC
                             AN ROUTINE******
                     132     
                     133     
                     134     
                     135     END  
A51 MACRO ASSEMBLER  FINALBU                                                              04/12/2008 18:00:02 PAGE     4

SYMBOL TABLE LISTING
------ ----- -------


N A M E             T Y P E  V A L U E   ATTRIBUTES

AGAIN1 . . . . . .  C ADDR   005FH   A   
AGAIN2 . . . . . .  C ADDR   005DH   A   
BUINIT . . . . . .  C ADDR   0030H   A   
BUZZER . . . . . .  B ADDR   00B0H.6 A   
CANPAN . . . . . .  D ADDR   00A0H   A   
CCODE. . . . . . .  N NUMB   0032H   A   
DELAY_5SEC . . . .  C ADDR   005BH   A   
ENDING . . . . . .  C ADDR   00A6H   A   
FIN. . . . . . . .  C ADDR   008BH   A   
INCRM. . . . . . .  C ADDR   0087H   A   
LABEL1 . . . . . .  C ADDR   0068H   A   
LABEL2 . . . . . .  C ADDR   006EH   A   
LABEL3 . . . . . .  C ADDR   007CH   A   
LABEL5 . . . . . .  C ADDR   0092H   A   
LABEL6 . . . . . .  C ADDR   0098H   A   
LABEL7 . . . . . .  C ADDR   009DH   A   
MAIN . . . . . . .  C ADDR   0030H   A   
OPT2CU . . . . . .  D ADDR   0080H   A   
P0 . . . . . . . .  D ADDR   0080H   A   
P1 . . . . . . . .  D ADDR   0090H   A   
P2 . . . . . . . .  D ADDR   00A0H   A   
P3 . . . . . . . .  D ADDR   00B0H   A   
PANELSCAN. . . . .  C ADDR   0068H   A   
RDYLED . . . . . .  B ADDR   00B0H.7 A   
SIGNAL1. . . . . .  B ADDR   00B0H.4 A   
SIGNAL2. . . . . .  B ADDR   00B0H.5 A   
VOTCAST. . . . . .  D ADDR   0090H   A   
VOTECASTED . . . .  C ADDR   004DH   A   
WAITING. . . . . .  C ADDR   003DH   A   


REGISTER BANK(S) USED: 0 

ASSEMBLY COMPLETE.  0 WARNING(S), 0 ERROR(S)

⌨️ 快捷键说明

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