在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 使用PIC12C508讀寫93LC4的HI-TECH C代碼

            使用PIC12C508讀寫93LC4的HI-TECH C代碼

            作者: 時(shí)間:2012-07-18 來源:網(wǎng)絡(luò) 收藏

            本文引用地址:http://www.biyoush.com/article/171143.htm

            /*----------------------------------------------------
            Function : StartBit
            Input : None
            Output : None
            Description :
            1. Set Chip Select(CS) = 1 (high)
            2. Set a Start Bit(1) to Serial Data Input(DI)
            ------------------------------------------------------*/
            void StartBit(void)
            {
            CS = 1;
            DI = 1;
            Pulse();
            }

            /*----------------------------------------------------
            Function : EWEN
            Input : None
            Output : None
            Description : ERASE/WRITE Enable
            ------------------------------------------------------*/
            void EWEN(void)
            {
            unsigned char i,temp;

            StartBit(); /* 1 */

            temp = 0x80; /* 0011xxxx ,(opcode:00, Address:11xxxx) */
            for(i=0; i8; i++) {
            if(0x30 temp)
            DI = 1;
            else
            DI = 0;
            Pulse();
            temp >>= 1;
            }

            CS = 0;
            }

            /*----------------------------------------------------
            Function : EWDS
            Input : None
            Output : None
            Description : ERASE/WRITE Disable
            ------------------------------------------------------*/
            void EWDS(void)
            {
            unsigned char i;

            StartBit(); /* 1 */

            DI = 0; /* 0000xxxx, (opcode:00, Address:00xxxx) */
            for(i=0; i8; i++)
            Pulse();

            CS = 0;
            }

            /*----------------------------------------------------
            Function : Write6
            Input : unsigned char Offset Address, unsigned int tx_data
            Output : None
            Description : Write 16bits data in to 6 Offset Address
            ------------------------------------------------------*/
            void Write6(unsigned char Offset_Addr, unsigned int tx_data)
            {
            unsigned char Addr, i;
            unsigned int temp;

            EWEN();

            StartBit(); /* 1 */
            Offset_Addr=Offset_Addr0x3F; /* 6bits address */
            Addr = Offset_Addr + 0x40; /* 01AAAAAA ,(opcode:01, address:AAAAAA) */
            temp = 0x0080;
            for(i=0; i8; i++) {
            if(Addr temp)
            DI = 1;
            else
            DI = 0;
            Pulse();
            temp >>= 1;
            }

            temp = 0x8000; /* DDDDDDDDDDDDDDDD(16bits data)*/
            for(i=0; i16; i++) {
            if(tx_data temp)
            DI = 1;
            else
            DI = 0;
            Pulse();
            temp >>= 1;
            }
            CS = 0;

            EWDS();
            }

            /*----------------------------------------------------
            Function : Read93LC46
            Input : unsigned char Offset Address
            Output : unsigned int
            Description : Read 16bits data from 93LC46 offset address
            ------------------------------------------------------*/
            unsigned int Read93LC46(unsigned char Offset_Addr)
            {
            unsigned char Addr, i, temp;
            unsigned int rx_data;

            StartBit(); /* 1 */
            Offset_Addr = Offset_Addr0x3F; /* 6bits address */
            Addr = Offset_Addr + 0x80; /* 10AAAAAA ,(opcode:10, address:AAAAAA) */
            temp = 0x80;
            for(i=0; i8; i++) {
            if(Addr temp)
            DI = 1;
            else
            DI = 0;
            Pulse();
            temp >>= 1;
            }

            rx_data = 0x0000; /* DDDDDDDDDDDDDDDD(16bits data)*/
            for(i=0; i16; i++) {
            Pulse();
            if(DO)
            rx_data |= 0x0001;
            if(i 15)
            rx_data = 1;
            }
            CS = 0;

            return(rx_data);
            }

            void InitPIC(void)
            {
            OPTION = (GPWU | GPPU | PS2 | PS1 | PS0);
            TRIS = 0x10;
            CS = 0;
            CLK = 0;
            DI = 0;
            }

            /* Main routine */
            void main(void)
            {
            unsigned char addr;
            unsigned int rx_buf;

            InitPIC();
            /* Read a word then +1 and write back to 93LC46 */
            for (addr = 0; addr 10; addr++)
            {
            rx_buf = Read93LC46(addr);
            rx_buf = rx_buf+1;
            Write93LC46(addr, rx_buf);
            }

            }

            51單片機(jī)相關(guān)文章:51單片機(jī)教程


            c語言相關(guān)文章:c語言教程



            上一頁(yè) 1 2 下一頁(yè)

            關(guān)鍵詞: HI-TECH 代碼 93LC4 讀寫 PIC12C508 使用

            評(píng)論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉