历史上的今天
返回首页

历史上的今天

今天是:2025年04月18日(星期五)

正在发生

2018年04月18日 | MSP430学习笔记2-跑马灯程序,熟悉定时器寄存器的配置

2018-04-18 来源:eefocus

这个例子主要还是熟悉有关定时器A的寄存器配置以及IAR的配置方式。

  1. /*********************************************** 

  2. 程序功能:实现流水灯以三种流动方式和四种流动速度 

  3.           的不同组合而进行点亮"流动" 

  4. ------------------------------------------------ 

  5. 拨码开关设置:将LED位拨至ON,其余拨至OFF 

  6. 测试说明:观察流水灯流动顺序和速度的变化 

  7. ************************************************/  

  8. #include    

  9. typedef unsigned int  uint;  

  10. uint i = 0,j = 0,dir = 0;  

  11. uint flag = 0,speed = 0;  //flag--灯光流动方式,speed--灯光流动速度  

  12. /****************主函数****************/  

  13. void main(void)  

  14. {  

  15.     

  16.     /*下面六行程序关闭所有的IO口*/  

  17.     P1DIR = 0XFF;P1OUT = 0XFF;  

  18.     P2DIR = 0XFF;P2OUT = 0XFF;  

  19.     P3DIR = 0XFF;P3OUT = 0XFF;  

  20.     P4DIR = 0XFF;P4OUT = 0XFF;  

  21.     P5DIR = 0XFF;P5OUT = 0XFF;  

  22.     P6DIR = 0XFF;P6OUT = 0XFF;  

  23.     

  24.     WDTCTL = WDTPW + WDTHOLD;       //关闭看门狗  

  25.     P6DIR |= BIT2;P6OUT |= BIT2;    //关闭电平转换  

  26.     P5OUT &= ~BIT7;  

  27.       

  28.     CCTL0 = CCIE;                   //使能CCR0中断  

  29.     CCR0 = 50000;  

  30.     TACTL = TASSEL_2 + ID_3 + MC_1; //定时器A的时钟源选择SMCLK,8分频增计数模式  

  31.     P2DIR = 0xff;                   //设置P2口方向为输出  

  32.     P2OUT = 0xff;  

  33.    

  34.     _EINT();                        //使能全局中断  

  35.     LPM0;                           //CPU进入LPM0模式各时钟全部工作  

  36. }  

  37. /******************************************* 

  38. 函数名称:Timer_A  

  39. 功    能:定时器A的中断服务函数,在这里通过标志 

  40.           控制流水灯的流动方向和流动速度 

  41. 参    数:无 

  42. 返回值  :无 

  43. ********************************************/  

  44. #pragma vector = TIMERA0_VECTOR  

  45. __interrupt void Timer_A (void)  

  46. {    

  47.     if(flag == 0)  

  48.     {  

  49.         P2OUT = ~(0x80>>(i++));    //灯的点亮顺序D8 -> D1  

  50.     }  

  51.     else if(flag == 1)  

  52.     {  

  53.         P2OUT = ~(0x01<<(i++));    //灯的点亮顺序D1 -> D8  

  54.     }  

  55.     else   

  56.     {  

  57.         if(dir)                  //灯的点亮顺序  D8 -> D1,D1 -> D8,循环绕圈                          

  58.         {  

  59.             P2OUT = ~(0x80>>(i++));  

  60.         }  

  61.         else  

  62.         {  

  63.             P2OUT = ~(0x01<<(i++));  

  64.         }  

  65.     }  

  66.     

  67.     if(i == 8)   

  68.     {  

  69.         i = 0;  

  70.         dir = ~dir;  

  71.     }  

  72.     

  73.     j++;  

  74.     if(j == 10)   

  75.     {  

  76.         i = 0;  

  77.         j = 0;  

  78.         flag++;  

  79.         if(flag == 4) flag = 0;  

  80.         switch(speed)//根据speed的值来选择相应的速度,速度的选择主要通过改变分频来实现  

  81.         {  

  82.         case 0:  

  83.             TACTL &=~ (ID0 + ID1);//这个地方其实没必要,意思是清零TACTL的78两位  

  84.             //ID1的值是0x0080   ID2的值是0x0040通过计算就可以得出  

  85.             TACTL |= ID_3;//改为八分频  

  86.             break;  

  87.         case 1:  

  88.             TACTL &=~ (ID0 + ID1);  

  89.             TACTL |= ID_2;  

  90.             break;  

  91.         case 2:  

  92.             TACTL &=~ (ID0 + ID1);  

  93.             TACTL |= ID_1;  

  94.             break;  

  95.         case 3:  

  96.             TACTL &=~ (ID0 + ID1);  

  97.             TACTL |= ID_0;  

  98.             break;  

  99.         default:  

  100.             break;  

  101.         }  

  102.         if(flag != 3)   speed++;  

  103.         if(speed == 4) speed = 0;  

  104.     }   

  105. }  



推荐阅读

史海拾趣

Fuji Teminal Industry Co Ltd公司的发展小趣事

关于Fuji Terminal Industry Co., Ltd.(富士端子工业有限公司)在电子行业中的发展起来的相关故事,由于直接关于该公司的详细发展历程和具体故事可能较为有限,且该公司可能更多地专注于特定领域(如端子、连接器等的制造),以下是根据一般行业经验和公司可能经历的发展路径,构建的五个相关故事:

1. 初创与专业化定位

在电子行业的早期,Fuji Terminal Industry Co., Ltd.作为一家新兴企业,凭借对端子技术的深入研究和市场需求的敏锐洞察,选择了专业化的发展道路。公司创始人或核心团队凭借在电子元件领域的丰富经验,决定专注于端子、连接器等基础电子元件的研发与生产。通过不断的技术积累和产品优化,公司逐渐在行业内树立了专业、可靠的形象。

2. 技术创新与品质提升

随着电子行业的快速发展,Fuji Terminal Industry Co., Ltd.意识到技术创新和品质提升是企业持续发展的关键。公司加大了研发投入,引进先进生产设备和技术人才,致力于开发更高性能、更可靠的端子产品。同时,公司建立了严格的质量控制体系,确保每一件产品都能达到客户的高标准要求。这些努力不仅提升了公司的市场竞争力,也赢得了客户的广泛信赖。

3. 市场拓展与国际化战略

在稳固国内市场的同时,Fuji Terminal Industry Co., Ltd.积极实施国际化战略,将目光投向了更广阔的国际市场。公司通过参加国际展会、建立海外销售网络等方式,不断拓展海外市场。凭借其优质的产品和服务,公司成功打入了欧美、亚洲等多个国家和地区的市场,实现了业务的快速增长。

4. 供应链整合与成本控制

面对日益激烈的市场竞争,Fuji Terminal Industry Co., Ltd.深知供应链整合和成本控制的重要性。公司积极与上下游企业建立长期稳定的合作关系,通过优化供应链管理、降低采购成本、提高生产效率等方式,有效控制了生产成本。同时,公司还注重与客户的沟通与协作,共同应对市场变化和挑战。

5. 可持续发展与环保责任

随着全球对环保问题的日益关注,Fuji Terminal Industry Co., Ltd.积极响应可持续发展的号召,将环保理念融入企业的生产经营中。公司致力于开发环保型端子产品,减少生产过程中的环境污染和能源消耗。同时,公司还加强了废弃物的回收和再利用工作,为构建绿色、低碳的电子信息产业链贡献了自己的力量。

需要注意的是,由于直接关于Fuji Terminal Industry Co., Ltd.的详细发展历程和具体故事可能较为有限,以上故事是基于一般行业经验和公司可能经历的发展路径构建的。实际情况可能因公司战略、市场环境等因素而有所不同。

Dongguan Jingyue Electronics Co Ltd公司的发展小趣事

Dongguan Jingyue Electronics Co Ltd深知市场拓展的重要性。在立足本土市场的基础上,公司积极开拓国际市场,通过参加国际展会、建立海外销售渠道等方式,不断提升品牌知名度和市场份额。同时,公司还注重品牌建设,通过提升产品质量、优化售后服务等方式,增强消费者对品牌的信任感和忠诚度。

安纳森(AnaSem)公司的发展小趣事

在追求经济效益的同时,安纳森始终不忘企业的社会责任。公司深知电子产品在生产和使用过程中可能对环境造成的影响,因此将环保理念融入产品设计和生产过程中。安纳森的产品原料材质标准均符合全球最新的环保指令和有害物质禁用条约,确保用户在使用产品的同时,也能为地球环境保护做出贡献。这一举措不仅赢得了用户的广泛赞誉,也为整个电子行业的绿色发展树立了典范。

粤翔(FlyWin)公司的发展小趣事
确保工业生产线在断电时能够安全停机,防止设备损坏和安全事故。
大毅科技公司的发展小趣事

大毅科技于1989年成立,是台湾的一家新兴企业。在公司成立的初期,大毅科技就专注于晶片电阻的研发与生产,这在当时是一个相对新兴且竞争激烈的领域。创始人凭借对技术的深刻理解和敏锐的市场洞察力,带领公司逐步在市场中站稳脚跟。通过不断的技术创新和产品优化,大毅科技逐渐获得了客户的认可,并在行业中树立了自己的品牌。

巨盛电子(Chesen)公司的发展小趣事

巨盛电子(Chesen)自创立之初,就坚持将技术创新作为公司的核心竞争力。在电子行业迅速发展的背景下,公司投入大量资源进行研发,成功推出了一系列具有领先技术水平的电子产品。这些产品不仅满足了市场对于高品质、高性能电子产品的需求,还通过创新功能赢得了消费者的青睐。巨盛电子凭借技术创新,逐渐在电子行业中崭露头角,成为市场的领导者。

问答坊 | AI 解惑

车用传感器市场前景广阔

传感器是名副其实的朝阳产业,即使在国际金融危机蔓延的2008年,我国传感器市场仍然有逆势增长20%以上的良好表现。传感器产业以其技术含量高、经济效益好、渗透能力强、市场前景广等特点为世人瞩目。由中国电子元件行业协会敏感元器件与传感器分会( ...…

查看全部问答>

分享制作PICKIT3的成功经验(转)

对PICKIT3比较感兴趣,和大家分享制作经验。 有兴趣的朋友可以自己做做,具体的电路图和固件见附件。 来源:http://pic16.com/bbs/dispbbs.asp?boardid=8&Id=49133 …

查看全部问答>

WINCE下如何使用SOAP

请教高手们: wince下如何使用SOAP 越详细越好,我什么都不懂?…

查看全部问答>

西思科技高薪招聘WINCE嵌入式软件工程师(必须有WINCE底层工作经验)/Windows Mobile(CE)应用软件工程师

  公司专注WINCE/WINDOWS MOBILE产品开发,有微软正式授权。有屏蔽房、频谱仪、网络仪等全套开发设备。因发展需要,在上海诚聘嵌入式软件工程师、应用软件工程师。 薪资:有意向后可以面谈 嵌入式软件工程师 任职资格 1. 英语四级以 ...…

查看全部问答>

WINCE下怎样实时检测到SD卡或MMC卡的状态????

我用EVC做了一个工程,想要实现功能:不管程序执行到什么状态,只要SD卡或其它卡被拔出就退出程序。问题是怎么实时检测到SD卡的状态呢???在WINCE下没有WM_DEVICECHANGE等检测设备的消息,象这个功能在WINCE下怎么实现呢??!!…

查看全部问答>

自制安全电压电热毯

安全电压电热毯就是由变压器B将220V变为36V安全电压供给电热丝(见图1)产生热量,并由双刀三掷扳把开关K(中间位为断)控制高低温,由二极管D1(100V 1A以上均可)半波整流降低近一半电压维持保温状态。 变压器在电子市场可购到,如机床通用的BK50型,就 ...…

查看全部问答>

STM32F103V开发板设计完全开源

最近正在熟悉stm32系列的单片机,和以前用的51系列的相比功能强大很多。为了彻底的熟悉它,现在计划利用它设计一款高性能的开发板。初步定了如下指标:外扩2M(128K×16)SRAM、SD卡接口、320240TFT彩色液晶(支持触摸屏)、具有六路独立AD输 ...…

查看全部问答>

运放电路

我搭了一个运放电路,电压转电流,改变输入电压,当输入的正端和负端压差超过一定程度时,输出电压不变了,但是输出没有超过最大输出电压,这可能是什么原因造成的。电路图如下…

查看全部问答>

CCS3.3和仿真器SEED-XDS510PLUS连接不上

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 ...…

查看全部问答>