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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? jhdavrtest.c

?? JHD529液晶的驅(qū)動(dòng)程序,AVR單片機(jī)中使用GCC-AVRStudio
?? C
字號(hào):
#include <avr/io.h>
//#include <intrins.h>
#include <string.h>
/*
//本程序?yàn)镾T7920驅(qū)動(dòng)
sbit RST = P2^0;//RESET
sbit EN  = P2^1;//E
sbit RW  = P2^2;//R/W
sbit RS  = P2^3;//RS
#define  DATA   P0
*/
#define JHD_IO PORTC
#define JHD_PIN PINC
#define JHD_IODDR DDRC

#define JHD_Ctrl PORTD
#define JHD_RST PD0
#define JHD_EN PD1
#define JHD_RW PD2
#define JHD_RS PD3

unsigned char adch,adcl;
unsigned int adc;
unsigned int VolShow;
unsigned int CurShow;
unsigned char str1[]="--開(kāi)關(guān)穩(wěn)壓電源--";
unsigned char str2[]="輸出電壓:      V";
unsigned char str3[]="輸出電流:      A";


/*
#define clr_LCD12864_RST LCD12864_Ctrl &= ~_BV(LCD12864_RST);
#define set_LCD12864_RST LCD12864_Ctrl |= _BV(LCD12864_RST);
#define clr_LCD12864_EN  LCD12864_Ctrl &= ~_BV(LCD12864_EN);
#define set_LCD12864_EN  LCD12864_Ctrl |= _BV(LCD12864_EN);
#define clr_LCD12864_RW  LCD12864_Ctrl &= ~_BV(LCD12864_RW);
#define set_LCD12864_RW  LCD12864_Ctrl |= _BV(LCD12864_RW);
#define clr_LCD12864_DIN LCD12864_Ctrl &= ~_BV(LCD12864_DIN);
#define set_LCD12864_DIN LCD12864_Ctrl |= _BV(LCD12864_DIN);
*/
#define clr_RST JHD_Ctrl &= ~_BV(JHD_RST);
#define set_RST JHD_Ctrl |= _BV(JHD_RST);
#define clr_EN  JHD_Ctrl &= ~_BV(JHD_EN);
#define set_EN  JHD_Ctrl |= _BV(JHD_EN);
#define clr_RW  JHD_Ctrl &= ~_BV(JHD_RW);
#define set_RW  JHD_Ctrl |= _BV(JHD_RW);
#define clr_RS  JHD_Ctrl &= ~_BV(JHD_RS);
#define set_RS  JHD_Ctrl |= _BV(JHD_RS);

unsigned char LCD_addr[4][8]=
{
{0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87},
{0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97},
{0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f},
{0x98,0x99,0x9a,0x9b,0x9c,0x9d,0x9e,0x9f}
};


void InitLcd(void);
void WriteData(unsigned char ch);
void WriteCmd(unsigned char ch);
void ShowASC(unsigned char x,unsigned char *p);
void ShowChinese(unsigned char x,unsigned char *p);
void ShowStr(unsigned char x,unsigned char y,unsigned char *p);
void ShowChar(unsigned char x,unsigned char y,unsigned char ch);
unsigned char ReadRAM(unsigned char x,unsigned char y);
void ClrDGRAM(void);
void PaintPoint(unsigned char x,unsigned  char y);

/////////////////////////////////////////////////////////////////////////////////////
#define Snd_dian 11
#define Snd_V	12
#define Snd_A 13


#define setPlaySnd PORTB |= _BV(PB0);//播放語(yǔ)音1
#define clrPlaySnd PORTB &= ~_BV(PB0);//播放語(yǔ)音0


void PlaySound(unsigned char index)
{
	unsigned char j;
	unsigned int i;
	setPlaySnd;	
	PORTD &= 0x0f;	//高四位清0
	PORTD |=(index<<4);	
	clrPlaySnd; 	
	//for(i=0;i<33000;i++);
	for(j=0;j<8;j++)
	for(i=0;i<34780;i++);
}
///////////////////////////////////////////////////////////////////////////////////////////////

int main()
{
	 unsigned int i;
	 unsigned int de;
	 DDRC=0xff;
	 PORTC=0xff;
	 DDRD=0xff;
	 PORTD=0xff;
	 PORTB=0xff;
	 
	 DDRB=0xff;
	 DDRB &= ~_BV(PB1); //按鍵
	 InitLcd();		  
	 //ClrDGRAM();
	
//	ClrDGRAM();
	 //WriteCmd(0x34);
//	WriteCmd(0x05);
//	WriteCmd(0x30);
	VolShow=123;
	CurShow=201;

	str2[10]='3';
	str2[11]='6';
	str2[12]='.';
	str2[13]='0';

	str3[10]='2';
	str3[11]='.';
	str3[12]='0';
	str3[13]='1';
	
	
	ADMUX |= _BV(REFS1) + _BV(REFS0) /*+ _BV(ADLAR)*/ ;//使用片內(nèi)2.56V基準(zhǔn)電壓,數(shù)據(jù)左對(duì)齊
	ADCSRA |= _BV(ADEN) +/* _BV(ADSC) + _BV(ADIE)+  */_BV(ADPS1) + _BV(ADPS2) ;//AD使能,中斷使能,64分頻 125KHz,轉(zhuǎn)換時(shí)間:1.5*8+13*8=116us,啟動(dòng)首次轉(zhuǎn)換



	
     while(1)
	 {	 	 
	 	
		

	//	WriteCmd(0x06);
	//	WriteCmd(0x07);
	ADMUX &= ~_BV(MUX0);//通道0
	ADCSRA |= _BV(ADSC);//啟動(dòng)轉(zhuǎn)換
	while(!(ADCSRA & _BV(ADIF)));//轉(zhuǎn)換結(jié)束不?
	ADCSRA |= _BV(ADIF);//清0
	adcl=ADCL;
	adch=ADCH;
	adc=adch*256+adcl;
	
	VolShow=adc/2;

	str2[10]=(VolShow/100)%10+'0';
	str2[11]=(VolShow/10)%10+'0';
	str2[12]='.';
	str2[13]=VolShow%10+'0';



	ADMUX |= _BV(MUX0);//通道1
	ADCSRA |= _BV(ADSC);//啟動(dòng)轉(zhuǎn)換
	while(!(ADCSRA & _BV(ADIF)));//轉(zhuǎn)換結(jié)束不?
	ADCSRA |= _BV(ADIF);//清0
	adcl=ADCL;
	adch=ADCH;
	adc=adch*256+adcl;

	CurShow=adc*1.748;///2/*/0.143*/;


	str3[10]=(CurShow/100)%10+'0';
	str3[11]='.';
	str3[12]=(CurShow/10)%10+'0';
	str3[13]=CurShow%10+'0';

	ShowStr(0,0,str1);
	ShowStr(0,1,str2);
	ShowStr(0,2,str3);
		
		//ShowStr(0,1,str2);
		if(adc>=65535)ShowStr(0,3,"電壓超出范圍");
		else ShowStr(0,3,"                ");
		 for(i=0;i<60000;i++);	
		 
		 if(!(PINB & 0x02))	 //有鍵盤按下
		 {
		 	for(de=0;de<10000;de++);
			if(!(PINB & 0x02))	 //有鍵盤按下
		 	{
				while(!(PINB & 0x02));
			//	for(de=0;de<16;de++)
			//	{
			//		PlaySound(de);
			//	}

				if((VolShow/100)%10 !=0)
				{
					PlaySound((VolShow/100)%10);
					PlaySound(10);
				}
				if((VolShow/10)%10 !=0)PlaySound((VolShow/10)%10);
				PlaySound(Snd_dian);
				PlaySound(VolShow%10);
				PlaySound(Snd_V);
				for(de=0;de<1000;de++);

				PlaySound((CurShow/100)%10);
				PlaySound(Snd_dian);
				PlaySound((CurShow/10)%10);				
				PlaySound(CurShow%10);
				PlaySound(Snd_A);
		 	}
		 } 
	 }
}

void InitLcd(void)
{     
     clr_RST;
    // wait_5ms();
	 set_RST;
	 //wait_5ms();
	 //wait_5ms();
	 WriteCmd(0x30);	//功能設(shè)定,8位接口,基本指令集
	 //WriteCmd(0x34);	//功能設(shè)定,8位接口,基本指令集
	 WriteCmd(0x0c);   //開(kāi)顯示
	 WriteCmd(0x01);   //清屏
     WriteCmd(0x02);   //進(jìn)入設(shè)定點(diǎn)
	
	// WriteCmd(0x80);
}
void LCDBusy(void)
{	
	JHD_IODDR=0x00;//輸入
	while(1)
	{
		
		clr_RS;
		set_RW;
		set_EN;		
		if(!(JHD_PIN & 0x80))break; 
		clr_EN;
	}
	JHD_IODDR=0xff;
}

void WriteData(unsigned char ch)
{
     LCDBusy();
     //EN = 0;
     set_RS;  	//寫數(shù)據(jù)
     clr_RW;
    // _nop_();
     set_EN;
     JHD_IO = ch;
	 //_nop_();
     clr_EN;
     clr_RS;
}


void WriteCmd(unsigned char ch)
{
     LCDBusy();
     //EN = 0;
     clr_RS;
     clr_RW;
  //   _nop_();
     set_EN;
     JHD_IO = ch;
//	 _nop_();
     clr_EN;
}


void ShowStr(unsigned char x,unsigned char y,unsigned char *p)
{
	unsigned char i;
	i=strlen(p);
	i/=2;
	while(i--)
	{	
		if(x>=8)
		{
			y++;
			x=0;
		}
		if(y>=4)break;
		WriteCmd(LCD_addr[y][x]);
		WriteData(*p);
		p++;
		WriteData(*p);
		p++; 
		x++;
				
	}
}
void ClrDGRAM(void)
{

         unsigned char i,j;
        
         WriteCmd(0x34);
		 		 WriteCmd(0x36);
         for(i=0;i<32;i++)  
         {		 
                 WriteCmd(0x80|i);
                 WriteCmd(0x80);  
                 for(j=0;j<16;j++)    
                 {   
				 	 //WriteCmd(0x34);                  
                     WriteData(0);
                     WriteData(0); 
					 //WriteCmd(0x36);
                 }
         }
		 //WriteCmd(0x36);
		 WriteCmd(0x30);
}
void PaintPoint(unsigned char y,unsigned char x)
{
		//WriteCmd(0x01);
		unsigned char col,row;
		unsigned char temp;
		unsigned char dat1,dat2;
		if(y<32)
		{
			row=y;
			col=x;
			temp=(col+16)%16;
		}else if(y>=32)
			{
				row=y-32;
				col=x+128;
				temp=col%16;	
			}
		
		col/=16;
		if(dat1<8)
		{
			dat2=0x80>>temp;
			dat1=0;
		}else 
			{
				dat2=0;
				dat1=0x80>>(temp-8);
			}

		WriteCmd(0x34);
		WriteCmd(0x36);

		WriteCmd(0x80+row);
		WriteCmd(0x80+col);
		
		WriteData(dat1);
		WriteData(dat2);
		WriteCmd(0x36);

		WriteCmd(0x30);
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美久久一二三四区| 亚洲图片欧美视频| 97精品国产97久久久久久久久久久久| 欧美激情一区二区三区蜜桃视频| 国产iv一区二区三区| 日韩美女久久久| 欧美肥妇free| 国产成人在线影院| 亚洲国产精品视频| 精品国产乱码91久久久久久网站| 91亚洲大成网污www| 日本特黄久久久高潮| 中文字幕精品一区二区精品绿巨人| 在线观看一区日韩| 91在线观看下载| 日本特黄久久久高潮| 一区视频在线播放| 91麻豆精品国产综合久久久久久| 国产精品资源网站| 午夜国产精品一区| 国产精品久久久久影院亚瑟| 884aa四虎影成人精品一区| 免费不卡在线视频| 国产精品女同互慰在线看| 欧美日本一道本| 国产精品一区二区不卡| 亚洲成人综合视频| 亚洲素人一区二区| 欧美精品一区二区三区久久久| 日本二三区不卡| 国产真实乱对白精彩久久| 午夜精品一区二区三区免费视频 | 欧美美女喷水视频| 男人的j进女人的j一区| 亚洲人成网站在线| 欧美国产精品一区二区| 激情图片小说一区| 国产一区二区三区四区五区入口 | 国产精品美女一区二区| 欧美一区二区三区人| 91香蕉视频mp4| 国产成人精品免费网站| 久久99精品国产麻豆婷婷| 亚洲一区二区精品久久av| 亚洲国产精品精华液ab| 久久伊人蜜桃av一区二区| 欧美日本一道本| 99国内精品久久| 成年人午夜久久久| 大尺度一区二区| 国产成人欧美日韩在线电影| 美女被吸乳得到大胸91| 日本不卡高清视频| 日精品一区二区| 午夜a成v人精品| 亚洲第四色夜色| 视频在线在亚洲| 午夜久久久久久| 日本午夜一区二区| 美女在线视频一区| 蜜桃久久av一区| 久久国产成人午夜av影院| 麻豆91精品视频| 激情久久久久久久久久久久久久久久| 蜜臀av亚洲一区中文字幕| 久久国内精品自在自线400部| 另类调教123区| 国产专区综合网| 高清日韩电视剧大全免费| 蜜乳av一区二区三区| 日本欧美久久久久免费播放网| 亚洲午夜日本在线观看| 天天色图综合网| 久久国产精品无码网站| 激情文学综合网| 懂色av中文字幕一区二区三区| 成人精品国产一区二区4080| aaa欧美色吧激情视频| 91麻豆福利精品推荐| 欧美日韩中文字幕一区二区| 欧美老肥妇做.爰bbww| 日韩西西人体444www| 精品国产麻豆免费人成网站| 国产亚洲欧美色| 亚洲视频在线观看三级| 性欧美大战久久久久久久久| 蜜桃视频在线观看一区二区| 国产乱码精品一区二区三区av | 日韩一级精品视频在线观看| 亚洲精品在线三区| 欧美激情综合五月色丁香小说| 亚洲欧美日韩人成在线播放| 亚洲国产日韩a在线播放性色| 日韩极品在线观看| 国产精品一级片| 91福利精品第一导航| 日韩女优av电影在线观看| 中文字幕av一区二区三区免费看 | 蜜臀va亚洲va欧美va天堂| 国产一二三精品| 91九色最新地址| 精品成人私密视频| 亚洲精品国产精品乱码不99| 美女尤物国产一区| 91色|porny| 欧美tickling网站挠脚心| 亚洲日本欧美天堂| 麻豆成人免费电影| 色婷婷久久久久swag精品 | 51精品秘密在线观看| 久久亚洲一区二区三区明星换脸| 亚洲裸体在线观看| 九一久久久久久| 欧美亚洲高清一区二区三区不卡| 久久久777精品电影网影网 | 蜜臀久久久久久久| 白白色亚洲国产精品| 欧美大片一区二区三区| 一区二区三区在线视频免费| 国产一区二区视频在线播放| 91福利精品视频| 亚洲国产精品成人综合 | 亚洲欧洲性图库| 国内成人精品2018免费看| 欧美日韩中文字幕一区二区| 国产精品狼人久久影院观看方式| 蜜乳av一区二区| 欧美精品久久久久久久久老牛影院| 国产人妖乱国产精品人妖| 美日韩一区二区三区| 在线日韩一区二区| 国产日韩视频一区二区三区| 美脚の诱脚舐め脚责91| 欧洲中文字幕精品| 亚洲色图欧美在线| 成人黄色777网| 国产欧美日本一区二区三区| 久久精品999| 欧美一区二区在线观看| 香蕉加勒比综合久久| 日本精品视频一区二区三区| 中文字幕在线不卡| 国产jizzjizz一区二区| 久久亚洲精品国产精品紫薇 | 五月天激情综合| 成人黄色av电影| 欧美激情一区二区三区蜜桃视频| 精品一区二区三区在线观看国产| 欧美一区二区三区啪啪| 日本欧美一区二区| 6080日韩午夜伦伦午夜伦| 亚洲成人av电影| 欧美人动与zoxxxx乱| 亚洲成人av免费| 欧美亚洲日本一区| 日一区二区三区| 欧美精品高清视频| 91在线国产观看| 亚洲精品v日韩精品| 色综合网色综合| 一区二区三区欧美激情| 在线观看日韩国产| 性欧美大战久久久久久久久| 欧美精选午夜久久久乱码6080| 午夜精品久久一牛影视| 欧美一区二区免费| 美国毛片一区二区三区| 精品久久久久香蕉网| 精品一区中文字幕| 精品久久久久av影院| 美女www一区二区| 久久久久久久久久久久久久久99| 成人免费视频视频在线观看免费 | 91精品国产欧美日韩| 蜜臀av国产精品久久久久| 久久久综合视频| 国产91精品久久久久久久网曝门 | 亚洲精品久久久蜜桃| 色综合久久久网| 天天操天天色综合| 欧美精品1区2区| 久久97超碰国产精品超碰| 欧美tk—视频vk| 欧美一级久久久久久久大片| 激情综合五月天| 亚洲黄网站在线观看| 久久亚洲综合色| 欧美日韩日日夜夜| 粉嫩一区二区三区性色av| 亚洲精品一卡二卡| 在线视频国内自拍亚洲视频| 欧美国产国产综合| 亚洲 欧美综合在线网络| 亚洲理论在线观看| 欧美大片日本大片免费观看| 日本韩国精品一区二区在线观看| 国产专区综合网| 日产国产欧美视频一区精品| 亚洲人精品一区| 国产色爱av资源综合区|