신호등 제어 프로그램 설계
간단한 I/O 실험(신호등 제어)
1. 실험 요구 사항
74LS273을 출력 포트로 사용하여 4개의 이중 색상 LED 조명( 빨간색, 녹색, 노란색 빛을 보낼 수 있음), 시뮬레이션된 신호등 관리.
2. 실험 목적
1. 단일 칩 컴퓨터 시스템에서 간단한 I/O 인터페이스를 확장하는 방법을 알아봅니다.
2. 데이터 출력 프로그램을 설계하는 방법을 알아보세요.
3. 신호등 제어를 시뮬레이션하는 방법을 알아보세요.
4. 2색 조명 사용 방법을 알아보세요.
3. 실험 회로 및 연결
4. 실험 설명
1. 본 실험은 신호등 제어 실험이므로 먼저 실제 트래픽을 이해해야 합니다. 빛이 변하는 패턴. 교차로가 동서, 남북으로 이어진다고 가정해 보세요. 초기상태 0은 동쪽과 서쪽의 빨간불, 북쪽과 남쪽의 빨간불이다. 그런 다음 상태 1로 전환하면 남북 녹색 신호등은 교통에 개방되고 동서 신호등은 빨간색입니다. 잠시 후 상태 2로 변경됩니다. 북쪽과 남쪽 조명이 녹색으로 여러 번 깜박인 다음 몇 초 후에 노란색으로 켜지고 동쪽과 서쪽 조명은 빨간색으로 유지됩니다. 그런 다음 상태 3으로 전환하면 동서 녹색 신호등은 교통에 개방되고 남북 신호등은 빨간색이 됩니다. 일정 시간이 지나면 상태 4로 바뀌고, 동쪽과 서쪽 등이 녹색으로 여러 번 깜박인 다음 몇 초의 지연을 거쳐 노란색으로 바뀌고, 북쪽과 남쪽 등은 빨간색으로 유지됩니다. 마지막으로 상태 1로 루프합니다.
2. 이중 색상 LED는 빨간색 LED 다이와 녹색 LED 다이로 패키지되며 공통 음극 단자가 있습니다. 빨간색 양극 단자가 높은 레벨을 추가하고 녹색 양극 단자가 낮은 레벨을 추가하면 빨간색 양극 단자가 낮은 레벨을 추가하고 녹색 양극 단자가 높은 레벨을 추가하면 녹색 표시등이 켜집니다. 레벨이 높으면 노란색 표시등이 켜집니다.
5. 실험 프로그램 블록 다이어그램
프로그램 블록 다이어그램:
소스 코드:
ORG 0000H
LJMP START
ORG 0040H
START:
MOV SP, #60H
LCALL STATUS0; 초기 상태(모두 빨간색 표시등)
p>
CIRCLE: LCALL STATUS1; 북쪽과 남쪽에 녹색 표시등, 동쪽과 서쪽에 빨간색 표시등
북쪽과 남쪽에 녹색 표시등이 깜박입니다. 동쪽과 서쪽의 노란색, 빨간색 표시등
북쪽과 남쪽의 빨간색 표시등, 동서쪽의 녹색 표시등
LCALL STATUS4, 동쪽- 서쪽 녹색 표시등이 노란색으로 깜박임
LJMP CIRCLE
STATUS0: 북쪽-남쪽 빨간색 표시등, 동쪽-서쪽 빨간색 표시등
p>
MOV DPTR , #8300H
MOV A, #0FH
MOVX @DPTR, A
MOV R2, #10 지연 1초
LCALL DELAY
RET
STATUS1: ; 북쪽 및 남쪽 녹색 표시등, 동쪽 및 서쪽 빨간색 표시등
MOV DPTR, #08300H
MOV A, #5AH; 남북 녹색등, 동서 적색등
MOVX @DPTR, A
MOV R2, #50 지연
LCALL DELAY
RET
STATUS2: 북쪽 및 남쪽 녹색 표시등이 노란색, 동쪽 및 서쪽 빨간색 표시등으로 깜박입니다.
MOV DPTR, #8300H p>
MOV R3, #03H; 녹색 표시등이 3번 깜박입니다.
FLASH: MOV A, #5FH
MOVX @DPTR, A
MOV R2, #03H
p>
LC 통화 지연
MOV A, #5AH
MOVX @DPTR, A
MOV R2, #03H
LCALL DELAY
DJNZ R3, FLASH
MOV A, #0AH 북쪽 및 남쪽 노란색 표시등, 동쪽 및 서쪽 빨간색 표시등
p>MOVX @DPTR, A
MOV R2, #10 지연 1초
LCALL DELAY
RET
STATUS3: ; 북쪽 및 남쪽 빨간불, 동쪽 및 서쪽 녹색등
MOV DPTR, #8300H
MOV A, #0A5H
MOVX @DPTR, A
MOV R2, #50; 5초 지연
p>LCALL DELAY
RET
STATUS4: 북쪽 및 남쪽 빨간색 표시등 , 동쪽 및 서쪽 녹색 표시등이 노란색 표시등으로 깜박입니다.
MOV DPTR, #8300H
MOV R3, #03H 녹색 표시등이 3번 깜박입니다.
FLASH1: MOV A, #0AFH
MOVX @DPTR, A
MOV R2, #03H
LCALL DELAY
MOV A, #0A5H
MOVX @DPTR, A
MOV R2, #03H
LCALL DELAY
DJNZ R3, FLASH1
MOV
A, #05H; 북쪽 및 남쪽 빨간색 신호등, 동쪽 및 서쪽 노란색 신호등
MOVX @DPTR, A
MOV R2, #10; >LCALL DELAY
NOP
RET
DELAY: 지연 서브루틴
PUSH 2
PUSH 1
PUSH 1
p>
PUSH 0
DELAY1: MOV 1, #00H
DELAY2: MOV 0, #0B2H
DJNZ 0, $
DJNZ 1, DELAY2 지연 100mS
DJNZ 2, DELAY1
POP 0
POP 1
POP 2
되돌리기
END