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

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

?? ex84.c

?? 單片機(jī)C語言應(yīng)用100例.rar
?? C
字號(hào):
//實(shí)例84:液晶時(shí)鐘設(shè)計(jì)
#include<reg51.h>    //包含單片機(jī)寄存器的頭文件
#include<stdlib.h>   //包含隨機(jī)函數(shù)rand()的定義文件
#include<intrins.h>  //包含_nop_()函數(shù)定義的頭文件
sbit RS=P2^0;    //寄存器選擇位,將RS位定義為P2.0引腳
sbit RW=P2^1;    //讀寫選擇位,將RW位定義為P2.1引腳
sbit E=P2^2;     //使能信號(hào)位,將E位定義為P2.2引腳
sbit BF=P0^7;    //忙碌標(biāo)志位,,將BF位定義為P0.7引腳
unsigned char code digit[ ]={"0123456789"}; //定義字符數(shù)組顯示數(shù)字
unsigned char code string[ ]={"BeiJing Time"}; //定義字符數(shù)組顯示提示信息
unsigned char count;   //定義變量統(tǒng)計(jì)中斷累計(jì)次數(shù)
unsigned char s,m,h;   //定義變量儲(chǔ)存秒、分鐘和小時(shí)
/*****************************************************
函數(shù)功能:延時(shí)1ms
(3j+2)*i=(3×33+2)×10=1010(微秒),可以認(rèn)為是1毫秒
***************************************************/
void delay1ms()
{
   unsigned char i,j;	
	 for(i=0;i<10;i++)
	  for(j=0;j<33;j++)
	   ;		 
 }
 /*****************************************************
函數(shù)功能:延時(shí)若干毫秒
入口參數(shù):n
***************************************************/
 void delay(unsigned char n)
 {
   unsigned char i;
	for(i=0;i<n;i++)
	   delay1ms();
 }
/*****************************************************
函數(shù)功能:判斷液晶模塊的忙碌狀態(tài)
返回值:result。result=1,忙碌;result=0,不忙
***************************************************/
 unsigned char BusyTest(void)
  {
    bit result;
	RS=0;       //根據(jù)規(guī)定,RS為低電平,RW為高電平時(shí),可以讀狀態(tài)
    RW=1;
    E=1;        //E=1,才允許讀寫
    _nop_();   //空操作
    _nop_();
    _nop_(); 
    _nop_();   //空操作四個(gè)機(jī)器周期,給硬件反應(yīng)時(shí)間	
    result=BF;  //將忙碌標(biāo)志電平賦給result
   E=0;         //將E恢復(fù)低電平
   return result;
  }
/*****************************************************
函數(shù)功能:將模式設(shè)置指令或顯示地址寫入液晶模塊
入口參數(shù):dictate
***************************************************/
void WriteInstruction (unsigned char dictate)
{   
    while(BusyTest()==1); //如果忙就等待
	 RS=0;                  //根據(jù)規(guī)定,RS和R/W同時(shí)為低電平時(shí),可以寫入指令
	 RW=0;   
	 E=0;                   //E置低電平(根據(jù)表8-6,寫指令時(shí),E為高脈沖,
                          // 就是讓E從0到1發(fā)生正跳變,所以應(yīng)先置"0"
	 _nop_();
	 _nop_();             //空操作兩個(gè)機(jī)器周期,給硬件反應(yīng)時(shí)間
	 P0=dictate;            //將數(shù)據(jù)送入P0口,即寫入指令或地址
	 _nop_();
	 _nop_();
	 _nop_();
	 _nop_();               //空操作四個(gè)機(jī)器周期,給硬件反應(yīng)時(shí)間
	 E=1;                   //E置高電平
	 _nop_();
	 _nop_();
	 _nop_();
	 _nop_();               //空操作四個(gè)機(jī)器周期,給硬件反應(yīng)時(shí)間
	  E=0;                  //當(dāng)E由高電平跳變成低電平時(shí),液晶模塊開始執(zhí)行命令
 }
/*****************************************************
函數(shù)功能:指定字符顯示的實(shí)際地址
入口參數(shù):x
***************************************************/
 void WriteAddress(unsigned char x)
 {
     WriteInstruction(x|0x80); //顯示位置的確定方法規(guī)定為"80H+地址碼x"
 }
/*****************************************************
函數(shù)功能:將數(shù)據(jù)(字符的標(biāo)準(zhǔn)ASCII碼)寫入液晶模塊
入口參數(shù):y(為字符常量)
***************************************************/
 void WriteData(unsigned char y)
 {
    while(BusyTest()==1);  
	  RS=1;           //RS為高電平,RW為低電平時(shí),可以寫入數(shù)據(jù)
	  RW=0;
	  E=0;            //E置低電平(根據(jù)表8-6,寫指令時(shí),E為高脈沖,
                       // 就是讓E從0到1發(fā)生正跳變,所以應(yīng)先置"0"
	  P0=y;           //將數(shù)據(jù)送入P0口,即將數(shù)據(jù)寫入液晶模塊
	  _nop_();
	  _nop_();
 	  _nop_();
     _nop_();       //空操作四個(gè)機(jī)器周期,給硬件反應(yīng)時(shí)間
	  E=1;          //E置高電平
	  _nop_();
	  _nop_();
	  _nop_();
	 _nop_();        //空操作四個(gè)機(jī)器周期,給硬件反應(yīng)時(shí)間
	 E=0;            //當(dāng)E由高電平跳變成低電平時(shí),液晶模塊開始執(zhí)行命令
 }
/*****************************************************
函數(shù)功能:對(duì)LCD的顯示模式進(jìn)行初始化設(shè)置
***************************************************/
void LcdInitiate(void)
{
   delay(15);             //延時(shí)15ms,首次寫指令時(shí)應(yīng)給LCD一段較長的反應(yīng)時(shí)間
   WriteInstruction(0x38);  //顯示模式設(shè)置:16×2顯示,5×7點(diǎn)陣,8位數(shù)據(jù)接口
	delay(5);               //延時(shí)5ms ,給硬件一點(diǎn)反應(yīng)時(shí)間
   WriteInstruction(0x38);
	delay(5);
	WriteInstruction(0x38); //連續(xù)三次,確保初始化成功
	delay(5);
	WriteInstruction(0x0c);  //顯示模式設(shè)置:顯示開,無光標(biāo),光標(biāo)不閃爍
	delay(5);
	WriteInstruction(0x06);  //顯示模式設(shè)置:光標(biāo)右移,字符不移
	delay(5);
	WriteInstruction(0x01);  //清屏幕指令,將以前的顯示內(nèi)容清除
	delay(5);

 }
 /******************************************************************************
 函數(shù)功能:顯示小時(shí)                          
******************************************************************************/
void DisplayHour()
{
   unsigned char i,j;
	i=h/10;                //取整運(yùn)算,求得十位數(shù)字
	j=h%10;                //取余運(yùn)算,求得各位數(shù)字
   WriteAddress(0x44);   //寫顯示地址,將十位數(shù)字顯示在第2行第5列
	WriteData(digit[i]);  //將十位數(shù)字的字符常量寫入LCD
	WriteData(digit[j]);  //將個(gè)位數(shù)字的字符常量寫入LCD
     
 }
/******************************************************************************
 函數(shù)功能:顯示分鐘                          
 ******************************************************************************/
void DisplayMinute()
{
  unsigned char i,j;
   i=m/10;                //取整運(yùn)算,求得十位數(shù)字
	j=m%10;                //取余運(yùn)算,求得各位數(shù)字
   WriteAddress(0x47);   //寫顯示地址,將十位數(shù)字顯示在第2行第8列
	WriteData(digit[i]);  //將十位數(shù)字的字符常量寫入LCD
	WriteData(digit[j]);  //將個(gè)位數(shù)字的字符常量寫入LCD
     
 }
 /******************************************************************************
 函數(shù)功能:顯示秒                        
  ******************************************************************************/
void DisplaySecond()
{
   unsigned char i,j;
  	i=s/10;                //取整運(yùn)算,求得十位數(shù)字
	j=s%10;                //取余運(yùn)算,求得各位數(shù)字
   WriteAddress(0x4a);   //寫顯示地址,將十位數(shù)字顯示在第2行第11列
	WriteData(digit[i]);  //將十位數(shù)字的字符常量寫入LCD
	WriteData(digit[j]);  //將個(gè)位數(shù)字的字符常量寫入LCD
 }

/*********************************************************************
               main function
***********************************************************************/
 void main(void)
 {
  unsigned char i;
    LcdInitiate();  //調(diào)用LCD初始化函數(shù)

   TMOD=0x01;                //使用定時(shí)器T0的模式1
	TH0=(65536-46083)/256;    //定時(shí)器T0的高8位設(shè)置初值
	TL0=(65536-46083)%256;    //定時(shí)器T0的低8位設(shè)置初值
	EA=1;                     //開總中斷
	ET0=1;                    //定時(shí)器T0中斷允許
	TR0=1;                    //啟動(dòng)定時(shí)器T0

	count=0;              //中斷次數(shù)初始化為0
	s=0;                  //秒初始化為0
	m=0;                  //分鐘初始化為0
	h=0;                  //小時(shí)初始化為0

   WriteAddress(0x03); 	 //寫地址,從第1行第4列開始顯示
	 i=0;              //從字符數(shù)組的第1個(gè)元素開始顯示
	 while(string[i]!='\0')   //只要沒有顯示到字符串的結(jié)束標(biāo)志'\0',就繼續(xù)
	 {
		 WriteData(string[i]); //將第i個(gè)字符數(shù)組元素寫入LCD
		 i++;                 //指向下一個(gè)數(shù)組元素
	 }
 	WriteAddress(0x46);     //寫地址,將第二個(gè)分號(hào)顯示在第2行第7列
	WriteData(':');         //將分號(hào)的字符常量寫入LCD
	WriteAddress(0x49);     //寫地址,將第二個(gè)分號(hào)顯示在第2行第10列
	WriteData(':');         //將分號(hào)的字符常量寫入LCD  
    while(1)            //無限循環(huán)
      {
        	DisplayHour();	    //顯示小時(shí)
			 delay(5);         //給硬件一點(diǎn)反應(yīng)時(shí)間
			DisplayMinute();   //顯示分鐘
			 delay(5);         //給硬件一點(diǎn)反應(yīng)時(shí)間
			DisplaySecond();   //顯示秒	
            delay(5);	    //給硬件一點(diǎn)反應(yīng)時(shí)間
	   }
}
/*******************************************************
函數(shù)功能:定時(shí)器T0的中斷服務(wù)函數(shù)
********************************************************/
 void Time0(void ) interrupt 1 using 1 //定時(shí)器T0的中斷編號(hào)為1,使用第1組工作寄存器
  {
     count++;  //每產(chǎn)生1次中斷,中斷累計(jì)次數(shù)加1
		 if(count==20)  //如果中斷次數(shù)計(jì)滿20次
		    {
              count=0;  //中斷累計(jì)次數(shù)清0
		        s++;      //秒加1				 
		 	}
		  if(s==60)   //如果計(jì)滿60秒
			 {
			  s=0;     //秒清0
			  m++;     //分鐘加1
		    }
	  	if(m==60)    //如果計(jì)滿60分
		   {
			   m=0;   //分鐘清0 
			   h++;    //小時(shí)加1
		    }
	     if(h==24)  //如果計(jì)滿24小時(shí)
		   {
			   h=0;   //小時(shí)清0
		   }
	   TH0=(65536-46083)/256;   //定時(shí)器T0高8位重新賦初值
		TL0=(65536-46083)%256;   //定時(shí)器T0低8位重新賦初值		
  }  


	     

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国内精品第一页| 日本成人在线看| 日本电影欧美片| 亚洲第一搞黄网站| 欧美一区二区三区四区久久| 狠狠色丁香九九婷婷综合五月| 久久先锋资源网| av在线不卡网| 亚洲成人免费视| 欧美成人a视频| 成人午夜视频在线观看| 日韩伦理av电影| 在线播放欧美女士性生活| 精品亚洲国产成人av制服丝袜| 国产日韩欧美精品综合| 91久久一区二区| 久久99久久久久| 中文字幕一区二区5566日韩| 在线观看精品一区| 狠狠色狠狠色合久久伊人| 国产精品久久久久国产精品日日| 欧日韩精品视频| 国产麻豆视频一区| 一区二区三区四区蜜桃| 日韩免费观看2025年上映的电影 | 亚洲自拍偷拍av| 555www色欧美视频| 国产999精品久久久久久绿帽| 一区二区三区中文在线| 欧美成人艳星乳罩| 色拍拍在线精品视频8848| 激情图区综合网| 玉米视频成人免费看| 欧美精品一区二区三区四区| 91在线云播放| 国产综合成人久久大片91| 亚洲精品欧美在线| 欧美精品一区视频| 欧美老肥妇做.爰bbww视频| 粉嫩嫩av羞羞动漫久久久| 日韩国产在线一| 亚洲视频免费在线| 久久久久久久久久久久久女国产乱| 欧美视频中文一区二区三区在线观看 | 精品一区二区三区在线视频| 亚洲免费观看高清完整版在线| 久久综合色综合88| 7777精品伊人久久久大香线蕉超级流畅 | 久久精品亚洲乱码伦伦中文| 欧美综合一区二区三区| 成人app网站| 国产综合久久久久影院| 日本中文字幕一区二区视频 | 宅男在线国产精品| 色婷婷国产精品久久包臀| 成人免费高清在线观看| 激情丁香综合五月| 日本一不卡视频| 午夜精品福利在线| 亚洲国产精品久久艾草纯爱| 亚洲精品国产无套在线观| 国产精品美女一区二区| 国产女人水真多18毛片18精品视频| 日韩一区二区影院| 欧美一级片在线| 51精品视频一区二区三区| 欧美色综合影院| 欧美日韩大陆在线| 欧美日本视频在线| 91精品国产麻豆国产自产在线| 欧美在线免费播放| 色婷婷久久一区二区三区麻豆| 99久久精品国产精品久久| 99久久99久久精品免费看蜜桃| 成人aa视频在线观看| 99久久99久久精品免费观看| 91丨九色丨蝌蚪丨老版| 色婷婷精品大视频在线蜜桃视频| 91麻豆成人久久精品二区三区| 一道本成人在线| 欧美亚洲综合在线| 91精品黄色片免费大全| 欧美一区二区大片| 欧美成人性福生活免费看| 久久精品人人做| 国产精品三级在线观看| 亚洲免费观看高清完整版在线观看熊 | 毛片av一区二区| 蜜臂av日日欢夜夜爽一区| 国产一区在线观看麻豆| 激情综合色综合久久| 国产乱码精品1区2区3区| 国产成人精品三级| 波多野结衣亚洲| 日本精品一级二级| 欧美一二三在线| 国产欧美日韩另类视频免费观看| 1000精品久久久久久久久| 亚洲一卡二卡三卡四卡无卡久久| 日本视频在线一区| 国产v综合v亚洲欧| 欧美在线免费播放| 久久伊人中文字幕| 一区免费观看视频| 五月天丁香久久| 国产成人啪免费观看软件| 色综合久久久久综合99| 91精品蜜臀在线一区尤物| 国产日产欧美一区| 亚洲成人av一区| 国产盗摄女厕一区二区三区| 色婷婷综合视频在线观看| 欧美成人r级一区二区三区| 中文欧美字幕免费| 日韩电影在线看| voyeur盗摄精品| 91精品国产麻豆| 中文字幕亚洲一区二区av在线| 一区二区不卡在线播放 | 午夜视频在线观看一区二区三区| 国产主播一区二区三区| 精品视频在线视频| 中文字幕欧美三区| 久久精品国产精品青草| 在线亚洲一区观看| 国产日本欧洲亚洲| 人人爽香蕉精品| 91成人在线观看喷潮| 国产性做久久久久久| 亚洲成人av资源| 91美女福利视频| 国产午夜精品一区二区三区四区| 亚洲尤物视频在线| av电影在线观看一区| 久久久国产综合精品女国产盗摄| 亚洲成人免费在线观看| 91亚洲精品久久久蜜桃| 久久久精品免费网站| 日本不卡视频在线| 欧美在线免费播放| 亚洲天堂网中文字| 国产激情一区二区三区四区| 日韩欧美国产一二三区| 午夜一区二区三区在线观看| 成人精品视频一区二区三区| 欧美sm美女调教| 首页亚洲欧美制服丝腿| 欧美视频在线一区| 一区二区三区四区蜜桃| 99精品视频在线播放观看| 中文字幕精品—区二区四季| 国产一区二区影院| 精品成人佐山爱一区二区| 日韩激情av在线| 欧美日韩国产另类一区| 亚洲综合男人的天堂| 色综合视频在线观看| 亚洲日本va午夜在线影院| 成人黄色网址在线观看| 国产精品美女久久久久久久网站| 国产另类ts人妖一区二区| 久久精品一区二区三区不卡| 国产福利一区二区三区视频在线 | 中文字幕一区二区三区在线观看 | 精品一区二区三区免费播放| 欧美一区二区在线看| 免费日韩伦理电影| 日韩欧美三级在线| 国产综合色产在线精品| 久久久精品国产免大香伊| 国产.欧美.日韩| **欧美大码日韩| 欧美又粗又大又爽| 免费精品视频最新在线| 精品伦理精品一区| 大陆成人av片| 亚洲欧美日韩成人高清在线一区| 一本色道亚洲精品aⅴ| 亚洲6080在线| 精品少妇一区二区三区| 国产98色在线|日韩| 亚洲黄一区二区三区| 欧美日韩在线播| 精品一区二区三区影院在线午夜 | 26uuu精品一区二区三区四区在线| 精品中文字幕一区二区| 国产欧美一二三区| 一本久久精品一区二区| 视频精品一区二区| 国产三级精品视频| 在线观看av一区二区| 久久精品国产亚洲5555| 综合精品久久久| 欧美精品日韩综合在线| 国产传媒日韩欧美成人| 亚洲小说欧美激情另类| 久久久久久久久久久99999| 色94色欧美sute亚洲13| 极品美女销魂一区二区三区免费| 中文字幕五月欧美|