久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
超聲波PIC單片機C程序
[打印本頁]
作者:
a664254710
時間:
2017-8-30 20:59
標題:
超聲波PIC單片機C程序
超聲波PIC單片機C程序
單片機源程序如下:
////////////////////////////////////////////////////////////////////////////////
//
// 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 <pic.h>
#include <stdio.h>
__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 s[21]; // 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 && !TMR1IF); // wait for echo pulse to start (go high)
TMR1ON = 1; // start timer to measure pulse
while(echo && !TMR1IF); // wait for echo pulse to stop (go low)
TMR1ON = 0; // stop timer
return (TMR1H<<8)+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); //
}
……………………
…………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
超聲波PIC單片機C程序.rar
(1.63 KB, 下載次數: 19)
2017-8-30 20:57 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者:
JLennon
時間:
2017-11-22 14:01
超聲波傳感器是用的什么型號的?
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
日本一区二区三区四区
|
91精品国产一区二区三区
|
美女爽到呻吟久久久久
|
性色视频
|
91在线
|
麻豆国产精品777777在线
|
天堂一区二区三区
|
人人草天天草
|
国产sm主人调教女m视频
|
日韩欧美一级片
|
日韩精品久久一区二区三区
|
91久久婷婷
|
成人免费看片
|
久久成人av
|
日本中文字幕在线视频
|
在线观看国产www
|
久久精品国产一区二区三区
|
欧美区在线
|
亚洲欧美在线视频
|
在线观看免费av网
|
国产精品国产三级国产aⅴ原创
|
国产精品福利在线观看
|
亚洲一区二区久久
|
精品国产91
|
成人在线视频一区二区三区
|
久久精品国产一区二区三区不卡
|
国产欧美日韩一区
|
秋霞在线一区二区
|
国产9999精品
|
色偷偷人人澡人人爽人人模
|
成人在线免费观看
|
日韩一级免费大片
|
国产男女猛烈无遮掩视频免费网站
|
久久久久久国
|
欧美综合国产精品久久丁香
|
日韩视频在线免费观看
|
日日骚av
|
成人精品一区二区三区
|
国产一区二区在线免费观看
|
国产高清视频在线
|
污视频在线免费观看
|