|
1: 実験名 4桁ランニングランプ
2: 実験的な内容四段ランニングランプの点滅サイクルを実感してください
3. 実験の目的1: LEDハードウェアのマスタリングサーキット 2: KL25 GPIOモジュール出力のレジスタ構成方式をマスターする 3: 4桁走行灯の点滅プログラミング法を習得する
4. 実験的手法 1: そのセクションの回路図を参照 KL25のPTB8、PTB9、PTB10、PTB11ピンがそれぞれ4つの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(0x00000f00u); レジスター GPIOx_PDOR参照してください
3: 4段階ランニングランプのサイクル点滅を実現する [mw_shl_code=c,true]ルーチンのメイン関数で対応するプログラムを参照してください/* *********************************************************** * ファイル名:main.c * function : main の関数 * *********************************************************** */
#include 「Derivative.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ランプは点灯 遅延(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]
|