历史上的今天
今天是:2025年06月20日(星期五)
2020年06月20日 | MSP430F149学习之路——LED
2020-06-20 来源:eefocus
1 #include 2 3 void int_clk(); 4 void delay(int i); 5 void main() 6 { 7 WDTCTL = WDTPW + WDTHOLD; 8 int_clk(); 9 P6DIR = 0XFF; 10 P6OUT = 0Xff; 11 while(1) 12 { 13 P6OUT = 0XFF; 14 delay(20000); 15 P6OUT = 0x00; 16 delay(20000); 17 } 18 } 19 20 void int_clk() 21 { 22 BCSCTL1 &= ~XT2OFF; 23 BCSCTL2 |= SELM_1 + SELS; 24 do 25 { 26 IFG1 &= ~OFIFG; 27 for(int i=0;i<100;i++) 28 _NOP(); 29 }while((IFG1 & OFIFG)!=0); 30 IFG1 &= ~OFIFG; 31 } 32 33 void delay(int i) 34 { 35 while(i--); 36 } 提示:IAR的配置要正确 升级版本: 1 /*********************************************** 2 程序功能:实现流水灯以三种流动方式和四种流动速度 3 的不同组合而进行点亮"流动" 4 ------------------------------------------------*/ 5 #include 6 int flag=0,i=0,j=0,dir=0,speed=0; 7 void int_clk(); 8 void delay(int i); 9 void main() 10 { 11 WDTCTL = WDTPW + WDTHOLD; 12 int_clk(); 13 P6DIR = 0XFF; 14 P6OUT = 0XFF; 15 16 TACCTL0 = CCIE; //使能CCR0中断 17 TACCR0 = 50000; 18 TACTL = TASSEL_2 + MC_1 + ID_3; //定时器A选择SMCLK,增计数,8分频 19 20 _EINT(); 21 LPM0; 22 } 23 /******************************************* 24 函数名称:Timer_A 25 功 能:定时器A的中断服务函数,在这里通过标志 26 控制流水灯的流动方向和流动速度 27 参 数:无 28 返回值 :无 29 ********************************************/ 30 #pragma vector=TIMERA0_VECTOR 31 __interrupt void Timer_A(void) 32 { 33 if(flag == 0) 34 { 35 P6OUT = ~(0x80>>(i++)); //灯的点亮顺序D8 -> D1 36 } 37 else if(flag == 1) 38 { 39 P6OUT = ~(0x01<<(i++)); //灯的点亮顺序D1 -> D8 40 } 41 else 42 { 43 if(dir) //灯的点亮顺序 D8 -> D1,D1 -> D8,循环绕圈 44 P6OUT = ~(0x80>>(i++)); 45 else 46 P6OUT = ~(0x01<<(i++)); 47 } 48 49 if(i == 8) 50 { 51 i = 0; 52 dir = ~dir; 53 } 54 delay(200); 55 j++; 56 if(j == 40) 57 { 58 i = 0; 59 j = 0; 60 flag++; 61 if(flag == 4) flag = 0; 62 switch(speed) 63 { 64 case 0: 65 // TACTL &=~ (ID0 + ID1); 66 TACTL |= ID_3; 67 break; 68 case 1: 69 // TACTL &=~ (ID0 + ID1); 70 TACTL |= ID_2; 71 break; 72 case 2: 73 // TACTL &=~ (ID0 + ID1); 74 TACTL |= ID_1; 75 break; 76 case 3: 77 // TACTL &=~ (ID0 + ID1); 78 TACTL |= ID_0; 79 break; 80 default: 81 break; 82 } 83 if(flag != 3) speed++; 84 if(speed == 4) speed = 0; 85 } 86 } 87 void int_clk() 88 { 89 BCSCTL1 &= ~XT2OFF; 90 BCSCTL2 |= SELM_1 + SELS; //DCO在800KHZ左右 91 do 92 { 93 IFG1 &= ~OFIFG; 94 for(int i=0;i<100;i++) 95 _NOP(); 96 }while((IFG1 & OFIFG)!=0); 97 IFG1 &= ~OFIFG; 98 } 99 100 void delay(int i) 101 { 102 while(i--); 103 }
史海拾趣
|
在现实生活中我们会遇到很多气体放电的现象,有的时候我们会觉得不可思议,其实这些现象都是能用科学来解释的。科学家们通过对他们的研究,把这些现象的原理应用在我们的生活中,给我们带来了很多益处,在经过科学家的进一步研究后将会给我们带来更 ...… 查看全部问答> |
|
大家好,我是一个新手,我现在在用一个mini2440的学习板在学习,我的电脑是笔记本,没有那种窜口,所以买了一个usb转窜口的线接上了,在ads调试程序 以后准备考进学习板中进行,但是uartselect不知道该用哪个好?学校的学习板用的是台式机,所以选u ...… 查看全部问答> |
|
实验室的一个嵌入式课题,需要不断的对70*70的矩阵做运算处理,并且要有一定的GUI能力。光用2410来跑,可能是一个很吃力的事情,所以想选择arm+dsp的平台,想请教一下大家,有没有比较好的arm+dsp6的开发板,因为硕士时间比较短,所以想直接用开发 ...… 查看全部问答> |
|
控创的单扳机,扩展为双网卡(fei0,eeE0) eeE0:192.168.1.100:0xffffff00 udp协议组网 网上其他设备向某一端口 广播数据 广播地址:192.168.1.255 正确创建socket 后,接收不到广播数据包. 如果同一端口不广播,而是点对点则能正确收 ...… 查看全部问答> |
|
cpu: s3c2510 flash: AM29lv320db jtag:20-pin boot: armboot for samsung v3.1t --------------------------------------- 我把板子上的boot损坏了,板子上提供了jtag-20pin,但没有提供jtag连线,和烧写软件及驱动。 烧写软件 是不是 还和jt ...… 查看全部问答> |




