久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
12864液晶屏顯示超聲波程序
[打印本頁]
作者:
柏拉圖66
時間:
2019-7-30 08:55
標題:
12864液晶屏顯示超聲波程序
#include <reg52.h>
#include <intrins.h>
/************????**************/
sbit RX = P3 ^ 1; //ECH0
sbit TX = P3 ^ 0;//TRIG
sbit CS = P2 ^ 0;
sbit SID = P2 ^ 1; //RW
sbit SCLK = P2 ^ 3; //E
/*************????**************/
void Lcd_init(void);
void Write_char(bit start, unsigned char ddata);
void Send_byte(unsigned char bbyte);
void Delaynms(unsigned int di);
void Clr_Scr(void);
void LCD_set_xy( unsigned char x, unsigned char y );
void LCD_Write_string(unsigned char X,unsigned char Y,unsigned char *s);
void LCD_Write_number(unsigned char s);
void Lcd_Mark2(void);
void Conut(void);
void delayms(unsigned int ms);
void StartModule();
unsigned char code num[]={"0123456789 :.-"};
unsigned char code Q[] ={"ǰ:"};
unsigned char code CM[] = {"m"};
unsigned int time=0;
long S=0;
bit flag =0;
unsigned char disbuff[4]={ 0,0,0,0,};
/**************************************************************/
void Lcd_init(void)
{
Delaynms(10);
CS=1;
Write_char(0,0x30);
Write_char(0,0x0c);
Write_char(0,0x01);
}
/***************************************************************/
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=ddata&0xf0;
Ldata=(ddata<<4)&0xf0;
Send_byte(start_data);
Delaynms(5);
Send_byte(Hdata);
Delaynms(1);
Send_byte(Ldata);
Delaynms(1);
}
/***************************************************************/
void Send_byte(unsigned char bbyte)
{
unsigned char i;
for(i=0;i<8;i++)
{
SID=bbyte&0x80;
SCLK=1;
SCLK=0;
bbyte<<=1;
}
}
/***************************************************************/
void Delaynms(unsigned int di)
{
unsigned int da,db;
for(da=0;da<di;da++)
for(db=0;db<10;db++);
}
/***************************************************************/
void Clr_Scr(void)
{
Write_char(0,0x01);
}
/****************************************************************/
void LCD_set_xy( unsigned char x, unsigned char y )
{
unsigned char address;
switch(x)
{
case 0: address = 0x80 + y; break;
case 1: address = 0x80 + y; break;
case 2: address = 0x90 + y; break;
case 3: address = 0x88 + y; break;
case 4: address = 0x98 + y; break;
default:address = 0x80 + y; break;
}
Write_char(0, address);
}
/*****************************************************************/
void LCD_Write_string(unsigned char X,unsigned char Y,unsigned char *s)
{
LCD_set_xy( X, Y );
while (*s)
{
Write_char( 1, *s );
s ++;
Delaynms(1);
}
}
/******************************************************************/
void LCD_Write_number(unsigned char s)
{
Write_char(1,num[s]);
Delaynms(1);
}
/******************************************************************/
void Lcd_Mark2(void)
{
Clr_Scr();//??
LCD_Write_string(1,2,Q);
LCD_Write_string(1,6,CM);
}
/*************************************************************************************/
/*************************************************************************************/
void Conut(void)
{
time=TH0*256+TL0;
TH0=0;
TL0=0;
S=time*1.87/100;
if(flag==1)
{
flag=0;
LCD_set_xy( 1, 4 );
LCD_Write_number(13);
LCD_Write_number(12);
LCD_set_xy( 1, 5 );
LCD_Write_number(13);
LCD_Write_number(13);
}
else
{
disbuff[1]=S%1000/100;
disbuff[2]=S%1000%100/10;
disbuff[3]=S%1000%10 %10;
LCD_set_xy( 1, 4 );
LCD_Write_number(disbuff[1]);
LCD_Write_number(12);
LCD_set_xy( 1, 5 );
LCD_Write_number(disbuff[2]);
LCD_Write_number(disbuff[3]);
}
}
/********************************************************/
void delayms(unsigned int ms)
{
unsigned char i=100,j;
for(;ms;ms--)
{
while(--i)
{
j=10;
while(--j);
}
}
}
/********************************************************/
void zd0() interrupt 1
{
flag=1;
}
/********************************************************/
void StartModule()
{
TX=1;
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
TX=0;
}
/********************************************************/
void main(void)
{
TMOD=0x01;
TH0=0;
TL0=0;
TR0=1;
Lcd_init();
Clr_Scr();
Lcd_Mark2();
while(1)
{
StartModule();
while(!RX);
TR0=1;
while(RX);
TR0=0;
Conut();
delayms(80); //80MS
}
}
復制代碼
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
国产精品一区久久久久
|
亚洲色图综合
|
中文福利视频
|
一二区成人影院电影网
|
国产精品无码专区在线观看
|
成人免费网站www网站高清
|
欧美日韩亚洲国产
|
a级黄色网
|
日韩一区精品
|
最新黄色毛片
|
日本精品一区
|
午夜爽爽男女免费观看hd
|
亚洲精品久久久一区二区三区
|
国产91在线视频
|
久久久久久电影
|
精品国产一区二区三区观看不卡
|
亚洲美女在线视频
|
三级成人在线观看
|
91色在线视频
|
国产视频中文字幕
|
午夜男人免费视频
|
欧美一区二区视频
|
午夜视频网站
|
中文字幕在线观看视频一区
|
在线成人av
|
久久久国产亚洲精品
|
久久福利电影
|
午夜精品一区二区三区在线视频
|
亚洲国产aⅴ成人精品无吗 欧美激情欧美激情在线五月
|
亚洲免费一区二区
|
国产精品视频一二三
|
91看片在线观看
|
99国产精品一区二区三区
|
亚洲欧美日韩精品久久亚洲区
|
日韩精品四区
|
午夜免费
|
九九久久精品视频
|
亚洲综合区
|
欧美日韩视频网站
|
天堂网中文
|
亚洲一区二区日韩
|