|
1: Назва експерименту Чотиризначна ходова лампа
2: Експериментальний контентУсвідомте цикл миготіння чотирипозиційної ходової лампи
3. Мета експерименту1: Опанувати обладнання світлодіодівТраса 2: Опанувати метод конфігурації регістрів для виводу модуля KL25 GPIO 3: Опанувати метод програмування чотиризначного миготіння циклу бігових вогнів
4. Експериментальні методи 1: Зверніться до схеми схеми цього розділу Було встановлено, що контакти PTB8, PTB9, PTB10 і PTB11 KL25 керують чотирма світлодіодними світлодіодами D6, D7, D8 і D9 відповідно. file:///C:\Users\AA\AppData\Local\Temp\ksohtml\wps_clip_image-3968.png 2: Налаштувати відповідні регістри модуля GPIO (1) Зверніться до сторінки 122 Довідкового посібника KL25 і дізнайтеся, що 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 реєстр та сторінку 46 технічного листа KL25
(4) Встановити напрямок входу та виходу контактів, встановити PTB8, PTB9, PTB10 і PTB11 на вихід і запрограмувати їх наступним чином: GPIOB_PDDR=GPIO_PDDR_PDD(0x00000f00u); GPIOx_PDDR реєстри можна звернутися
(5) Встановіть вихідний логічний рівень контакту, встановіть вихідний високий рівень PTB8, PTB9, PTB10, PTB11 і запрограмуйте його так: GPIOB_PDOR=GPIO_PDOR_PDO(0x00000f00u); Зверніться до GPIOx_PDOR реєстрів
3: Усвідомити циклічне миготіння чотирипозиційної ходової лампи [mw_shl_code=c,true]Зверніться до відповідної програми у головній функції рутини/* *********************************************************** * ім'я файлу: main.c * функція : функція для основної * *********************************************************** */
#include "derivative.h" #include "config.h" #include "crg.h" #include "gpio.h"
/******************************主函数*************************************/ int main(порожнеча)
{ 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 затримки (15000); Затримка GPIOB_PDOR=GPIO_PDOR_PDO(0x00000200u); PTB9 видає високий рівень, увімкнено світло D7LED затримки (15000); Затримка GPIOB_PDOR=GPIO_PDOR_PDO(0x00000400u); Вихід PTB10 на високому рівні, увімкнене світло D8LED затримки (15000); Затримка GPIOB_PDOR=GPIO_PDOR_PDO(0x00000800u); Вихід PTB11 на високому рівні, увімкнене світло D9LED затримки (15000); Затримка }
}[/mw_shl_code]
|