久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

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

msp430單片機(jī)超聲波測距程序

[復(fù)制鏈接]
ID:820722 發(fā)表于 2020-9-18 19:22 | 顯示全部樓層 |閱讀模式
超聲波測距的IAR程序
  1. #include <msp430x14x.h>
  2. #include "cry1602.h"
  3. uchar tishi[]={"the distance is:"};
  4. uchar geshi[]={".cm"};//26.2cm
  5. uchar  num[]={"0123456789 "};
  6. uchar Edge=1;
  7. uint RiseCapVal;   //上升沿時(shí)刻捕獲值存放變量
  8. //uint TA_Overflow_Cnt; //TA溢出次數(shù)存放變量,可能距離遠(yuǎn)超過65535
  9. unsigned long int Period;   //脈寬存放結(jié)果變量,高電平時(shí)間
  10. unsigned long int S;       // 定義距離長度,單位厘米
  11. #define  RISE  1
  12. #define  FALL  0
  13. uint one,two,three;
  14. void Delay_ms(void);
  15. /**
  16. * main.c
  17. */

  18. void Conut(void)
  19.     {

  20.        one=S%1000/100;
  21.        two=S%1000%100/10;
  22.        three=S%1000%10 %10;
  23.        Disp1Char(10,1,num[one]);
  24.        Disp1Char(11,1,num[two]);
  25.        Disp1Char(13,1,num[three]);


  26.       }

  27. #pragma vector=TIMERA1_VECTOR
  28. __interrupt void Timer_A(void)
  29. {

  30.   switch(TAIV)
  31.   {
  32.     case 2 :if(Edge==RISE)
  33.               {
  34.                 RiseCapVal = TACCR1;
  35.                 TACCTL1 |= CAP+CM_2+CCIS_0+SCS+CCIE;//改為下降沿捕獲
  36.                 Edge = FALL;//下降沿捕獲標(biāo)志
  37.               }
  38.             else
  39.               {

  40.                 _DINT();
  41.                 Period = TACCR1-RiseCapVal;  //這里要注意是否考慮溢出,跟測試距離有關(guān),希望大家拓展
  42.                 S=(Period*17)/100;   // 距離計(jì)算 s=340m/s*Period/2*10^(-6)*1000(mm)
  43.                 TACCR1 = 0;
  44.                 TACCTL1|= CAP+CM_1+CCIS_0+SCS+CCIE;//改為上升沿捕獲
  45.                 Edge = RISE;//上升沿捕獲標(biāo)志
  46.                 _EINT();
  47.               }
  48.              break;
  49.     case 4 : break;
  50.     case 10: //TA_Overflow_Cnt++;   //溢出標(biāo)志
  51.              break;
  52.   }
  53. }

  54. void init_timerA(void)
  55. {
  56.   TACTL   |= TASSEL_2+MC_2+TAIE+TACLR+ ID_3;//SMCLK,8MHz,8分頻,連續(xù)計(jì)數(shù),中斷允許,計(jì)數(shù)器清零
  57.   TACCTL1 |= CAP+CM_1+CCIS_0+SCS+CCIE;//捕獲模式,上升沿捕獲(CM_2),CCI1A輸入,同步捕獲,中斷允許
  58. }

  59. void init_IO(void)
  60. {
  61.   P1DIR |= BIT1;   //P1.1輸出,普通I/O
  62.   P1DIR &=~ BIT2;  //P1.2輸入
  63.   P1SEL |=  BIT2; //P1.2第二功能,捕獲輸入

  64.   P1OUT &=~BIT1;  // 開始低電平,控制驅(qū)動(dòng)波形發(fā)生
  65. }

  66. void init_clk(void)
  67. {
  68.     uchar i;
  69.     BCSCTL1&=~XT2OFF;   //打開XT振蕩器
  70.     BCSCTL2|=SELM_2+SELS;//MCLK 8M and SMCLK 8M
  71.     do
  72.     {
  73.       IFG1 &= ~OFIFG;//清除振蕩錯(cuò)誤標(biāo)志
  74.       for(i = 0; i < 0xff; i++)  _NOP();//延時(shí)等待
  75.     }
  76.     while ((IFG1 & OFIFG) != 0);//如果標(biāo)志為1繼續(xù)循環(huán)等待晶振起振
  77.     IFG1&=~OFIFG;
  78. }

  79. void main(void)
  80. {
  81.     /*下面六行程序關(guān)閉所有的IO口*/
  82.     P1DIR = 0XFF;P1OUT = 0XFF;
  83.     P2DIR = 0XFF;P2OUT = 0XFF;
  84.     P3DIR = 0XFF;P3OUT = 0XFF;
  85.     P4DIR = 0XFF;P4OUT = 0XFF;
  86.     P5DIR = 0XFF;P5OUT = 0XFF;
  87.     P6DIR = 0XFF;P6OUT = 0XFF;

  88.         WDTCTL = WDTPW | WDTHOLD;        // stop watchdog timer
  89.         LcdReset();
  90.         DispStr( 0, 0,tishi);
  91.         Disp1Char(12,1,geshi[0]);
  92.         Disp1Char(14,1,geshi[1]);
  93.         Disp1Char(15,1,geshi[2]);
  94.         init_clk();
  95.         init_IO();
  96.         _EINT();               //開全局中斷
  97.         while(1)
  98.             {
  99.                init_timerA();
  100.                P1OUT |= BIT1;    // P1.1 高電平,超過10us
  101.                Delay5ms();
  102.                P1OUT &=~BIT1;
  103.                Delay5ms();
  104.                Conut();
  105.                Delay_ms();

  106.             }

  107. }
復(fù)制代碼


超聲波測距.zip

115.6 KB, 下載次數(shù): 18, 下載積分: 黑幣 -5

回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 精品国产一区二区三区性色av | 一级少妇女片 | 黑人久久久 | 中文字幕在线一区二区三区 | www.黄色片视频 | 日韩亚洲视频 | 久久久日韩精品一区二区三区 | av免费在线观看网站 | 亚洲午夜精品久久久久久app | 日本又色又爽又黄又高潮 | 欧美一区二区三区久久精品 | 亚洲欧美日韩国产综合 | 欧美三级免费观看 | 欧美综合一区二区 | 久久在线| 一区二区三区网站 | 午夜精品一区二区三区在线播放 | 亚洲黄色一级 | 免费一级片| 欧美视频1区 | 91麻豆精品国产91久久久更新资源速度超快 | 国产日韩欧美精品一区二区三区 | 日韩一区二区黄色片 | 久久精品国产久精国产 | 国产一区二区三区高清 | 精品亚洲91| 欧美一a一片一级一片 | 四虎影院在线播放 | 天天爽夜夜骑 | 亚洲一区二区免费视频 | 在线观看精品视频网站 | 91精品国产91久久久久久最新 | 精品国产免费人成在线观看 | 日韩精品一区在线 | 国产精品日韩欧美一区二区三区 | 91精品国产欧美一区二区成人 | 四虎免费视频 | 成人国产在线视频 | 久久久久久电影 | 国产精品久久久久久妇女 | 成人自拍视频网站 |