<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 凌陽(yáng)16位單片機之IRQ4中斷

凌陽(yáng)16位單片機之IRQ4中斷

作者: 時(shí)間:2016-11-20 來(lái)源:網(wǎng)絡(luò ) 收藏
IRQ4中斷是由 b4 b5 b5三位來(lái)控制的

本文引用地址:http://dyxdggzs.com/article/201611/318713.htm

實(shí)現功能:利用IRQ4三個(gè)時(shí)基中斷,即IRQ4_1kHz、IRQ4_2kHz和IRQ4_4kHz中斷,在各自的中斷服務(wù)程序中對相應的變量進(jìn)行累加;并通過(guò)點(diǎn)亮、熄滅發(fā)光二極管來(lái)表示相應變量計數器累加的速度;

實(shí)驗現象:D4和D5的亮滅周期為2s,D6和D7的亮滅周期為1s,D8~D11的亮滅周期為0.5s。

這個(gè)需要有一個(gè)變量來(lái)計數,


#include "SPCE061A.H"
#define sec2 0x0003 //宏定義,低八位的低兩個(gè)口
#define sec1 0x000c
#define sec5 0x00f0
unsigned int i,j;

void IRQ4(void)__attribute__((ISR));


void IRQ4()
{
static unsigned int IRQ_2=0,IRQ_1=0,IRQ_4=0;//設置三個(gè)計數器
//unsigned int IRQ42,IRQ41,IRQ44;
//unsigned int Output = 0x0000,i;
//*P_IOA_Data=0x00ff;
//asm("INT OFF");
if(*P_INT_Ctrl & C_IRQ4_1KHz)//1024
{
if(++IRQ_1>=2048)
{
IRQ_1=0;
if(((*P_IOA_Buffer)&sec2)==0)
{
*P_IOA_Data+=sec2;
}
else
{
*P_IOA_Data-=sec2;
}
}
//通過(guò)判斷亮暗來(lái)進(jìn)行加減 下面兩個(gè)都是類(lèi)似的
*P_INT_Clear = C_IRQ4_1KHz;
}

if(*P_INT_Ctrl & C_IRQ4_2KHz)//2048
{
if(++IRQ_2>=2048)
{
IRQ_2=0;
if(((*P_IOA_Buffer)&sec1)==0)
{
*P_IOA_Data+=sec1;
}
else
{
*P_IOA_Data-=sec1;
}
}
*P_INT_Clear = C_IRQ4_2KHz;
}


if(*P_INT_Ctrl & C_IRQ4_4KHz)//4096
{
IRQ_4++;
if(IRQ_4>=2048)
{
IRQ_4=0;
if(((*P_IOA_Data)&sec5)==0)
{
(*P_IOA_Data)=(*P_IOA_Data)+sec5;
}
else
{
(*P_IOA_Data)=(*P_IOA_Data)-sec5;
}
}
*P_INT_Clear =C_IRQ4_4KHz;
}
//asm("INT IRQ");
}

int main()
{
*P_IOA_Dir = 0x00ff;
*P_IOA_Attrib = 0x00ff;
*P_IOA_Data = 0x0000;

*P_INT_Ctrl = C_IRQ4_2KHz+C_IRQ4_1KHz+C_IRQ4_4KHz;//01110000 開(kāi)啟了IRQ4的三種不同頻率的中斷
asm("INT IRQ");

while(1)
{
*P_Watchdog_Clear = 0x0001;
}
return 0;
}



評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>