基于单片机的投票计票系统
ORG 0000H
SJMP MAIN
ORG 0003H
SJMP DUAN
MAIN: SETB EA
SETB EX0
SETB IT0 ;中断初始化
MOV P0,#0FFH
LP2: MOV A,P0
CJNE A,#0FFH,LP1
SJMP START
LP1: MOV P1,#04H
MOV P2,#37H
MOV R3,#0
DJNZ R3,$
MOV P1,#08H
MOV P2,#3FH
MOV R3,#0
DJNZ R3,$
SJMP LP2
START: MOV R0,#01
WE: MOV A,#01
NEXT: MOV B,A
MOV P1,A
MOV DPTR,#TAB0
MOV A,R0
MOVC A,@A+DPTR
MOV P2,A
LCALL DELAY
MOV A,B
RL A
CJNE A,#40H,NEXT
INC R0
CJNE R0,#07,WE
SJMP START
DUAN: MOV P1,#3FH
ASP3: MOV R2,#0
SETB C
MOV R1,#01H
ASP: MOV P0,#0FFH
MOV A,P0
ASP1: RRC A
JNC PS2
ASP2: INC R1
CJNE R1,#9,ASP1
SJMP DISPLAY
PS2: INC R2
AJMP ASP2
DISPLAY:MOV A,R2
MOV R7,A
PLAY: MOV A,R2
MOVC A,@A+DPTR
MOV P2,A
LCALL DELAY
LING:MOV R6,#200H
B1: MOV P1.0,#01H
MOV R3,#5H
S1: MOV R4,#70H
DJNZ R4,$
DJNZ R3,S1
MOV P1.0,#0H
MOV R3,#5H
S2: MOV R4,#70H
DJNZ R4,$
DJNZ R3,S2
DJNZ R6,B1
NLING: MOV P1,#0FFH
MOV P2,#00H
LCALL DELAY
LCALL DELAY
DJNZ R7,PLAY
LP3: MOV A,P0
CJNE A,#0FFH,PLAY2
SJMP START
PLAY2: MOV A,R2
MOVC A,@A+DPTR
MOV P2,A
SJMP LP3
DELAY:MOV R3,#00H
LOOP:MOV R4,#0FFH
LOOP1: NOP
NOP
DJNZ R4,LOOP1
DJNZ R3,LOOP
RETI
TAB0:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H
DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H
因篇幅问题不能全部显示,请点此查看更多更全内容