历史上的今天
返回首页

历史上的今天

今天是:2025年07月29日(星期二)

正在发生

2020年07月29日 | msp430f5529捕获加串口源码

2020-07-29 来源:51hei

msp430f5529捕获加串口,可以供大家学习


单片机源程序如下:


#include "msp430f5529.h"


#define uint unsigned int

#define uchar unsigned char


uint flag,TA_cent,PerVal;

unsigned long int val,cha;

int m[5];

void Delay10ms(unsigned int c)   //误差 0us

{

    unsigned char a, b;


        //--c已经在传递过来的时候已经赋值了,所以在for语句第一句就不用赋值了--//

    for (;c>0;c--)

        {

                for (b=38;b>0;b--)

                {

                        for (a=130;a>0;a--);

                }         

        }      

}

void USCI_A0_Init()                   //USCI_A0的初始化

{

        P3SEL |= BIT3+BIT4;               // P3.3和P3.4选择UART通信功能

        UCA0CTL1 |= UCSWRST;              // 复位寄存器设置

        UCA0CTL0 = 0x00;

        UCA0CTL1 |= UCSSEL_1; // 波特率发生器参考时钟设置为ACLK,ACLK=32768Hz

        UCA0BR0 = 0x03;                   // 波特率设置为9600bps

        UCA0BR1 = 0x00;

        UCA0MCTL |= UCBRS_3 + UCBRF_0;    // 调制器设置

        UCA0CTL1 &= ~UCSWRST;             // 完成USCI_A0初始化设置

}

void fasongzifu (char Cha)        //单个字符发送函数

{


        UCA0TXBUF = Cha;

        while (!(UCA0IFG&UCTXIFG));       //等待上一个字节发送完毕

}


//void yunsuan()

//{

  //int m[5];

  //m[0]=val%10000/1000;

  //m[1]=val%1000/100;

// m[2]=val%100/10;

  //m[3]=val%10;

//m[4]='.';

// USCI_A0_Putchar(m[0]+48);

  //USCI_A0_Putchar(m[4]);

  //USCI_A0_Putchar(m[1]+48);

  //USCI_A0_Putchar(m[2]+48);

  //USCI_A0_Putchar(m[3]+48);

//}


void main( void )

{

  // Stop watchdog timer to prevent time out reset

  WDTCTL = WDTPW + WDTHOLD;


  P1DIR&=~BIT2;  //捕捉P1.2口

  P1SEL |= BIT2;

  TA0CCTL1 |= CAP + CM_1 + CCIS_0 + SCS + CCIE;//捕获模式,上升和下降都捕获,选择CCI2A,同步,捕获中断开

  TA0CTL |= TASSEL_2 + MC_2 + ID_0 + TAIE + TACLR; //SMCLK=1M,连续计数模式


  USCI_A0_Init();                   //USCI_A0初始化


  _EINT();//中断起始位

while(1);

}


#pragma vector=TIMER0_A1_VECTOR

__interrupt void TIMER0_A1_ISR(void)

{

  switch(TA0IV)

  {

    case 2:

      val = TA0CCR1 - PerVal;

      PerVal = TA0CCR1;

      flag++;

     if(flag >2)

     {

      flag =0;

      val = 1048576 / val; //1048576 :系统稳定后,DCOCLK默认为2.097152MHZ,FLL默认2分频,则MCLK和SMCLK的频率都为1.048576MHZ。(实验三会提到如何计算)

      m[0]=val%10000/1000;

      m[1]=val%1000/100;

      m[2]=val%100/10;

      m[3]=val%10;

      m[4]=' ';  

    fasongzifu(m[0]+48);

    fasongzifu(m[1]+48);

    fasongzifu(m[2]+48);  

    fasongzifu(m[3]+48);

    fasongzifu(m[4]);

    Delay10ms(10);

   

     }

     TA1CCTL0 &= ~CCIFG;

      break;

    case 4:

      break;

    case 10:

      TA1CCTL0 &= ~CCIFG;

      break;

  }

}


推荐阅读

史海拾趣

Cystech公司的发展小趣事

随着全球环保意识的不断提高,C-TECH Co., Ltd积极响应环保号召,将环保理念融入公司的发展之中。公司在2007年就通过了ISO 14001环境管理体系认证,并在生产过程中采用环保材料和工艺,减少废弃物排放和能源消耗。此外,公司还积极参与环保公益活动,推动行业绿色发展。通过践行环保理念,C-TECH Co., Ltd在电子行业树立了良好的企业形象。

上海晶丰明源(BPS)公司的发展小趣事

作为一家有社会责任感的企业,晶丰明源始终注重可持续发展。公司积极履行环保责任,采用环保材料和工艺,减少生产过程中的污染排放。同时,公司还关注员工福利和社区建设,为员工提供良好的工作环境和福利待遇,积极参与社会公益活动,为社区的和谐发展做出了贡献。

这五个故事从不同角度展现了上海晶丰明源(BPS)公司在电子行业中的发展历程和成就。从创立到上市、从技术突破到市场拓展、从应对挑战到履行社会责任,晶丰明源始终坚持以市场为导向、以技术为核心的发展理念,不断追求卓越和创新,为电子行业的发展做出了重要贡献。

Fractus公司的发展小趣事

随着技术的不断成熟和产品的市场推广,Fractus逐渐获得了业界的广泛认可。公司在多个国际展会上展示了其创新的天线技术,并赢得了多项重要奖项,包括欧洲联盟IST奖项的特等奖等。这些荣誉不仅提升了Fractus的品牌知名度,也进一步巩固了其在天线技术领域的领先地位。

Antiference公司的发展小趣事

Antiference公司最初以生产电磁屏蔽材料起家,但随着电子设备的普及和电磁干扰问题的日益严重,公司意识到单纯的材料生产已无法满足市场需求。于是,Antiference投入巨资研发新型电磁干扰抑制技术,成功开发出了一款能够显著降低电磁干扰的芯片。这款芯片迅速在市场上获得了广泛认可,Antiference也因此成为了电磁干扰抑制领域的领军企业。

ACI [Applied Concepts, Inc.]公司的发展小趣事

在环保意识日益增强的今天,ACI公司积极响应国家号召,将绿色环保理念融入产品设计和生产过程中。公司采用环保材料和生产工艺,推出了一系列绿色电子产品。这些产品不仅具有优异的性能,而且符合环保标准,得到了消费者的广泛认可。通过倡导绿色环保理念,ACI成功引领了行业潮流,树立了良好的企业形象。

ANSHAN [Anshan Suly Electronics]公司的发展小趣事

近年来,随着电子行业的竞争日益激烈和市场环境的不断变化,ANSHAN公司面临着前所未有的挑战。然而,公司始终保持着清醒的头脑和坚定的信心,积极应对各种挑战。公司不断调整战略方向,优化产品结构,加大创新力度,推出了一系列具有竞争力的新产品。同时,公司还积极拓展新的市场领域和合作伙伴,为公司的持续发展注入了新的动力。

这五个故事展示了ANSHAN公司在电子行业发展中不断克服困难、取得成就的历程。从创业初期的艰辛与坚持,到技术突破与产品升级,再到市场拓展与品牌建设、人才培养与团队建设以及应对挑战与持续创新,ANSHAN公司始终保持着坚定的信念和不懈的努力,在电子行业中谱写了一曲曲壮丽的篇章。

问答坊 | AI 解惑

搞定这5个RC振荡电路让你的模拟设计顺畅很多

采用RC振荡的方法非常多,如文氏桥振荡等。这里介绍几种笔者常用的方法: 1.最简单的振荡器 最简单的振荡器 这种振荡器特点是:T≈(1.4~2.3)R*C 电源波动将使频率不稳定,适合小于100KHz的低频振荡情况。 2.加补偿电阻的振荡 加补偿电阻 ...…

查看全部问答>

打印驱动中 接口调用问题?

入口: DrvEnableDriver [code] DrvEnableDriver(     ULONG          iEngineVersion,     ULONG          cj,     DRVENABLEDATA *pdrvenabled ...…

查看全部问答>

移植USB Mass storage Device驱动

大家好,请教一个问题 目前在公司的OS上开发USB Mass storage Device驱动 ,连上PC后能变成一个优盘。 现在的软件平台是ThreadX的,硬件接口是USB1.1的,目前ThreadX上面没有挂文件系统,想把SPI Flash上某个区域做成一个分区,然后USB Mass st ...…

查看全部问答>

wince下如何进行驱动调试,一定要用串口么??如果程序修改的话还要重新编译内核?

1.现在刚准备做wince的,我现在有些不明白如何进行调试,每次定制内核要用到几十分钟,我在调试硬件驱动的时候,为了考虑稳定性需要不断得进行修改代码,每次修改代码之后都要重新编译内核,太耗时了,请问有没有什么简单得方法呢??模拟调试是不行的,我的 ...…

查看全部问答>

放假了,都出来晒晒吧~~

果断回家了~~呵呵,好久没有来51单片机这个版本了,来了很扎眼的还是那些所谓的毕业设计,哎~~~~~虽然说提供这些东西大部分是出于好意吧,但每次来都是这些东西排在最前面(排在前面的总是各种课件),想当年我的问题就没人回答~~~不过现在好了,自 ...…

查看全部问答>

FM4学习笔记一:安装

安装已经老声音长谈了,但我觉得有再说明一下的必要。因为好的开始是成功的一半,好多都是安装不好。对以后的学习造成了很大损失。甚至不愿再涉及该种芯片。   首选安装IAR V6.10 ,这个再光盘里。有所不同的是,这个是日系的,首先第一项是 ...…

查看全部问答>

幸运的收到了5969的开发板

在拿到这款开发板后,发现这次活动真的是意义重大。…

查看全部问答>

Open1081使用心得_1

   Open1081 开发板试玩了一段时间了. 感觉Open1081 是一个资源丰富.扩展能力极好的开发板.   我比较喜欢它以下几点:     -CPU强大. 几乎可以满足绝大多数的嵌入式应用     -板上引出丰富的IO.可以自由 ...…

查看全部问答>

是不是CS+的code generator 只是支持部分的MCU

小弟最近在使用78F0881这个芯片,使用CS+开发,看帮助文档发现没有 Open Device Top View Panel  没有code generator 很困惑?…

查看全部问答>