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

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

?? hclcd.c

?? 單片機開發板源程序適合初學者 第二部分DA轉換輸出
?? C
?? 第 1 頁 / 共 2 頁
字號:
//aa 00 47 13 25 63 00 04 04
//	 秒 分 時  日 星期和月(最高3位0-6,代表1-7) 
#include <intrins.h>
#include<AT89x52.h>
#include "hclcddot.h"			//點陣庫
#define Uchar unsigned char
#define Uint  unsigned int
#define SomeNOP(); _nop_();_nop_();_nop_(); 
/*LCD驅動要用到的一些口線定意*/
#define LCDPORT P0
sbit D_I = P2^5;
sbit R_W = P2^4;
sbit E = P2^3;
sbit CS2 = P2^2;
sbit CS1 = P2^1;
sbit RST = P2^0;
/*I2C要用到的口線定意*/
sbit SDA = P2^7;
sbit SCL = P2^6;

////////////以下為函數聲明///////////////////////////////
//LCD驅動要用到的一些函數
void lcdwrite_cmd(Uchar cmd_dat);
void lcdwrite_dat(Uchar dot_dat);
void lcd_busy();
Uchar  lcdread_dat(void);
void lcddispon(void);
void lcddispoff(void);
void lcdclrall(void);
void lcdini(void);
void HZ12disp(Uchar Nowrow,Uchar Nowcol,Uchar CHplace);
void ASC12disp(Uchar Nowrow,Uchar Nowcol,Uchar ASCplace);
void flashlogo(Uchar Bmpcol);
void Disp128_64(Uchar BMPplace);
void delay(void);
//I2C驅動要用到的一些函數
void Delay_1ms(Uchar time);
void I2CStart(void);	
void I2CStop(void);
void ACK(void);			//Acknowledge信號
void NACK(void);			//沒有Acknowledge信號
void AutoACK(void);		//在一定的時間內自動確定ACK的信號//
void Writex(Uchar j);
Uchar Readx(void);
void X24_Write(Uchar Addresshigh,Uchar Addresslow,Uchar Write_date);
Uchar X24_Read(Uchar Addresshigh,Uchar Addresslow);
void X24_WritePage(Uchar Addresshigh,Uchar Addresslow,Uchar idata *Writeip);
void X24_ReadPage(Uchar Addresshigh,Uchar Addresslow,Uchar idata *Readip);
void GetPCF8563(Uchar idata *Getip);
void SetPCF8563(Uchar idata *Setip);
Uchar ReadPCF8563(Uchar AddrePCF);
void WritePCF8563(Uchar AddrePCF,Uchar PCFdata);
void SetWaring (Uchar Wyear,Uchar Wmonth,Uchar Wday);
bit CheckTime(void);
void rs232(void);
void time0(void);
/*定義一個接收的數組*/
Uchar data recdata[8];			//
Uchar idata L24cxxdata[64];		//用于讀出或寫入24C16的數據
Uchar idata clockdata[7];		//系統時鐘
Uchar pcpointer,timecount,timecount2,*gettimeip;				//用于設定從PC接收和發的指針
/*定義二個地址編碼寄存器,設定地址線穩定時間,定時器2的延時時間參數,動畫的時位置參數,發碼結束后取消靜音的時間*/
Uchar data MCaddreh,MCaddrel,MCaddtime,time0_1s,led1_8;led18count,logocol;
Uint data nomutetime;	
Uchar newbmpcount;
/*定義標志位存放的寄存器*/
Uchar bdata myflag,myflag2,bmpflag;				//定義一個用于標志寄存器存放的
sbit nomutebit = myflag^0;		//用于開始取消靜音標志
sbit recpcokbit = myflag^1;		//用于設定接收到一個完整的控制指令碼
sbit returnbit = myflag^2;		//用于向PC回傳數據標志
sbit findokbit = myflag^3;		//尋找到明碼地址
sbit sendbit = myflag^4;		//開始發碼
sbit timenewbit = myflag^5;		//時鐘更新標志
sbit callnewbit = myflag^6;		//有新的呼叫
sbit endnewbit=myflag^7;		//呼叫結束

sbit w24cxxbit = myflag2^0;		//設定明碼表
sbit timeoutbit =myflag2^1;
sbit newtimebit = myflag2^2;	//設定新的系統時間
sbit r_lbit	= bmpflag^0;
sbit b_wbit = bmpflag^1;		//圖和文字標志
sbit newbmpbit = bmpflag^2;		//更新圖片
void main(void)
{	
	TH0 = 0xf8;					//2ms
	TL0 = 0xce;
	TH1 = 0xfd;					//以9600Baud的速率和PC機通信
	TL1 = 0xfd;	
	TH2 = 0x4c;					//50ms
	TL2 = 0x00;
	T2CON = 0x00;
	TMOD = 0x21;				//Time0為16位,Time1為8位常數自裝
	SCON = 0x50;
	IP = 0x10;
	TR0 = 1;
	TR1 = 1;
	TR2 = 1;
	IE = 0x92;					//Time0,Time2,RS232中斷
	led1_8=0xfe;
	led18count=0x01;
	timecount = 0x64;
	time0_1s=0x05;
	timecount2 = 0x32;
	newbmpcount = 0x01;
	logocol =0;
	r_lbit =0;
	timeoutbit =0;
	b_wbit=1;
//	setadd(80);

	lcdini();
	lcdclrall();
	while(1)
	{

		HZ12disp(0x00,0x04,0x01);			//承
		HZ12disp(0x00,0x10,0x02);			//接
		HZ12disp(0x00,0x1C,0x03);			//單
		HZ12disp(0x00,0x28,0x04);			//片
		HZ12disp(0x00,0x34,0x05);			//機
		HZ12disp(0x00,0x40,0x06);			//開
		HZ12disp(0x00,0x4C,0x07);			//發
		HZ12disp(0x00,0x58,0x08);			//及	
		HZ12disp(0x00,0x64,0x09);			//解
		HZ12disp(0x00,0x70,0x0A);			//密

		HZ12disp(0x01,0x0A,0x0B);			//各
		HZ12disp(0x01,0x16,0x0C);			//類
		ASC12disp(0x01,0x22,0x0B);			//I
		ASC12disp(0x01,0x28,0x0C);			//C
		HZ12disp(0x01,0x2E,0x0D);			//卡
		ASC12disp(0x01,0x3A,0x0D);			//;
		ASC12disp(0x01,0x40,0x0A);			//P
		ASC12disp(0x01,0x46,0x0B);			//I
		ASC12disp(0x01,0x4C,0x0C);			//C
		HZ12disp(0x01,0x52,0x03);			//單
		HZ12disp(0x01,0x5E,0x04);			//片
		HZ12disp(0x01,0x6A,0x05);			//機
	
		ASC12disp(0x02,0x0A,0x05);			//5
		ASC12disp(0x02,0x10,0x01);			//1
		HZ12disp(0x02,0x16,0x0E);			//編
		HZ12disp(0x02,0x22,0x0F);			//程
		HZ12disp(0x02,0x2E,0x10);			//器
		ASC12disp(0x02,0x3A,0x0D);			//;
		ASC12disp(0x02,0x40,0x0A);			//P
		ASC12disp(0x02,0x46,0x0B);			//I
		ASC12disp(0x02,0x4C,0x0C);			//C
		HZ12disp(0x02,0x52,0x0E);			//編
		HZ12disp(0x02,0x5E,0x0F);			//程
		HZ12disp(0x02,0x6A,0x10);			//器
	
		HZ12disp(0x03,0x00,0x14);			//亮
		HZ12disp(0x03,0x0c,0x15);			//燈
	
		ASC12disp(0x03,0x2c,0x02);			//2
		ASC12disp(0x03,0x32,0x00);			//0
	
		HZ12disp(0x03,0x44,0x11);			//年

		HZ12disp(0x03,0x5c,0x12);			//月

		HZ12disp(0x03,0x74,0x13);			//日


		ASC12disp(0x04,0x5c,0x0e);			//:		

		ASC12disp(0x04,0x6e,0x0e);	

		while(1)							//b_wbit==1)
		{
			if(timenewbit==1)
			{
				Uchar newtime0;
				timenewbit=0;

				newtime0=(clockdata[6]>>4)&0x0f;
				ASC12disp(0x03,0x38,newtime0);
				newtime0=clockdata[6]&0x0f;
				ASC12disp(0x03,0x3e,newtime0);
			
				newtime0=(clockdata[4]>>4)&0x01;
				ASC12disp(0x03,0x50,newtime0);
				newtime0=clockdata[4]&0x0f;
				ASC12disp(0x03,0x56,newtime0);
			
				HZ12disp(0x03,0x1B,(led18count+0x15));			//幾號
			
				newtime0=(clockdata[3]>>4)&0x03;
				ASC12disp(0x03,0x68,newtime0);
				newtime0=clockdata[3]&0x0f;
				ASC12disp(0x03,0x6e,newtime0);
			
				newtime0=(clockdata[2]>>4)&0x03;
				ASC12disp(0x04,0x50,newtime0);
				newtime0=clockdata[2]&0x0f;
				ASC12disp(0x04,0x56,newtime0);
				
				newtime0=(clockdata[1]>>4)&0x07;
				ASC12disp(0x04,0x62,newtime0);
				newtime0=clockdata[1]&0x0f;
				ASC12disp(0x04,0x68,newtime0);
			
				newtime0=(clockdata[0]>>4)&0x07;
				ASC12disp(0x04,0x74,newtime0);
				newtime0=clockdata[0]&0x0f;
				ASC12disp(0x04,0x7a,newtime0);
			}

			if(r_lbit==0)
			{
				flashlogo(logocol++);
				if (logocol==32)
				{r_lbit=1;}
				lcddispon();
				delay();
			}
			else
			{
				flashlogo(logocol--);
				if(logocol==0)
				{r_lbit =0;}
				lcddispon();
				delay();
			}	
		}
/*
		while(b_wbit==0)
		{
			if(newbmpbit==1)
			{
				newbmpbit=0;
				Disp128_64(newbmpcount);
			
			}
		}
*/		
	}
}

	
//以下為定時器TIME0中斷程序
void time0(void) interrupt 1
{
	TH0 = 0xf8;
	TL0 = 0xce;
	timecount--;
	if(timecount==0)
	{	
		timecount = 0x64;
		gettimeip=&clockdata[0];
		GetPCF8563(gettimeip);
		time0_1s--;
		if(time0_1s==0)
		{
			time0_1s=0x05;
			led1_8=_crol_(led1_8,1);
			led18count++;
			if(led18count==0x09){led1_8=0xfe;led18count=0x01;}
			P1=led1_8;
			
		}		
		timenewbit=1;
		timecount2--;
		if(timecount2==0)
		{
			timecount2=0x32;
			b_wbit = !b_wbit;
			if(b_wbit==0)
			{
				newbmpbit=1;
				newbmpcount++;
				if(newbmpcount==0x03)
				{newbmpcount=0x01;}
			}
		}
	}

	if(newtimebit==1&&recpcokbit==1)
	{
//設定新的系統時間
		Uchar *pcfsetip;
		newtimebit=0;
		recpcokbit=0;
		pcfsetip=&recdata[1];
		SetPCF8563(pcfsetip);
		WritePCF8563(0x00,0x00);
		WritePCF8563(0x01,0x00);
		WritePCF8563(0x0d,0x83);
	}		
}

//以下為串行口中斷程序,用于接收串行數據
void rs232(void) interrupt 4
{
	if(RI==1)
	{	
		
//原輸入格式為AA 秒,分,時 日,星期,月年
		if (SBUF==0xaa)
		{
			newtimebit=1;
			pcpointer=0;
		}
		RI = 0;
		recdata[pcpointer++]=SBUF;
		if(pcpointer==8)
		{
			pcpointer =0;
			recpcokbit =1;		//指針還原,置收到完整的控制碼			
		}
	}
	else
	{
		TI = 0;
	}			
}

void time2(void) interrupt 5
{
	TF2 = 0;
	TH2 = 0x4c;					//50ms
	TL2 = 0x00;
}

		

/*---------------LCD驅動要用到的一些子程序--------------------*/
/*向LCD寫指令*/
void lcdwrite_cmd(Uchar cmd_dat)
{
	D_I = 0;
	R_W = 0;
	E = 0;
	LCDPORT = cmd_dat;
	SomeNOP();
	E = 1;
	SomeNOP();
	E = 0;
}
/*向LCD寫數據*/
void lcdwrite_dat(Uchar dot_dat)
{
	D_I = 1;
	R_W = 0;
	E = 0;
	LCDPORT = dot_dat;
	SomeNOP();
	E = 1;
	SomeNOP();
	E = 0;
}
/*判斷LCD是否處于*/
void lcd_busy()
{
	Uchar i;
	D_I = 0;
	R_W = 1;
	while(1)
	{
		E = 0;
		LCDPORT = 0xff;
		SomeNOP();
		E = 1;
		SomeNOP();
		i = LCDPORT;
		E = 0;
		if(i<0x80) break;
	}
}

Uchar  lcdread_dat(void)
{	Uchar i;
	D_I = 1;
	R_W = 1;
	E = 0;
	LCDPORT = 0xff;
	SomeNOP();
	E =1;
	SomeNOP();
	i = LCDPORT;
	E = 0;
	LCDPORT =0xff;
	SomeNOP();
	E = 1;
	SomeNOP();
	i =LCDPORT;
	E =0;
	return(i);
}

//開LCD顯示
void lcddispon(void)
{
	CS1=0;CS2=1;
	lcdwrite_cmd(0x3f);
	CS1=1;CS2=0;
	lcdwrite_cmd(0x3f);
}
//關LCD顯示
void lcddispoff(void)
{
	CS1=0;CS2=1;
	lcdwrite_cmd(0x3e);
	CS1=1;CS2=0;
	lcdwrite_cmd(0x3e);
}
//對整屏清除,就是寫空的數據
void lcdclrall(void)
{
	Uchar i,j;
	for(i=0;i<8;i++)
	{
		CS1=0;CS2=1;
		lcdwrite_cmd(i|0xb8);
		lcdwrite_cmd(0x40);
		for(j=64;j>0;j--)
		{
			lcdwrite_dat(0x00);
			lcd_busy();
//			P3_1=!P3_1;
		}
			
		CS1=1;CS2=0;
		lcdwrite_cmd(i|0xb8);
		lcdwrite_cmd(0x40);
		for(j=64;j>0;j--)
		{
			lcdwrite_dat(0x00);
			lcd_busy();
		}
	}
}

//LCD初始化
void lcdini(void)
{
	CS1=0;CS2=1;
	lcdwrite_cmd(0xc0);				//從第0行開始顯示
	CS1=1;CS2=0;
	lcdwrite_cmd(0xc0);
	lcddispon();
}

		
/*在指定的行列上顯示12點陣的漢字*/		

void HZ12disp(Uchar Nowrow,Uchar Nowcol,Uchar CHplace)
{
	Uchar i,tmp1,tmp2,k=12;
	Uint j;
	j = (CHplace-1)*24;
	if((Nowrow%2)==0)			//
	{
		switch(Nowrow)
		{
			case 0: i=0;break;
			case 2: i=3;break;
			default: i=6;
		}
		while(k!=0)
		{
			if(Nowcol<0x40)
				{CS1=0;CS2=1;}
			else
			{	if(Nowcol<0x80)
				{CS1=1;CS2=0;}
				else
				{break;}
			}
			lcdwrite_cmd(i|0xb8);
			lcdwrite_cmd(Nowcol|0x40);
			lcdwrite_dat(Hzk12[j]);
			lcd_busy();
			lcdwrite_cmd((i+1)|0xb8);	//到下一頁
			lcdwrite_cmd(Nowcol|0x40);
			tmp1 = lcdread_dat();
			lcdwrite_cmd(Nowcol|0x40);
			lcdwrite_dat((Hzk12[j+12]&0x0f)|(tmp1&0xf0));
			j++;
			Nowcol++;
			k--;
		}
	}
	else
	{
		switch(Nowrow)
		{
			case 1: i=1;break;
			default: i=4;
		}
		while(k!=0)
		{
			if(Nowcol<0x40)
			{CS1=0;CS2=1;}
			else
			{
				if(Nowcol<0x80)
				{CS1=1;CS2=0;}
				else
				{break;}
			}
			lcdwrite_cmd(i|0xb8);
			lcdwrite_cmd(Nowcol|0x40);
			tmp1=lcdread_dat();
			tmp1=tmp1&0x0f;
			tmp1=(Hzk12[j]<<4)|tmp1;
			tmp2=(Hzk12[j+12]<<4)|(Hzk12[j]>>4);
			lcdwrite_cmd(Nowcol|0x40);
			lcdwrite_dat(tmp1);
			lcd_busy();
			lcdwrite_cmd((i+1)|0xb8);
			lcdwrite_cmd(Nowcol|0x40);
			lcdwrite_dat(tmp2);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美在线制服丝袜| 亚洲精品日韩综合观看成人91| 亚洲一区av在线| 欧美日韩综合在线| 日韩电影一区二区三区四区| 国产精品国产三级国产aⅴ中文| 国产综合久久久久久久久久久久| 欧美一级久久久久久久大片| 蜜臀av一级做a爰片久久| 国产精品家庭影院| 91国偷自产一区二区开放时间 | 国产成人精品aa毛片| 久久久精品日韩欧美| 欧美日韩卡一卡二| 欧美在线视频全部完| 韩国午夜理伦三级不卡影院| 亚洲精品高清在线观看| 亚洲精品成人在线| 中文字幕亚洲视频| 亚洲桃色在线一区| 欧美一区二区三区免费视频 | 国产欧美日韩精品a在线观看| 国产成人精品免费网站| 一本大道av一区二区在线播放| 色婷婷亚洲综合| 日产欧产美韩系列久久99| 天天影视网天天综合色在线播放| 国产精品国产三级国产专播品爱网 | 日本欧美一区二区三区乱码| 国产精品美女久久久久久2018| 国产精品黄色在线观看| 中文字幕一区二区三区四区不卡 | 懂色av噜噜一区二区三区av| 国产一区二区三区四区五区美女| 精品一二线国产| 不卡一区二区中文字幕| 91香蕉国产在线观看软件| 欧美色视频在线观看| 欧美日本一区二区在线观看| 免费人成精品欧美精品| 成人av电影在线| 欧美日韩电影在线| 亚洲欧美另类小说| 成人综合在线观看| 色狠狠av一区二区三区| 26uuu欧美日本| 亚洲精品国产a| 久热成人在线视频| 在线看日本不卡| 国产欧美日韩在线看| 日韩和的一区二区| 成人av电影在线| 国产日韩综合av| 精品一区二区在线观看| 97精品国产露脸对白| 在线成人av网站| 亚洲精品伦理在线| 激情av综合网| 欧美一区二区成人| 国产精品夜夜爽| 在线成人免费视频| 视频一区二区中文字幕| 欧美α欧美αv大片| 日韩激情中文字幕| 欧美另类久久久品| 亚洲成人tv网| 欧美日韩国产123区| 男女男精品网站| 在线免费一区三区| 亚洲天堂精品视频| 91影视在线播放| 日韩中文字幕91| 精品sm捆绑视频| 麻豆传媒一区二区三区| 亚洲制服丝袜av| 91久久一区二区| 美女视频一区在线观看| 久久久噜噜噜久久中文字幕色伊伊 | 中文字幕亚洲区| 婷婷久久综合九色综合绿巨人| 欧美电影免费观看高清完整版在 | 国产精品国产自产拍高清av| 粉嫩欧美一区二区三区高清影视| 精品电影一区二区三区| 免费看日韩a级影片| 亚洲一二三区视频在线观看| 欧美人伦禁忌dvd放荡欲情| 蜜桃av一区二区在线观看| 亚洲国产精品传媒在线观看| 91免费版pro下载短视频| 国产精品99久久久久久有的能看| 国产精品伦一区二区三级视频| 久久亚洲二区三区| 91免费国产视频网站| 免费成人在线观看| 麻豆成人av在线| 国产日韩欧美精品一区| ...av二区三区久久精品| 欧美性大战久久久久久久蜜臀 | 久久久一区二区三区捆绑**| 成人久久视频在线观看| 国产精品一二三四| 美日韩一区二区三区| 一区二区三区av电影| 日韩一区二区精品葵司在线| 日本一区二区三区dvd视频在线 | 国产精品77777竹菊影视小说| 亚洲国产精品天堂| 亚洲成人777| 麻豆精品视频在线观看视频| 美女任你摸久久| 肉肉av福利一精品导航| 亚洲精品ww久久久久久p站| 国产精品久久久久久久久动漫 | 国产v综合v亚洲欧| 国产黄色精品视频| 国产成a人无v码亚洲福利| 国产露脸91国语对白| 成人动漫视频在线| 精品成人免费观看| 亚洲人成网站影音先锋播放| 最新不卡av在线| 亚洲影视在线播放| 狠狠色丁香久久婷婷综合丁香| 国产精品一区2区| 欧美高清性hdvideosex| 国产午夜精品久久久久久免费视| 国产欧美一区二区三区在线老狼| 国产精品久久久久桃色tv| 亚洲精品一二三| 青青草97国产精品免费观看 | 亚洲视频你懂的| 国产99久久精品| 欧美一级理论性理论a| 欧美一级一区二区| 久久爱www久久做| 欧美日韩亚洲高清一区二区| 欧美激情一区二区三区在线| 欧美成va人片在线观看| 国产精品99久久久久久有的能看| 99精品热视频| 精品国产乱码久久久久久免费| 日韩和欧美一区二区三区| 欧美日韩国产一级二级| 亚洲电影中文字幕在线观看| 欧美日韩国产综合草草| 奇米色一区二区三区四区| 欧美性色黄大片| 久草中文综合在线| 26uuu欧美| 不卡一卡二卡三乱码免费网站| 久久久久久久电影| 日韩激情在线观看| 欧美一二三区在线观看| 精品一区二区免费看| **性色生活片久久毛片| 91麻豆精品国产91久久久更新时间| 亚洲人精品午夜| 宅男噜噜噜66一区二区66| 国产精品一级黄| 国产欧美一区二区精品婷婷| 成人夜色视频网站在线观看| 午夜精品福利一区二区三区av| 精品视频一区三区九区| 亚洲综合久久av| 久久久国产午夜精品| 欧美电影免费观看高清完整版在线 | 国产精品久久久久久久久动漫| 欧美日韩精品免费观看视频| 成人精品小蝌蚪| 久久精品国产亚洲aⅴ| 久久久久久黄色| 欧美中文字幕一区二区三区亚洲| 韩国欧美国产1区| 国产精品久久午夜夜伦鲁鲁| 91精品国产综合久久精品麻豆| 国产在线播精品第三| 国产一区二区三区观看| 免费看欧美女人艹b| 亚洲欧美电影院| 亚洲精选免费视频| 成人欧美一区二区三区视频网页| 国产亚洲欧美在线| 日韩一级在线观看| 欧美老女人第四色| 日本精品一区二区三区高清| 国产99久久久久| 粉嫩蜜臀av国产精品网站| av在线不卡电影| 中文字幕乱码亚洲精品一区| 中文子幕无线码一区tr| 久久婷婷国产综合精品青草| 精品国产乱子伦一区| 日韩久久精品一区| 日韩欧美一级在线播放| 国产精品美女久久久久aⅴ| 亚洲欧美区自拍先锋| 视频一区在线播放| 国产一区二区三区观看| 在线影院国内精品|