MSP430F149 按键中断 流水灯
单片机源程序如下:
- #include "MSP430F149.h"
- #include <initialize.h>
- #define uchar unsigned char
- #define uint unsigned int
- uchar num=100;
- uchar LedData=0xff;
- //定时器A初始化
- void InitTimerA()
- {
- TBCTL=TBSSEL1+ID1+ID0+MC0+TBCLR;//选择1/8SMCLK 增计数 清除TAR
- TBCCTL0=CCIE;//CCR0中断允许 比较模式
- TBCCR0=10000;//时间间隔10ms
- }
- //定时器A中断
- #pragma vector=TIMERB0_VECTOR
- __interrupt void TimerBINT()
- {
- num--;
- if(num==0)
- {
- LedData<<=1; //左移一位
- P2OUT=LedData; //P2口输出数
- num=100; //中断100次为1s
- if(LedData==0x00)
- LedData=0xff;
- }
-
- if((P1IN&0X01)==0X00)
- {
- P2OUT^=~LedData;
- while((P1IN&0X01)==0X00);
- }
- }
- int main()
- {
- _EINT();//打开中断
- Clock_Init();
- WDT_Init();
- InitTimerA();//定时器A初始化
- P2DIR=0xFF;//P2口输出方向
- P1DIR=0X00;//P1口输出方向
- while(1);
- }
复制代码
所有资料51hei提供下载:
中断定时器按键控制流水灯.rar
(111.88 KB, 下载次数: 36)
|