本帖最后由 弘毅 于 2018-8-10 19:11 编辑
- #include <LiquidCrystal.h>
- #include "lcd1602.h"
- #include "pitches.h"
- unsigned char table1[]={0x07,0x05,0x07,0x02,0x0B,0x0A,0x0A,0x1F};//
- unsigned char table2[]={0x1F,0x10,0x1F,0x11,0x11,0x1F,0x10,0x1F};//距
- unsigned char table3[]={0x01,0x1F,0x0A,0x09,0x0F,0x01,0x1F,0x17};//
- unsigned char table4[]={0x00,0x1F,0x06,0x0A,0x1E,0x1F,0x15,0x1D};//离
- LiquidCrystal lcd(12,11,2,3,4,5,6,7,8,9,10);
- #define Trig 9
- #define Echo 12
- char dis;
- float t;
- void Conut(void){
- digitalWrite(Trig, LOW);
- delayMicroseconds(2);
- digitalWrite(Trig,HIGH);
- delayMicroseconds(10);
- digitalWrite(Trig, LOW);
- t=pulseIn(Echo,HIGH);
- dis=(t*0.034)/2;
- }//超声波测距程序
- void setup()
- {
- Serial.begin(9600);
- pinMode(Trig, OUTPUT);
- pinMode(Echo, INPUT);
- for(int i=Enable;i<=RS;i++)
- {pinMode(i,OUTPUT);}
- delay(100);
- LcdCommandWrite(0x38);
- delay(20);
- LcdCommandWrite(0x06);
- delay(20);
- LcdCommandWrite(0x0c);
- delay(20);
- LcdCommandWrite(0x01);
- delay(20);//初始化1602
-
-
-
- // put your setup code here, to run once:
- }
- void loop()
- {
-
- unsigned char num;
-
- LcdCommandWrite(0x8e);
- LcdCommandWrite(0x40);
-
- for(num=0;num<8;num++)
- {
- LcdDataWrite(table1[num]);
- }
- LcdCommandWrite(0x80); //
- LcdDataWrite(0x00);
- LcdCommandWrite(0x48);
- for(num=0;num<8;num++)
- {
- LcdDataWrite(table2[num]);
- }
-
- LcdCommandWrite(0x81);
- LcdDataWrite(0x01);
- LcdCommandWrite(0x82);
- LcdDataWrite(' ');
- LcdCommandWrite(0x50);
- for(num=0;num<8;num++)
- {
- LcdDataWrite(table3[num]);
- }
-
- LcdCommandWrite(0x83);
- LcdDataWrite(0x02);
- LcdCommandWrite(0x58);
- for(num=0;num<8;num++)
- {
- LcdDataWrite(table4[num]);
- }
-
- LcdCommandWrite(0x84);
- LcdDataWrite(0x03);
- LcdCommandWrite(0x85);
- LcdDataWrite(':');
- LcdCommandWrite(0x8E);
- LcdDataWrite('C');
- LcdCommandWrite(0x8F);
- LcdDataWrite('M');
-
-
- Serial.print("Distance=");
- Serial.print(dis);
- delay(1000);
- LcdCommandWrite(0x86);
- lcd.print(dis);//显示距离数据
- }
复制代码
|