亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 89s52.c

?? LCD1602.rar
?? C
字號:
#include<AT89x52.h>
#include<stdio.h>
#include <intrins.h>
//端口定義
sbit	LCDRS = P3^5;	
sbit 	LCDRW = P3^6;	
sbit 	LCDEN = P3^7;		
sbit	LCDBF = P2^7;	

#define	DBPORT  P2		
#define DIS_CURS_OFF 0x0c
#define LCD_CLRS 0x01
#define DIS_HIDE 0x08		
#define LCD_INIT 0x38	
#define LCD_HOME 0x02
#define LCD_DATA 1
#define	LCD_COMMAND 0
#define LCD_READ 1
#define LCD_WRITE 0

#define K1 6
#define K2 5
#define K3 4
#define K4 3
#define K5 2
#define K6 1
#define K7 0
#define Fctrl	P0_3
#define Tctrl	P0_4
#define Distc	P0_5
#define Width	P0_6
#define	Cut		P0_7
#define Stop	P1_6
#define Clrs	P1_7
#define Enex	P3_0
#define Disall	P0=0xff;P1=0xff

#define StopCount P1_6=0
#define StarCount P1_6=1
#define ClrsCount P1_7=0;_nop_();P1_7=1
#define ClrsDff	  P1_2=0;_nop_();P1_2=1

#define Backb	P1_3
#define Backc	P1_4

#define BackLight P1_0

unsigned char sbuffer[15],w[5];
unsigned char contrast=5;
unsigned long value=0,copyer=0,wvalue=0;

bit IsFreq=1;
bit IsLow=1;

void lcd_wait();
void lcd_command(unsigned char command);
void lcd_putchar(unsigned char character);
void lcd_moveto(unsigned char x, unsigned char y);
void lcd_print(unsigned char *str);
void delay1s();
void high_init();
void key_delay();
void key_jud();
void low_init();
void width_init();
void depart_w();
void intrT2();
void width_get();
void count();
void count_init();
void low_get();
void show_high_t();
void show_high_f();
void show_low_t();
void show_low_f();
void intr0();
void intr1();
void high_get();
void contrast_handle();
void install();
void lcd_init();

void lcd_wait()
{	
	LCDEN=0;			   
	DBPORT=0xff;		
	LCDRS=LCD_COMMAND;	   
	LCDRW=LCD_READ;
	LCDEN=1;	_nop_();
	while(LCDBF)
	{	LCDEN=0;	_nop_();
		LCDEN=1;	_nop_();
	}
	LCDEN=0;
}  

void lcd_command(unsigned char command)
{	
	lcd_wait();
	LCDRS=LCD_COMMAND;
	LCDRW=LCD_WRITE;		
	DBPORT=command;		
	LCDEN=1;	_nop_();				
	LCDEN=0;
}

void lcd_putchar(unsigned char character)
{	
	lcd_wait();				 
	LCDRS=LCD_DATA;
	LCDRW=LCD_WRITE;		
	DBPORT=character;		
	LCDEN=1;	_nop_();				
	LCDEN=0;
}
void lcd_moveto(unsigned char x, unsigned char y)
{	
	if(x==0)
		lcd_command(0x80|y);
	if(x==1)
		lcd_command(0xc0|y);
}
		 
void lcd_print(unsigned char *str)
{	
	while(*str!='\0')
	{	lcd_putchar(*str);
		str++;
	}
}

void delay1s()
{
	unsigned char i,j,k;
	for(i=0;i<255;i++)
		for(j=0;j<103;j++)
			for(k=0;k<11;k++);
	for(k=0;k<216;k++);
	_nop_();
}

void high_init()
{
	EA=0;
	Disall;
	Fctrl=0;	
	TMOD=0x05;
	TR0=1;
	StopCount;
	ClrsCount;
	TL0=0;
	TH0=0;
}

void key_delay()
{
	unsigned char i,j;
	for(i=0;i<255;i++)
		for(j=0;j<250;j++);
}

void key_jud()
{
	switch(P0&0x7)
	{
		case K6:TH0=0;
			    TL0=0;
			    ClrsCount;
			    key_delay();							    
				break;
		case K7:P1_6=!P1_6;
				lcd_moveto(1,15);
				if(!P1_6) 
					lcd_putchar('P');
				else
					lcd_putchar(' '); 	  
				key_delay();
				break;
		case K1:w[0]++;
				if(w[0]==10) w[0]=0;
				key_delay();
				break;
		case K2:w[1]++;
				key_delay();
				if(w[1]==10) w[1]=0;
				break;
		case K3:w[2]++;
				if(w[2]==10) w[2]=0;
				key_delay();
				break;
		case K4:w[3]++;
				if(w[3]==10) w[3]=0;
				key_delay();
				break;
		case K5:w[4]++;
				if(w[4]==10) w[4]=0;
				key_delay();
				break;				
	}
}

void low_init()
{
	Disall;
	Distc=0;
	Tctrl=0;
	Cut=0;
	StopCount;
	ClrsCount;
	StarCount;
	IsLow=1;
	TL0=0;
	TH0=0;
	IT0=1;
	IT1=1;
	EX1=1;
	EX0=1;
	ClrsDff;
	EA=1;
}

void width_init()
{
	Disall;
	Width=0;
	Tctrl=0;
	ClrsCount;
	TL0=0;
	TH0=0;
	TMOD=0x05;
	TR0=1;
	TF2=0;	
	T2CON=8;
	ET2=1;
	ClrsCount;
	TH0=0;
	TL0=0;
    EA=1;
}


void depart_w()
{
	unsigned char i;
	while(wvalue>=1e4) wvalue/=10;
	for(i=0;i<4;i++)
	{
		w[3-i]=wvalue%10+'0';
		wvalue/=10;
	}
}

void intrT2() interrupt 5
{
	unsigned char i;
	Tctrl=1;
	P2=0xff;
	Enex=0;
	value=TH0;
	value=(value<<8);
	value=value+TL0;
	value=(value<<8);
	value=value+DBPORT;
	Enex=1;
	for(i=0;value;i++)
	{
		sbuffer[i]=value%10+'0';
		value=value/10;
	}
	lcd_moveto(1,3);
	i++;
	while(i)
	{
		 lcd_putchar(sbuffer[i]);
		 i--;
	}
	lcd_putchar(sbuffer[i]);
	lcd_print(" uS          ");
	while(1)
	{
		i=P0&0x07;
		if(i==K1) break;
	}
	TH0=0;
	TL0=0;
	ClrsCount;
	lcd_moveto(1,3);
	lcd_print("  Capture.....");
	key_delay();
	T2CON=8;
	Tctrl=0;
		
}

void width_get()
{
	while(1);
}

void count() 
{
	while(1)
	{		
		key_jud();
		P2=0xff;
		Enex=0;
		value=TH0;
		value=(value<<8);
		value=value+TL0;
		value=(value<<8);
		value=value+DBPORT;
		Enex=1;
		lcd_moveto(1,9);
		sprintf(sbuffer,"%-5lu",value);		
		lcd_moveto(1,9);
		lcd_print(sbuffer);	
		copyer=w[4]+w[3]*10+w[2]*1e2+w[1]*1e3+w[0]*1e4;
		if(value==copyer)  
		{
			StopCount;
			P3_1=0;
			while(P0_1==1||P0_2==1);
			P3_1=1;
			StarCount;
		}		
		sprintf(sbuffer,"%c%c%c%c%c",w[0]+'0',w[1]+'0',w[2]+'0',w[3]+'0',w[4]+'0');		
		lcd_moveto(0,9);
		lcd_print(sbuffer);		
	}
}

void count_init()
{
	unsigned char i;
	Disall;
	Fctrl=0;	
	TMOD=0x05;
	TR0=1;
	StopCount;
	ClrsCount;
	TL0=0;
	TH0=0;	
	for(i=0;i<5;i++) w[i]=9;
	w[2]=8;
	StarCount;
}

void low_get()
{
	low_init();
	while(IsLow);
	high_init();
}

void show_high_t()
{
	copyer=value;
	while(value>=100000) value/=10;
	wvalue=1e9/value;
	depart_w();
	if(copyer<=1e4)
		sprintf(sbuffer,"%c%c%c.%c uS   ",w[0],w[1],w[2],w[3]);
	else if(copyer<=1e5)
		sprintf(sbuffer,"%c%c.%c%c uS   ",w[0],w[1],w[2],w[3]);
	else if(copyer<=1e6)
		sprintf(sbuffer,"%c.%c%c%c uS   ",w[0],w[1],w[2],w[3]);
	else if(copyer<=1e7)
		sprintf(sbuffer,"%c%c%c.%c nS   ",w[0],w[1],w[2],w[3]);
	else 
		sprintf(sbuffer,"%c%c.%c%c nS   ",w[0],w[1],w[2],w[3]);
	lcd_moveto(1,5);
	lcd_print(sbuffer);	

}

void show_high_f()
{
	wvalue=value;
	depart_w();
	if(value<1e4)
		sprintf(sbuffer,"%c.%c%c%c KHz  ",w[0],w[1],w[2],w[3]);
	else if(value<1e5)
		sprintf(sbuffer,"%c%c.%c%c KHz  ",w[0],w[1],w[2],w[3]);
	else if(value<1e6)
		sprintf(sbuffer,"%c%c%c.%c KHz  ",w[0],w[1],w[2],w[3]);
	else if(value<1e7)
		sprintf(sbuffer,"%c.%c%c%c MHz  ",w[0],w[1],w[2],w[3]);
	else
		sprintf(sbuffer,"%c%c.%c%c MHz  ",w[0],w[1],w[2],w[3]);
	lcd_moveto(1,5);
	lcd_print(sbuffer);
}

void show_low_t()
{
	wvalue=value;
	depart_w();
	if(value<1e4)
		sprintf(sbuffer,"%c%c%c.%c uS   ",w[0],w[1],w[2],w[3]);
	else if(value<1e5)
		sprintf(sbuffer,"%c.%c%c%c mS   ",w[0],w[1],w[2],w[3]);
	else if(value<1e6)
		sprintf(sbuffer,"%c%c.%c%c mS   ",w[0],w[1],w[2],w[3]);
	else if(value<1e7)
		sprintf(sbuffer,"%c%c%c.%c mS   ",w[0],w[1],w[2],w[3]);
	else if(value<1e8)
		sprintf(sbuffer,"%c.%c%c%c S    ",w[0],w[1],w[2],w[3]);
	lcd_moveto(1,5);
	lcd_print(sbuffer);
}

void show_low_f()
{
	copyer=value;
	while(value>=100000) value/=10;
	wvalue=1e9/value;
	depart_w();
	if(copyer<=1e4)
		sprintf(sbuffer,"%c.%c%c%c KHz  ",w[0],w[1],w[2],w[3]);
	else if(copyer<=1e5)
		sprintf(sbuffer,"%c%c%c.%c Hz   ",w[0],w[1],w[2],w[3]);
	else if(copyer<=1e6)
		sprintf(sbuffer,"%c%c.%c%c Hz   ",w[0],w[1],w[2],w[3]);
	else 
		sprintf(sbuffer,"%c.%c%c%c Hz   ",w[0],w[1],w[2],w[3]);
	lcd_moveto(1,5);
	lcd_print(sbuffer);
}

void intr0() interrupt 0
{    			
	
	Cut=1;
	P2=0xff;
	Enex=0;
	value=TH0*0x10000+TL0*0x100+DBPORT;
	value*=10;//注意在寫片時屏掉此語句
	Enex=1;	
	if(!IsFreq) show_low_t();
	else show_low_f();
	if(value<4000) IsLow=0;
	Cut=0;
			
}

void intr1() interrupt 2
{
	TL0=0;
	TH0=0;	
}

void high_get()
{
	while(1)
	{
		StarCount;
		delay1s();
		StopCount;
		P2=0xff;
		Enex=0;
		value=TH0*0x10000+TL0*0x100+DBPORT;
		Enex=1;
		if(value<2000) low_get();
		if(IsFreq) 	show_high_f();
		else		show_high_t();
		ClrsCount;
		TL0=0;
		TH0=0;
	}
}

void contrast_handle()
{	
	lcd_moveto(1,0);
	lcd_print("Contrast : ");
	lcd_putchar(contrast+'0');
}
	

void install()
{
	key_delay();
	while(1)
	{
		switch(P0&0x7)
		{
			case K2:P1_5=~P1_5;
					_nop_();
					P1_5=~P1_5;															
					key_delay();
					lcd_moveto(0,12);
					if(BackLight) lcd_print("N  ");
					else lcd_print("FF");											
					break;
			case K7:contrast--;
					if(contrast==0xff) contrast++;
					contrast_handle();
					key_delay();
					break;
			case K6:contrast++;
					if(contrast==8) contrast--;
					contrast_handle();
					key_delay();
					break;

		}
	}
}

void lcd_init()
{  	
	lcd_command(DIS_CURS_OFF);
	lcd_command(LCD_INIT);
	lcd_command(LCD_HOME);
	contrast_handle();
}

void main()
{	
	lcd_init();
	lcd_command(LCD_CLRS);
	lcd_print("Welcome");
	lcd_moveto(1,0);
	lcd_print("Press Button...");
	while(1)
	{
		switch(P0&0x7)
		{
			case K1:lcd_command(LCD_CLRS);
					lcd_moveto(0,0);
					lcd_print("Frequency:");
					lcd_moveto(1,5);
					lcd_print("No Input");
					high_init();
					high_get();
			case K2:IsFreq=0;
					lcd_command(LCD_CLRS);
					lcd_moveto(0,0);
					lcd_print("Priod:");
					lcd_moveto(1,5);
					lcd_print("No Input");
					high_get();
			case K3:lcd_command(LCD_CLRS);
					lcd_print("Count To:");
					lcd_moveto(1,0);
					lcd_print("Present: ");
					count_init();
					count();
			case K4:lcd_command(LCD_CLRS);
					lcd_print("Pulse Width:");
					lcd_moveto(1,5);
					lcd_print("Capture.....");					
					width_init();
					width_get();
			case K5:lcd_command(LCD_CLRS);
					lcd_print("Backlight: O");
					lcd_moveto(0,12);
					if(BackLight) lcd_print("N  ");
					else lcd_print("FF");
					lcd_moveto(1,0);
					lcd_print("Contrast : ");
					lcd_putchar(contrast+'0');
					install();
		}
	}
	lcd_command(LCD_CLRS);
	while(1);		
}

	

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产蜜臀97一区二区三区 | 亚洲免费视频中文字幕| 一区二区三区日本| 国产高清精品网站| 91麻豆精品国产| 一区二区三区在线播| 福利一区在线观看| 日韩欧美激情在线| 亚洲国产精品久久久久婷婷884| 高清久久久久久| 欧美α欧美αv大片| 天堂av在线一区| 一本一本大道香蕉久在线精品 | 欧美精品 日韩| 亚洲激情欧美激情| 成人黄色小视频在线观看| 日韩欧美国产成人一区二区| 亚洲丰满少妇videoshd| 日本高清不卡在线观看| 亚洲美女偷拍久久| 99re在线视频这里只有精品| 久久久久久久综合| 国内精品视频一区二区三区八戒| 日韩一级视频免费观看在线| 亚洲国产精品一区二区www在线| 在线观看www91| 一区二区免费在线| 欧美亚一区二区| 亚洲精品国产第一综合99久久| 99久久er热在这里只有精品15 | 亚洲一区成人在线| 97精品电影院| 亚洲免费观看高清| 91麻豆6部合集magnet| 亚洲一区二区三区中文字幕在线| 在线视频一区二区免费| 亚洲午夜久久久久久久久久久| 欧美日韩视频专区在线播放| 国产一区二区三区av电影| 日韩一区二区三区电影| 美女脱光内衣内裤视频久久网站 | 成人av资源站| 亚洲少妇屁股交4| 欧美日韩在线播放一区| 青青草97国产精品免费观看 | 91免费国产视频网站| 亚洲精品日韩综合观看成人91| 日本道精品一区二区三区| 亚洲第一激情av| 精品久久国产字幕高潮| voyeur盗摄精品| 亚洲va国产va欧美va观看| 欧美sm极限捆绑bd| 高清成人免费视频| 一区二区三区四区蜜桃| 日韩欧美激情在线| av一二三不卡影片| 午夜成人在线视频| 国产偷国产偷亚洲高清人白洁| 91视频91自| 人人狠狠综合久久亚洲| 国产精品系列在线| 欧美日韩aaa| 成人精品免费网站| 日韩黄色免费电影| 国产精品三级久久久久三级| 欧美日韩一区 二区 三区 久久精品| 青娱乐精品视频在线| 亚洲国产精品成人综合| 欧美剧情电影在线观看完整版免费励志电影| 日韩国产成人精品| 中文字幕日韩一区| www国产亚洲精品久久麻豆| 色88888久久久久久影院按摩 | 婷婷综合久久一区二区三区| 久久综合久色欧美综合狠狠| 欧美自拍偷拍一区| 国产不卡高清在线观看视频| 视频一区在线播放| 中文字幕一区二区三区在线不卡 | 国产精品1024| 午夜精品久久久久久久久久久| 国产精品丝袜91| 91精品一区二区三区在线观看| 99国产精品国产精品久久| 国产一区中文字幕| 青青草原综合久久大伊人精品| 亚洲日本一区二区| 国产亚洲欧美激情| 日韩一卡二卡三卡| 91麻豆精品国产91久久久久久久久 | 在线观看亚洲a| 丁香天五香天堂综合| 精彩视频一区二区| 老司机精品视频线观看86| 性久久久久久久久| 亚洲专区一二三| 亚洲码国产岛国毛片在线| 欧美激情一区三区| 国产欧美日韩在线| 久久久久久综合| 久久亚洲欧美国产精品乐播 | 欧美aaaaa成人免费观看视频| 亚洲免费伊人电影| 中文字幕一区二区三区色视频| 国产欧美一二三区| 国产清纯在线一区二区www| 2020国产精品自拍| 亚洲精品一区二区三区四区高清| 3751色影院一区二区三区| 欧美自拍丝袜亚洲| 欧美视频一区在线观看| 欧美亚洲禁片免费| 欧美精品丝袜中出| 91精品久久久久久久久99蜜臂| 欧美日本乱大交xxxxx| 欧美高清dvd| 欧美精品黑人性xxxx| 69久久夜色精品国产69蝌蚪网| 欧美日韩你懂的| 欧美精品在线观看播放| 日韩视频一区二区三区在线播放| 在线不卡一区二区| 日韩一区二区不卡| 久久久99久久精品欧美| 中文字幕va一区二区三区| 国产精品传媒在线| 亚洲综合色视频| 免费成人av资源网| 岛国一区二区三区| 色狠狠综合天天综合综合| 欧美夫妻性生活| 精品国产91乱码一区二区三区 | 精品久久久久久无| 久久精品综合网| 亚洲黄一区二区三区| 石原莉奈在线亚洲三区| 国产另类ts人妖一区二区| 成人丝袜视频网| 欧美日韩国产欧美日美国产精品| 精品久久久久久久人人人人传媒 | 亚洲大片免费看| 韩日av一区二区| 99久久精品久久久久久清纯| 欧美女孩性生活视频| 久久久影院官网| 亚洲一区二区三区免费视频| 日韩和的一区二区| 高清av一区二区| 欧美二区三区91| 国产精品美女一区二区| 亚洲一二三四区不卡| 国产伦精品一区二区三区免费| 91在线你懂得| 日韩欧美www| 一卡二卡欧美日韩| 国产一区高清在线| 欧美日韩精品一二三区| 国产精品久久网站| 日本欧美加勒比视频| 91在线播放网址| 久久久国产精华| 五月婷婷激情综合| 91一区二区在线| 国产日韩欧美一区二区三区乱码| 亚洲成人精品影院| 欧美日本在线播放| 亚洲视频免费看| 国产高清精品网站| 精品国内片67194| 亚洲国产精品欧美一二99| 9人人澡人人爽人人精品| 久久毛片高清国产| 美洲天堂一区二卡三卡四卡视频| 一本到不卡精品视频在线观看| 国产亚洲精品资源在线26u| 男人操女人的视频在线观看欧美| 在线免费观看日本一区| 国产精品黄色在线观看| 国产精品综合网| 欧美成人三级在线| 热久久一区二区| 3d动漫精品啪啪| 日韩综合在线视频| 欧美日韩免费电影| 亚洲综合偷拍欧美一区色| 一本久久精品一区二区 | 久久久午夜电影| 久久av资源站| 欧美一激情一区二区三区| 亚洲成人免费观看| 欧美三级韩国三级日本一级| 亚洲自拍与偷拍| 欧美日韩一区中文字幕| 亚洲.国产.中文慕字在线| 欧美日韩午夜在线| 日韩激情视频在线观看| 日韩一区二区视频| 久久不见久久见中文字幕免费| 精品国产伦理网|