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

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

?? clock.c

?? 用51單片機(jī)內(nèi)部定時(shí)器實(shí)現(xiàn)數(shù)字鐘功能
?? C
字號(hào):
#include"reg51.h"
#define SELECT_LCD()	CS0=0; CS1=1; CS2=0
#define SELECT_NONE()	CS0=1; CS1=1; CS2=1
sbit LED=P1^0;
sbit P11=P1^1;
sbit P12=P1^2;

sbit CS0 = P2^5 ;
sbit CS1 = P2^6 ;
sbit CS2 = P2^7 ;
sbit Lcd_RW = P2^4 ;
sbit Lcd_RS = P2^3 ;

typedef struct _data
 {
   unsigned char datah;
   unsigned char datal;
  }DATA2;

unsigned char data msecond,second,minute,hour;
bit flag;
DATA2 data tmp;
unsigned char clockstr[]="   00-00-00   ";


/*******************  函數(shù)聲明 ********************/
void LcdWrite(unsigned char value , bit RS);
unsigned char LcdRead(bit RS);
void LcdWriteCmd(unsigned char value , unsigned char attrib);
void LcdWriteData(unsigned char value);
unsigned char LcdReadData();
void delay(unsigned int time); 
void LcdInit(void);
void LocateXY(char x , char y);
void PutChar(char x , char y , char value);
void PutStr(char x , char y , char* str);
//void dispaly(unsigned char next);

void display_minute();
void  display_second();

void VariableInit(void);
void Hex2Int(unsigned char hex);
unsigned char Hex2Ascii(unsigned char hex);
void TimerInit(void);

void LcdWrite(unsigned char value , bit RS)
{
	/* 1. 設(shè)置RS信號(hào)線 */
	Lcd_RS = RS ;
	/* 2. 設(shè)置RW信號(hào)線為讀 */
	Lcd_RW = 0 ;
	/* 3. 設(shè)置LCD片選 */
	SELECT_LCD();
	/* 4. 通過(guò)P0端口寫(xiě)值 */
	P0 = value ;
	/* 5. 鎖存 */
	SELECT_NONE();
}

/***************************************
說(shuō)明: 	LCD讀函數(shù),完成LCD讀操作的物理時(shí)序
RS:		0 - 寫(xiě)指令
		1 - 寫(xiě)數(shù)據(jù)
return:	讀出的具體值
*****************************************/
unsigned char LcdRead(bit RS)
{
	unsigned char rt ;

	/* 1. 設(shè)置RS信號(hào)線 */
	Lcd_RS = RS ;
	/* 2. 設(shè)置RW信號(hào)線為讀 */
	Lcd_RW = 1 ;
	/* 3. 釋放P0口 */
	P0 = 0xff ;
	/* 4. 設(shè)置LCD片選 */
	SELECT_LCD();
	SELECT_LCD();
	SELECT_LCD();
	SELECT_LCD();
	/* 5. 通過(guò)P0端口讀值 */
	rt = P0 ;
	/* 6. 鎖存 */
	SELECT_NONE();

	return rt ;
}	

/***************************************
說(shuō)明: 	LCD寫(xiě)指令
value:	寫(xiě)的具體值
attrib:	0 - 不檢測(cè)忙信號(hào)
	   	1 - 監(jiān)測(cè)忙信號(hào)
*****************************************/
void LcdWriteCmd(unsigned char value , unsigned char attrib)
{
	/* 監(jiān)測(cè)忙狀態(tài) */
	if(attrib)
		while( LcdRead(0)&0x80 ) ;
	
	LcdWrite(value , 0);
 }

/***************************************
說(shuō)明: 	LCD寫(xiě)數(shù)據(jù)
*****************************************/
void LcdWriteData(unsigned char value)
{
 	/* 監(jiān)測(cè)忙狀態(tài) */
	while( LcdRead(0)&0x80 ) ;

	LcdWrite(value , 1);
}

/***************************************
說(shuō)明: 	LCD讀數(shù)據(jù)
*****************************************/
unsigned char LcdReadData()
{
	/* 監(jiān)測(cè)忙狀態(tài) */
	while( LcdRead(0)&0x80 ) ;

	return LcdRead(1);
}


/***************************************
說(shuō)明: 	LCD初始化函數(shù),需要按照產(chǎn)品
        說(shuō)明書(shū)完成
*****************************************/
void LcdInit(void)
{
	delay(800);

	/* 寫(xiě)指令0x38連續(xù)3次, 不檢測(cè)忙信號(hào)*/
	LcdWriteCmd(0x38 , 0 );
	delay(10);

	LcdWriteCmd(0x38 , 0 );
	delay(10);

	LcdWriteCmd(0x38 , 0 );
	delay(10);

	/* 以后的讀寫(xiě)操作均要判斷忙信號(hào) */
	LcdWriteCmd(0x38 , 1 );
	/* 先設(shè)置關(guān)屏 */
	LcdWriteCmd(0x08 , 1 );
	/* 清屏 */
	LcdWriteCmd(0x01 , 1 );
	/* 設(shè)置光標(biāo)顯示模式 */
	LcdWriteCmd(0x06 , 1 );
	/* 開(kāi)屏并顯示光標(biāo) */
	LcdWriteCmd(0x0c , 1 );
}

/***************************************
說(shuō)明: 	設(shè)置光標(biāo)定位
*****************************************/
void LocateXY(char x , char y)
{
	unsigned char temp;

	temp = x & 0xf;
	y &= 0x1;
	if ( y )temp |= 0x40;
	temp |= 0x80;
	LcdWriteCmd(temp,1);
}

/***************************************
說(shuō)明: 	顯示字符
x: 橫坐標(biāo) y: 縱坐標(biāo)
value: 顯示的字符
*****************************************/
void PutChar(char x , char y , char value)
{
	LocateXY(x,y);
	LcdWriteData(value);
}

/***************************************
說(shuō)明: 	顯示字符串
*****************************************/
void PutStr(char x , char y , char* str)
{
	unsigned char i,len=0;
	/* 計(jì)算字符串長(zhǎng)度 */
	while (str[len] >31)
		len++;
	
	/* 顯示字符串 */
	for (i=0;i<len;i++) 
	{
		PutChar(x++,y,str[i]);
		if ( x == 16 )
		{
			x = 0; y ^= 1;
		}
	}
}

void delay(unsigned int time)     // time*0.5ms延時(shí)
{
   unsigned int i,j;

   for(j=0;j<time;j++)
     {
       for(i=0;i<60;i++)
       {;}
      }
}

void VariableInit()
{ 

  msecond=0;
  second=0;
  minute=0;
  hour=0;
  flag=0;
}

void Hex2Int(unsigned char hex)
{
 tmp.datah=hex/10;
 tmp.datal=hex%10;
}

unsigned char Hex2Ascii(unsigned char hex)
{
 if(hex>9)
    return' ';
 else
    return(hex+'0');
}

void TimerInit(void)
{
 TMOD=0x00;
 TH1=0x3c;
 TL1=0xb0;
 EA=1;
 ET1=1;
}

void timer(void) interrupt 3 using 2
{
 TH1=0x3c;
 TL1=0xb0;
 TF1=0;
 
 msecond++;
 if(msecond==148)
    {
      msecond=0;
      flag=1;
     }
 if(msecond<1)
    LED=0;
 else
    LED=1; 
}

void main()
{
  VariableInit();
  TimerInit();
  LcdInit();
 
  PutStr(0,0,"BEJING CLOCK");

  PutStr(0,1,clockstr);
//  delay(100);
 
  TR1=1;
  EA=1;
  
  while(1)
   { 
     if(flag==1)
        {
          second++;
          if(second!=60)
             {
              goto display_second;
             }
          else
             {
               second=0;
               minute++;
               if(minute!=60)
                  {
                   goto display_minute;
                  }
                else
                   {
                     minute=0;
                     hour++;
                     if(hour==24)
                        hour=0;
                   }
              }
              Hex2Int(hour);
              clockstr[3]=Hex2Ascii(tmp.datah);
              clockstr[4]=Hex2Ascii(tmp.datal);
    display_minute:
	               P11=0;
                   Hex2Int(minute);
                   clockstr[6]=Hex2Ascii(tmp.datah);
                   clockstr[7]=Hex2Ascii(tmp.datal);

    display_second:
	               
                   Hex2Int(second);
                   clockstr[9]=Hex2Ascii(tmp.datah);
                   clockstr[10]=Hex2Ascii(tmp.datal);                                
                   PutStr(0,1,clockstr);
                   flag=0;
           }
     }     
}
                                  
 

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品亚洲午夜一区二区三区 | 日韩影院精彩在线| 精品入口麻豆88视频| 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 | 欧美色电影在线| 波多野结衣中文字幕一区| 蜜桃视频在线观看一区| 亚洲人成在线观看一区二区| 日韩精品一区国产麻豆| 91老司机福利 在线| 国产精品资源在线看| 视频一区中文字幕| 亚洲另类中文字| 国产精品少妇自拍| 亚洲成人在线免费| 亚洲三级在线免费观看| 久久伊人中文字幕| 日韩三级免费观看| 欧洲日韩一区二区三区| 北岛玲一区二区三区四区 | 国产成人综合网| 日韩和欧美一区二区| 亚洲啪啪综合av一区二区三区| 久久久久久久久岛国免费| 日韩一级完整毛片| 欧美精品一二三| 欧美日韩一区二区三区视频| 99re8在线精品视频免费播放| 国产成人精品免费| 国产精品亚洲一区二区三区妖精| 免费成人在线播放| 日韩av一二三| 日韩和欧美的一区| 日韩经典一区二区| 日本特黄久久久高潮| 亚洲v精品v日韩v欧美v专区 | 亚洲成人免费视频| 亚洲乱码国产乱码精品精98午夜| 亚洲欧美另类综合偷拍| 成人欧美一区二区三区白人| 国产精品国产精品国产专区不片| 精品福利在线导航| 国产欧美一区二区三区在线老狼| 精品久久人人做人人爱| 精品国产免费久久| 久久亚洲综合色一区二区三区 | 亚洲精品免费播放| 一区二区三区中文字幕| 亚洲五月六月丁香激情| 一区二区免费看| 五月激情六月综合| 免费久久99精品国产| 激情综合亚洲精品| 国产suv精品一区二区6| 99国产欧美久久久精品| 欧美性生活大片视频| 欧美一区二区三级| 久久综合狠狠综合久久激情| 日本一区二区综合亚洲| 亚洲男人的天堂一区二区| 亚洲线精品一区二区三区八戒| 日韩av一区二区三区| 国产成人免费在线观看| av电影在线观看完整版一区二区| 在线一区二区三区四区五区| 日韩一区二区三区视频在线| 久久久久久黄色| 亚洲人成亚洲人成在线观看图片| 亚洲综合一二区| 美国三级日本三级久久99| 高清av一区二区| 在线一区二区三区| 日韩免费电影网站| 中文字幕中文字幕一区| 婷婷中文字幕综合| 国产成人精品在线看| 色噜噜夜夜夜综合网| 日韩欧美国产午夜精品| 中文字幕在线一区免费| 亚洲bdsm女犯bdsm网站| 国产a视频精品免费观看| 欧美伊人久久久久久午夜久久久久| 欧美成人三级在线| 亚洲人成网站精品片在线观看| 日本亚洲一区二区| www.亚洲免费av| 欧美一级片在线| 亚洲人成网站精品片在线观看| 日本在线不卡一区| 99久久婷婷国产精品综合| 91麻豆精品久久久久蜜臀| 中文字幕乱码一区二区免费| 日韩国产欧美在线观看| 波多野结衣中文一区| 欧美一区二区三区思思人| 一区在线播放视频| 精品一区二区三区免费视频| 在线视频你懂得一区二区三区| 久久久一区二区三区捆绑**| 亚洲成人自拍一区| av爱爱亚洲一区| 久久综合狠狠综合久久综合88| 亚洲国产综合在线| av成人免费在线| 久久久久久久综合狠狠综合| 日韩高清不卡在线| 日本福利一区二区| 中文一区在线播放| 黑人精品欧美一区二区蜜桃| 欧美日韩黄色影视| 玉足女爽爽91| aaa欧美日韩| 国产亚洲福利社区一区| 日本一不卡视频| 欧美日韩国产首页在线观看| 国产精品不卡在线| 国产91丝袜在线播放九色| 精品少妇一区二区三区日产乱码| 五月激情丁香一区二区三区| 欧美影院一区二区三区| 亚洲精品视频免费看| 懂色av一区二区三区免费观看 | 91.xcao| 亚洲三级理论片| 成人黄色小视频在线观看| 久久久久久9999| 另类小说色综合网站| 91精品在线免费观看| 亚洲福利一二三区| 欧美日韩国产小视频| 午夜精品在线视频一区| 欧美日韩夫妻久久| 亚洲一区二区美女| 欧美日韩成人一区| 亚洲成av人片| 91超碰这里只有精品国产| 亚洲图片自拍偷拍| 欧美日韩一区 二区 三区 久久精品| 一区二区欧美视频| 欧美人与禽zozo性伦| 日韩电影免费在线观看网站| 欧美成人伊人久久综合网| 久国产精品韩国三级视频| 久久久国产精华| 国产91露脸合集magnet| 18欧美乱大交hd1984| 91福利资源站| 日本少妇一区二区| 久久先锋资源网| 成人美女视频在线观看| **欧美大码日韩| 欧美午夜一区二区| 五月天久久比比资源色| 日韩精品中文字幕一区| 国产精品一二三四五| 18欧美乱大交hd1984| 欧美日韩国产高清一区二区三区| 蜜臀国产一区二区三区在线播放| 久久亚洲二区三区| 91在线你懂得| 午夜精品福利一区二区蜜股av| 欧美一级理论片| 国产成人午夜精品影院观看视频| 亚洲欧美在线观看| 91精品国产综合久久婷婷香蕉 | 日韩va亚洲va欧美va久久| 久久综合色婷婷| 成人av电影观看| 午夜影院久久久| 久久综合色婷婷| 一本大道av伊人久久综合| 日本欧美在线看| 一区在线观看视频| 日韩一区二区三区精品视频| 国产成人av一区二区| 一区二区三区国产精品| 精品国产免费一区二区三区香蕉| 9i看片成人免费高清| 蜜臀av在线播放一区二区三区| 欧美国产一区二区| 欧美精三区欧美精三区| 高清av一区二区| 日本怡春院一区二区| 国产精品久久久久9999吃药| 91精品国产全国免费观看| 国产精品一线二线三线| 五月激情丁香一区二区三区| 国产精品午夜久久| 日韩女优制服丝袜电影| 91老司机福利 在线| 国产一区二区三区| 亚洲高清一区二区三区| 国产精品污www在线观看| 91精品国产高清一区二区三区| 成人av片在线观看| 精品无人码麻豆乱码1区2区 | 欧美变态口味重另类| 欧美三级电影网站| 99精品一区二区三区| 国产精品中文有码|