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

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

?? x5043.c

?? X5043讀寫(xiě)程序
?? C
字號(hào):
#include  <intrins.h>
#include  "STC12C5410.H" 
#include  "headfile1.c"

  
//5043的操作注意事項(xiàng)
/*
1. 任何寫(xiě)操作之前必須執(zhí)行WREN指令,該指令將寫(xiě)允許鎖存位WEL置位,WEL在上電后,
   一個(gè)寫(xiě)周期,及WP被拉低時(shí)都將復(fù)位

2. 在寫(xiě)入WREN和WESR指令之間,CS上必須有LOW-HIGH的跳變,否則WRSR指令將會(huì)被忽略。

    WEL和WP的任意一個(gè)有效時(shí),所有的MEMORY BLOCK和 STATUS REGISTER 都將被保護(hù)而
    當(dāng)兩位都無(wú)效時(shí),只有由BL決定的保護(hù)區(qū)被寫(xiě)保護(hù)。
    
3. CS片選后,依次寫(xiě)入READ指令以及要讀的ADDRESS,連續(xù)的讀操作將會(huì)使地址轉(zhuǎn)向下一
   個(gè)更高的地址,讀到最高地址后將會(huì)翻轉(zhuǎn)到000X,將CS置位將會(huì)結(jié)束讀操作
   
4. 寫(xiě)操作之前,首先復(fù)位CS,用WREN指令置位WEL,置位CS。后再將CS復(fù)位,依次寫(xiě)入
    WRITE指令,address,以及 DATA ( WRITE 指令的BIT.3代表address的BIT.8 ),可以
    執(zhí)行連續(xù)寫(xiě)操作,但是所有的寫(xiě)入ADDRESS只能在一頁(yè)中,寫(xiě)操作執(zhí)行過(guò)程中CS的置
    位將導(dǎo)致寫(xiě)操作中斷
    
5. 上電后,在開(kāi)始任何操作之前,都必須使CS引腳上有一個(gè)HIGH-LOW的變化,相當(dāng)預(yù)先
   執(zhí)行一個(gè)喂狗操作
    
*/


//------------------//

bit flow;

//------------------//
	  
//5043的操作指令
#define  WREN  0X06      //寫(xiě)允許
#define  WRDI  0X04      //寫(xiě)禁止
#define  RSDR  0X05      //讀狀態(tài)寄存器
#define  WRSR  0X01      //寫(xiě)狀態(tài)寄存器
#define  READ  0X03      //讀操作
#define  WRITE 0X02      //寫(xiě)操作

sbit  CS=P1^2;           //片選端,低電平有效
sbit  SCK=P1^3;           //時(shí)鐘信號(hào)     The Serial Clock controls the serial bus timing for data input and output
sbit  SI=P1^4;           //數(shù)據(jù)輸入端    Data is latched by the rising edge of the serial clock.
sbit  SO=P1^5;           //數(shù)據(jù)輸出端    During a read cycle, data is shifted out on this pin.
                         // Data is clocked out by the falling edge of the serial clock.
sbit  WP=P1^6;           //寫(xiě)保護(hù),低電平有效  When WP is low, nonvolatile writes to the X5043/45 are
                         //disabled, but the part otherwise functions normally.When WP is held high, 
                         //all functions, including non volatile writes operate normally

//us級(jí)延時(shí)函數(shù)delay_us(BYTE),仿真結(jié)果為每一循環(huán)3us(11.0592MHZ,STC12C5410)
static void delay_us(BYTE timeout)
{
	  volatile BYTE del;
	  for(del=timeout;del>0;del--)
	  {
	  _nop_();
	  _nop_();
	  _nop_();
	  _nop_();
	  _nop_();
	  _nop_();
	  _nop_();
	  _nop_();
	  _nop_();
	  _nop_();
	  _nop_();
	  _nop_();
	  _nop_();
	  _nop_();
	  _nop_();
	  
	}
  
}


//ms級(jí)延時(shí)函數(shù)
static void delay_ms(WORD timeout)
{
	   volatile WORD del;
	   for(del=timeout;del>0;del--)
	   {
	    	   delay_us(166);   //1/2ms
	    	   _WDT_();
	   }
	   
} 

static void open(void)          //片選及關(guān)閉寫(xiě)保護(hù)
{
	 SI = 0;
	 SO = 1;
	 SCK= 0;	 
	 CS = 0;
	 WP = 1;
}

static void close(void)         //禁止片選,打開(kāi)寫(xiě)保護(hù)
{   
   SI = 0;
   SO = 1;
   SCK= 0;
   CS = 1;
   WP = 0;
   
}
	

static void outbyte(BYTE val)    //輸出字節(jié)
{
	 BYTE over; 

   for (over=8;over>0;over--)//8次循環(huán),輸出一個(gè)字節(jié)
	 {   
	 	   
	 	   SCK = 0;                //時(shí)鐘低電平
	 	   if(val&0x80)    SI = 1;
	 	   else            SI = 0;

	 	   delay_us(0x05);           //延時(shí),等待數(shù)據(jù)穩(wěn)定

 	 	   SCK = 1;              //數(shù)據(jù)輸出	             
	 	   delay_us(0x05);          //延時(shí)

       val <<= 1;            //輸出下一位	 	   
	 }
	 
	 SI = 0;
	 SCK = 0;

	 delay_us(0x10);
   
}  	 

	    
 	 
static BYTE inbyte(void)        //輸入字節(jié)
{
	   BYTE temp, val=0;
	
	   for(temp=8;temp>0;temp--)  //8次循環(huán),完成字節(jié)讀入
	   {
                         	                   	 		 
	   	 
	   	 if(SO)  val |= 0x01;
	     else    val &= 0x0FE;    //讀入下一位,當(dāng)addr的最后一位寫(xiě)完的falling edge,數(shù)據(jù)已經(jīng)
	                              //開(kāi)始輸出,所以進(jìn)入后直接先移入
	   	 SCK = 1;
	     delay_us(0x02);	   	
	     SCK = 0;                 //讀數(shù)據(jù)時(shí)鐘
	     delay_us(0x02);	
	        
	     if(temp>1)  val <<= 1;           	
	   }  

	   SCK = 0;
	   delay_us(0x10);

	   return val;                //返回讀入值
	   
}



void start_5043 (void)
{	 
	  //It should be noted that after power-up,a high to low transition
	  // on CS is required prior to the start of any operation
	  CS = 1;
    delay_us(10);
    CS = 0;

	  open();             //片選,關(guān)閉寫(xiě)保護(hù)
	  outbyte(WREN); 

    CS = 1;
    delay_us(10);       //WREN與WRSR之間CS拉高
    CS = 0;

	  outbyte(WRSR);      //寫(xiě)狀態(tài)寄存器

	  outbyte(0x30);      
  
	  delay_ms(20);       //寫(xiě)操作延時(shí)
	  
	  close();
}
    

BYTE read(BYTE addr)     //從5043讀出單字節(jié)數(shù)據(jù)
{
	 BYTE temp;
	 open();
	 
	 outbyte(READ);          //寫(xiě)入讀指令
	 
	 outbyte(addr);          //寫(xiě)入讀起始地址
	 
	 temp = inbyte();        //讀數(shù)據(jù)
	 
	 close(); 
   
   delay_ms(20);        
	 return temp;            
	 
}


  
void save_to_5043(BYTE addr,BYTE val)   //向5043寫(xiě)入單字節(jié)數(shù)據(jù)
{
	  open();                   //寫(xiě)允許
	  
	  outbyte(WREN);

    CS = 1;
    delay_us(10);
    CS = 0;

 
	  //If CS does not go HIGH between WREN and WRITE, the WRITE
    //instruction is ignored
	  outbyte(WRITE);          //寫(xiě)入寫(xiě)操作命令
	  
	  outbyte(addr);           //寫(xiě)入寫(xiě)操作地址
	  
	  outbyte(val);            //寫(xiě)入數(shù)據(jù)
	  
	  delay_ms(20);            //此處不做對(duì)WIP的判斷,直接做延時(shí)處理
	  
	  close();                 //寫(xiě)操作禁止
	  
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人h动漫精品一区二区| 在线电影院国产精品| 九色综合狠狠综合久久| 五月天欧美精品| 亚洲图片欧美一区| 亚洲成人黄色影院| 日欧美一区二区| 美女视频一区在线观看| 免费成人av在线| 毛片av中文字幕一区二区| 久久99久久99精品免视看婷婷| 麻豆一区二区三| 国产麻豆午夜三级精品| 福利视频网站一区二区三区| 国产**成人网毛片九色| av亚洲精华国产精华精华| 91啪九色porn原创视频在线观看| 在线亚洲高清视频| 欧美日韩国产首页| 日韩欧美一区电影| 久久免费看少妇高潮| 国产色产综合产在线视频| 成人免费小视频| 一区二区三区四区精品在线视频| 亚洲高清免费视频| 久久av资源网| 丁香六月久久综合狠狠色| 97久久久精品综合88久久| 欧美日韩一卡二卡三卡| 日韩色在线观看| 国产精品久久久久精k8| 亚洲香肠在线观看| 一本色道**综合亚洲精品蜜桃冫| 一本一道波多野结衣一区二区 | 欧美精品少妇一区二区三区| 91精品国产综合久久久久| 欧美一区三区二区| 国产欧美精品一区二区色综合| 最好看的中文字幕久久| 日韩专区一卡二卡| 成人激情午夜影院| 欧美日韩免费一区二区三区视频| 精品国产乱码久久久久久影片| 国产精品久久久久三级| 日韩精品乱码av一区二区| 国产夫妻精品视频| 色欧美88888久久久久久影院| 日韩免费观看高清完整版在线观看| 欧美韩日一区二区三区四区| 亚洲国产精品久久不卡毛片 | 国产一区二区剧情av在线| 99国产精品99久久久久久| 538在线一区二区精品国产| 中文字幕免费观看一区| 天堂av在线一区| 成人精品视频一区二区三区| 欧美精品久久一区二区三区| 久久久99精品免费观看不卡| 亚洲国产色一区| 懂色av一区二区夜夜嗨| 9191国产精品| 亚洲视频小说图片| 久久精品国产99| 欧美午夜片在线看| 国产精品视频一二| 美腿丝袜在线亚洲一区| 在线免费观看视频一区| 国产色婷婷亚洲99精品小说| 日韩电影在线免费看| 91啪亚洲精品| 亚洲国产精品v| 国模冰冰炮一区二区| 欧美日韩高清一区二区| 亚洲色图制服丝袜| 国产99久久久精品| 欧美videos大乳护士334| 亚洲国产裸拍裸体视频在线观看乱了| 成人美女在线观看| 欧美va日韩va| 同产精品九九九| 91偷拍与自偷拍精品| 国产日产精品1区| 黄色资源网久久资源365| 欧美狂野另类xxxxoooo| 亚洲一区视频在线| 91麻豆国产精品久久| 中文字幕av一区二区三区高| 韩国精品免费视频| 欧美mv和日韩mv国产网站| 男男gaygay亚洲| 欧美一卡二卡三卡| 五月婷婷久久丁香| 欧美肥大bbwbbw高潮| 亚洲一区二区在线观看视频 | 欧美视频完全免费看| 亚洲欧美另类在线| av福利精品导航| 国产精品美女久久久久aⅴ| 粉嫩一区二区三区性色av| 日本一二三不卡| 成人h版在线观看| 国产精品嫩草影院com| 日韩免费看的电影| 久久99久国产精品黄毛片色诱| 日韩一区二区三区精品视频| 人人超碰91尤物精品国产| 欧美精品777| 天使萌一区二区三区免费观看| 91精品视频网| 捆绑调教美女网站视频一区| 精品对白一区国产伦| 韩国女主播一区| 欧美国产一区在线| 成人app在线| 亚洲综合色噜噜狠狠| 欧美日韩国产片| 日本美女一区二区三区| 日韩一区二区精品在线观看| 国产一区二区0| 国产精品欧美经典| 91视频com| 亚洲va韩国va欧美va| 欧美va亚洲va在线观看蝴蝶网| 国产九九视频一区二区三区| 亚洲欧洲成人精品av97| 91福利区一区二区三区| 蜜桃精品视频在线| 欧美国产一区二区| 欧洲人成人精品| 美女视频黄a大片欧美| 日本一区二区三级电影在线观看| av在线播放不卡| 婷婷开心久久网| 精品处破学生在线二十三| 99免费精品在线| 日韩成人dvd| 国产精品女主播av| 欧美亚洲另类激情小说| 九色|91porny| 亚洲日本欧美天堂| 日韩视频在线一区二区| 99精品视频在线免费观看| 亚洲成人在线观看视频| 精品日韩欧美在线| 91色婷婷久久久久合中文| 麻豆国产精品777777在线| 亚洲欧洲www| 日韩丝袜美女视频| 91日韩精品一区| 久久91精品久久久久久秒播| 成人欧美一区二区三区1314| 91精品一区二区三区久久久久久 | 久久久不卡网国产精品二区| 一本久道久久综合中文字幕| 精品一区二区久久| 亚洲一线二线三线久久久| 国产午夜精品一区二区三区视频| 在线中文字幕不卡| 国产成人免费视频一区| 99久久精品免费看| 久久国产乱子精品免费女| 亚洲免费观看视频| 亚洲精品一区二区三区香蕉| 91福利小视频| 国产成人精品影院| 免费在线一区观看| 亚洲一区成人在线| 日本一区二区三级电影在线观看| 91 com成人网| 日本高清不卡在线观看| 国产激情视频一区二区三区欧美 | 亚洲午夜久久久久| 国产精品美女一区二区| 精品国产一区二区在线观看| 欧美体内she精视频| va亚洲va日韩不卡在线观看| 黄网站免费久久| 日产国产欧美视频一区精品| 一区二区三区在线视频免费观看| 久久久精品影视| 精品噜噜噜噜久久久久久久久试看| 在线观看日韩av先锋影音电影院| 成人午夜视频在线观看| 国产真实乱对白精彩久久| 日本不卡在线视频| 亚洲午夜一二三区视频| 亚洲欧美国产77777| 国产精品久久久久天堂| 国产欧美日本一区二区三区| 日韩精品一区二区三区中文不卡| 欧美日韩成人在线| 日本韩国欧美一区| 91香蕉视频污| 91丨porny丨中文| 成人成人成人在线视频| 国产宾馆实践打屁股91| 国产乱人伦精品一区二区在线观看| 久久精品噜噜噜成人av农村| 日本视频免费一区| 日韩1区2区日韩1区2区|