|
0.png (39.73 KB, 下載次數(shù): 100)
下載附件
2016-9-4 21:34 上傳
- /****************************************************************************
- * File:Main.C
- * 功能:
- ****************************************************************************/
- #include "config.h"
- /*******************************************************************************
- *名稱:IRQ_Eint0()
- *功能:外部中斷EINT0服務(wù)函數(shù)
- *******************************************************************************/
- void __irq IRQ_Eint0(void)
- { uint32 i;
-
- i=VICIRQStatus; //讀出VICIRQStatus的值
- i=IO0SET; //讀取當(dāng)前P0.5控制值
- if((i&1<<5)==0) //控制P0.5輸出
- { IO0SET=1<<5;
- }
- else
- { IO0CLR=1<<5;
- }
- while((EXTINT&0x01)!=0) //等待外部中斷信號(hào)恢復(fù)為高電平
- { EXTINT=0x01; //清除EINT0中斷標(biāo)志
- }
- VICVectAddr=0x00;
- }
- /*******************************************************************************
- *名稱: IRQ_Eint1()
- *功能: 外部中斷EINT1服務(wù)函數(shù)
- *******************************************************************************/
- void __irq IRQ_Eint1(void)
- { uint32 i;
- i=VICIRQStatus; //讀出VICIRQStatus的值
-
- i=IO0SET; //讀出當(dāng)前P0.4控制值
- if((i&1<<4)==0) //控制P0.4控制值
- { IO0SET=1<<4;
- }
- else
- { IO0CLR=1<<4;
- }
- while((EXTINT&0x02)!=0) //等待外部中斷信號(hào)恢復(fù)為高電平
- { EXTINT=0x02; //清除EINT1中斷標(biāo)志
- }
-
- VICVectAddr=0x00;
- }
- /*******************************************************************************
- *名稱:main()
- *功能:初始化外部中斷0,外部中斷1及I/O連接等
- *******************************************************************************/
- int main(void)
- {
- PINSEL0=0x20080000; //設(shè)置I/O口工作模式,P0.14設(shè)置為EINT1
- PINSEL1=0x00000001; //P0.16設(shè)置為EINT0
- TargetInit();
- IO0DIR=1<<5|1<<4|1<<9; //設(shè)置P0.4,P0.5和P0.9為輸出,其它I/O為輸入
- IO0CLR=1<<5|1<<4;
-
- IO0SET=1<<5|1<<4;
- VICIntSelect=0x00000000; //設(shè)置所有通道為IRQ中斷
- VICVectCntl0=0x2E; //EINT0通道分配到IRQ Slot0,即優(yōu)先級(jí)最高
- VICVectAddr0=(int)IRQ_Eint0; //設(shè)置EINT0向量地址
- VICVectCntl1=0x2F;
- VICVectAddr1=(int)IRQ_Eint1;
- VICIntEnable=0x0001C000; //使能EINT0,EINT1中斷
- EXTINT=0x07; //清除外部中斷
-
- while(1) //等待中斷
- {
-
- PWMMR0=Fpclk/4; //設(shè)置PWM周期
- PWMMR6=Fpclk/4/2; //設(shè)置PWM占空比
- PWMLER=0x41; //PWMMR0,PWMMR6鎖存,更新PWM占空比
- }
-
- }
復(fù)制代碼
0.png (82.88 KB, 下載次數(shù): 100)
下載附件
2016-9-4 21:35 上傳
全部資料下載:
LPC2124 L297 L298 驅(qū)動(dòng)電機(jī)proteus仿真.rar
(201.42 KB, 下載次數(shù): 59)
2016-9-4 21:36 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|
|