久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
用vb上位機控制單片機測距的設計
[打印本頁]
作者:
大青衣
時間:
2018-12-30 15:56
標題:
用vb上位機控制單片機測距的設計
上午是我第一次發帖,,竟然通過了而且還獎勵了88幣,嘖嘖太美了,迫不及待的再發一個!如題也是上位機控制的單片機,不過這次高級一點:測距。
vb上位機的運行界面:
捕獲.PNG
(26.65 KB, 下載次數: 65)
下載附件
2018-12-30 15:54 上傳
也是用vb編寫的。
捕獲2.PNG
(9.15 KB, 下載次數: 60)
下載附件
2018-12-30 15:54 上傳
單片機源程序:
/*****************************************
* 項目: 單片VB上位機視頻教程 *
* 單片機: STC89C52 *
* 晶振: 11.0592M *
* 開發: E動力電子工作室 *
* 作者: LinHill *
* 郵箱: power_e@126.com *
******************************************/
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit Echo = P2^0; // 接Echo端
sbit Trig = P2^1; // 接Trig端
bit flag =0; // 定時器0是否溢出的標志,1表示溢出
bit enable=0; // 用于判斷是否允許測量,1表示允許
/***********************************
函數:void InitUart()
----------------------
說明:對串口進行初始化
參數:無
返回值:無
***********************************/
void InitUart()
{
TMOD = 0x21; // 高4位(定時器1)用于串口,低4位(定時器0)用于超聲波計時
SCON = 0x50;
TH1 = 0xFD; // 波特率 9600
TL1 = 0xFD;
ES = 1; // 允許串口中斷
ET0 = 1; // 允許定時器0中斷
TR1 = 1; // 開啟定時器1
EA = 1; // 開啟總中斷
}
/***********************************
函數:void DelayMs(uint ms)
----------------------
說明:毫秒級程序延時
參數:ms代表要延時的毫秒數
返回值:無
***********************************/
void DelayMs(uint ms)
{
uint x,y;
for(x=ms;x>0;x--)
for(y=110;y>0;y--);
}
/***********************************
函數:void StartModule()
---------------------------
說明:啟動超聲波模塊
參數:無
返回值:無
***********************************/
void StartModule()
{
Trig=1;
DelayMs(1);
Trig=0;
}
/***********************************
函數:uint Conut(void)
------------------------
說明:計算測到的距離
參數:無
返回值:測得的距離
***********************************/
uint Conut(void)
{
uint time; // 用于記錄測得的時間
uint ss; // 用于記錄測得的距離
time = (TH0*256+TL0)*1.09; // 總時間
TH0=0;
TL0=0;
if(flag==1) // 如果超出測量距離,則不傳輸數據
{
flag=0;
ss=0;
}
else
{
ss=time*1.7/100; // 空氣中聲音的速度是340m/s
}
return ss;
}
/***********************************
函數:void send(uint dat)
---------------------------
說明:將測得的距離通過串口發送出去
參數:dat是測得的距離
返回值:無
***********************************/
void Send(uint dat)
{
SBUF=(dat/100)+ 48; // 發送 百 位
while(!TI);
TI=0;
SBUF=(dat%100/10)+48; // 發送 十 位
while(!TI);
TI=0;
SBUF=(dat%10)+48; // 發送 個 位
while(!TI);
TI=0;
}
/***********************************
函數:void main(void)
----------------------
說明:主函數
參數:無
返回值:無
***********************************/
void main(void)
{
uint ss; // 記錄測量到的距離
InitUart();
while(1)
{
if(enable==1)
{
StartModule();
while(!Echo); // 當RX為零時等待
TR0=1; // 開啟計數
while(Echo); // 當RX為1計數并等待
TR0=0; // 關閉計數
ss=Conut(); // 計算
Send(ss); // 將計算的值通過串口發送出去
DelayMs(800);
}
}
}
/***********************************
函數:void Inter() interrupt 4
------------------------------
說明:串口中斷處理
參數:無
返回值:無
***********************************/
void Inter() interrupt 4
{
if(RI==1)
{
RI=0;
if(SBUF == 0x01)
{
enable = 1;
}
if(SBUF == 0x02)
{
enable = 0;
}
}
}
/***********************************
函數:void zd0() interrupt 1
------------------------------
說明:T0中斷用來計數器溢出,超過測距范圍則置flag為1
參數:無
返回值:無
***********************************/
void zd0() interrupt 1
{
flag=1;
}
復制代碼
所有資料51hei提供下載:
新建文件夾.zip
(44.63 KB, 下載次數: 50)
2018-12-30 15:55 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
源碼都在一起。
作者:
admin
時間:
2019-1-6 16:00
好資料,51黑有你更精彩
作者:
帥鵬
時間:
2019-1-9 20:22
好資料,51有你更精彩
作者:
ys519277123
時間:
2019-1-14 11:18
好資料,51有你更精彩
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
欧美日日
|
中文字幕在线观看视频网站
|
亚洲精品视频在线
|
日韩电影在线
|
日韩a在线观看
|
日韩福利
|
91高清视频在线观看
|
日韩电影一区
|
亚洲日本欧美日韩高观看
|
一级a爱片久久毛片
|
v片网站
|
久久免费视频网
|
日韩欧美手机在线
|
日韩有码一区
|
成人性视频免费网站
|
国产乱码精品一区二区三区五月婷
|
伊人网91
|
免费网站国产
|
亚洲一区二区三区在线视频
|
麻豆视频在线免费观看
|
欧美一区不卡
|
欧美一级片久久
|
综合久久av
|
日韩在线一区二区三区
|
久热免费
|
免费一区二区三区
|
嫩呦国产一区二区三区av
|
精品九九
|
精品伊人久久
|
日本小电影在线
|
奇米视频777
|
91传媒在线观看
|
欧美视频二区
|
日本在线看片
|
国产精品五区
|
久久精品亚洲国产奇米99
|
久久极品
|
天天草天天射
|
日韩一区中文字幕
|
精品免费视频
|
国产免费va
|