久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
單片機IAP15F2K61S2型號超聲波設計 加一個按鍵的功能但一直調試不好
[打印本頁]
作者:
思思的小本本
時間:
2023-11-28 17:15
標題:
單片機IAP15F2K61S2型號超聲波設計 加一個按鍵的功能但一直調試不好
我做了快一個月的超聲波設計,想在超聲波的基礎上再加一個按鍵的功能但一直調試不好,以下是源代碼,請大家?guī)兔纯词悄睦镉袉栴}
單片機源程序如下:
#include <REGX52.H>
#include "intrins.h"
sbit buzz=P0^6;
sbit TX = P1^0;
sbit RX = P1^1;
sbit S7 = P3^0;
sfr P4 = 0xC0;
unsigned char code SMG_duanma[] = {0xc0,0xf9,0xa4,0xb0,
0x99,0x92,0x82,0xf8,
0x80,0x90,0x88,0x83,
0xc6,0xa1,0x86,0x8e,
0xbf};
unsigned char Segbuff[] = {0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff};
unsigned int distance = 0;
bit flag = 0;
void Delay12us(void)
{
unsigned char data i;
_nop_();
_nop_();
i = 33;
while (--i);
}
void DelayK(unsigned char t)
{
while(t--);
}
void SelectHC573(unsigned char channel)
{
switch(channel)
{
case 0 : P2 = (P2 & 0X1F) | 0X00;break;
case 4 : P2 = (P2 & 0X1F) | 0X80;break;
case 5 : P2 = (P2 & 0X1F) | 0Xa0;break;
case 6 : P2 = (P2 & 0X1F) | 0Xc0;break;
case 7 : P2 = (P2 & 0X1F) | 0Xe0;break;
}
}
void InitSystem()
{
SelectHC573(5);
P0 = 0x00;
SelectHC573(4);
P0 = 0xFF;
SelectHC573(0);
}
void DispalySMG_Bit(unsigned char pos, unsigned char dat)
{
SelectHC573(7);
P0 = 0xff;
SelectHC573(6);
P0 = 0x01 << pos;
SelectHC573(0);
P0 = 0xff;
SelectHC573(7);
P0 = dat;
SelectHC573(0);
}
void Timer1_Init()
{
TMOD = 0X00;
TH1 = (65536 - 1000) / 256;
TL1 = (65536 - 1000) % 256;
EA = 1;
ET1 = 1;
TR1 = 1;
}
void Measure_Distance()
{
unsigned char num = 10;
unsigned int time = 0;
TMOD &= 0xf0;
TH0 = (65536 - 13) / 256;
TL0 = (65536 - 13) % 256;
TR0 = 1;
TX = 0;
while(num--)
{
while(TF0 == 0);
TX = ~TX;
TF0 = 0;
}
TR0 = 0;
TL0 = 0;
TH0 = 0;
TR0 = 1;
while((RX == 1) && (TF0 == 0));
TR0 = 0;
if(TF0 == 0)
{
time = TH0;
time = (time << 8) | TL0;
distance = time*0.017;
}
else
{
TF0 = 0;
distance = 999;
}
}
void Display_Distance()
{
if(distance == 999)
{
Segbuff[0] = 0xff;
Segbuff[1] = 0xff;
Segbuff[2] = 0xff;
Segbuff[3] = 0xff;
Segbuff[4] = 0xff;
Segbuff[5] = SMG_duanma[9];
Segbuff[6] = SMG_duanma[9];
Segbuff[7] = SMG_duanma[9];
P2=(P2&0x1f)|0xa0;
buzz=1;
}
else
{
P2=(P2&0x1f)|0xa0;
buzz=0;
Segbuff[0] = 0xff;
Segbuff[1] = 0xff;
Segbuff[2] = 0xff;
Segbuff[3] = 0xff;
Segbuff[4] = 0xff;
Segbuff[5] = SMG_duanma[distance / 100];
Segbuff[6] = SMG_duanma[(distance % 100) / 10];
Segbuff[7] = SMG_duanma[distance % 10];
}
}
void ScanKeys_Alone()
{
if(S7==0)
{
DelayK(100);
if(S7==0)
{
InitSystem();
Timer1_Init();
if(flag)
{
Measure_Distance();
flag = 0;
}
Display_Distance();
while(S7==0);
TX = 1;
}
}
}
void Timer1_Service() interrupt 3
{
static unsigned char pos = 0;
static unsigned char t_1ms = 0;
t_1ms++;
switch(pos)
{
case 0 : DispalySMG_Bit(pos, Segbuff[0]);pos++;P0 = 0XFF;break;
case 1 : DispalySMG_Bit(pos, Segbuff[1]);pos++;P0 = 0XFF;break;
case 2 : DispalySMG_Bit(pos, Segbuff[2]);pos++;P0 = 0XFF;break;
case 3 : DispalySMG_Bit(pos, Segbuff[3]);pos++;P0 = 0XFF;break;
case 4 : DispalySMG_Bit(pos, Segbuff[4]);pos++;P0 = 0XFF;break;
case 5 : DispalySMG_Bit(pos, Segbuff[5]);pos++;P0 = 0XFF;break;
case 6 : DispalySMG_Bit(pos, Segbuff[6]);pos++;P0 = 0XFF;break;
case 7 : DispalySMG_Bit(pos, Segbuff[7]);pos = 0;P0 = 0XFF;break;
}
if(t_1ms == 200)
{flag = 1;t_1ms = 0;}
}
void main()
{
P2=(P2&0x1f)|0xa0;
buzz=0;
while(1)
{
ScanKeys_Alone();
}
}
復制代碼
作者:
csmyldl
時間:
2023-11-28 21:27
是使用超聲波模塊嗎?如果是,TX只需觸發(fā)一下,程序中就不應該有TX = ~TX;,如果不是采用模塊,發(fā)射超聲波建議用定時中斷產生
作者:
wulin
時間:
2023-11-28 21:34
超聲波應用范圍很廣,你沒說目標功能,也沒有電路圖。單從你的程序看不出什么所以然。寫法怪怪的,又沒有任何注釋,神仙也幫不了你。
作者:
lkc8210
時間:
2023-11-29 10:42
2023-11-29_100104.png
(6.17 KB, 下載次數(shù): 19)
下載附件
2023-11-29 10:41 上傳
作者:
清風皓月?lián)嵝睦@
時間:
2023-12-4 14:02
15單片機可以看看藍橋杯單片機的源碼仿著那個寫
歡迎光臨 (http://m.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
永久免费精品视频
|
日韩欧美亚洲国产
|
老司机深夜福利视频
|
精品国产一区二区在线观看
|
日狠狠
|
欧美视频在线观看
|
中国极品少妇xxxx做受
|
欧美精品福利
|
黄色免费毛片
|
午夜视频在线
|
日韩综合久久
|
欧美一级淫片bbb一84
|
亚洲综合免费
|
亚洲成人av在线播放
|
成人精品免费
|
五月天精品
|
国产激情网
|
午夜影院黄
|
手机看片福利永久
|
成人免费看片在线观看
|
av在线免费观看网站
|
日韩一级片视频
|
天天精品
|
欧美a级成人淫片免费看
|
国产黄网
|
一区二区三区免费在线观看
|
特黄毛片
|
成年在线观看
|
午夜在线视频观看日韩17c
|
伊人国产精品
|
偷拍一区二区
|
五月婷婷六月激情
|
午夜精品久久
|
91日韩在线
|
国产成人三级一区二区在线观看一
|
亚洲欧美在线播放
|
亚洲二区在线观看
|
欧美日韩免费在线观看
|
国产精品视频免费看
|
天天干天天干天天干
|
日本一级淫片
|