關於MC9S12G128的低功耗模式

2021-08-11 02:53:02 字數 1648 閱讀 8863

第一次寫部落格,哈哈哈,剛入行汽車電子,是乙個小白。希望跟各位大觸互相交流學習.最近沒事研究了一波g128 的低功耗模式。mc9s12g128晶元具有以下三種低功耗模式:

1,執行/等待模式 等待模式與執行模式類似,除了cpu執行被暫停並可以有選擇地執行禁用一些模組,以便只有必要的模組時鐘。

2,停止模式 停止模式禁用外部振盪器以降低功耗

3,偽停止模式 為了降低功耗,偽停止模式停止匯流排時鐘,但是外部振盪器

繼續執行

模式內部時鐘

外部時鐘

執行模式

yesyes

停止模式

nono

等待模式

yesyes

偽停止模式

noyes

#include

#include "derivative.h"    

#pragma const_seg default

#pragma data_seg default

unsigned char interrupt_flag;

#pragma code_seg default

#pragma code_seg non_banked

#pragma trap_proc

void interrupt vectornumber_vportad portpad_isr(void)

#pragma code_seg default

void main(void)

ptt = 0xf0;                    

for (z=0; z<40; z++)           }

}cpmuclks_pstp = 0;                 

asm andcc #0x7f;            

asm stop;                           

}break;

case (0xdf): /* pseudo stop mode */

while(1) /* loop forever */

porta = 0xf0;                         

for (z=0; z<40; z++)          }

}cpmuclks_pstp = 1;               

asm andcc #0x7f;               

asm stop;                         

}break;

case (0xef): /* wait mode */

while(1) /* loop forever */

ptt = 0xf0;              

for (z=0; z<40; z++)           }

}asm wai;  /* enter wait mode */ 

}break;

default:

interrupt_flag = 0;              

ptt ^= 0x80;

break;

}/* delay to see leds toggle */

for (x=0; x<5000; x++) }

}}

MC9S12G時鐘配置

一 enable外部時鐘 使cpmuosc暫存器的osce位置一 二 計算需要的頻率 以24mhz為例 pllclk 24mhz 2 x oscclk 振盪器頻率,即你的外部晶振 x synr 1 refdv 1 三 計算出synr,refdv後 把synr得值賦給cpmusynr的前六位,把ref...

MC9S12G定時器中斷設定

一 關閉定時器模組 時tscr1的ten位為0 二 設定iosx為輸出比較引腳 以7為例 tios ios7 1 三 繫結輸出比較引腳 tctl1 om7 0 tctl1 ol7 1 四 設定計數器的比較值 在24mhz的系統時間下,0xbb為1ms 中斷週期 0x4926 128 24mhz 10...

MC9S12 RTI 時鐘的設定

rti,是org時鐘和復位發生模組中的乙個功能,一般用它來3秒後啟動車子。初始化它,需要兩個暫存器 crgint和rtictl。crgint的第8位 rtie是rti的中斷使能位,為1使能。而rtictl的設定,就關係到定時的時間,關鍵就是這點,估計有很多同學不太了解吧。下面來重點說說 它的第8位 ...