HC-SR04PIC.txt

超声波测距资料(HC-SR04)+原理图

收藏

资源目录
跳过导航链接。
超声波测距资料(HC-SR04)原理图.rar
超声波测距资料(HC-SR04)+原理图
超声波模块说明图.jpg---(点击预览)
超声波模块原理图.pdf---(点击预览)
HC-SR04用户手册.pdf---(点击预览)
1.超声波测距串口显示
测距程序
测距程序.C
测距程序.hex
测距程序.lnp
测距程序.LST
测距程序.M51
测距程序.OBJ
测距程序.opt.bak
测距程序.plg
测距程序.Uv2.bak
测距程序.uvopt
测距程序.uvproj
测距程序_Opt.Bak
测距程序_Uv2.Bak
测距程序_uvopt.bak
2超声波测距数码管显示
脉宽测量.c
脉宽测量.hex
脉宽测量.lnp
脉宽测量.LST
脉宽测量.M51
脉宽测量.OBJ
脉宽测量.opt.bak
脉宽测量.plg
脉宽测量.Uv2.bak
脉宽测量.uvopt
脉宽测量.uvproj
脉宽测量_Opt.Bak
脉宽测量_Uv2.Bak
脉宽测量_uvopt.bak
3超声波测距LC1602显示
脉宽测量.c
脉宽测量.hex
脉宽测量.lnp
脉宽测量.LST
脉宽测量.M51
脉宽测量.OBJ
脉宽测量.opt.bak
脉宽测量.plg
脉宽测量.Uv2.bak
脉宽测量.uvopt
脉宽测量.uvproj
脉宽测量_Opt.Bak
脉宽测量_Uv2.Bak
脉宽测量_uvopt.bak
4超声波测距LCD12864显示
测距程序.C
测距程序.hex
测距程序.lnp
测距程序.LST
测距程序.M51
测距程序.OBJ
测距程序.opt.bak
测距程序.plg
测距程序.Uv2.bak
测距程序.uvopt
测距程序.uvproj
测距程序_Opt.Bak
测距程序_Uv2.Bak
测距程序_uvopt.bak
5超声波PIC单片机C程序
压缩包内文档预览:
预览图 预览图 预览图
编号:12852411    类型:共享资源    大小:1.67MB    格式:RAR    上传时间:2019-01-08 上传人:机****料 IP属地:河南
12
积分
关 键 词:
超声波 测距 资料 hc sr04 原理图
资源描述:


内容简介:
/ / / PIC16F877 + HC-SR04 + LCD03 example / Written October 2008 , using HITECH PIC16 compiler / / Note - assumes a 20MHz crystal, which is 5MHz timer clock / A 1:4 prescaler is used to give a 1.25MHz timer count (0.8uS per tick) / / This code is Freeware - Use it for any purpose you like. / / #include #include _CONFIG(0x3b32); #define trig RB0 #define echo RB1 void clrscn(void); / prototypes void cursor(char pos); void print(char *p); void setup(void); unsigned int get_srf04(void); char s21; / buffer used to hold text to print void main(void) unsigned int range; setup(); / sets up the PIC16F877 I2C port clrscn(); / clears the LCD03 disply cursor(2); / sets cursor to 1st row of LCD03 sprintf(s,“SRF04 Ranger Test“); / text, printed into our buffer print(s); / send it to the LCD03 while(1) / loop forever range = get_srf04(); / get range from srf04 (round trip flight time in 0.8uS units) cursor(24); / sets cursor to 2nd row of LCD03 sprintf(s,“Range = %dcm “, range/72); / convert to cm print(s); / send it to the LCD03 cursor(44); / sets cursor to 3rd row of LCD03 sprintf(s,“Range = %dinch “, range/185); / convert to inches print(s); / send it to the LCD03 TMR1H = 0; / 52mS delay - this is so that the SRF04 ranging is not too rapid TMR1L = 0; / and the previous pulse has faded away before we start the next one T1CON = 0x21; / 1:4 prescale and running TMR1IF = 0; while(!TMR1IF); / wait for delay time TMR1ON = 0; / stop timer unsigned int get_srf04(void) TMR1H = 0xff; / prepare timer for 10uS pulse TMR1L = -14; T1CON = 0x21; / 1:4 prescale and running TMR1IF = 0; trig = 1; / start trigger pulse while(!TMR1IF); / wait 10uS trig = 0; / end trigger pulse TMR1ON = 0; / stop timer TMR1H = 0; / prepare timer to measure echo pulse TMR1L = 0; T1CON = 0x20; / 1:4 prescale but not running yet TMR1IF = 0; while(!echo / wait for echo pulse to start (go high) TMR1ON = 1; / start timer to measure pulse while(echo / wait for echo pulse to stop (go low) TMR1ON = 0; / stop timer return (TMR1H8)+TMR1L; / TMR1H:TMR1L contains flight time of the pulse in 0.8uS units void clrscn(void) SEN = 1; / send start bit while(SEN); / and wait for it to clear SSPIF = 0; SSPBUF = 0xc6; / LCD02 I2C address while(!SSPIF); / wait for interrupt SSPIF = 0; / then clear it. SSPBUF = 0; / address of register to write to while(!SSPIF); / SSPIF = 0; / SSPBUF = 12; / clear screen while(!SSPIF); / SSPIF = 0; / SSPBUF = 4; / cursor off while(!SSPIF); / SSPIF = 0; / PEN = 1; / send stop bit while(PEN); / void cursor(char pos) SEN = 1; / send start bit while(SEN); / and wait for it to clear SSPIF = 0; SSPBUF = 0xc6; / LCD02 I2C address while(!SSPIF); / wait for interrupt SSPIF = 0; / then clear it. SSPBUF = 0; / address of register to write to while(!SSPIF); / SSPIF = 0; / SSPBUF = 2; / set cursor while(!SSPIF); / SSPIF = 0; / SSPBUF = pos; / while(!SSPIF); / SSPIF = 0; / PEN = 1; / send stop bit while(PEN); / void print(char *p) SEN = 1; / send start bit while(SEN); / and wait for it to clear SSPIF = 0; SSPBUF = 0xc6; / LCD02 I2C address while(!SSPIF); / wait for interrupt SSPIF = 0; / then clear it. SSPBUF = 0; / address of register to write to while(!SSPIF); / SSPIF = 0; / while(*p) SSPBUF = *p+; / write the data while(!SSPIF); / SSPIF = 0; / PEN = 1; / send stop bit while(PEN); / void setup(void) unsigned long x; TRISB = 0xfe; / RB0 (trig) is output PORTB = 0xfe; / and start
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
提示  人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:超声波测距资料(HC-SR04)+原理图
链接地址:https://www.renrendoc.com/p-12852411.html

官方联系方式

2:不支持迅雷下载,请使用浏览器下载   
3:不支持QQ浏览器下载,请用其他浏览器   
4:下载后的文档和图纸-无水印   
5:文档经过压缩,下载后原文更清晰   
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

网站客服QQ:2881952447     

copyright@ 2020-2024  renrendoc.com 人人文库版权所有   联系电话:400-852-1180

备案号:蜀ICP备2022000484号-2       经营许可证: 川B2-20220663       公网安备川公网安备: 51019002004831号

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知人人文库网,我们立即给予删除!