一、關閉定時器模組
時tscr1的ten位為0;
二、設定iosx為輸出比較引腳(以7為例)
tios_ios7 = 1;
三、繫結輸出比較引腳
tctl1_om7 = 0;
tctl1_ol7 = 1;
四、設定計數器的比較值(在24mhz的系統時間下,0xbb為1ms)中斷週期:0x4926*128/24mhz = 100ms
tc7 = 0xbb;
五、設定定時器分頻設定(以128分頻為例)
tscr2_pr = 0x7;
六、設定定時器比較成功後輸出從而產生中斷
tscr2_tcre = 1;
七、最後開啟定時器
tscr1_ten = 1;
八、中斷函式要寫為
#pragma code_seg __near_seg non_banked
void interrupt vectornumber_vtimch7 tim7_isr(void)
**void outputcompare_init(void)
#pragma code_seg __near_seg non_banked
void interrupt vectornumber_vtimch7 tim7_isr(void)
MC9S12G時鐘配置
一 enable外部時鐘 使cpmuosc暫存器的osce位置一 二 計算需要的頻率 以24mhz為例 pllclk 24mhz 2 x oscclk 振盪器頻率,即你的外部晶振 x synr 1 refdv 1 三 計算出synr,refdv後 把synr得值賦給cpmusynr的前六位,把ref...
基於MC9S12G使用編碼器(控制)輸出PWM
基於mc9s12g使用編碼器 控制 輸出pwm 首先是編碼器的原理 a和b是對應兩個光敏接收管,ab之間的距離s2小於s0和s1,所以當順時針旋轉的時候,a和b對應的初始值是1 1,a會首先進入初始位置左側的s0區域,即a和b的值為0,1,接下來ab同時處於s0區域,即為0,0,接下來a先進入s1區...
mc9s12xdp512的中斷程式設計
中斷在c語言裡面有兩種方式表達 1 interrupt void rti isr void same as pragma trap proc,set the entry number in the prm file這種方式定義了中斷的結構,實際的向量位址在prm檔案中定義 2 void interr...