?? lpclib.c.bak
字號(hào):
//IO1SET 0000 00X0 0000 0000 0000 0000 0000 0000
IO1SET=IO1SET |0x02000000;//寫入1
}
//----------------------------------------------------------------------------------------------------
//關(guān)閉寫磁頭
//void Hd1_L(void)
//----------------------------------------------------------------------------------------------------
void Hd1_off(void)
{
//IO0SET 0000 0000 0000 0000 0000 0000 000x 0000
IO0SET=IO0SET|0x00000010; //寫入1
//IO1SET 0000 00X0 0000 0000 0000 0000 0000 0000
IO1SET=IO1SET|0x02000000; //寫入1
}
//----------------------------------------------------------------------------------------------------
//使能HD2 寫NS
//void Hd1_H(void)
//----------------------------------------------------------------------------------------------------
void Hd2_H(void)
{
//IO0SET 0000 0000 0000 0000 0000 0000 00X0 0000
IO0SET=IO0SET|0x00000020; //寫入1
//IO0SET 0000 0000 0000 0000 0000 0000 0X00 0000
IO0CLR=IO0CLR|0x00000040; //寫入0
}
//------------------------------------------------------------------------------------------------------
//使能HD1 寫SN
//void Hd1_L(void)
//----------------------------------------------------------------------------------------------------
void Hd2_L(void)
{
//IO0SET 0000 0000 0000 0000 0000 0000 00X0 0000
IO0CLR=IO0CLR|0x00000020; //寫入0
//IO0SET 0000 0000 0000 0000 0000 0000 0X00 0000
IO0SET=IO0SET|0x00000040; //寫入1
}
//----------------------------------------------------------------------------------------------------
//關(guān)閉寫磁頭
//void Hd2_L(void)
//----------------------------------------------------------------------------------------------------
void Hd2_off(void)
{
//IO0SET 0000 0000 0000 0000 0000 0000 00X0 0000
IO0SET=IO0SET|0x00000020; //寫入1
//IO0SET 0000 0000 0000 0000 0000 0000 0X00 0000
IO0SET=IO0SET|0x00000040; //寫入1
}
//----------------------------------------------------------------------------------------------------
//使能HD3 寫NS
//void Hd3_H(void)
//----------------------------------------------------------------------------------------------------
void Hd3_H(void)
{
//IO0SET 0000 0000 0000 0000 0000 0000 X000 0000
IO0SET=IO0SET|0x00000080; //寫入1
//IO1SET 0000 000X 0000 0000 0000 0000 0000 0000
IO1CLR=IO1CLR|0x01000000; //寫入0
}
//----------------------------------------------------------------------------------------------------
//使能HD3 寫SN
//void Hd1_L(void)
//----------------------------------------------------------------------------------------------------
void Hd3_L(void)
{
//IO0SET 0000 0000 0000 0000 0000 0000 X000 0000
IO0CLR=IO0CLR|0x00000080; //寫入0
//IO1SET 0000 000X 0000 0000 0000 0000 0000 0000
IO1SET=IO1SET|0x01000000; //寫入1
}
//----------------------------------------------------------------------------------------------------
//關(guān)閉寫磁頭
//void Hd3_off(void)
//----------------------------------------------------------------------------------------------------
void Hd3_off(void)
{
//IO0SET 0000 0000 0000 0000 0000 0000 X000 0000
IO0SET=IO0SET|0x00000080; //寫入1
//IO1SET 0000 000X 0000 0000 0000 0000 0000 0000
IO1SET=IO1SET|0x01000000; //寫入1
}
//----------------------------------------------------------------------------------------------------
//打開(kāi)讀LED燈
//void LED_R_ON (void)
//----------------------------------------------------------------------------------------------------
void LED_R_ON (void)
{
//IO0SET 0000 0000 00X0 0000 0000 0000 0000 0000
IO0SET=IO0SET|0x00200000; //寫入1
}
//----------------------------------------------------------------------------------------------------
//關(guān)閉讀LED燈
//void LED_R_OFF (void)
//----------------------------------------------------------------------------------------------------
void LED_R_OFF (void)
{
//IO0SET 0000 0000 00X0 0000 0000 0000 0000 0000
IO0CLR=IO0CLR|0x00200000; //寫入0
}
//----------------------------------------------------------------------------------------------------
//打開(kāi)讀LED燈
//void LED_W_ON (void)
//----------------------------------------------------------------------------------------------------
void LED_W_ON (void)
{
//IO0SET 0000 0000 0X00 0000 0000 0000 0000 0000
IO0SET=IO0SET|0x00400000; //寫入1
}
//----------------------------------------------------------------------------------------------------
//關(guān)閉讀LED燈
//void LED_W_OFF (void)
//----------------------------------------------------------------------------------------------------
void LED_W_OFF (void)
{
//IO0SET 0000 0000 0X00 0000 0000 0000 0000 0000
IO0CLR=IO0CLR|0x00400000; //寫入1
}
//----------------------------------------------------------------------------------------------------
//打開(kāi)錯(cuò)誤LED燈
//void LED_ERR_ON (void)
//----------------------------------------------------------------------------------------------------
void LED_ERR_ON (void)
{
//IO1SET 0000 X000 0000 0000 0000 0000 0000 0000
IO1SET=IO1SET|0x08000000; //寫入1
}
//----------------------------------------------------------------------------------------------------
//關(guān)閉錯(cuò)誤LED燈
//void LED_ERR_OFF (void)
//----------------------------------------------------------------------------------------------------
void LED_ERR_OFF (void)
{
//IO1SET 0000 X000 0000 0000 0000 0000 0000 0000
IO1CLR=IO1CLR|0x08000000; //寫入0
}
//-----------------------------------------------------------------------------------------------------
//打開(kāi)蜂鳴器
//void Beep_ON (void)
//-----------------------------------------------------------------------------------------------------
void Beep_ON (void)
{
//IO1SET 0000 0000 0000 X000 0000 0000 0000 0000
IO1SET=IO1SET|0x00080000; //寫入1
}
//-----------------------------------------------------------------------------------------------------
//關(guān)閉蜂鳴器
//void Beep_OFF (void)
//-----------------------------------------------------------------------------------------------------
void Beep_OFF (void)
{
//IO1SET 0000 0000 0000 X000 0000 0000 0000 0000
IO1CLR=IO1CLR|0x00080000; //寫入0
}
//-----------------------------------------------------------------------------------------------------
//讀CPD信號(hào)
//unsigned char R_CPD (void)
//-----------------------------------------------------------------------------------------------------
unsigned char R_CPD (void)
{
//IO0PIN 0000 0000 0000 0X00 0000 0000 0000 0000
return ((unsigned char)((IO0PIN&0x00040000)>>18));
}
//-----------------------------------------------------------------------------------------------------
//讀磁道1信號(hào)
//unsigned char R_HD1 (void)
//-----------------------------------------------------------------------------------------------------
unsigned char R_HD1 (void)
{
//IO1PIN 0000 0000 00x0 0000 0000 0000 0000 0000
return ((unsigned char)((IO1PIN&0x00200000)>>21));
}
//-----------------------------------------------------------------------------------------------------
//讀磁道2信號(hào)
//unsigned char R_HD2 (void)
//-----------------------------------------------------------------------------------------------------
unsigned char R_HD2 (void)
{
//IO1PIN 0x00 0000 0000 0000 0000 0000 0000 0000
return ((unsigned char)((IO1PIN&0x40000000)>>30));
}
//-----------------------------------------------------------------------------------------------------
//讀磁道3信號(hào)
//unsigned char R_HD3 (void)
//-----------------------------------------------------------------------------------------------------
unsigned char R_HD3 (void)
{
//IO1PIN 00x0 0000 0000 0000 0000 0000 0000 0000
return ((unsigned char)((IO1PIN&0x20000000)>>29));
}
//-----------------------------------------------------------------------------------------------------
//打開(kāi)寫卡中斷
//void EN_W_INT(void)
//-----------------------------------------------------------------------------------------------------
void EN_W_INT(void)
{
VICIntEnable =(1<<14); //使能EINT0
VICIntEnable =(1<<15); //使能EINT1
}
//-----------------------------------------------------------------------------------------------------
//關(guān)閉寫卡中斷
//void CLR_W_INT(void)
//-----------------------------------------------------------------------------------------------------
void CLR_W_INT(void)
{
VICIntEnClr =(1<<14); //關(guān)EINT0
VICIntEnClr =(1<<15); //關(guān)EINT1
}
//-----------------------------------------------------------------------------------------------------
//打開(kāi)串口中斷
//void EN_W_INT(void)
//-----------------------------------------------------------------------------------------------------
void EN_UART0_INT(void)
{
VICIntEnable =(1<<6); //使能UART0
}
//-----------------------------------------------------------------------------------------------------
//關(guān)閉串口中斷
//void CLR_W_INT(void)
//-----------------------------------------------------------------------------------------------------
void CLR_UART0_INT(void)
{
VICIntEnClr =(1<<6); //關(guān)UART0
}
//-----------------------------------------------------------------------------------------------------
//打開(kāi)讀卡中斷
//void EN_R_INT(void)
//-----------------------------------------------------------------------------------------------------
void EN_R_INT(void)
{
VICIntEnable =(1<<16); //使能EINT2;
VICIntEnable =(1<<17); //使能EINT3;
VICIntEnable =(1<<5); //使能TIMER1捕獲中斷`
}
//-----------------------------------------------------------------------------------------------------
//關(guān)閉讀卡中斷
//void CLR_R_INT(void)
//-----------------------------------------------------------------------------------------------------
void CLR_R_INT(void)
{
VICIntEnClr =(1<<16); //關(guān)EINT2;
VICIntEnClr =(1<<17); //關(guān)EINT3;
VICIntEnClr=(1<<5); //關(guān)TIMER1捕獲中斷`
}
//---------------------------------------------------------------------------------------------------
//系統(tǒng)初始化
//void Beep_OFF (void)
//-----------------------------------------------------------------------------------------------------
void TargetResetInit(void)
{
/* 設(shè)置系統(tǒng)各部分時(shí)鐘 */
/* Set system timers for each component */
PLLCON = 1;
#if (Fpclk / (Fcclk / 4)) == 1
VPBDIV = 0;
#endif
#if (Fpclk / (Fcclk / 4)) == 2
VPBDIV = 2;
#endif
#if (Fpclk / (Fcclk / 4)) == 4
VPBDIV = 1;
#endif
#if (Fcco / Fcclk) == 2
PLLCFG = ((Fcclk / Fosc) - 1) | (0 << 5);
#endif
#if (Fcco / Fcclk) == 4
PLLCFG = ((Fcclk / Fosc) - 1) | (1 << 5);
#endif
#if (Fcco / Fcclk) == 8
PLLCFG = ((Fcclk / Fosc) - 1) | (2 << 5);
#endif
#if (Fcco / Fcclk) == 16
PLLCFG = ((Fcclk / Fosc) - 1) | (3 << 5);
#endif
PLLFEED = 0xaa;
PLLFEED = 0x55;
while((PLLSTAT & (1 << 10)) == 0);
PLLCON = 3;
PLLFEED = 0xaa;
PLLFEED = 0x55;
/* 設(shè)置存儲(chǔ)器加速模塊 */
/* Set memory accelerater module*/
MAMCR = 0;
#if Fcclk < 20000000
MAMTIM = 1;
#else
#if Fcclk < 40000000
MAMTIM = 2;
#else
MAMTIM = 3;
#endif
#endif
MAMCR = 2;
/* 初始化VIC */
/* initialize VIC*/
VICIntEnClr = 0xffffffff; //清除中斷標(biāo)志位
VICVectAddr = 0x00000000; //向量中斷地址寄存器清0
VICIntSelect= 0x00000000; //所有中斷為IRQ中斷
VICVectCntl0 = 0x0000002e;
VICVectAddr0 = (unsigned int)IRQ_Eint0; // 0
VICVectCntl1 = 0x0000002f;
VICVectAddr1 = (unsigned int)IRQ_Eint1; // 1
VICVectCntl2 = 0x00000030;
VICVectAddr2 = (unsigned int)IRQ_Eint2; // 2
VICVectCntl3 = 0x00000031;
VICVectAddr3 = (unsigned int)IRQ_Eint3; // 3
VICVectCntl4 = 0x00000025;
VICVectAddr4 = (unsigned int)IRQ_TIME1; // 4
VICVectCntl5 = 0x00000026 ;
VICVectAddr5 = (unsigned int)IRQ_UART0; // 5
Port_Init();
Hd1_off();
Hd2_off();
Hd3_off();
UART0_Init ();
UART1_Init (115200);
Uart_Printf("hello philpis lpc2132");
//------------------------------------------------------------------------------------------
// UART0= 0x00000026 串行中斷0中斷號(hào)
// TIME1= 0x00000025 捕獲中斷3中斷號(hào)
// Eint0= 0x0000002e 外部中斷0中斷號(hào)
// Eint1= 0x0000002f 外部中斷1中斷號(hào)
// Eint2= 0x00000030 外部中斷2中斷號(hào)
// Eint3= 0x00000031 外部中斷3中斷號(hào)
//------------------------------------------------------------------------------------------
}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -