MC9S12XS128驅(qū)動(dòng)LEDP10顯示屏
void hangxuan(unsigned char P)
{ A=P&0x01; B=(P>>1)&0x01; C=(P>>2)&0X01; D=(P>>3)&0X01; CT=1;
}
void init()
{ DisableInterrupts; SC=0; CP=0; A=0; B=0; C=0; D=0; RI=0; CT=1; DIR=0XFF; EnableInterrupts;
}
void INIT_PLL(void)
{ CLKSEL &= 0x7f; //set OSCCLK as sysclk PLLCTL &= 0x8F; //Disable PLL circuit CRGINT &= 0xDF; #if(BUS_CLOCK == 40000000) SYNR = 0x44; #elif(BUS_CLOCK == 32000000) SYNR = 0x43; #elif(BUS_CLOCK == 24000000) SYNR = 0x42; #endif REFDV = 0x81; //PLLCLK=2×OSCCLK×(SYNDIV+1)/(REFDIV+1)=64MHz ,fbus=32M PLLCTL =PLLCTL|0x70; //Enable PLL circuit asm NOP; asm NOP; while(!(CRGFLG&0x08)); //PLLCLK is Locked already CLKSEL |= 0x80; //set PLLCLK as sysclk
}
void timer_init()
{ //CLKSEL &= 0x7f; //set OSCCLK as sysclk TSCR1_PRNT=0;//使能預(yù)分頻 TSCR2=0x87;//使能溢出中斷 128分頻 TCNTH=((unsigned int)(-20000))/256; //500ms TCNTL=((unsigned int)(-20000))%6; TFLG2_TOF=1; //清除溢出中斷標(biāo)志位 TSCR1_TEN=1; //使能定時(shí)器
}
#pragma CODE_SEG __NEAR_SEG NON_BANKED
interrupt void timer()
{ TFLG2_TOF=1; //清除溢出中斷標(biāo)志位 TCNTH=((unsigned int)(-20000))/256; //500ms TCNTL=((unsigned int)(-20000))%6; shu++; if(shu==128) { shu=0; }
}
關(guān)鍵詞:
MC9S12XS128LEDP10顯示
相關(guān)推薦
技術(shù)專區(qū)
- FPGA
- DSP
- MCU
- 示波器
- 步進(jìn)電機(jī)
- Zigbee
- LabVIEW
- Arduino
- RFID
- NFC
- STM32
- Protel
- GPS
- MSP430
- Multisim
- 濾波器
- CAN總線
- 開(kāi)關(guān)電源
- 單片機(jī)
- PCB
- USB
- ARM
- CPLD
- 連接器
- MEMS
- CMOS
- MIPS
- EMC
- EDA
- ROM
- 陀螺儀
- VHDL
- 比較器
- Verilog
- 穩(wěn)壓電源
- RAM
- AVR
- 傳感器
- 可控硅
- IGBT
- 嵌入式開(kāi)發(fā)
- 逆變器
- Quartus
- RS-232
- Cyclone
- 電位器
- 電機(jī)控制
- 藍(lán)牙
- PLC
- PWM
- 汽車電子
- 轉(zhuǎn)換器
- 電源管理
- 信號(hào)放大器
評(píng)論