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

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

?? 00145.c

?? 關于ATMEGA128的EEPROM和鍵盤識別
?? C
字號:
//ICC-AVR application builder : 2009-3-21 15:58:12
// Target : M128
// Crystal: 16.000Mhz

#include <iom128v.h>
#include <macros.h>
#include <eeprom.h>

//設置那一塊的函數
#define uchar unsigned char	
#define uint unsigned int
#define CLK_CHU DDRD|=BIT(4)

//定義     clk   pd4  
#define CLK_0  PORTD&=~BIT(4)
#define CLK_1  PORTD|= BIT(4) 


//數據方向可以不定義  但是要在總的系統初始化里定義好  
//定義    data   pd5   
#define DATA  PIND&=BIT(5)        //數據輸入值

#define DATA_0  PORTD&=~BIT(5)     //數據輸出值
#define DATA_1  PORTD|= BIT(5) 

#define DATA_RU  DDRD&=~BIT(5)   
#define DATA_CHU DDRD|=BIT(5) //數據方向

#define  xtal_8     8  
#define xtal_16    16 

uchar shezhi=0,shuzijia=0,shuzijian=0,queren=0,tuichu=0, port_tmp=0;


void delay_1ms(void)   //1ms級延時函數
{
uchar  i;
for(i=0;i<(uchar)(xtal_8*143-2);i++);     //    xtal8待整理
}

void delay_nms(uchar n)	//n*1ms的延時函數
{
uchar i=0;
for(i=0;i<n;i++)        //最大255ms
delay_1ms();
}

/**********************************************/
void delay_1us(void)   //1us級延時函數
{
asm("nop");
}

void delay_nus(uchar n)	//n*1us的延時函數
{
uchar  i=0;
for(i=0;i<n;i++)      //最大255us
delay_1us();
}
/********************************************************/
	

void shezhi0 ()
{
port_tmp = PINB;

    while ((port_tmp&0x01)==0)  	 //設置鍵的按下
    {   
    delay_nms(200);
        while ((port_tmp&0x01)==0)
    	{
        shezhi=1;   //設置鍵的標志置1      
        }
    }  
}	  
	  
   
void shuzijia0 ()
{
port_tmp = PINB;

    while ((port_tmp&0x02)==0)  	 //數字加鍵的按下
    {   
    delay_nms(200);
        while ((port_tmp&0x02)==0)
    	{
        shuzijia=1;                 //數字加的標志置1
        }
    }  
}	   
          

void shuzijian0 ()
{
port_tmp = PINB;

    while ((port_tmp&0x04)==0)  	 //數字減的按下
    {   
    delay_nms(200);
        while ((port_tmp&0x04)==0)
    	{
       shuzijian=1;                 //數字減的標志置1   
        }
    }  
}	



void queren0 ()
{
port_tmp = PINB;

    while ((port_tmp&0x20)==0)  	 //確認鍵的按下
    {   
    delay_nms(200);
        while ((port_tmp&0x20)==0)
    	{
       queren=1;                  //確認的標志置1  
        }
    }  
}	


void tuichu0 ()
{
port_tmp = PINB;

    while ((port_tmp&0x80)==0)  	  //退出鍵的按下
    {   
    delay_nms(200);
        while ((port_tmp&0x80)==0)
    	    {
             tuichu=1;                 //退出的標志置1
             shezhi=0;
             tuichu=0;   
            }
    }
	
 }
//剩下3個鍵做備用







// ***********************************************************
// *                向 BC728X 發送一個字節                   *
// ***********************************************************
void send_byte(uchar send_byte)
{  
    uchar ba;
    DATA_RU; 
   	    do 
   	    {				  // 產生clk 脈沖
   		CLK_0;        
		delay_nus(2);
   		CLK_1;             //怎么是一個上升沿
		//delay_nus(2);
        }      while (DATA);     // 等待 BC728X 輸出 dat 低電平響應
		    
		CLK_0;             // 再次輸出一 clk 脈沖  
		delay_nus(2);
   		CLK_1; 
		//delay_nus(2); 
	    		
	 //   while (!DATA);    
	   // 等待 BC728X 進入接收狀態
	   //再次輸出一 clk 脈沖之后,DATA會變為高電位,(!DATA)為假  
	   //while (!DATA)退出循環    進入下一級
	   
       for (ba=0;ba<8;ba++)
   	       {			    // 發送 8 個比特
       		if ((send_byte&0x80)==0)
        		{
                 DATA_CHU;
         		 DATA_0;     // 如果待發bit為0, 置 dat 為 0
				 delay_nus(3);
         	 	}
            else
             	{
	             DATA_CHU;
             	 DATA_1;		// 反之置為 1
				 delay_nus(3);
             	}
    		    send_byte=send_byte*2;	// send_byte 左移一位
                //其實就是send_byte最高位丟棄不要了
				//剩下二進制是00000000
                //重新進入下一位的檢測與發送

       		    CLK_0;			// 輸出一 clk 脈沖
				delay_nus(2);
       		    CLK_1;
       		    delay_nus(8);		// 短暫延時
   	       }
     DATA_1;				// 恢復 dat 為高電平
   	 delay_nus(8);
}

// **************************************************************
// 寫入BC728X, 第一參數為目標寄存器地址, 第二參數為要寫入的數據
// **************************************************************
void write728x(uchar reg_add, uchar write_data)
{
   	    
	send_byte(reg_add);		// 發送寄存器地址
	
	send_byte(write_data);	// 發送數據字節
	
}




/********************************************************/
/********************************************************/
/************************顯示子函數**********************/
/********************************************************/
void shuzi_display(uchar shuzi)
{
    uchar  bf=0,baiwei=0,baiweisj=0,shiwei=0,shiweisj=0,gewei=0,geweisj=0;
    CLK_CHU;
	bf=shuzi;
    //7281開機就開始上電復位了   之后自然不用復位	
   
    baiwei=shuzi/100;
    //調用BC7281顯示函數
    baiweisj=(baiwei|0x30);
    write728x(0x15, baiweisj);
    
    shiwei=((shuzi%100)/10);
    //調用BC7281顯示函數
    shiweisj=(shiwei|0x20);
    write728x(0x15, shiweisj);
    
    gewei =((shuzi%100)%10);
    //調用BC7281顯示函數
    geweisj=(gewei|0x10);
    write728x(0x15, geweisj);

}


/********************************************************/
/********************************************************/
/**********************0~255數字的選定*******************/
/********************************************************/

uchar shuzi_xuanze()                
{
uchar shuzi=0;        //  0~255
        
        while (shuzijia==1)           //數字加鍵確認
   	        {
		            shuzi++;
		            if(shuzi>255) shuzi=0;//要顯示
                                  
					shuzi_display(shuzi);//調用bc7281程序   
  			      	shuzijia=0 ;  
   		    }
        while (shuzijian==1)           //數字減鍵確認
   	        {
     				  shuzi--;
		              if(shuzi<0)shuzi=255;
		              //要顯示
                      //可以調用bc7281程序
					  shuzi_display(shuzi);
    	              shuzijian=0;
   		    }       		 
        if(queren==1) return shuzi; //需要確認才能返回 
			  
        queren=0;    		
}



/********************************************************/
/********************************************************/
/**********************項目選定子函數********************/
/********************************************************/


uchar  xiangmuxuanding()       
{
uchar xmzhi;

shuzi_xuanze();

xmzhi=shuzi_xuanze();

return xmzhi;

}

/********************************************************/
/********************************************************/
/**********************數值選定子函數********************/
/********************************************************/
uchar  shuzhixuanding()        
{
uchar shuzhi;

shuzi_xuanze();

shuzhi=shuzi_xuanze();

return shuzhi;

}

/***************寫EEPROM子函數**********************************/

void W_EEP(uint add,uchar dat) 
{
while(EECR&(1<<EEWE));	
EEAR=add;			
EEDR=dat;			
EECR|=(1<<EEMWE);
EECR|=(1<<EEWE);	
}
//****************讀EEPROM子函數*******************
uchar R_EEP(uint add)
{
while(EECR&(1<<EEWE));
EEAR=add;			
EECR|=(1<<EERE);
return EEDR;
}

/********************************************************/


/********************************************************/
/********************************************************/
/************************設置大函數**********************/
/********************************************************/







void shezhizong ()
{

        
        while (shezhi==1)    
        { 
		
          CLI();
          
          write728x(0x12,0x82); 
          // 初始化BC728x為164模式,不反相,BMS=1, KMS=0
         
          /**********************調用項目選定函數****有返回值*****/
          //xiangmuxuanding();
          //add=xiangmuxuanding();
        
          /********************調用數值選定函數****有返回值*******/
          //shuzhixuanding();
          //dat=shuzhixuanding();
                
          //  EEPROM的寫函數(有2個形參)
          //***************寫EEPROM子函數*****************
          W_EEP(xiangmuxuanding(),shuzhixuanding());
          shezhi=0;//退出設置大函數
          SEI(); //重新開啟全局允許中斷
          
        }
        

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
3atv一区二区三区| 欧美日韩成人在线一区| 五月天亚洲婷婷| 国产精品第五页| 日韩精品一区二区三区视频播放| 777xxx欧美| 日韩精品一区二区三区蜜臀 | 在线亚洲欧美专区二区| 欧美四级电影在线观看| 欧美精品久久99| 日韩欧美成人一区二区| 久久婷婷综合激情| 国产精品九色蝌蚪自拍| 亚洲裸体xxx| 爽好久久久欧美精品| 爽好多水快深点欧美视频| 久久91精品国产91久久小草| 国产高清不卡一区| 91福利在线导航| 国产精品美女久久久久久久久| 亚洲婷婷综合色高清在线| 青娱乐精品在线视频| 91在线云播放| 精品理论电影在线观看| 亚洲欧洲精品一区二区三区| 亚洲123区在线观看| 日韩影院在线观看| 成人一级片网址| 日韩欧美国产不卡| 亚洲成人高清在线| 成人黄页毛片网站| 日韩欧美一区二区在线视频| 国产乱人伦偷精品视频不卡| 日韩视频在线永久播放| 亚洲精品视频一区| 韩国精品主播一区二区在线观看 | 欧美日韩亚洲综合一区 | 五月天一区二区| 风流少妇一区二区| 欧美一区二区三区四区久久| 午夜伊人狠狠久久| 欧美日韩国产在线观看| 亚洲激情男女视频| 在线视频欧美区| 一区二区三区视频在线观看| 国产成人在线视频播放| 久久久99久久| 国产美女av一区二区三区| 欧美理论片在线| 亚洲图片欧美综合| 欧美日韩一区二区三区高清| 日本怡春院一区二区| 日韩免费高清av| 国产福利精品一区| 18欧美乱大交hd1984| 波多野结衣中文字幕一区二区三区 | 99riav一区二区三区| 一区二区三区在线视频观看58| 成人av在线资源网站| 亚洲国产另类av| 欧美成人a∨高清免费观看| 国内不卡的二区三区中文字幕| 久久久综合视频| 91久久精品国产91性色tv | 国产一区二区不卡在线 | 美日韩一区二区三区| 国产精品私人自拍| 在线成人午夜影院| 国产精品综合二区| 亚洲精品视频在线观看网站| 欧美一区二区视频免费观看| jlzzjlzz亚洲日本少妇| 日韩电影在线一区二区| 国产精品欧美久久久久无广告 | 久久久不卡网国产精品一区| 一本一道波多野结衣一区二区| 精品无人区卡一卡二卡三乱码免费卡 | 免费一区二区视频| 亚洲精品乱码久久久久久黑人 | 国产精品美女久久久久久久久久久| 91精品国产麻豆国产自产在线| 色婷婷av一区| 一本一道久久a久久精品| 国内精品自线一区二区三区视频| 亚洲国产欧美另类丝袜| 国产精品高潮呻吟| 久久免费看少妇高潮| 久久久不卡影院| 国产精品网站在线播放| 日韩美一区二区三区| 欧美日韩久久不卡| 7777女厕盗摄久久久| 欧美日韩mp4| 99re视频精品| heyzo一本久久综合| 成人激情视频网站| 在线视频你懂得一区| 一本大道av伊人久久综合| 91网上在线视频| 欧美日韩中文字幕一区| 精品视频一区二区三区免费| 91精品国产综合久久久蜜臀粉嫩| 91精品国产全国免费观看| 日韩美女天天操| 国产精品视频一二| 亚洲欧美日本在线| 亚洲国产精品久久不卡毛片| 精品一二三四区| 99亚偷拍自图区亚洲| 日韩午夜av电影| 日本一区二区免费在线 | 午夜精品一区在线观看| 久久精品国产亚洲高清剧情介绍| 麻豆成人综合网| 欧美亚洲精品一区| 久久品道一品道久久精品| 首页欧美精品中文字幕| av电影天堂一区二区在线| 日韩欧美自拍偷拍| 亚洲黄色录像片| 激情欧美一区二区| 6080yy午夜一二三区久久| 国产欧美视频一区二区| 亚洲综合免费观看高清完整版在线 | 91精品国产欧美一区二区成人| 亚洲国产一区二区三区 | 欧美中文字幕一区二区三区| 精品日韩在线观看| 亚洲精品中文在线观看| 欧美无乱码久久久免费午夜一区| 精品国产污网站| 裸体健美xxxx欧美裸体表演| 欧美日韩亚洲另类| 亚洲国产精品一区二区尤物区| 成人小视频在线| 国产视频一区二区在线观看| 免费人成黄页网站在线一区二区| 日本高清不卡视频| 日欧美一区二区| 欧美一区二区免费观在线| 久久99精品一区二区三区| 日韩欧美一区中文| 看电视剧不卡顿的网站| 精品第一国产综合精品aⅴ| 狠狠v欧美v日韩v亚洲ⅴ| 日本一区二区在线不卡| a在线播放不卡| 首页综合国产亚洲丝袜| 日韩一级二级三级精品视频| 色系网站成人免费| 另类小说一区二区三区| 久久国产三级精品| 久久精品夜色噜噜亚洲aⅴ| jlzzjlzz国产精品久久| 免费三级欧美电影| 最新高清无码专区| 日韩欧美一级精品久久| 国产成人无遮挡在线视频| 亚洲免费观看高清完整版在线观看熊| 欧美视频一区在线| 国产高清在线观看免费不卡| 亚洲国产视频直播| 国产精品护士白丝一区av| 9191成人精品久久| 色噜噜偷拍精品综合在线| 国产美女精品一区二区三区| 天堂精品中文字幕在线| 亚洲欧美日韩精品久久久久| 久久你懂得1024| 日韩欧美你懂的| 3751色影院一区二区三区| 欧美精品精品一区| 成人h精品动漫一区二区三区| 亚洲手机成人高清视频| 在线观看日韩电影| 国产福利一区二区三区在线视频| 久久不见久久见中文字幕免费| 亚洲国产一二三| 日本vs亚洲vs韩国一区三区二区| 亚洲情趣在线观看| 亚洲黄色av一区| 亚洲妇女屁股眼交7| 亚洲一区在线观看免费观看电影高清| 国产色91在线| 国产精品欧美一区喷水| 久久久精品国产免费观看同学| 欧美成人一区二区| 精品国产亚洲在线| 国产欧美精品一区二区色综合| 国产精品美女久久久久久久久| 亚洲日本乱码在线观看| 亚洲国产一二三| 精品亚洲porn| 99精品黄色片免费大全| 欧美午夜精品免费| 国产亚洲一区字幕| 一区二区三区美女视频| 免费高清在线视频一区·| 国产成人超碰人人澡人人澡| 色综合激情五月|