久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
單片機超聲波測距下面幾行代碼的意思求解
[打印本頁]
作者:
人生這里
時間:
2019-4-20 20:41
標題:
單片機超聲波測距下面幾行代碼的意思求解
求助
bai=s/100;
shi=s/10%10;
ge=s%10%10;
Lcd1602_WriteCom(0x80+0x02);
Lcd1602_WriteData(0x30+bai);
Lcd1602_WriteData(0x30+shi);
Lcd1602_WriteData(0x30+ge);
這些啥意思啊
下面是完整單片機程序:
#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
uchar shi,ge,bai;
int jia=0;
unsigned long int s=0;
sbit RS=P2^6;
sbit RW=P2^5;
sbit E=P2^7;
sbit trig=P1^1;
sbit echo=P1^3;
void start()
{
trig=1;
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
trig=0;
}
void delay(uint z)
{
uint i,j;
for(i=z;i>0;i--)
for(j=110;j>0;j--);
}
uchar Lcd1602_ReadBusy()
{
uchar temp;
RS=0;
RW=1;
_nop_();
P0=0xff;
_nop_();
E=1;
_nop_();
temp=P0;
_nop_();
E=0;
return (temp&0x80);
}
void Lcd1602_WriteCom(uchar com)
{
while(Lcd1602_ReadBusy());
RS=0;
RW=0;
_nop_();
P0=com;
_nop_();
E=1;
_nop_();
_nop_();
E=0;
_nop_();
_nop_();
}
void Lcd1602_WriteData(uchar dat)
{
while(Lcd1602_ReadBusy());
RS=1;
RW=0;
_nop_();
P0=dat;
_nop_();
E=1;
_nop_();
_nop_();
E=0;
_nop_();
_nop_();
}
void Lcd1602_init()
{
delay(15);
Lcd1602_WriteCom(0x38);
delay(5);
Lcd1602_WriteCom(0x38);
delay(5);
Lcd1602_WriteCom(0x38);
Lcd1602_WriteCom(0x0c);
Lcd1602_WriteCom(0x01);
Lcd1602_WriteCom(0x06);
}
void main()
{
while(1)
{
TMOD=0x01;
ET0=1;
EA=1;
TL0=0;
TH0=0;
start();
while(!echo);
TR0=1;
while(echo);
TR0=0;
s=TH0*256+TL0+jia;
jia=0;
s=s*0.017*12/11;
Lcd1602_init();
bai=s/100;
shi=s/10%10;
ge=s%10%10;
Lcd1602_WriteCom(0x80+0x02);
Lcd1602_WriteData(0x30+bai);
Lcd1602_WriteData(0x30+shi);
Lcd1602_WriteData(0x30+ge);
}
}
void Time0(void) interrupt 1
{
jia=jia+65536;
TH0=0;
TL0=0;
}
復制代碼
作者:
HC6800-ES-V2.0
時間:
2019-4-21 08:45
前三行,是將測量到的距離S,轉換為可顯示的各位數,百位、十位、個位
我個人習慣這樣寫:
bai=s/100;
shi=(s%100)/10;
ge=(s%10)/1;
后四行是對1602的顯示進行操作:
第四行是向1602發命令,是指定顯示位置的意思
最后三行就是顯示內容了,0x30的ASCII碼數字開始的位置,即將顯示值轉換為顯示碼。
作者:
孤劍酷
時間:
2019-4-21 14:31
取各個位的數值分別儲存為單個字符,在LCD1602上顯示
作者:
hantu
時間:
2019-4-21 15:38
bai=s/100;
shi=s/10%10;
ge=s%10%10;
Lcd1602_WriteCom(0x80+0x02);
Lcd1602_WriteData(0x30+bai);
Lcd1602_WriteData(0x30+shi);
Lcd1602_WriteData(0x30+ge);
分別取得s的百位、十位、個位,然后在1602顯示屏的第一行的第三個字符處開始顯示它們。
作者:
15555
時間:
2019-4-22 14:19
將數值分成百十個并顯示在1602上
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
欧美大片一区
|
91精品久久久久久久久
|
久久精品黄色
|
精品亚洲一区二区三区
|
日本精品视频一区二区
|
久久69精品久久久久久国产越南
|
天天草天天操
|
欧美h版
|
a级毛片毛片免费观看久潮喷
|
在线看片国产精品
|
在线欧美小视频
|
色综久久
|
av免费成人
|
av在线一区二区三区
|
亚洲精品国产a久久久久久 午夜影院网站
|
老头搡老女人毛片视频在线看
|
国产va
|
国产精品久久久久久久免费大片
|
91久久久久久
|
天堂在线91
|
中文字幕第一页在线
|
激情网五月天
|
日韩视频专区
|
日韩av成人
|
久久av一区二区
|
国产精久久久久久久妇剪断
|
天天操天天射天天舔
|
国产精品黄色
|
欧美一区二
|
中文字幕第二十页
|
亚洲成人一区
|
国产专区视频
|
日韩一区精品
|
国产精品久久久久久模特
|
日本久久福利
|
一区二区三区在线观看免费视频
|
亚洲成人中文字幕
|
中文字幕亚洲视频
|
在线视频一区二区
|
久久久久久亚洲
|
中文字幕视频在线观看
|