找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6383|回復(fù): 6
收起左側(cè)

msp430f5529捕獲加串口源碼

[復(fù)制鏈接]
ID:306008 發(fā)表于 2018-4-11 20:55 | 顯示全部樓層 |閱讀模式
msp430f5529捕獲加串口,可以供大家學(xué)習(xí)

單片機(jī)源程序如下:

  1. #include "msp430f5529.h"

  2. #define uint unsigned int
  3. #define uchar unsigned char

  4. uint flag,TA_cent,PerVal;
  5. unsigned long int val,cha;
  6. int m[5];
  7. void Delay10ms(unsigned int c)   //誤差 0us
  8. {
  9.     unsigned char a, b;

  10.         //--c已經(jīng)在傳遞過來的時(shí)候已經(jīng)賦值了,所以在for語句第一句就不用賦值了--//
  11.     for (;c>0;c--)
  12.         {
  13.                 for (b=38;b>0;b--)
  14.                 {
  15.                         for (a=130;a>0;a--);
  16.                 }         
  17.         }      
  18. }
  19. void USCI_A0_Init()                   //USCI_A0的初始化
  20. {
  21.         P3SEL |= BIT3+BIT4;               // P3.3和P3.4選擇UART通信功能
  22.         UCA0CTL1 |= UCSWRST;              // 復(fù)位寄存器設(shè)置
  23.         UCA0CTL0 = 0x00;
  24.         UCA0CTL1 |= UCSSEL_1; // 波特率發(fā)生器參考時(shí)鐘設(shè)置為ACLK,ACLK=32768Hz
  25.         UCA0BR0 = 0x03;                   // 波特率設(shè)置為9600bps
  26.         UCA0BR1 = 0x00;
  27.         UCA0MCTL |= UCBRS_3 + UCBRF_0;    // 調(diào)制器設(shè)置
  28.         UCA0CTL1 &= ~UCSWRST;             // 完成USCI_A0初始化設(shè)置
  29. }
  30. void fasongzifu (char Cha)        //單個(gè)字符發(fā)送函數(shù)
  31. {

  32.         UCA0TXBUF = Cha;
  33.         while (!(UCA0IFG&UCTXIFG));       //等待上一個(gè)字節(jié)發(fā)送完畢
  34. }

  35. //void yunsuan()
  36. //{
  37.   //int m[5];
  38.   //m[0]=val%10000/1000;
  39.   //m[1]=val%1000/100;
  40. // m[2]=val%100/10;
  41.   //m[3]=val%10;
  42. //m[4]='.';
  43. // USCI_A0_Putchar(m[0]+48);
  44.   //USCI_A0_Putchar(m[4]);
  45.   //USCI_A0_Putchar(m[1]+48);
  46.   //USCI_A0_Putchar(m[2]+48);
  47.   //USCI_A0_Putchar(m[3]+48);
  48. //}

  49. void main( void )
  50. {
  51.   // Stop watchdog timer to prevent time out reset
  52.   WDTCTL = WDTPW + WDTHOLD;

  53.   P1DIR&=~BIT2;  //捕捉P1.2口
  54.   P1SEL |= BIT2;
  55.   TA0CCTL1 |= CAP + CM_1 + CCIS_0 + SCS + CCIE;//捕獲模式,上升和下降都捕獲,選擇CCI2A,同步,捕獲中斷開
  56.   TA0CTL |= TASSEL_2 + MC_2 + ID_0 + TAIE + TACLR; //SMCLK=1M,連續(xù)計(jì)數(shù)模式

  57.   USCI_A0_Init();                   //USCI_A0初始化

  58.   _EINT();//中斷起始位
  59. while(1);
  60. }

  61. #pragma vector=TIMER0_A1_VECTOR
  62. __interrupt void TIMER0_A1_ISR(void)
  63. {
  64.   switch(TA0IV)
  65.   {
  66.     case 2:
  67.       val = TA0CCR1 - PerVal;
  68.       PerVal = TA0CCR1;
  69.       flag++;
  70.      if(flag >2)
  71.      {
  72.       flag =0;
  73.       val = 1048576 / val; //1048576 :系統(tǒng)穩(wěn)定后,DCOCLK默認(rèn)為2.097152MHZ,F(xiàn)LL默認(rèn)2分頻,則MCLK和SMCLK的頻率都為1.048576MHZ。(實(shí)驗(yàn)三會(huì)提到如何計(jì)算)
  74.       m[0]=val%10000/1000;
  75.       m[1]=val%1000/100;
  76.       m[2]=val%100/10;
  77.       m[3]=val%10;
  78.       m[4]=' ';  
  79.     fasongzifu(m[0]+48);
  80.     fasongzifu(m[1]+48);
  81.     fasongzifu(m[2]+48);  
  82.     fasongzifu(m[3]+48);
  83.     fasongzifu(m[4]);
  84.     Delay10ms(10);
  85.    
  86.      }
  87.      TA1CCTL0 &= ~CCIFG;
  88.       break;
  89.     case 4:
  90.       break;
  91.     case 10:
  92.       TA1CCTL0 &= ~CCIFG;
  93.       break;
  94.   }
  95. }

復(fù)制代碼

所有資料51hei提供下載:
F5229 捕獲 串口.rar (254.07 KB, 下載次數(shù): 67)


評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評分

回復(fù)

使用道具 舉報(bào)

ID:256712 發(fā)表于 2018-7-14 15:19 | 顯示全部樓層
正好在做相關(guān)的程序,版主的程序很好用,不過請問怎樣才能測出pwm波的占空比呢
回復(fù)

使用道具 舉報(bào)

ID:374899 發(fā)表于 2018-7-19 16:20 | 顯示全部樓層
六六六jp 發(fā)表于 2018-7-14 15:19
正好在做相關(guān)的程序,版主的程序很好用,不過請問怎樣才能測出pwm波的占空比呢

可以用示波器看pwm波的占空比
回復(fù)

使用道具 舉報(bào)

ID:374899 發(fā)表于 2018-7-19 16:22 | 顯示全部樓層
您好,請問您知道怎么樣用串口顯示ADC的采樣值嗎?
回復(fù)

使用道具 舉報(bào)

ID:432941 發(fā)表于 2019-4-25 21:13 | 顯示全部樓層
樓主,請問下載的文件用什么打開?
回復(fù)

使用道具 舉報(bào)

ID:542201 發(fā)表于 2019-5-19 17:25 | 顯示全部樓層
很不錯(cuò),感謝分享
回復(fù)

使用道具 舉報(bào)

ID:558624 發(fā)表于 2019-7-29 16:05 | 顯示全部樓層
蠻好的,謝謝分享
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表