요약
일상생활에서 신호등을 사용하면 효과적인 교통 관리가 가능하며, 이는 교통 흐름의 전환, 도로 수용 능력 향상 및 교통 사고 감소에 확실한 효과가 있습니다. 신호등 제어 시스템은 80C51 마이크로 컨트롤러, 키보드, LED 디스플레이 및 신호등 지연으로 구성됩니다. 기본적인 신호등 기능 외에도 시간 설정, LED 정보 표시 기능도 탑재해 도시 교통을 효과적으로 제어할 수 있다.
키워드: 신호등; 마이크로컨트롤러; LED
요약
일상생활에서 교통을 효과적으로 관리할 수 있습니다. 교통 흐름을 원활하게 하고 도로 용량을 늘리며 교통 사고를 줄입니다. 신호등 제어 시스템은 80C51 마이크로 컨트롤러, 키패드, LED 디스플레이, 신호등 지연 구성 요소로 구성되어 있으며 신호등 시스템에는 시간이 지남에 따라도 있습니다. 설정, LED 정보 표시 기능, 도시 교통의 효과적인 제어 달성
주요 단어: 신호등 제어
내용
1 신호등; 업무, 기능적 요구사항 및 전반적인 계획 소개................................................1
1.1 신호등 업무.......................................................................................... ..........................1
1.2 기능 요구사항 설명 ............................................................................1
1.3 전체 설계 계획 소개 및 작동 원리 설명 ............................................................2
2 신호등 하드웨어 시스템 설계 .............................. ................................................................4
2.1 하드웨어 시스템의 각 모듈의 기능 소개.................................................................................. ……4< /p>
2.2 회로도 ............................................................5
2.3 회로 PCB 다이어그램… .........................................................................5
2.4 컴포넌트 레이아웃................................................................................ ……5
2.5 구성품 목록................................................................5
3 신호등 디자인 소프트웨어 시스템..........................................................................................7
3.1 마이크로컨트롤러의 자원 활용.......................................................... .........7
3.2 소프트웨어 모듈 기능 소개........................................8
3.3 프로그램 흐름 차트................................................................................................8
3.4 프로그램 목록....................................................................... ..........................................10
4 디자인 요약..........................................................................................11 p>
4.1 사용 지침..........................................................................................11
4.2 오류 분석.......................................... .......................................................................11
4.3 디자인 경험 .............................................................................. …………11
4.4 교육 제언……………………………………………12
참고자료… …………………………………………………13
감사의 말씀…
...................................................................................................14
부록 1 회로도 .............................................. .........................15
부록 2 회로 PCB 최상위 다이어그램................................................................16
부록 3 회로 PCB 하단 레이어 다이어그램........................................................17
부록 4 컴포넌트 레이아웃 다이어그램......................................... ...................................................................18
부록 5 구성요소 목록................................................................................19
부록 6 프로그램 목록…………………………………20
1 신호등 작업, 기능 요구 사항 설명 및 전체 계획 소개
1.1 신호등 작업
특정 기능을 갖춘 교차로의 신호등을 디자인합니다. 신호등이 켜지거나 버튼이 재설정되면 자동으로 시스템 프롬프트 "P"가 표시되고 준비 상태로 들어갈 수 있습니다. 작업을 시작하려면 시작 키를 누르고 "P" 상태로 돌아가려면 종료 키를 누릅니다. A차선과 B차선이 교차하는 두 도로의 차량은 교대로 운행해야 하며, A차선이 주 차선이고, B차선이 2차선이며, 각각의 개방 시간이 30초입니다. 표시등은 3초 동안 켜져 있어야 하며 1초에 한 번씩 깜박입니다. 긴급 차량이 나타나면 모든 빨간불이 켜집니다. 긴급 차량은 10초간 통행이 가능하며 다른 차량의 통행이 허용되지 않습니다.
1.2 기능 요구사항 설명
본 코스 설계의 하드웨어 연결 방법은 P2 포트에 다이오드가 연결되고 P2.0, P2.1, P2가 연결됩니다. 2개의 포트 라인이 별도로 연결되어 있습니다. P2.3, P2.4 및 P2.5 포트 라인은 북쪽의 녹색 표시등, 노란색 표시등 및 빨간색 표시등을 제어합니다. -각각 남쪽 방향. P0 포트는 디지털 튜브의 위치 제어로 사용되며(여기서는 P0.0, P0.1만 사용함), P1 포트는 디지털 튜브의 세그먼트 제어로 사용되며, P3 포트는 입력부(P3)로 사용됩니다. 여기서는 .0과 P3이 사용됩니다.) .1, P3.2 포트 라인), 디지털 튜브의 디스플레이 상태와 다이오드의 켜짐/꺼짐 상태를 제어합니다.
신호등이 켜지거나 버튼이 재설정되면 시스템 프롬프트 "P."가 자동으로 표시되고 시스템은 준비 상태로 들어갑니다.
시작 버튼 K1을 눌렀다가 떼면 디지털 튜브 디스플레이가 "60"부터 카운트다운을 시작하고 1초마다 1씩 감소합니다. 이때 북쪽에는 항상 녹색등이 켜집니다. - 남쪽 방향, 빨간색 표시등이 "00"을 표시할 때까지 동서 방향으로 켜집니다. 디지털 튜브는 "03"부터 카운트다운을 시작하고 이때 노란색 표시등이 1씩 감소합니다. 남북 방향으로 매초마다 깜박이고 빨간색 표시등은 "00"이 표시될 때까지 동서 방향으로 유지됩니다. 이때 디지털 튜브는 "30"에서 카운트 다운을 시작합니다. 빨간색 표시등은 남북 방향으로 항상 켜져 있고 녹색 표시등은 동서 방향으로 켜져 있으며 "00"이 표시될 때까지 디지털 튜브는 "03"에서 카운트다운을 시작합니다. 시간이 지나면 빨간색 표시등은 남북 방향으로 항상 켜져 있고 노란색 표시등은 동서 방향으로 1초마다 깜박입니다. 다른 키를 누르지 않으면 신호등이 계속 이렇게 순환합니다.
끝 키 K2를 눌렀다가 떼면 디지털 튜브에 "P"가 표시되고 동, 서, 북, 남 방향의 조명이 켜지지 않습니다.
비상키 K3을 눌렀다 떼면 디지털 튜브에 '09'가 표시되고 1초마다 1씩 감소한다.
동서북쪽 모두 빨간불이다. 남쪽 방향이 켜집니다.
마이크로 컨트롤러는 AT89S52, fosc=12MHZ를 사용합니다. 주요 기능은 표 1.1에 나와 있습니다.
표 1.1 키 기능
버튼 키 이름 기능
P3.4 K1 키 시작 키
P3.7 K2 키 종료 키
P3.6 K3 키 비상키
1.3 전체 설계 계획 소개 및 작동 원리 설명
1.3.1 전체 계획 소개
p>
신호등 회로는 마이크로 컨트롤러 AT98S52, 키보드 인터페이스 회로, 디스플레이 인터페이스 회로, 발광 다이오드 제어 회로, 클록 회로 및 재설정 회로로 구성됩니다. 회로도는 그림 1.1에 나와 있습니다.
그림 1.1 원리 블록 다이어그램
(1) 전원 공급 장치
독립적으로 조정된 전원 공급 장치를 사용하는 경우 이 솔루션의 장점은 안정적이고 신뢰할 수 있다는 것입니다. , 다양한 Mature 회로를 사용하실 수 있습니다.
(2) 디스플레이
디지털 튜브 디스플레이를 완전히 채택하여 제한된 기호와 디지털 문자를 표시합니다.
(3) 키보드 입력
키 스위치를 I/O 포트 라인에 직접 연결하세요. 설계 과정에서 회로가 단순화되고 최적화되었기 때문에 포트 리소스가 더 많이 남아 있습니다. . 마지막으로 K0, K1, K2, K3의 4개 버튼을 사용했습니다.
1.3.2 작동 원리
우선, 클럭 회로는 마이크로컨트롤러의 작동에 필요한 클럭 신호를 생성합니다. 이는 마이크로컨트롤러가 정상적으로 작동하기 위한 전제 조건입니다. 마이크로 컨트롤러에는 타이밍 기반과 타이밍이 있습니까? 얼마나 오래 걸릴지 인위적으로 결정해야 합니다. 타이밍을 위해 반복적으로 호출하기 위해 10ms 지연 프로그램을 사용합니다. 우리 하드웨어 회로에서는 키의 키 기능 프로그램이 인터럽트 서비스에 있습니다. 키를 누르면 메인 프로그램이 계속 실행됩니다. CPU는 인터럽트 프로그램을 실행하기 위해 세 가지 주요 기능을 수행할 수 있습니다. 첫 번째는 10초 카운트다운 동안 비상 빨간색 표시등을 켜는 것이고, 두 번째는 카운트다운을 종료하고 P를 표시하는 것입니다. 카운트다운을 다시 시작하세요. 원리는 INTO=P3.4&P3.6&P3.7입니다. 키를 누르면 외부 인터럽트 0 포트 라인이 로우 레벨이 됩니다. 키 스캔 프로그램은 어떤 키를 눌렀는지 구체적으로 결정하는 데 사용되며, 그런 다음 CPU는 다음을 수행합니다. 인터럽트에서 특정 키 기능을 실행합니다. 12개의 발광 다이오드는 P0 포트에 의해 제어됩니다. 전류 제한 저항은 P0 포트와 다이오드 사이에 직렬로 연결되어 다이오드가 소진되는 것을 방지합니다.
2 신호등 하드웨어 시스템 설계
2.1 하드웨어 시스템의 각 모듈 기능 소개
2.1.1 디스플레이 회로
< p>이 기사에서는 코스 설계에서 우리는 4-in-1 디지털 디지털 튜브를 사용합니다. 이 디자인의 디스플레이 드라이버는 삼극관을 드라이버로 사용합니다. 또한 저항은 위치 제어 라인과 세그먼트 제어 라인 모두에 직렬로 연결되어 출력 전력을 증가시킵니다. 여기에는 220Ω 암 저항이 사용됩니다.2.1.2 표시등 제어 회로
이 과정의 설계는 P3 포트를 사용하여 다이오드의 발광 상태를 제어합니다. 포트 라인은 낮은 레벨을 보냅니다. 구체적인 설계는 다음과 같습니다: P3.2 제어 동서 방향의 녹색 표시등, P3.4는 동서 방향의 노란색 표시등, P3.5는 동서 방향의 빨간색 표시등을 제어합니다. , P3.1은 남북 방향의 빨간색 조명을 제어하고, P3.7은 남북 방향의 노란색 조명을 제어하고, P3.0은 남북 방향의 녹색 조명을 제어합니다.
2.1.3 키보드 제어 회로
키보드는 가장 일반적으로 사용되는 입력 장치이며 인간과 컴퓨터 간의 대화를 연결하는 역할을 합니다. 구조적인 형태에 따라 비코딩 키보드와 코딩 키보드로 나눌 수 있습니다.
인코딩 키보드는 하드웨어 방법을 사용하여 키 코드를 생성합니다. 키를 누를 때마다 키보드는 자동으로 키보드 코드를 생성할 수 있고, 많은 수의 키를 가지며 디바운스 기능을 갖습니다. 이런 종류의 키보드는 사용하기 쉽지만 하드웨어가 복잡합니다. 비코딩 키보드는 키 스위치의 작동 상태만 제공하며 해당 키 코드는 소프트웨어에 의해 결정됩니다. 이러한 종류의 키보드는 더 적은 수의 키와 간단한 하드웨어를 가지고 있으며 다양한 마이크로 컨트롤러 응용 시스템에 널리 사용됩니다. 마이크로컨트롤러가 사용하는 키보드는 크게 독립형과 매트릭스형으로 나눌 수 있다. 독립형은 실제로 독립된 버튼 세트입니다. 이 버튼은 마이크로 컨트롤러의 I/O 포트에 직접 연결할 수 있습니다. 즉, 각 버튼에는 전용 포트 라인이 있습니다. 매트릭스 키보드는 키의 수가 많기 때문에 키가 행과 열로 배열되어 매트릭스 형태를 이루기도 합니다. 이 디자인에서는 키보드의 개수가 적고 설치의 편의성을 위해 독립적인 연결 방식을 채택했습니다.
한 키에서 다른 키로 누르는 기능의 실행에는 주로 두 가지 작업이 포함되어야 합니다. 하나는 키 식별, 즉 키보드에서 어떤 키를 눌렀는지 알아내는 것이고, 다른 하나는 키 기능입니다. 성취하다. 첫 번째 작업은 인터페이스 회로를 사용하여 구현되고, 두 번째 작업은 인터럽트 서비스 루틴을 실행하여 수행됩니다. 특히 키보드 인터페이스는 다음 작동 기능을 완료해야 합니다.
(1) 키가 눌렸는지 확인하기 위한 키보드 검색('닫힌 키'라고 함).
(2) 닫힌 키의 행과 열 위치를 결정하기 위한 키 식별입니다.
(3) 닫는 키의 키 코드를 생성합니다.
(4) 다중 키, 문자열 키(다중 키) 및 디바운싱을 제외합니다.
위의 내용은 일반적으로 소프트웨어와 하드웨어의 결합으로 완성됩니다. 즉, 소프트웨어의 협력으로 인터페이스 회로로 완성됩니다. 그러나 하드웨어가 수행하는 작업과 소프트웨어가 수행하는 작업은 인터페이스 회로에 따라 다릅니다.
일반적인 원칙은 하드웨어가 복잡하면 소프트웨어도 단순해야 하고, 하드웨어가 단순하면 소프트웨어도 복잡해야 한다는 것입니다.
2.1.4 클럭 회로
클럭 회로는 마이크로 컨트롤러의 작동에 필요한 클럭 신호를 생성하는 데 사용됩니다. 마이크로 컨트롤러 자체는 복잡한 동기 순차 회로입니다. 동기식 작업 모드의 실현을 보장합니다. 회로는 고유한 클록 신호의 제어 하에 시간 순서에 따라 엄격하게 작동해야 합니다. 수정 발진기와 트리밍 커패시터를 칩의 외부 XTAL1 및 XTAL2 핀 2개에 연결하여 피드백 회로를 형성함으로써 안정적인 자체 발진 회로가 형성됩니다. 클록 회로는 마이크로컨트롤러를 위한 클록 펄스 시퀀스를 생성합니다. 이 설계에 사용된 수정 발진기 주파수는 12MHz이고 커패시턴스는 33pF입니다.
2.1.5 리셋 회로
리셋 회로는 RST 핀을 통해 마이크로컨트롤러로 전송되는 리셋 신호를 생성하는 데 사용됩니다. 리셋은 마이크로컨트롤러의 초기 동작입니다. 주요 기능은 다음과 같습니다: 일부 특수 목적용 레지스터는 초기 상태를 설정하고, 프로그램 상태 워드 PSW는 0으로 지워지며, 프로그램 카운터 PC에는 0000H 값이 할당됩니다. 시스템의 정상적인 초기화를 입력하는 것 외에도 , 프로그램 실행 오류나 연산 오류 등으로 인해 시스템이 교착 상태에 빠졌을 때, 이 난국에서 벗어나기 위해서는 다시 시작하기 위한 리셋 버튼도 설치해야 한다. RST 핀은 리셋 신호의 입력 단자입니다. 리셋 동작을 완료하려면 24개의 상태 사이클이 필요하며, 마이크로컨트롤러는 주소 0000H 단위에서 프로그램을 실행하기 시작합니다. SP는 07H이고 다른 레지스터는 대부분 00H로 설정되어 있습니다. 이 설계에서는 12MHz 주파수의 수정 발진기를 사용하므로 재설정 동작을 완료하려면 재설정 신호 기간이 2μs를 초과해야 합니다. 리셋 회로에는 파워 온 리셋, 키 리셋, 키 펄스 리셋의 세 가지 유형이 있습니다. 이 코스 설계에서는 키 리셋을 사용합니다.
2.1.6 최소 마이크로 컨트롤러 시스템
마이크로 컨트롤러 AT89S52 칩을 사용하여 기본 I/O 포트 실험, 타이밍 카운터 실험 등을 실현할 수 있습니다. 단일 칩 마이크로컴퓨터 병렬 포트의 입력 및 출력 기능 특성을 가지고 있습니다.
2.2 회로도
회로도는 부록 1에 나와 있습니다.
2.3 회로 PCB 다이어그램
회로 PCB의 최상위 다이어그램은 부록 2에 나와 있습니다.
회로 PCB의 최상위 다이어그램은 다음과 같습니다. 부록 3에 나와 있습니다.
2.4 구성 요소 레이아웃 다이어그램
구성 요소 레이아웃 다이어그램은 부록 4를 참조하세요.
2.5 구성 요소 목록
구성 요소 목록은 부록 5에 나와 있습니다.
3 신호등 소프트웨어 시스템 설계
3.1 마이크로 컨트롤러의 리소스 사용
3.1.1 하드웨어 리소스 사용 지침 P0 포트는 다이오드 P1의 제어 포트입니다. 포트 주소/데이터 버스로 사용됩니다. 포트 라인 P3.4, P3.6 및 P3.7은 INTO 외부 인터럽트로 사용됩니다.
< p>AT89S52의 P0 포트에도 사용됩니다. 12개의 발광 다이오드의 음극을 연결하여 켜짐 및 꺼짐을 제어합니다. P1 포트와 P2 포트는 2개의 LED 디지털 튜브(LED1)로 구성된 디스플레이에 외부적으로 연결됩니다. , LED0) P2 포트는 LED 세그먼트 코드 출력 포트로 사용하며(P2.0~P2.7은 LED의 a~dp에 해당), P1 포트는 LED의 위치 제어 출력 라인으로 사용됩니다( P1.1과 P1.0은 각각 LED1과 LED0에 해당합니다), 2개의 외부 트랜지스터가 P1의 직렬 포트에 연결되어 있습니다. 디스플레이 드라이버로서 디스플레이는 동적 디스플레이를 위해 2개의 디지털 튜브(LED0 ~ LED1)를 사용합니다. P3 포트는 디스플레이 인터페이스 회로를 조정하기 위해 3개의 외부 버튼 K1, K2 및 K3(각각 P3.4, P3.7 및 P3.6 포트에 해당)에 연결됩니다.3.1.2 신호등 분포표
신호등 포트 회선 분포는 표 3.1과 같으며, "1"은 높은 전력을 보내는 것을 의미하고, "0"은 낮은 전력을 보내는 것을 의미합니다. 평평한.
표 3.1 신호등 할당표
P0.2 동서 녹색등 1 1 0 1
P0.3 동서 노란색 신호등 1 1 1 0
P0.4 동서 빨간불 0 0 1 1
P0.5 남북 빨간불 1 1 0 0
P0.6 북쪽 -남쪽 노란색 표시등 1 0 1 1
P0.7 북쪽 및 남쪽 녹색 표시등 0 1 1 1
제어 코드 6FH AFH DBH D7H
상태 설명 북쪽 남쪽 금지, 동쪽과 서쪽 금지 북쪽과 남쪽 경고, 동쪽과 서쪽 금지 북쪽과 남쪽 금지, 동쪽과 서쪽 금지 북쪽과 남쪽 금지, 동쪽과 서쪽 허용
3.2 소프트웨어 모듈 기능 소개< /p>
주 프로그램 모듈의 주요 임무는 프로그램을 초기화하고 "P.P."를 표시하는 것입니다. 아무 키도 누르지 않으면 디스플레이 모듈은 변경되지 않고 그대로 유지되며 K0 키가 꺼지면 모든 신호등이 꺼집니다. 눌렀다가 떼면 카운트다운이 시작됩니다.
시간 표시 과정에서 K0, K1, K2 키를 눌렀는지 여부가 판단됩니다. K0을 다시 누르면 디스플레이가 카운트다운을 다시 시작합니다. K1을 누르면 "P."가 표시되고 모든 LED가 꺼집니다. K2를 누르면 디지털 튜브가 10초 카운트다운을 시작하고 동쪽, 서쪽, 남쪽, 북쪽이 모두 켜집니다. 빨간불을 켜세요.
3.3 프로그램 흐름도
주 프로그램의 흐름도는 그림 3.1에, 핵심 판단 프로그램의 흐름도는 그림 3.2에 나와 있습니다.
< p>그림 3.1 메인 프로그램 흐름도그림 3.2 판정 버튼 프로그램 흐름도
3.4 프로그램 목록
프로그램 목록은 부록 6을 참조하세요.
4 설계 요약
4.1 사용 지침
이 실험은 주로 마이크로 컨트롤러 AT89S52, 디지털 튜브 및 발광 다이오드를 사용합니다. 전체 회로 구조는 상대적입니다. 간단합니다. 다음 기능을 실현할 수 있습니다. 시간 표시. 빨간색, 노란색, 녹색 빛이 빛나고 꺼집니다.
구체적인 작동 지침은 다음과 같습니다. 신호등이 켜지거나 버튼이 재설정되면 시스템 프롬프트 "P."가 자동으로 표시되고 시스템은 준비 상태로 들어갑니다. 시작 버튼 K1을 눌렀다 떼면 디지털 튜브 디스플레이가 "60"부터 카운트다운을 시작하고 1초마다 1씩 감소합니다. 이때 남북 방향으로 녹색 표시등이 켜지고 빨간색 표시등이 켜집니다. "00" "을 표시할 때까지 동서 방향으로 켜져 있으면 디지털 튜브는 "03" 에서 카운트 다운을 시작하고 매초마다 1 씩 감소합니다. 이때 노란색 표시등은 북쪽에서 매초마다 깜박입니다. 남쪽 방향, 그리고 빨간불은 "00"을 표시할 때까지 동서 방향으로 유지됩니다. 디지털 튜브는 "30"에서 카운트다운을 시작합니다. 이때 빨간불은 북쪽에서 항상 켜집니다. 남쪽 방향, 녹색 표시등은 항상 동서 방향으로 켜집니다. "00" 을 표시할 때까지 디지털 튜브는 빨간색 표시등이 켜지면 매초마다 노란색 표시등이 깜박입니다. 동서 방향으로, 다른 키를 누르지 않으면 신호등이 계속 이렇게 순환합니다. 종료 키 K2를 눌렀다 떼면 디지털 튜브에 "P."가 표시되고 동서남북 방향의 표시등이 켜지지 않고 다른 키를 누르면 종료되어 키가 수행됩니다. 열쇠의 기능. 비상키 K3을 눌렀다가 떼면 디지털 튜브에 "10"이 표시되고 1초마다 1씩 감소합니다. "00"이 표시되지 않으면 동쪽, 서쪽, 북쪽 및 남쪽 방향의 모든 빨간색 표시등이 켜집니다. 다른 키를 누르면 이 키의 키 기능이 종료되고 실행됩니다. "00"이 표시되면 자동으로 인터럽트가 종료되고 주 프로그램이 계속 완료됩니다.
4.2 오류 분석
이 강좌 설계의 오류는 표시 시간에 있습니다. 디스플레이에 숫자가 1초 동안 표시되도록 지연 프로그램을 사용했습니다. 한 사이클의 주기는 단지 지연 프로그램을 두 번 호출하는 시간이 아니며, 그 동안 CPU는 버퍼 영역의 내용을 누산기 A로 전송, 테이블 조회 명령, 세그먼트 제어 코드를 P2로 전송 등의 다른 명령도 실행합니다. 포트 등은 모두 마이크로초 수준이고 지연 프로그램은 밀리초 수준이므로 계산 과정에서 생략할 수 있습니다. 각 사이클에서 지연 프로그램을 두 번 호출하는 것을 제외하면 사용되는 시간은 22입니다. 표시 주기는 1초에 50번이므로 모니터에 표시되는 숫자는 1초에 불과하며 실제로는 1100ms가 더 표시되며 오류율은 1.1%입니다.
4.3 디자인 체험
1주일이 넘는 시간을 거쳐 드디어 본 강좌 디자인이 완성되었습니다.
이 기간 동안 다른 학생들도 많은 귀중한 의견을 제시해 이 디자인이 완전한 성공을 거둘 수 있었습니다.
자동화 전공자로서 마이크로 컨트롤러의 교과 설계는 매우 의미가 있다고 생각합니다. 무엇보다 중요한 것은 배운 내용을 일상생활에서 어떻게 실천하느냐입니다. 비록 저는 이 코스에 대해 잘 모르고, 많은 기본적인 것들을 잘 익히지 못했지만, 매우 어렵고, 혼자서는 이 코스를 이해할 수 있는 효과적인 방법이 없습니다. 학습” 을 통해 반 친구들의 도움과 설명을 통해 점차 이 과목에 흥미를 가지게 되었고 기초부터 차츰 이해하게 되었습니다. 이 이득은 꽤 크다고 해야 할 것 같습니다.
이 과정 설계를 마치고 마이크로 컨트롤러를 잘 배우는 것의 중요성에 대해서도 더 깊이 이해하게 되었습니다. 오늘날 마이크로컨트롤러는 미사일 항법 장치, 항공기의 각종 기기 제어, 컴퓨터 네트워크 통신 및 데이터 전송, 자동 제어 분야의 로봇, 스마트 기기, 의료 장비, 실시간 제어 등 우리 삶의 모든 영역에 침투해 있습니다. 산업 자동화 프로세스 제어 및 각종 스마트 IC 카드, 민간 고급 자동차의 보안 시스템, 비디오 레코더, 카메라, 전자동 세탁기 제어, 프로그램 제어 장난감, 전자 애완 동물 등에 대한 데이터 처리 등 우리 삶에서 접촉하는 모든 것들은 마이크로컨트롤러와 분리될 수 없습니다. 주로 제어부의 핵심 부품으로 사용됩니다. 따라서 마이크로컨트롤러에 대한 학습과 개발은 모든 계층에서 매우 중요합니다. 앞으로의 연구에서는 마이크로 컨트롤러를 배우고 통합하며 향후 작업을 위한 탄탄한 기반을 마련하기 위해 더 열심히 노력할 것입니다.
4.4 교육 제안
Wang Ren 선생님의 엄격한 요구 사항과 참을성 있는 지도 아래, 저는 한 학기 동안 단일 칩 마이크로컴퓨터 기술 과정을 공부한 후 애플리케이션에 더욱 익숙해졌습니다. 나는 단일 칩 마이크로컴퓨터 기술에 대해 어느 정도 이해하고 있으며 마이크로컨트롤러에 대해 배우는 데 큰 관심을 가지고 있습니다.
이러한 단일 칩 마이크로컴퓨터 제어 신호등 설계를 통해 나만의 학습 과정과 개인적인 경험을 결합하여 교사에게 다음과 같은 교육 제안을 제시했습니다. 앞으로 수업은 마이크로 컨트롤러에 더 익숙한 학생들이 기초가 부족한 학생들에게 도움이 될 수 있도록 그룹으로 나누어 학습의 효율성과 열정을 향상시킬 수 있습니다. 학생들이 정보를 참조할 수 있도록 교육하기 위해 마이크로컨트롤러와 관련된 더 많은 정보를 제공합니다. 이 책의 마지막 요점은 왕 선생님이 마이크로컨트롤러의 확장에 대해 자세히 설명할 필요가 없다는 것입니다. 마이크로 컨트롤러의 전체 프레임워크 구조.
부록 1 회로도
부록 2 PCB 상단 레이어
부록 3 PCB 하단 레이어
부록 4 부품 레이아웃
부록 5 신호등 부품 목록
부품 및 재료명 사양 수량 비고
AT89S52 플러스 베이스 1
포인원* **Yang 디지털 튜브 플러스 베이스 2 0.5인치
수정 발진기 12MHz 1 3결정
발광 다이오드 빅 9
단일 행 40핀 1
p>
트랜지스터 9012 9
부저 1 5V
작은 버튼 9 6*6*4.3mm
다운로드 소켓 10 코어 1 FC -10P
18b20 온도 센서 1
6핀 키 스위치 1 6*6*4.3mm
Usb 전원 코드 + 인터페이스 1 USB 코드 + USB 인터페이스
저항 200 1
저항 4.7K 1
저항 1K 3
저항 470 24
전해 콘덴서 22uf 1
세라믹 콘덴서 33pf 2
저항 10k 2
단락캡 3
듀퐁선 8P 1
< p>PCB 보드 150mm*200mm 1전원 공급 장치 흰색 소켓 1
부록 6 프로그램 목록
ORG 0000H
LJMP MAIN< /p> p>
ORG 001BH
LJMP LOOP1
ORG 0030H
MAIN: MOV PSW, #00H 초기화
MOV SP, #7FH
MOV TMOD, #10H;
MOV TH1, #3CH;
MOV TL1, #0B0H;
< p>MOV TH0, #0FCH;MOV TL0, #18H;
MOV 78H, #11H;
MOV 79H, #10H;
MOV 7AH, #10H;
MOV 7BH, #10H;
MOV 7CH, #10H;
MOV 7DH, #10H;< /p>
MOV 7EH, #10H;
MOV 7FH, #10H;
MOV R7, #0FAH;
MOV R6, #32H ;
p>MOV R5, #05H;
MOV R4, #39H;
MOV R1, #20;
SETB EA;
SETB ET1;
PP: LCALL DIR;
START: LCALL KEY;
JB 20H.0, K0;
< p>LJMP PP;K0: MOV R4, #39H;
MOV R1, #20;
SETB TR1;
p>
MOV 78H, #07H;
MOV 79H, #05H;
MOV 7AH, #10H;
MOV 7BH, #10H;
< p>MOV 7CH, #10H;MOV 7DH, #10H;
MOV 7EH, #10H;
MOV 7FH, # 10H;
LCALL DIR;
CYCL
E0: MOV P3, #0DEH; 메인 녹색 및 보조 빨간색
JB 20H.2, OUT;
KK0: JB 20H.1, JINJI;
CJNE R4, #00, CYCLE0; 60초 지연
MOV R4, #03H;
MOV 78H, #03H;
MOV 79H, #00H;
CYCLE1: MOV P3, #0DFH;
JB 20H.2, OUT;
JB 20H.1, JINJI;
CJNE R1, #10, CYCLE1;
CYCLE2: MOV P3, #0DDH;
JB 20H.2, OUT;
JB 20H.1, 진지 ;
CJNE R1, #20, CYCLE2;
CJNE R4, #00H, CYCLE1;
MOV R4, #1EH;
MOV 78H, #07H;
MOV 79H, #02H;
CYCLE3: MOV P3, #0F3H; 메인 빨간색 및 보조 녹색
JB 20H. 2 , OUT;
JB 20H.1, JINJI;
CJNE R4, #00, CYCLE3; 30초 지연
MOV R4, #03H;< /p>
MOV 78H, #03H;
MOV 79H, #00H;
CYCLE4: MOV P3, #0DFH;
JB 20H. 2, OUT;
JB 20H.1, 진지;
CJNE R1, #10, CYCLE4;
CYCLE5: MOV P3, #0DDH;
p> p>JB 20H.2, OUT;
JB 20H.1, 진지;
CJNE R1, #20, CYCLE5;
CJNE R4 , #00H, CYCLE4;
MOV R4, #39H;
LJMP K0;
JINJI: MOV R4, #10;긴급 차량 버튼< /p >
CYCLE6: MOV P3, #0DBH
CJNE R4, #00, CYCLE6;
LJMP K0;
OUT: MOV P3, #0FFH ;
MOV 78H, #11H;
MOV 79H, #10H;
MOV 7AH, #10H;
MOV 7BH, #10H;
MOV 7CH, #10H;
MOV 7DH, #10H;
MOV 7EH, #10H;
MOV 7FH, #10H;
MOV R7, #0FAH;
LJMP PP;
DIR: PUSH DPH 서브루틴 표시
DPL 푸시;
ACC 푸시;
PSW 푸시;
SETB RS0;
CLR RS1;
MOV R0, #78H;
MOV R3, #0FEH;
MOV A, R3;
LD
0: MOV P2, A;
MOV DPTR, #TABLE;
MOV A, @R0;
MOVC A, @A+DPTR;
p> p>MOV P0, A;
LCALL DELAY;
INC R0;
MOV A, R3;
JB ACC.7, LD1;
RL A;
MOV R3, A;
LJMP LD0;
LD1: CLR RS0; 현재 일반 레지스터 그룹 번호 복원
CLR RS1;
POP PSW;
사이트 복원
POP; DPL;< /p>
POP DPH;
RET;
테이블: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H-- 6
DB 0F8H,80H,90H,88H,83H,0C6H,0A1H; 7--D
DB 86H,8EH,0FFH,0CH, 끄기, P.
KEY: LCALL KEYCHULI; 키 스캔 프로그램
JZ EXIT;
LCALL XX0;
LCALL KEYCHULI
JZ EXIT ;
MOV B, 20H;
KEYSF: LCALL KEYCHULI;
JZ KEY1;
LCALL XX0;
< p>LJMP KEYSF;KEY1: MOV 20H, B;
EXIT: RET;
KEYCHULI: MOV P1, #0FFH;
< p>MOV A, P1;CPL A;
ANL A, #0FH;
MOV 20H, A;
RET ;
DELAY: DJNZ R7, DELAY; 디스플레이 지연 서브루틴
MOV R7, #0FAH;
DJNZ R5, DELAY; p>< p>MOV R5, #05H;
RET;
; 타이머 1초 인터럽트 프로그램:
LOOP1:
MOV TH1, #3CH; 타이머 0에는 초기값이 할당되고 시간은 50ms입니다.
MOV TL1, #0B0H;
LCALL DIR;
LCALL KEY ;
< p>DJNZ R1, RETURN;DEC R4;
MOV R1, #20;
MOV R0, #79H;< /p>
LCALL DADD1;
RETURN: RETI;
디바운스 지연 서브루틴:
XX0: DJNZ R7, XX0;
MOV R7, #0FAH;
DJNZ R6, XX0;
MOV R6, #32H;
RET;
마이너스 1 프로그램:
DADD1: MOV A, @R0;
DEC R0;
SWAP A;
ORL A, @ R0 <
/p>
SUBB A, #01H;
DA A;
MOV R2, A;
ANL A, #0FH;
MOV @R0, A;
MOV A, R2;
INC R0;
ANL A, #0F0H;
< p>SWAP A;MOV @R0, A;
RET;
END