51单片机外接8255A做成的交通灯程序及PROTEUS仿真结果(附对应C语言程序)
51单片机外接8255A做成的交通灯程序及PROTEUS仿真结果(附对应C语言程序)-04-21 22:01 CONTROL EQU 7FFFH PORTA EQU 7FFCH ORG 0START: MOV DPTR,#7FFFH MOV A,#80H MOVX @DPTR,A MOV DPTR,#7FFCH MOV A,#0FFH MOVX @DPTR,ALOOP: MOV A,#21H MOV DPTR,#7FFCH MOVX @DPTR,A ;东西红,南北绿 CALL DELAYLONG MOV A,#11H MOV DPTR,#7FFCH MOVX @DPTR,A ;三次闪烁 CALL DELAYSHORT MOV A,#01H MOV DPTR,#7FFCH MOVX @DPTR,A CALL DELAYSHORT MOV A,#11H MOV DPTR,#7FFCH MOVX @DPTR,A CALL DELAYSHORT MOV A,#01H MOV DPTR,#7FFCH MOVX @DPTR,A CALL DELAYSHORT MOV A,#11H MOV DPTR,#7FFCH MOVX @DPTR,A CALL DELAYSHORT MOV A,#01H MOV DPTR,#7FFCH MOVX @DPTR,A CALL DELAYSHORT
MOV A,#0CH MOV DPTR,#7FFCH MOVX @DPTR,A CALL DELAYLONG MOV A,#0AH MOV DPTR,#7FFCH MOVX @DPTR,A CALL DELAYSHORT MOV A,#08H MOV DPTR,#7FFCH MOVX @DPTR,A CALL DELAYSHORT MOV A,#0AH MOV DPTR,#7FFCH MOVX @DPTR,A CALL DELAYSHORT MOV A,#08H MOV DPTR,#7FFCH MOVX @DPTR,A CALL DELAYSHORT MOV A,#0AH MOV DPTR,#7FFCH MOVX @DPTR,A CALL DELAYSHORT MOV A,#08H MOV DPTR,#7FFCH MOVX @DPTR,A CALL DELAYSHORT AJMP LOOP
DELAYLONG: MOV R7,#40L1: MOV R6,#200L2: MOV R5,#250 DJNZ R5,$ DJNZ R6,L2 DJNZ R7,L1 RETDELAYSHORT: MOV R4,#200L3: MOV R3,#250 DJNZ R3,$ DJNZ R4,L3 RET END
C语言程序:
# include# define PORTA XBYTE[0X7FFC]# define CONTROL XBYTE[0X7FFF]void DELAYLONG(void);void DELAYSHORT(void);void main(void){CONTROL=0x80;PORTA=0XFF;while(1) { PORTA=0X21; DELAYLONG(); PORTA=0X11; DELAYSHORT(); PORTA=0X01; DELAYSHORT(); PORTA=0X11; DELAYSHORT(); PORTA=0X01; DELAYSHORT(); PORTA=0X11; DELAYSHORT(); PORTA=0X01; DELAYSHORT(); PORTA=0X0C; DELAYLONG(); PORTA=0X0A; DELAYSHORT(); PORTA=0X08;
8255A红绿灯c语言程序 51单片机外接8255A做成的交通灯程序及PROTEUS仿真结果(附对应C语言程序).doc...