📄 voting.lst
字号:
00CB 75F002 227 MOV B,#02h
00CE A4 228 MUL AB
00CF 28 229 ADD A,R0
00D0 F8 230 MOV R0,A
00D1 E6 231 MOV A,@R0
00D2 FA 232 MOV R2,A ;LOWER BYTE
00D3 08 233 INC R0
00D4 E6 234 MOV A,@R0
00D5 F9 235 MOV R1,A ;HIGHER BYTE
00D6 5149 236 ACALL CONVERSION
237
238 ;LCD MODULE
A51 MACRO ASSEMBLER VOTING 04/12/2008 18:04:50 PAGE 5
239
00D8 91BD 240 ACALL LCDCLR
00DA 91D1 241 ACALL FCBFL
00DC 91AB 242 ACALL COMMAND
00DE 11F1 243 ACALL EVM_LCDO
00E0 51AC 244 ACALL DELAY_5SEC
00E2 2093FD 245 JB RESBUT,$
00E5 0549 246 INC COUNT
00E7 E549 247 MOV A,COUNT
00E9 B408DB 248 CJNE A,#08h,LABEL14
00EC 754900 249 MOV COUNT,#00h
00EF 80D6 250 JMP LABEL14
251
252 ;LCD ROUTINES
253
254
00F1 255 EVM_LCDO:
256
00F1 90011B 257 MOV DPTR,#TABLE1O
00F4 E549 258 MOV A,COUNT
00F6 C3 259 CLR C
00F7 75F00C 260 MOV B,#0Ch
00FA A4 261 MUL AB
00FB 2582 262 ADD A,DPL
00FD F582 263 MOV DPL,A
00FF 7400 264 MOV A,#00h
0101 3583 265 ADDC A,DPH
0103 F583 266 MOV DPH,A
0105 3111 267 ACALL WRITE1O
0107 91D6 268 ACALL FCBSL
0109 91AB 269 ACALL COMMAND
010B 900187 270 MOV DPTR,#TABLE2O
010E 317B 271 ACALL WRITE2O
0110 22 272 RET
273
0111 274 WRITE1O:
0111 E4 275 CLR A
0112 93 276 MOVC A,@A+DPTR
0113 6005 277 JZ BACK2O
0115 919E 278 ACALL DISPLAY
0117 A3 279 INC DPTR
0118 80F7 280 SJMP WRITE1O
281
011A 22 282 BACK2O: RET
283
011B 284 TABLE1O:
011B 43414E44 285 DB 'CANDIDATE 1',0
011F 49444154
0123 45203100
0127 43414E44 286 DB 'CANDIDATE 2',0
012B 49444154
012F 45203200
0133 43414E44 287 DB 'CANDIDATE 3',0
0137 49444154
013B 45203300
013F 43414E44 288 DB 'CANDIDATE 4',0
0143 49444154
0147 45203400
014B 43414E44 289 DB 'CANDIDATE 5',0
014F 49444154
0153 45203500
0157 43414E44 290 DB 'CANDIDATE 6',0
015B 49444154
015F 45203600
0163 43414E44 291 DB 'CANDIDATE 7',0
0167 49444154
A51 MACRO ASSEMBLER VOTING 04/12/2008 18:04:50 PAGE 6
016B 45203700
016F 43414E44 292 DB 'CANDIDATE 8',0
0173 49444154
0177 45203800
293
294
017B 295 WRITE2O:
017B E4 296 CLR A
017C 93 297 MOVC A,@A+DPTR
017D 6005 298 JZ BACK3O
017F 919E 299 ACALL DISPLAY
0181 A3 300 INC DPTR
0182 80F7 301 SJMP WRITE2O
302
0184 303 BACK3O:
0184 91EA 304 ACALL BACK3
0186 22 305 RET
306
307
308
0187 564F5445 309 TABLE2O: DB 'VOTES: ',0
018B 533A2000
310
311
312
313
314
315 ;********************************** CLOSE ROUTINE *************************************
018F 316 CLOSE :
317 ;INITIALIZING MEMORY LOCATIONS(USED FOR STORING TOTAL NO.OF VOTES OF EACH CANDIDATE)
318 ;TO '0' MEMORY LOCATIONS 32, 33 ARE FOR CANDIDATE1'S VOTE COUNT AND 34,35 ARE FOR
319 ;CANDIDATE2'S VOTE COUNT AND SO ON....
320
018F D2B1 321 SETB STATLD
0191 12051E 322 LCALL STATWRITE1
0194 E587 323 MOV A,PCON
0196 4402 324 ORL A,#02h
0198 F587 325 MOV PCON,A
019A 32 326 RETI
327
328
329
330
331
332 ;*********************************TOTAL ROUTINE **********************************
019B 333 TOTAL:
019B 120550 334 LCALL TOTALREAD
019E AA76 335 MOV R2,TOTALLB
01A0 A977 336 MOV R1,TOTALHB
01A2 120249 337 LCALL CONVERSION
338
339 ;LCD MODULE
01A5 7580FF 340 MOV DATAPORT,#0FFH
01A8 91B8 341 ACALL LCD216 ;LCD INITIALISATION
01AA 91BD 342 ACALL LCDCLR
01AC 91C2 343 ACALL RETHOME
01AE 91C7 344 ACALL DONCOFF
01B0 91BD 345 ACALL LCDCLR
01B2 91D1 346 ACALL FCBFL
01B4 91AB 347 ACALL COMMAND
01B6 31B9 348 ACALL EVM_LCDT
01B8 32 349 RETI
350
351
352
A51 MACRO ASSEMBLER VOTING 04/12/2008 18:04:50 PAGE 7
01B9 353 EVM_LCDT:
354
01B9 9001C8 355 MOV DPTR,#TABLE1T
01BC 91E0 356 ACALL WRITE
01BE 91D6 357 ACALL FCBSL
01C0 91AB 358 ACALL COMMAND
01C2 9001E1 359 MOV DPTR,#TABLE2T
01C5 31D5 360 ACALL WRITE2T
01C7 22 361 RET
362
363
01C8 364 TABLE1T:
01C8 544F5441 365 DB 'TOTAL NO. OF',0
01CC 4C204E4F
01D0 2E204F46
01D4 00
366
01D5 367 WRITE2T:
01D5 E4 368 CLR A
01D6 93 369 MOVC A,@A+DPTR
01D7 6005 370 JZ BACK3T
01D9 919E 371 ACALL DISPLAY
01DB A3 372 INC DPTR
01DC 80F7 373 SJMP WRITE2T
374
01DE 375 BACK3T:
01DE 91EA 376 ACALL BACK3 ;BACK3 DISPLAYS D DECIMAL NUMBER SATORED AT DIG5,DIG4, ...D
IG0
01E0 22 377 RET
378
01E1 564F5445 379 TABLE2T: DB 'VOTES: ',0
01E5 533A2000
380
381
382
383
384
385
386
387
388
389
390
391 ;***************PASSWORD DETECTION**********************************
392
393
01E9 394 PASSWORDDETECT:
395
01E9 1203C8 396 LCALL EVM_LCD2 ;DISPLAYS "ENTER PASSWORD ......"
397
01EC 398 INITIALIZEP: ;INITIALIZING MEMORY LOCATIONS(USED FOR STORING TH
E
399 ;PASSWORD ACCEPTED FROM THE USER,i
e, OFFICER IN CHARGE)
01EC 7850 400 MOV R0,#50h
01EE 7A06 401 MOV R2,#06h
01F0 402 LABEL4:
01F0 7600 403 MOV @R0,#00h
01F2 08 404 INC R0
01F3 DAFB 405 DJNZ R2,LABEL4
406
01F5 7850 407 MOV R0,#50h
01F7 7A06 408 MOV R2,#06h
01F9 1202B9 409 KEYCALL: LCALL KEYDETECTION
01FC F6 410 MOV @R0,A
A51 MACRO ASSEMBLER VOTING 04/12/2008 18:04:50 PAGE 8
01FD 08 411 INC R0
01FE BA0606 412 CJNE R2,#06h,LCD1
413
414 ;***LCD MODULE TO DISPLAY '*' WHENEVER A KEY IS PRESSED TO ENTER PASSWORD***
415
416 ;MOV DATAPORT,#0FFH
417 ;ACALL LCD216 ; LCD INITIALISATION
418 ;ACALL LCDCLR
419 ;ACALL RETHOME
420 ;ACALL DONCB ; LCD INITIALISED
0201 91BD 421 ACALL LCDCLR
0203 91D1 422 ACALL FCBFL
0205 91AB 423 ACALL COMMAND
424
0207 425 LCD1:
0207 90020C 426 MOV DPTR,#TABLE1
020A 91E0 427 ACALL WRITE
428
020C 2A00 429 TABLE1: DB '*',0
430
020E 1A 431 DEC R2
020F BA00E7 432 CJNE R2,#00h,KEYCALL
433
434
435
436
437 ;**********COMPARING ALREADY STORE PASSWORD AND ENTERED PASSWORD*********
438
439
440 ;CHECK STATUS VALUE HERE AGAIN, IF IT IS '1'(MEANS WE ARE WORKING IN RESULT MODE)
441 ; THEN USE"MOV DPTR,#LIST1R" AND IF IT IS '0'(MEANS WE ARE WORKING IN VOTING MODE)
442 ; THEN USE"MOV DPTR,#LIST1V"
0212 7850 443 MOV R0,#50h
0214 7B06 444 MOV R3,#06h
445
0216 E547 446 MOV A,STATUS
447
0218 B40005 448 CJNE A,#00h,RESLT
021B 90023D 449 MOV DPTR,#LIST1V
021E 8003 450 JMP COMMON
0220 900243 451 RESLT: MOV DPTR,#LIST1R ;LIST1 POINTS TO PASSWORD O
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -