超声波智能测距系统设计与实现论文(编辑修改稿)内容摘要:

% % 20cm % % % 30cm % % % 40cm % % % 50cm % % % 60cm % % % 70cm % % % 80cm % % % 90cm % % % 100cm % % % 110cm % % % 120cm % % % 130cm % % % 140cm % % % 150cm % % % 160cm % % % 180cm % % % 200cm % % % 220cm 未作测量 未作测量 未作测量 未作测量 % 260cm 未作测量 未作测量 未作测量 未作测量 % 280cm 未作测量 未作测量 未作测量 未作测量 % 300cm 未作测量 未作测量 未作测量 未作测量 % 325cm 未作测量 未作测量 未作测量 未作测量 % 350cm 未作测量 未作测量 未作测量 未作测量 % 375cm 未作测量 未作测量 未作测量 未作测量 % 400cm 未作测量 未作测量 未作测量 未作测量 % 440cm 未作测量 未作测量 未作测量 未作测量 % 450cm 未作测量 未作测量 未作测量 未作测量 % 460cm 未作测量 未作测量 未作测量 未作测量 不稳定 不稳定 7 附录 A 图二 图二 8 图三 附录 B 源代码: include include //引脚定义 sbit RX = P1 ^ 1。 //接收 sbit TX = P1 ^ 2。 //发射 sbit CS = P2 ^ 6。 //片选 高电平有效 单片 LCD 使用时可固定高电平 sbit SID = P2 ^ 5。 //数据 sbit SCLK = P2 ^ 7。 //时钟 sbit BEEP = P1 ^ 5。 //报警 //Function Definition 函数声明 void Delay(int num)。 unsigned char ReadOneChar(void)。 void WriteOneChar(unsigned char dat)。 void clock_out(unsigned char dd)。 unsigned char clock_in(void)。 unsigned char read_clock(unsigned char ord)。 void write_clock(unsigned char ord, unsigned char dd)。 void Disp(void)。 void id_case1_key(void)。 void id_case2_key(void)。 9 void Set_time(unsigned char sel,bit sel_1)。 void Timer0_Init(void)。 void Init_1302(void)。 void Set_Bell(unsigned char sel, bit sel_1)。 void Bell(void)。 void Write_char(bit start, unsigned char ddata)。 void Send_byte(unsigned char bbyte)。 void Delaynms(unsigned int di)。 void Lcd_init(void)。 void LCD_Write_string(unsigned char X,unsigned char Y,unsigned char *s)。 void LCD_set_xy( unsigned char x, unsigned char y )。 unsigned char code num[]={0123456789 :.}。 unsigned char code waves[]={当前距离为: }。 unsigned char code znwk[] ={高精度超声波测距 }。 unsigned char code CM[] = { CM}。 unsigned int time=0。 long S=0。 int z。 bit flag =0。 unsigned char disbuff[4]={ 0,0,0,0,}。 /******************************************************************************/ void Lcd_init(void) //初始化 LCD { Delaynms(10)。 //启动等待,等 LCM 讲入工作状态 CS=1。 Write_char(0,0x30)。 //8 位介面,基本指令集 Write_char(0,0x0c)。 //显示打开,光标关,反白关 Write_char(0,0x01)。 //清屏,将 DDRAM 的地址计数器归零 } /******************************************************************************/ void Write_char(bit start, unsigned char ddata) //写指令或数据 { unsigned char start_data,Hdata,Ldata。 if(start==0) start_data=0xf8。 //写指令 else start_data=0xfa。 //写数据 Hdata=ddataamp。 0xf0。 //取高四位 Ldat。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。