logo资料库

超声波测距程序及原理.doc

第1页 / 共3页
第2页 / 共3页
第3页 / 共3页
资料共3页,全文预览结束
#include #include #define uint unsigned int #define uchar unsigned char sbit trig=P1^7; sbit echo=P1^6; sbit dula=P2^6; sbit wela=P2^7; sbit lcden=P3^4; sbit lcdrs=P3^5; uint bai,shi,ge,time,s; void delayms(uint xms) { uint i,j; for(i=xms;i>0;i--) for(j=110;j>0;j--); void initHC() { trig=0; echo=0; void initt0() { TMOD=0x01; TH0=0; TL0=0; EA=1; ET0=1; } } } } uint distance() { time=TH0*256+TL0; TH0=0; TL0=0; s=time*0.01853; return s;
void lcd_com(uchar com) { lcdrs=0; P0=com; delayms(5); lcden=1; delayms(5); lcden=0; lcdrs=1; P0=date; delayms(5); lcden=1; delayms(5); lcden=0; void lcd_date(uchar date) { } } } void initlcd() { dula=0; wela=0; lcden=0; lcd_com(0x38); lcd_com(0x0c); lcd_com(0x06); lcd_com(0x01); void main() { initlcd(); initt0(); initHC(); while(1) { trig=1; _nop_();_nop_();_nop_();_nop_();_nop_(); _nop_();_nop_();_nop_();_nop_();_nop_(); _nop_();_nop_();_nop_();_nop_();_nop_(); _nop_();_nop_();_nop_();_nop_();_nop_();
trig=0; while(echo==0); TR0=1; while(echo==1); TR0=0; distance(); bai=s/100%10; shi=s/10%10; ge=s%10; lcd_com(0x80); lcd_date('D'); lcd_date('i'); lcd_date('s'); lcd_date('t'); lcd_date('a'); lcd_date('n'); lcd_date('c'); lcd_date('e'); lcd_com(0x80+0x46); lcd_date(0x30+bai); lcd_date(0x30+shi); lcd_date(0x30+ge); lcd_date('c'); lcd_date('m'); delayms(1000); }
分享到:
收藏