历史上的今天
今天是:2025年04月18日(星期五)
2018年04月18日 | MSP430学习笔记2-跑马灯程序,熟悉定时器寄存器的配置
2018-04-18 来源:eefocus
这个例子主要还是熟悉有关定时器A的寄存器配置以及IAR的配置方式。
/***********************************************
程序功能:实现流水灯以三种流动方式和四种流动速度
的不同组合而进行点亮"流动"
------------------------------------------------
拨码开关设置:将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,8分频增计数模式
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 == 10)
{
i = 0;
j = 0;
flag++;
if(flag == 4) flag = 0;
switch(speed)//根据speed的值来选择相应的速度,速度的选择主要通过改变分频来实现
{
case 0:
TACTL &=~ (ID0 + ID1);//这个地方其实没必要,意思是清零TACTL的78两位
//ID1的值是0x0080 ID2的值是0x0040通过计算就可以得出
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;
}
}
史海拾趣
|
传感器是名副其实的朝阳产业,即使在国际金融危机蔓延的2008年,我国传感器市场仍然有逆势增长20%以上的良好表现。传感器产业以其技术含量高、经济效益好、渗透能力强、市场前景广等特点为世人瞩目。由中国电子元件行业协会敏感元器件与传感器分会( ...… 查看全部问答> |
|
对PICKIT3比较感兴趣,和大家分享制作经验。 有兴趣的朋友可以自己做做,具体的电路图和固件见附件。 来源:http://pic16.com/bbs/dispbbs.asp?boardid=8&Id=49133 … 查看全部问答> |
|
西思科技高薪招聘WINCE嵌入式软件工程师(必须有WINCE底层工作经验)/Windows Mobile(CE)应用软件工程师 公司专注WINCE/WINDOWS MOBILE产品开发,有微软正式授权。有屏蔽房、频谱仪、网络仪等全套开发设备。因发展需要,在上海诚聘嵌入式软件工程师、应用软件工程师。 薪资:有意向后可以面谈 嵌入式软件工程师 任职资格 1. 英语四级以 ...… 查看全部问答> |
|
我用EVC做了一个工程,想要实现功能:不管程序执行到什么状态,只要SD卡或其它卡被拔出就退出程序。问题是怎么实时检测到SD卡的状态呢???在WINCE下没有WM_DEVICECHANGE等检测设备的消息,象这个功能在WINCE下怎么实现呢??!!… 查看全部问答> |
|
最近正在熟悉stm32系列的单片机,和以前用的51系列的相比功能强大很多。为了彻底的熟悉它,现在计划利用它设计一款高性能的开发板。初步定了如下指标:外扩2M(128K×16)SRAM、SD卡接口、320240TFT彩色液晶(支持触摸屏)、具有六路独立AD输 ...… 查看全部问答> |
|
Error connecting to the target:Error 0x80000200/-171Fatal Error during: OCS, This error was generated by TI\'s USCIF driver.SC_ERR_REG_DETECT_CTLR <-171>The wrong controller port value has been used.A controller cannot be ...… 查看全部问答> |




