|
1: Nama eksperimen Lampu lari empat digit
2: Konten eksperimentalSadari siklus berkedip empat posisi berjalan lamp
3. Tujuan percobaan1: Kuasai perangkat keras LEDsirkuit 2: Kuasai metode konfigurasi register output modul GPIO KL25 3: Kuasai metode pemrograman siklus lampu lari empat digit yang berkedip
4. Metode eksperimental 1: Lihat diagram sirkuit bagian itu Ditemukan bahwa pin PTB8, PTB9, PTB10, dan PTB11 KL25 masing-masing mengontrol empat dioda pemancar cahaya LED D6, D7, D8, dan D9. file:///C:\Users\AA\AppData\Local\Temp\ksohtml\wps_clip_image-3968.png 2: Konfigurasikan register modul GPIO yang sesuai (1) Lihat halaman 122 dari Manual Referensi KL25 dan temukan bahwa GPIO disediakan oleh jam platform.
(2) Hubungkan jam jam Platform dan modul POTRB, dan program sebagai berikut: SIM_SCGC5=SIM_SCGC5_PORTB_MASK; SIM_SCGC5 register dapat dikonsultasikan
(3) Atur atribut pin multiplexing, konfigurasikan PTB8, PTB9, PTB10, dan PTB11 sebagai fungsi GPIO, dan program sebagai berikut: PORTB_PCR8=PORT_PCR_MUX(1); PORTB_PCR9=PORT_PCR_MUX(1); PORTB_PCR10=PORT_PCR_MUX(1); PORTB_PCR11=PORT_PCR_MUX(1); Lihat daftar PORTx_PCRn dan halaman 46 dari Lembar Data KL25 untuk informasi lebih lanjut
(4) Atur arah input dan output pin, atur PTB8, PTB9, PTB10, dan PTB11 ke output, dan program sebagai berikut: GPIOB_PDDR=GPIO_PDDR_PDD(0x00000f00u); GPIOx_PDDR register dapat dikonsultasikan
(5) Atur level logika keluaran pin, atur level tinggi keluaran PTB8, PTB9, PTB10, PTB11, dan program sebagai berikut: GPIOB_PDOR=GPIO_PDOR_PDO(0x00000f00u); Konsultasikan GPIOx_PDOR register
3: Sadari siklus berkedip lampu berjalan empat posisi [mw_shl_code=c,true]Konsultasikan program yang sesuai dalam fungsi utama rutinitas/* *********************************************************** * Nama file : main.c * Fungsi : Fungsi untuk Utama * *********************************************************** */
#include "turunan.h" #include "config.h" #include "crg.h" #include "gpio.h"
/******************************主函数*************************************/ int main(kosong)
{ asm(" CPSID i"); Gangguan umum dari pass
crg_default_init(); Jam default sistem crg_configuration_init(); Jam setelah konfigurasi MCGIRCLK_outenable(); Mengaktifkan output MCGIRCL 2M clock_test(4); Tes jam yang sesuai
gpio_init(); Inisialisasi GPIO
asm(" CPSIE i"); Buka interupsi total
untuk(;; ) { GPIOB_PDOR=GPIO_PDOR_PDO(0x00000100u); Output PTB8 tingkat tinggi, lampu D6LED menyala penundaan (15000); Penundaan GPIOB_PDOR=GPIO_PDOR_PDO(0x00000200u); Output PTB9 tingkat tinggi, lampu D7LED menyala penundaan (15000); Penundaan GPIOB_PDOR=GPIO_PDOR_PDO(0x00000400u); Keluaran PTB10 tingkat tinggi, lampu D8LED menyala penundaan (15000); Penundaan GPIOB_PDOR=GPIO_PDOR_PDO(0x00000800u); Keluaran PTB11 tingkat tinggi, lampu D9LED menyala penundaan (15000); Penundaan }
}[/mw_shl_code]
|