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

📄 voting.lst

📁 8051单片机 a51 投票器 带控制端 含原理图
💻 LST
📖 第 1 页 / 共 5 页
字号:
A51 MACRO ASSEMBLER  VOTING                                                               04/12/2008 18:04:50 PAGE     1


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

LOC  OBJ            LINE     SOURCE

  00A0                 1     IPFRMBU EQU P2    ;I/P FROM BALLOT UNIT(I/P CONFIGURED)
                       2     
                       3     ;HEXPAD PORT DEFINITIONS
  00A4                 4     RW1 EQU P2.4    ;row1 declared for keypad 
  00A5                 5     RW2 EQU P2.5    ;row2 declared for keypad
  00A6                 6     RW3 EQU P2.6    ;row3 declared for keypad
  00A7                 7     RW4 EQU P2.7    ;row4 declared for keypad
  00B4                 8     CL1 EQU P3.4    ;column1 declared for keypad
  00B5                 9     CL2 EQU P3.5    ;column2 declared for keypad
  00B6                10     CL3 EQU P3.6   ;column3 declared for keypad
  00B7                11     CL4 EQU P3.7   ;column4 declared for keypad
                      12     
                      13     ;LCD PORT DEFINITIONS
  0080                14     DATAPORT EQU P0
  0092                15     EN EQU P1.2
  0091                16     RW EQU P1.1
  0090                17     RS EQU P1.0
  00FF                18     DE EQU 0FFH                                ;(WHERE IS IT USED???)
  0087                19     D7 EQU P0.7
                      20     
  0094                21     RDYSGN EQU P1.4  ;THIS PIN SENDS SIGNAL TO BU TO GLOW MACHINE READY LED(O/P CONFIGURED)
                      22     
  0095                23     VOTSNL EQU P1.5  ;THIS PIN SENDS SIGNAL TO BU TO GLOW VOTE CASTED LED(O/P CONFIGURED)
                      24     
  00B1                25     STATLD EQU P3.1  ;THIS PIN IS SET TO GLOW STATUS LED(O/P CONFIGURED)
                      26     
  00B0                27     MCONBTN EQU P3.0  ;THIS PIN IS SET OR CLEARED ACCORDING TO MANUAL CONTROL BUTTON PRESSED OR
                              NOT(I/P CONFIGURED)
                      28     
  0093                29     RESBUT EQU P1.3   ;THIS PIN BECOMES LOW WHEN RESULT BUTTON IS PRESSED
                      30     
  0070                31     DIG5 EQU 70h
  0071                32     DIG4 EQU 71h
  0072                33     DIG3 EQU 72h 
  0073                34     DIG2 EQU 73h
  0074                35     DIG1 EQU 74h
                      36     
  0076                37     TOTALLB EQU 76h
  0077                38     TOTALHB EQU 77h
                      39     
  0045                40     MEM EQU 45h                             ;TO BRING EACH CHAR OF ENTERED PASSWORD ONE BY ONE
  0047                41     STATUS EQU 47h                  ;TO ENSURE POLL-RESULT-POLL SEQUENCE
  0049                42     COUNT EQU 49h
  0060                43     MODE EQU 60h            ;SAVES D SELECTED MODE'S HEX VALUE
  0079                44     CCODE EQU 79h                   ;TO SAVE CANDIDATE'S CODE OBTINED FRM BU
                      45     
                      46     ;EEPROM PORT DEFINITIONS ETC.
  0096                47     SDA1 EQU P1.6
  0097                48     SCL1 EQU P1.7
                      49     
                      50     
  00A0                51     WTCMD EQU   10100000B       ;WRITE DATA COMMAND 
  00A1                52     RDCMD EQU   10100001B       ;READ DATA COMMAND 
                      53     
  007E                54     HBADD EQU 7Eh
  007F                55     MEMORY EQU 7Fh
                      56     
                      57     
A51 MACRO ASSEMBLER  VOTING                                                               04/12/2008 18:04:50 PAGE     2

                      58     
                      59     
0000                  60     ORG 0000h
0000 020016           61     LJMP MAIN
                      62     
0003                  63     ORG 0003h
0003 02018F           64     LJMP CLOSE
                      65       
0013                  66     ORG 0013h
0013 02019B           67     LJMP TOTAL
                      68     
                      69     
                      70     
0016                  71     MAIN:     ;***************************MAIN*******************
                      72     
0016 D293             73     SETB RESBUT
0018 D2B1             74     SETB STATLD
                      75     
                      76     
001A 7580FF           77     MOV DATAPORT,#0FFH       
001D 91B8             78                     ACALL LCD216                                ;LCD INITIALISATION
001F 91BD             79             ACALL LCDCLR 
0021 91C2             80             ACALL RETHOME
0023 91C7             81             ACALL DONCOFF                           ;LCD INITIALISED               
                      82     
0025 1204FF           83     LCALL STATREAD
0028 E547             84     MOV A,STATUS
002A B40002           85     CJNE A,#00h,LABEL1 
002D 8003             86     JMP LABEL2                                
002F 0200B2           87     LABEL1:LJMP RESULT                                     
0032 120399           88     LABEL2:LCALL EVM_LCD1                                   ;DISPLAYS "VOTING MODE"
0035 1202AC           89     LCALL DELAY_5SEC
0038 1201E9           90     LCALL PASSWORDDETECT
                      91     
                      92     
                      93     
                      94     
                      95     
                      96     
                      97     
                      98     
                      99                                                                                                
                                                               
003B                 100     INITIALIZEM:       ;INITIALIZING MEMORY LOCATIONS(USED FOR STORING TOTAL NO.OF VOTES OF EAC
                             H CANDIDATE) TO '0'
                     101                        ;MEMORY LOCATIONS 32, 33 ARE FOR CANDIDATE1'S VOTE COUNT
                     102                        ;AND 34,35 ARE FOR CANDIDATE2'S VOTE COUNT AND SO ON....
003B 7832            103             MOV R0,#32h
003D 7A10            104             MOV R2,#10h
003F                 105             LABEL3:
003F 7600            106                                 MOV @R0,#00h
0041 08              107                                 INC R0
0042 DAFB            108                                     DJNZ R2,LABEL3
                     109     
0044 757600          110     MOV TOTALLB,#00h                                         ;INITIALISING TOTAL VOTE COUNT TO 
                             ZERO
0047 757700          111     MOV TOTALHB,#00h
                     112     
004A B1B2            113     ACALL MEMORYINIT
004C B1D3            114     ACALL MEMINIT
                     115     
004E 75A885          116     MOV IE,#85h                                                     ;ENABLING BOTH 'CLOSE' AND 
                             'TOTAL' INTERRUPT
                     117     
0051                 118     MACFREE:                                                         ;MACHINE IS FREE TO ACCEPT
                              NEW CODE FRM BU AT DIS PT.
A51 MACRO ASSEMBLER  VOTING                                                               04/12/2008 18:04:50 PAGE     3

                     119                     ;SETB VOTSNL                                    
0051 C2B1            120                     CLR STATLD                   ;TO GLOW SATUS LED FOR THE VERY FIRST TIME
0053 D294            121                     SETB RDYSGN                          ;CONFIGURING AS O/P
0055 D2B0            122                     SETB MCONBTN                             ;CONFIGURING AS I/P
0057 20B0FD          123                     JB MCONBTN,$  
005A D2B1            124                     SETB STATLD                      ;WAIT TILL MANUAL CONTROL BUTTON IS PRESSE
                             D
005C C294            125                     CLR RDYSGN                               ;WHEN PRESSED, SEND SIGNAL TO BU T
                             O SWITCH 
                     126                                                                              ;ON ITS MACHINE RE
                             ADY LED
                     127     
005E 00              128     NOP
005F D294            129     SETB RDYSGN
                     130     
                     131     
                     132     
0061 75A0FF          133     MOV IPFRMBU,#0FFh                        ;CONFIGURING PORT 
                     134     
                     135     ;REFRESH:                                                        ;CLEAR THE PORT (INTERFACE
                             D WITH BU) FROM
                     136                                                                              ;THE PREVIOUS CODE
                              OBTAINED FRM BU
                     137     
                     138                     
                     139     ;        MOV A,IPFRMBU
                     140      ;       ANL A,#00001111b
                     141       ;      CJNE A,#00h,REFRESH
                     142     
                     143     
0064                 144     START:                                                   ;POLLING PROGRAM TO DETECT THE COD
                             E FROM BU
                     145     
                     146             ;MOV IPFRMBU,#0FFh                       ;CONFIGURING PORT AS I/P
0064 E5A0            147             MOV A,IPFRMBU
0066 540F            148             ANL A,#00001111b
0068 B40F02          149             CJNE A,#0Fh,START1
006B 80F7            150             JMP START  
                     151                                     
006D E5A0            152     START1: MOV A,IPFRMBU
006F 540F            153     ANL A,#00001111b
0071 B40907          154     CJNE A,#09h,VALID
0074 C295            155     CLR VOTSNL
0076 00              156     NOP
0077 D295            157     SETB VOTSNL
0079 80D6            158     JMP MACFREE
                     159     
007B                 160     VALID:  ;*******INCREMENTING VOTE(INDIVIDUAL & TOTAL) AND WRITING IT TO EEPROM*******      
                                                                          
                     161     
007B F579            162                     MOV CCODE,A
007D AA76            163                     MOV R2,TOTALLB
007F BAFF07          164                     CJNE R2,#0FFh,LABEL11              ;TOTAL VOTE COUNT SHUD B INCREMENTED AS
0082 0577            165                     INC TOTALHB                                                ;SOON AS WE GET 
                             CONFIRMED DAT A VALID 
0084 757600          166                     MOV TOTALLB,#00h                                   ;VOTE HAS BEEN CASTED
0087 8002            167                     JMP LABEL12
                     168     
0089                 169     LABEL11:
0089 0576            170                     INC TOTALLB
                     171     
008B                 172     LABEL12: 
008B 12052F          173                     LCALL TOTALWRITE
008E 7830            174                     MOV R0,#30h                                             ;INITIALISING MEMOR
                             Y LOCATION TO 30h
0090 75F002          175             MOV B,#02h                                                      ;AS 2 BYTES ARE RES
A51 MACRO ASSEMBLER  VOTING                                                               04/12/2008 18:04:50 PAGE     4

                             ERVED TO STORE VOTE 
                     176                                                                                             ;CO
                             UNT OF EACH CANDIDATE 
0093 E579            177             MOV A,CCODE
0095 A4              178                     MUL AB
0096 28              179             ADD A,R0
0097 F8              180             MOV R0,A
0098 E6              181             MOV A,@R0
0099 B4FF09          182             CJNE A,#0FFh,INCRM
009C 08              183             INC R0
009D E6              184             MOV A,@R0
009E 04              185             INC A
009F F6              186             MOV @R0,A
00A0 18              187             DEC R0
00A1 7600            188         MOV @R0,#00h
00A3 8002            189         JMP COMP
                     190     
00A5                 191     INCRM:
00A5 04              192         INC A
00A6 F6              193         MOV @R0,A
                     194             
                     195     
00A7                 196     COMP:
00A7 C295            197             CLR VOTSNL
                     198                     
                     199             ;ACALL DELAY_5SEC
                     200      
00A9 00              201     NOP
00AA D295            202     SETB VOTSNL
00AC 12056B          203     LCALL VOTEWRITE
00AF 020051          204             LJMP MACFREE
                     205     
                     206     
                     207     
                     208     
                     209     
                     210     
                     211     
00B2                 212     RESULT:       ;*******************************RESULT ROUTINE *************************
                     213     
                     214     
00B2 120463          215     LCALL EVM_LCD5                                                  ;DISPLAY "RESULT MODE" 
00B5 1202AC          216     LCALL DELAY_5SEC    
00B8 1201E9          217     LCALL PASSWORDDETECT
00BB 75A884          218     MOV IE,#84h                                             ;ENABLING 'TOTAL' INTERRUPT ONLY, A
                             ND DISABLING 
                     219                                                                     ;'CLOSE' INTERRUPT
00BE 754900          220     MOV COUNT,#00h
00C1 120599          221     LCALL VOTEREAD
00C4 12050D          222     LCALL STATWRITE0
                     223      
00C7                 224     LABEL14:
00C7 7832            225             MOV R0,#32h
00C9 E549            226             MOV A,COUNT

⌨️ 快捷键说明

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