久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標(biāo)題:
msp430超聲波測(cè)距源碼,12864液晶顯示
[打印本頁(yè)]
作者:
史艷高
時(shí)間:
2017-8-25 11:25
標(biāo)題:
msp430超聲波測(cè)距源碼,12864液晶顯示
源碼,12864顯示
單片機(jī)源程序如下:
/************************************************************
程序功能:超聲波傳感器,學(xué)習(xí)定時(shí)/計(jì)數(shù)器的捕獲。注意距離S=340m/s(注意溫度等有關(guān))*t/2
t是超聲波來(lái)回時(shí)間
--------------------------------------------------------
作者:劉恒 長(zhǎng)望電子設(shè)計(jì)競(jìng)賽班
-------------------------------------------------------------
測(cè)試說(shuō)明:最好首先要關(guān)閉板子上的數(shù)碼管,影響液晶顯示亮度。HC-SR04傳感器接線:
VCC接+5V,GND接公共地,Trig觸發(fā)接p1.1,Echo 回波響應(yīng)接P1.2
************************************************************/
#include <msp430x14x.h>
#include "12864.h"
#include "delay.h"
#define RISE 1
#define FALL 0
unsigned int TA_Overflow_Cnt; //TA溢出次數(shù)存放變量,可能距離遠(yuǎn)超過(guò)65535
unsigned long int Period; //脈寬存放結(jié)果變量,高電平時(shí)間
unsigned long int S; // 定義距離長(zhǎng)度,單位厘米
unsigned int RiseCapVal; //上升沿時(shí)刻捕獲值存放變量
unsigned char Edge=0;//當(dāng)前觸發(fā)沿
//初始化系統(tǒng)時(shí)鐘函數(shù)
void init_clk()
{
unsigned char i;
BCSCTL1&=~XT2OFF; //打開(kāi)XT振蕩器
BCSCTL2|=SELM_2+SELS;//MCLK 8M and SMCLK 8M
do
{
IFG1 &= ~OFIFG;//清除振蕩錯(cuò)誤標(biāo)志
for(i = 0; i < 0xff; i++) _NOP();//延時(shí)等待
}
while ((IFG1 & OFIFG) != 0);//如果標(biāo)志為1繼續(xù)循環(huán)等待晶振起振
IFG1&=~OFIFG;
}
//初始化定時(shí)器A函數(shù)
void init_timerA()
{
TACTL |= TASSEL_2+MC_2+TAIE+TACLR+ ID_3;//SMCLK,8MHz,8分頻,連續(xù)計(jì)數(shù),中斷允許,計(jì)數(shù)器清零
TACCTL1 |= CAP+CM_2+CCIS_0+SCS+CCIE;//捕獲模式,上升沿捕獲,CCI1A輸入,同步捕獲,中斷允許
}
//初始化端口函數(shù)
void init_IO()
{
P1DIR |= BIT1; //P1.1輸出,普通I/O
P1DIR &=~ BIT2; //P1.2輸入
P1SEL |= BIT2; //P1.2第二功能,捕獲輸入
P1OUT &=~BIT1; // 開(kāi)始低電平,控制驅(qū)動(dòng)波形發(fā)生
}
void main()
{
WDTCTL = WDTPW + WDTHOLD; // 關(guān)閉看門(mén)狗
init_IO(); //初始端口設(shè)置
init_timerA();
P2DIR = 0xff; //設(shè)置P2口方向?yàn)檩敵觯勺鳛轵?yàn)證
Init_Lcd( ); // 初始化LCD12864
//TACCTL1 |= CAP+CM_1+CCIS_0+SCS+CCIE; //CM_1 上升沿捕獲,CCIS_0為CCIxA,輸入引腳有關(guān)
//SCS 異步捕獲,CCIE 捕獲中斷容許
_EINT(); //開(kāi)全局中斷
while(1)
{
P1OUT |= BIT1; // P1.1 高電平,超過(guò)10us
Delay_Nms(10);
P1OUT &=~BIT1;
Delay_Nms(80);
P2OUT = 0xff; // 發(fā)光二極板指示距離是否過(guò)小
//if(S<10) // 設(shè)置距離,可以自己設(shè)置報(bào)警
// P2OUT = 0x00; // LED亮,提示報(bào)警
// Disp_4num(0x80 ,S); //顯示距離
// Delay_Nms(1000); //延遲時(shí)間,刷屏?xí)r長(zhǎng)
}
}
//定時(shí)器A服務(wù)程序,Timer A CC1-2, TA 注意引腳
#pragma vector=TIMERA1_VECTOR
__interrupt void Timer_A(void)
{
switch(TAIV)
{
case 2 :if(Edge==FALL)
{
P2OUT = 0x00;
//RiseCapVal = TACCR1;
//TACCTL1 |= CAP+CM_2+CCIS_0+SCS+CCIE;//改為下降沿捕獲
//TACCTL1 |= CAP+CM_1+CCIS_0+SCS+CCIE;//改為上升沿捕獲
//Edge = RISE;//下降沿捕獲標(biāo)志
}
/* else
{
_DINT();
Period = TACCR1-RiseCapVal; //這里要注意是否考慮溢出,跟測(cè)試距離有關(guān),希望大家拓展
S=(Period*17)/100; // 距離計(jì)算 s=340m/s*Period/2*10^(-6)*1000(mm)
TACCR1 = 0;
TACCTL1|= CAP+CM_1+CCIS_0+SCS+CCIE;//改為上升沿捕獲
Edge = RISE;//上升沿捕獲標(biāo)志
_EINT();
}*/
break;
case 4 : break;
case 10: TA_Overflow_Cnt++; //溢出標(biāo)志
break;
}
}
……………………
…………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼
所有資料51hei提供下載:
HC-SR04.zip
(41.47 KB, 下載次數(shù): 160)
2017-8-25 11:25 上傳
點(diǎn)擊文件名下載附件
源碼
下載積分: 黑幣 -5
歡迎光臨 (http://m.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
成人福利网
|
91视频精品
|
国产精品免费在线播放
|
成人毛片一区二区三区
|
欧美一级二级三级
|
在线观看视频一区二区三区
|
天天操夜夜摸
|
欧美三级韩国三级日本三斤在线观看
|
日韩免费视频一区二区
|
日韩久久网
|
日本视频在线免费观看
|
久久亚洲国产
|
国产精品日韩在线
|
日韩在线不卡视频
|
91成人国产
|
日韩超碰
|
日本久久精品视频
|
69精品视频
|
国产精品福利在线
|
中文字幕av一区二区三区谷原希美
|
亚洲欧美另类在线
|
国产乱淫片视频
|
糖心vlog精品一区二区
|
色午夜
|
日韩有码av
|
www.亚洲视频
|
欧美日韩大片
|
福利视频一区
|
免费黄色片视频
|
超碰777
|
国产免费视频
|
欧美精品xxx
|
成年在线观看
|
国产成人精品亚洲男人的天堂
|
亚洲高清在线
|
一区二区影院
|
老司机深夜福利视频
|
精品日韩一区二区三区
|
日韩欧美一区二区三区久久婷婷
|
五月天色综合
|
97国产超碰
|