Hubei Hannas Tech Co., Ltd - Furnizor profesional de elemente piezoceramice
Ştiri
Sunteți aici: Acasă / Ştiri / Informații despre traductorul cu ultrasunete / Proiectarea modulului de măsurare a distanței cu ultrasunete bazat pe computer cu un singur cip

Proiectarea modulului de măsurare a distanței cu ultrasunete bazat pe computer cu un singur cip

Vizualizări: 1     Autor: Editor site Ora publicării: 2020-10-14 Origine: Site

Întreba

butonul de partajare pe facebook
butonul de partajare pe Twitter
butonul de partajare a liniilor
butonul de partajare wechat
butonul de partajare linkedin
butonul de partajare pe pinterest
butonul de partajare whatsapp
partajați acest buton de partajare

Modul de măsurare a distanței cu ultrasunete, microcomputer cu un singur cip conectat la 12864 LCD, matriță cu senzor de nivel ultrasonic HC-SR04, hardware-ul modulului senzorului de proximitate cu ultrasunete nu este, de asemenea, cunoscut.

 79ECL6XN8B)938CE9()N_U


Program sursă LCD 12864 cu ultrasunete 51 cu un singur cip:

#include

#include

//Definiție pin

sbitRX=P1 ^ 1;

sbitTX=P1 ^ 2;

sbitCS=P3 ^ 3;//Selectare cip nivel înalt activ LCD cu un singur cip poate fi fixat la nivel înalt

sbitSID=P3 ^ 4;//date

sbitSCLK=P3 ^ 5;//ceas

// Declarația funcției de definiție a funcției

void Delay(int num);

void Init_DS18B20(void);

caracter nesemnat ReadOneChar(void);

void Write OneChar(unsigned char dat);

unsigned int ReadTemperature(void);

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);

void Set_TI me(unsigned char sel,bit sel_1);

vid TI mer0_Init(void);

void Init_1302(void);

void Set_Bell(unsigned char sel, bit sel_1);

void Bell(void);

//12864

void Write_char(bit start, unsigned char ddata);

void Send_byte(unsigned char bbyte);

void Delaynms(unsigned int di);

void Lcd_init(void);

void Disp_img(unsigned char *img);

void LCD_Write_string(unsigned char X,unsigned char Y,unsigned char *s);

void LCD_set_xy( unsigned char x, unsigned char y);

cod caracter nesemnat num[]={'0123456789 :。-'};

unsigned char code waves[]={'Sistem de măsurare cu ultrasunete'};

cod de caracter nesemnat znwk[] ={'Smart Microcontrol Studio'};

cod caracter nesemnat CM[] ={'M'};

nesemnat intTI me=0;

lung S=0;

bitflag =0;

unsigned char disbuff[4]={ 0,0,0,0,};

logo cod caracter nesemnat[]={

0x00,0x03,0xC6,0x3C,0x00,0x33,0x9F,0xF0,0x03,0x8F,0xC0,0x00,0x30,0xC0,0xC0,0xC0,0xC0,

0x00,0x3F,0xEF,0xFE,0x00,0x03,0x1C,0xE0,0x07,0x01,0xCC,0x00,0x31,0xF1,0xF1,0x00,0x00,

0x00,0x79,0xDF,0xBC,0x00,0x06,0x18,0xC0,0x0E,0x01,0xFE,0x00,0x77,0xF9,0xF9,0x00,0x00,

0x00,0x01,0xB0,0x30,0x01,0xC6,0x19,0xC0,0x1E,0x7F,0xDE,0x00,0x6F,0x80,0x80,0x80,0x80,

0x00,0x23,0xAC,0x60,0x0F,0xE6,0xF1,0x80,0x3E,0x7B,0x38,0x00,0x61,0x80,0x80,0x80,

0x00,0x37,0x0E,0x00,0x0F,0xC7,0xB7,0x80,0xEC,0x63,0x30,0x00,0xE3,0x00,0x00,0x00,0x00,

0x00,0x3E,0x0E,0x00,0x01,0x8F,0x37,0x01,0xCC,0x6F,0xF0,0x00,0xC7,0xF7,0xF70,0xF70,

0x00,0x1E,0x0C,0x00,0x03,0x1E,0x66,0x03,0x0C,0x7F,0x00,0x01,0xFF,0xE6,0xE6,0xE6,

0x00,0x1E,0x1C,0x00,0x03,0x1C,0x60,0x02,0x19,0xAC,0x00,0x01,0x96,0x06,0x00,0x00,0x00,

0x00,0x3E,0x3E,0x00,0x03,0x18,0x60,0x00,0x19,0xFC,0x00,0x03,0x86,0x00,0x00,0x00,0x00,

0x00,0x7E,0x36,0x00,0x03,0x00,0xC0,0x00,0x38,0x78,0x00,0x03,0x06,0x00,0x00,x00,0x00,

0x00,0xE6,0x67,0x00,0x03,0x00,0xC0,0x00,0x30,0x78,0x00,0x06,0x0C,0x00,0x00,0x00,

0x01,0xC6,0xC3,0x80,0x7F,0xF0,0xC0,0x00,0x30,0xFE,0x00,0x0E,0x0C,0x1C0,0x1C0,0x1C0,

0x03,0x81,0x83,0xC0,0x78,0xFF,0x80,0x00,0x61,0xCF,0x80,0x1C,0x08,0x18,0x18,0x00,0x18,0x18,

0x06,0x07,0x03,0xE0,0x00,0x1F,0xFF,0xE0,0x67,0x07,0xE0,0x38,0x18,0xF8,0xF8,0xF8,0xF8,

0x08,0x0E,0x01,0xF8,0x00,0x07,0xFF,0x80,0xCE,0x03,0xF8,0x60,0x00,0x70,0x70,0x70,0x03,

0x00,0x18,0x01,0xF8,0x00,0x01,0xFC,0x00,0xC0,0x01,0xFC,0xC0,0x00,0x70,0x70,0x70,0x01,

0x00,0x01,0xFE,0x00,0x00,0x7F,0xF8,0x00,0x00,0x00,0x00,0x00,0xC0,0x00,0x00,0x00,0x00,

0x00,0x03,0xB7,0x00,0x00,0x60,0x00,0x00,0x00,0x00,0x3C,0x00,0xC0,0x00,x00,x00,0x00,0x00,

0x00,0x07,0x67,0x00,0x00,0x60,0x00,0x00,0x03,0x9F,0xFE,0x00,0x80,0x00,0x00,0x00,0x00,

0x00,0x0E,0x63,0x80,0x00,0xE0,0x00,0x01,0xFF,0xCF,0x1E,0x01,0x80,0x00,0x00,0x00,0x00,0x06,

0x00,0x1C,0xE1,0xE0,0x00,0xC0,0x00,0x00,0xE3,0x9C,0x38,0x01,0x80,0x00,0x00,0x00,0x00,

0x00,0x38,0xC1,0xF8,0x01,0xC0,0x00,0x00,0xC3,0x18,0x30,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0xE0,0xFC,0xFE,0x03,0x80,0x00,0x01,0xC7,0x18,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x01,0xDF,0xF8,0xFE,0x03,0x00,0x00,0x01,0x8E,0x1B,0xE0,0x07,0x00,0x1C,0x1C,0x00,0x1C,

0x07,0x07,0x80,0x00,0x07,0x00,0x00,0x01,0xFF,0x3F,0xE0,0x07,0x00,0x1C0,0x1C0,0x1C0,

0x0C,0x03,0x80,0x00,0x0E,0x00,0x00,0x01,0xF0,0x38,0x00,0x0F,0x00,0x30,0x30,0x30,

0x00,0x03,0x00,0x00,0x1C,0x00,0x00,0x01,0x00,0x20,0x00,0x06,0x00,0x00,0x10,0x18,

0x00,0x03,0x00,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x03,0x00,0x00,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x02,0x00,0x01,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

void Lcd_init(void)//Inițializare LCD

Delaynms(10); //Începeți să așteptați, așteptați ca LCM să vorbească cu starea de lucru

CS=1;

Write_char (0, 0x30);//Interfață de 8 biți, set de instrucțiuni de bază

Write_char (0, 0x0c);//Afișajul este pornit, cursorul este oprit și inversul este oprit

Write_char (0, 0x01);//Ștergeți ecranul, resetați contorul de adrese al DDRAM la zero

void Write_char (bit start, unsigned char ddata) //Scrie instrucțiune sau date

unsigned char start_data, Hdata, Ldata;

if(start==0)

start_data=0xf8;//comandă de scriere

altfel

start_data=0xfa;//scrierea datelor

Hdata=ddata&0xf0;//Ia cei patru biți superiori

Ldata=(ddata《》4)&0xf0;//Ia cei patru biți inferiori

Send_byte(start_data);//Trimite semnal de pornire

Delaynms(5); //Este necesară întârzierea

Send_byte(Hdata);//Trimite mare de patru biți

Delaynms(1);//Întârzierea este necesară

Send_byte(Ldata);//Trimite cei patru biți inferiori

Delaynms(1);//Întârzierea este necesară

void Send_byte (unsigned char bbyte) //Trimite un octet

nesemnat char i;

pentru(i=0;i《8;i++)

SID=bbyte&0x80; //scoate cel mai înalt bit

SCLK=1;

SCLK=0;

bbyte《》=1; //schimba la stânga

void Delaynms (unsigned int di) // Întârziere

nesemnat int da, db;

for(da=0;da

for(db=0;db《10;db++);

void Disp_img(unsigned char*img)//modul grafic 12864 font afișare 221 îndepărtarea filmului orizontal

nesemnat char i, j;

unsigned int k = 0;

Write_char(0, 0x36); //modul grafic

pentru(i=0;i《32;i++)

Write_char(0, 0x80+i);

Write_char(0, 0x80);

pentru(j=0;j《16;j++)

Write_char(1, img[k++]);

pentru(i=0;i《32;i++)

Write_char(0, 0x80+i);

Write_char(0, 0x88);

pentru(j=0;j《16;j++)

Write_char(1, img[k++]);

void Clr_Scr(void)//Clear screen function

Write_char(0, 0x01);


Feedback
Hubei Hannas Tech Co., Ltd este un producător profesionist de ceramică piezoelectrică și traductoare cu ultrasunete, dedicat tehnologiei ultrasonice și aplicațiilor industriale.                                    
 

RECOMANDA

CONTACTAŢI-NE

Adăugați: No.302 Innovation Agglomeration Zone, Chibi Avenu, Chibi City, Xianning, Hubei Province, China
E-mail:  sales@piezohannas.com
Tel: +86 07155272177
Telefon: +86 + 18986196674         
QQ: 1553242848  
Skype: live:
mary_14398        
Copyright 2017    Hubei Hannas Tech Co.,Ltd Toate drepturile rezervate. 
Produse