久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
51單片機控制超聲波測距控制程序
[打印本頁]
作者:
張蒙方11111
時間:
2017-8-8 16:24
標題:
51單片機控制超聲波測距控制程序
全部資料下載地址(內容經典):
18.超聲波測距實驗.zip
(37.46 KB, 下載次數: 43)
2017-8-8 16:23 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
/*******************************************************************************
* 文件名稱:超聲波測距實驗
* 實驗目的:1.掌握超聲波測距原理
* 2.掌握51單片機定時器工作模式和配置方法
* 程序說明:無
* 日期版本:2012-9-6/V1.0a
*******************************************************************************/
#include "reg52.h" //定義51單片機特殊功能寄存器
#include "intrins.h"
#include "absacc.h"
#define somenop {_nop_();_nop_();_nop_();_nop_();_nop_();\
_nop_();_nop_();_nop_();_nop_(); _nop_();}
sbit TX = P1^0; //發射引腳
sbit RX = P1^1; //接收引腳
code unsigned char tab[] = { 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,\
0xff};
unsigned char dspbuf[8] = {10,10,10,10,10,10,10,10}; //顯示緩沖區
unsigned char dspcom = 0;
unsigned int intr = 0;
bit s_flag;
unsigned int t = 0;
void send_wave(void);
void display(void);
void main(void)
{
unsigned int distance;
TMOD |= 0x11; //配置定時器工作模式
TH0 = (65536-2000)/256;
TL0 = (65536-2000)%256;
TH1 = 0;
TL1 = 0;
EA = 1;
ET0 = 1; //打開定時器0中斷
TR0 = 1; //啟動定時器
while(1)
{
/** 200毫秒更新一次數據 */
if(s_flag)
{
s_flag = 0;
/** 關閉定時器0中斷:計算超聲波發送到返回的時間 */
// ET0 = 0;
send_wave(); //發送方波信號
TR1 = 1; //啟動計時
while((RX == 1) && (TF1 == 0)); //等待收到脈沖
TR1 = 0; //關閉計時
//發生溢出
if(TF1 == 1)
{
TF1 = 0;
distance = 9999; //無返回
}
else
{
/** 計算時間 */
t = TH1;
t <<= 8;
t |= TL1;
distance = (unsigned int)(t*0.017); //計算距離
}
TH1 = 0;
TL1 = 0;
}
/** 數據處理 */
dspbuf[5] = distance/100;
dspbuf[6] = distance%100/10;
dspbuf[7] = distance%10;
}
}
//定時器0中斷服務函數
void isr_timer_0(void) interrupt 1 //默認中斷優先級 1
{
TH0 = (65536-2000)/256;
TL0 = (65536-2000)%256; //定時器重載
display(); //2ms執行一次
if(++intr == 200)
{
s_flag = 1;
intr = 0;
}
}
//顯示函數
void display(void)
{
XBYTE[0xE000] = 0xff; //去除鬼影
XBYTE[0xC000] = (1<<dspcom);
XBYTE[0xE000] = tab[dspbuf[dspcom]];
if(++dspcom == 8){
dspcom = 0;
}
}
//TX引腳發送40KHz方波信號驅動超聲波發送探頭
void send_wave(void)
{
unsigned char i = 8; //發送8個脈沖
do
{
TX = 1;
somenop;
TX = 0;
somenop;
}
while(i--);
}
復制代碼
作者:
小小白拉拉
時間:
2018-7-10 23:04
學習學習。!
作者:
pigss
時間:
2018-7-12 09:28
謝謝分享
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
久久久久久久久久久一区二区
|
久久久精品网站
|
精品欧美一区二区久久久伦
|
中文字幕精品一区二区三区精品
|
99久久国产
|
国产精品99久久久久
|
久久久久久一区
|
成人午夜网站
|
亚洲一区二区中文字幕在线观看
|
日本一区二区高清视频
|
妞干网av
|
欧美日日
|
欧美一区二区另类
|
日本视频中文字幕
|
麻豆视频在线免费看
|
性生活毛片
|
高清免费在线
|
欧美日韩不卡合集视频
|
亚洲天堂中文字幕
|
亚洲精品色
|
日韩男人天堂
|
日韩精品一二三区
|
日韩精品免费在线观看
|
99在线国产
|
草久视频
|
欧美aaaaa
|
亚洲视频中文字幕
|
免费久久精品
|
国产成人福利在线观看
|
欧美在线看片
|
亚洲一区国产精品
|
1级毛片
|
亚洲成人一区二区
|
日韩欧美在线播放
|
欧美日本亚洲
|
午夜精品久久久久久久99黑人
|
国产香蕉视频
|
国产视频一区在线观看
|
一区二区三区国产好
|
亚洲自拍偷拍视频
|
欧美视频一区二区三区
|