历史上的今天
今天是:2025年02月24日(星期一)
2020年02月24日 | 初步学习MSP430——跑马灯
2020-02-24 来源:eefocus
/***********************************************
程序功能:实现流水灯以三种流动方式和四种流动速度
的不同组合而进行点亮"流动"
------------------------------------------------
拨码开关设置:将LED位拨至ON,其余拨至OFF
测试说明:观察流水灯流动顺序和速度的变化
************************************************/
#include typedef unsigned int uint; uint i = 0,j = 0,dir = 0; uint flag = 0,speed = 0; //flag--灯光流动方式,speed--灯光流动速度 /****************主函数****************/ void main(void) { /*下面六行程序关闭所有的IO口*/ P1DIR = 0XFF;P1OUT = 0XFF; P2DIR = 0XFF;P2OUT = 0XFF; P3DIR = 0XFF;P3OUT = 0XFF; P4DIR = 0XFF;P4OUT = 0XFF; P5DIR = 0XFF;P5OUT = 0XFF; P6DIR = 0XFF;P6OUT = 0XFF; WDTCTL = WDTPW + WDTHOLD; //关闭看门狗 P6DIR |= BIT2;P6OUT |= BIT2; //关闭电平转换 P5OUT &= ~BIT7; CCTL0 = CCIE; //使能CCR0中断 CCR0 = 50000; TACTL = TASSEL_2 + ID_3 + MC_1; //定时器A的时钟源选择SMCLK,增计数模式 P2DIR = 0xff; //设置P2口方向为输出 P2OUT = 0xff; _EINT(); //使能全局中断 LPM0; //CPU进入LPM0模式 } /******************************************* 函数名称:Timer_A 功 能:定时器A的中断服务函数,在这里通过标志 控制流水灯的流动方向和流动速度 参 数:无 返回值 :无 ********************************************/ #pragma vector = TIMERA0_VECTOR __interrupt void Timer_A (void) { if(flag == 0) { P2OUT = ~(0x80>>(i++)); //灯的点亮顺序D8 -> D1 } else if(flag == 1) { P2OUT = ~(0x01<<(i++)); //灯的点亮顺序D1 -> D8 } else { if(dir) //灯的点亮顺序 D8 -> D1,D1 -> D8,循环绕圈 { P2OUT = ~(0x80>>(i++)); } else { P2OUT = ~(0x01<<(i++)); } } if(i == 8) { i = 0; dir = ~dir; } j++; if(j == 40) { i = 0; j = 0; flag++; if(flag == 4) flag = 0; switch(speed) { case 0: TACTL &=~ (ID0 + ID1); TACTL |= ID_3; break; case 1: TACTL &=~ (ID0 + ID1); TACTL |= ID_2; break; case 2: TACTL &=~ (ID0 + ID1); TACTL |= ID_1; break; case 3: TACTL &=~ (ID0 + ID1); TACTL |= ID_0; break; default: break; } if(flag != 3) speed++; if(speed == 4) speed = 0; } }
史海拾趣
|
我的T43机器显卡是Mobil Intel 915GM,在windows xp环境下最大显示分辨率就是1024×768,这个是最大分辨率吗,如果能更大分辨率,怎样设置。… 查看全部问答> |
|
编译基于2440的工程出错,哪位大侠解答一下?好像是串口的问题,但不知道怎么改,BSP的串口驱动已经加进去了,还是不行! BUILD: [01:0000000338:ERRORE] NMAKE : U1073: don\'t know how to make \'D:\\WINCE500\\PBWorkspaces\\QT244 ...… 查看全部问答> |
|
我们的无线设备是一个黑盒子,目的就是用无线网卡给黑盒子里发送数据以及接收盒子发过来的数据.但是每次都是第一次建立连接后没问题,然后停止后再次发送数据到盒子就会得到GetLastError=31,设备未发挥作用. 这个是怎么回事啊? 在停止后binding并没有 ...… 查看全部问答> |
|
[hide] LED在开始工作时,不需要预热和触发脉冲;在正常工作时,可以在特低安全电压下工作,这些都是LED较其它气体放电光源来说独特的优点。为了充分利用LED的这些优点,设计性能优良的LED控制装置是保证照明LED的优点得到充分发挥的重要工作。在 ...… 查看全部问答> |
|
问题 verilog 中定义的存储型寄存器组,例如,reg [16:1]mem [255:0];这应该是可综合的,可是综合之后消耗的是 芯片中 分布式 LE 组成的 RAM 呢 还是 存储模块里的RAM 呢?(假定芯片中有存储模块RAM 区) 分析: 如果没有专门去调用芯片的RAM资 ...… 查看全部问答> |
|
从师傅处借来DIM3517开发板老长段时间,由于一直出差也没抽出时间去研究,今天终于有时间了,想研究下,又没有显示板,在网上搜索,找到一种HDMI转AV的方案,内容如下: 为了解决DIM3517的显示问题(因为板子没有代LCD),坛主建议我买一块LCD,最 ...… 查看全部问答> |




