新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > IAR+Proteus7.6仿真MSP430單片機(jī)PORT1外部中斷功能

IAR+Proteus7.6仿真MSP430單片機(jī)PORT1外部中斷功能

作者: 時(shí)間:2016-11-20 來(lái)源:網(wǎng)絡(luò) 收藏
1. Proteus電路
2. msp430程序
#include
#define uint unsigned int
#define uchar unsigned char
/
函數(shù):void delay_1ms(void) void delay_nms(uint n)
功能:延時(shí)1ms 延時(shí)Nms
*/
void Delay_1ms(void) //1ms延時(shí)函數(shù)
{
uint i;
for (i=0;i<80;i++);
}
void Delay_Nms(uint n) //N ms延時(shí)函數(shù)
{
uint i=0;
for (i=0;i Delay_1ms();
}
/
函數(shù):void P1_ISR(void)
功能:外部中斷服務(wù)函數(shù)
*/
#pragma vector=PORT1_VECTOR
__interrupt void Port_1(void)
{
uchar i;
for(i=0;i<10;i++)
{
P1OUT=0x01;
Delay_Nms(1000);
P1OUT=0x00;
Delay_Nms(1000);
}
P1IFG = 0x00; //清除中斷標(biāo)志
}
/
函數(shù):void P1_INIT(void)
功能:PORT1端口初始化
*/
void P1_INIT(void)
{
P1SEL = 0x00; //設(shè)置為普通I/O口
P1DIR |= 0X01; //設(shè)置I/O方向
P1IE = 0x80; //P1^7中斷允許
P1IES = 0x00; //上升沿使相應(yīng)標(biāo)志位置位
P1IFG = 0x00; //清除中斷標(biāo)志
}
/
函數(shù):void main(void)
功能:主函數(shù)
*/
void main(void)
{
WDTCTL = WDTPW + WDTHOLD;
P1_INIT();
_EINT(); //開(kāi)總中斷
while(1)
{
P1OUT=0x00;
}
}



評(píng)論


技術(shù)專區(qū)

關(guān)閉