|
1: 실험명 4자리 주행등
2: 실험적 콘텐츠4단계 주행등을 깜빡이는 사이클을 실현하세요
3. 실험의 목적1: LED 하드웨어 마스터서킷 2: KL25 GPIO 모듈 출력의 레지스터 구성 방식을 마스터합니다 3: 4자리 주행등 주기 깜빡임 프로그래밍 방법을 마스터하기
4. 실험적 방법 1: 해당 구간의 회로도를 참조하라. KL25의 PTB8, PTB9, PTB10, PTB11 핀이 각각 네 개의 LED 발광 다이오드 D6, D7, D8, D9를 제어하는 것으로 나타났습니다. file:///C:\Users\AA\AppData\Local\Temp\ksohtml\wps_clip_image-3968.png 2: GPIO 모듈의 해당 레지스터를 구성 (1) KL25 참고 매뉴얼 122페이지를 참고하여 GPIO가 플랫폼 클럭에서 제공된다는 것을 확인하세요.
(2) 플랫폼 클럭 클럭과 POTRB 모듈을 연결하고 다음과 같이 프로그래밍합니다: SIM_SCGC5=SIM_SCGC5_PORTB_MASK; SIM_SCGC5 등록부를 참고할 수 있습니다
(3) 다중화 핀 속성을 설정하고, PTB8, PTB9, PTB10, PTB11을 GPIO 함수로 구성하여 다음과 같이 프로그래밍합니다: PORTB_PCR8=PORT_PCR_MUX(1); PORTB_PCR9=PORT_PCR_MUX(1); PORTB_PCR10=PORT_PCR_MUX(1); PORTB_PCR11=PORT_PCR_MUX(1); 자세한 내용은 PORTx_PCRn 레지스터와 KL25 데이터 시트 46페이지를 참조하십시오
(4) 핀의 입력 및 출력 방향을 설정하고, PTB8, PTB9, PTB10, PTB11을 출력으로 설정한 후 다음과 같이 프로그래밍합니다: GPIOB_PDDR=GPIO_PDDR_PDD(0x00000f00u); GPIOx_PDDR 등록부를 참고할 수 있습니다
(5) 핀의 출력 논리 레벨을 설정하고, PTB8, PTB9, PTB10, PTB11의 출력 고레벨을 설정한 후 다음과 같이 프로그래밍합니다: GPIOB_PDOR=GPIO_PDOR_PDO(0x0000f00u); 등록부GPIOx_PDOR 참고하세요
3: 4단계 주행등의 사이클 깜빡임 실현 [mw_shl_code=c,true]루틴의 주요 함수에 해당 프로그램을 참조하세요/* *********************************************************** * 파일명 : main.c * 함수 : main 함수 * *********************************************************** */
#include "파생.h" #include "config.h" #include "crg.h" #include "gpio.h"
/******************************主函数*************************************/ int main(void)
{ asm("CPSID i"); 고개의 일반적인 중단
crg_default_init(); 시스템 기본 클럭 crg_configuration_init(); 구성 후 클럭 MCGIRCLK_outenable(); MCGIRCL 출력 2M 활성화 clock_test(4); 해당 시계의 테스트
gpio_init(); GPIO 초기화
asm("CPSIE i"); 완전한 중단을 열어
for(;; ) { GPIOB_PDOR=GPIO_PDOR_PDO(0x00000100u); PTB8 출력 고레벨, D6LED 불 켜짐 딜레이ms(15,000); 지연 GPIOB_PDOR=GPIO_PDOR_PDO(0x00000200u); PTB9 출력 고레벨, D7LED 불 켜짐 딜레이ms(15,000); 지연 GPIOB_PDOR=GPIO_PDOR_PDO(0x00000400u); PTB10 출력 고레벨, D8LED 불 켜짐 딜레이ms(15,000); 지연 GPIOB_PDOR=GPIO_PDOR_PDO(0x00000800u); PTB11 출력 고레벨, D9LED 조명 켜짐 딜레이ms(15,000); 지연 }
}[/mw_shl_code]
|