微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > IAR+Proteus7.6仿真MSP430单片机PORT1外部中断功能

IAR+Proteus7.6仿真MSP430单片机PORT1外部中断功能

时间:11-20 来源:互联网 点击:
1. Proteus电路

2. msp430程序

#include
#define uint unsigned int
#define uchar unsigned char
/
函数:void delay_1ms(void) void delay_nms(uint n)
功能:延时1ms 延时Nms
*/
void Delay_1ms(void) //1ms延时函数
{
uint i;
for (i=0;i<80;i++);
}
void Delay_Nms(uint n) //N ms延时函数
{
uint i=0;
for (i=0;iDelay_1ms();
}
/
函数:void P1_ISR(void)
功能:外部中断服务函数
*/
#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; //清除中断标志
}
/
函数:void P1_INIT(void)
功能:PORT1端口初始化
*/
void P1_INIT(void)
{
P1SEL = 0x00; //设置为普通I/O口
P1DIR |= 0X01; //设置I/O方向
P1IE = 0x80; //P1^7中断允许
P1IES = 0x00; //上升沿使相应标志位置位
P1IFG = 0x00; //清除中断标志
}
/
函数:void main(void)
功能:主函数
*/
void main(void)
{
WDTCTL = WDTPW + WDTHOLD;
P1_INIT();
_EINT(); //开总中断
while(1)
{
P1OUT=0x00;
}
}


Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top