新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于X5045的看門狗電路及51讀寫x5045存儲器的程序

        基于X5045的看門狗電路及51讀寫x5045存儲器的程序

        作者: 時間:2012-08-03 來源:網絡 收藏

        是一種集狗、電壓監(jiān)控和串行EEPROM 三種功能于一身的可編程控制.特別適合應用在需要少量,并對板空間需求較高場合,

        本文引用地址:http://www.104case.com/article/171073.htm

        具有電壓監(jiān)控功能,可以保護系統免受低電壓的影響,當電源電壓降到允許范圍(4.2V)以下時,系統將復位,直到電源電壓返回到穩(wěn)定值為止。與CPU 通過串行通信方式接口(SPI),可以存放512個字節(jié)數據.可擦寫100萬次,數據可保存100年.

        下圖是X5045與具有手動復位的8051微控制器的連接


        注意:圖上的芯片寫著是X5043,實際上這是X5045的接法

        下邊是51

        //和51的連接方法
        sbit CS = P1^0;
        sbit SO = P1^3;
        sbit SI = P1^1;
        sbit SCK = P1^2;
        //定義寄存器指令
        #define WREN 0x06 // 寫入使能指令(WREN)
        #define WRDI 0x04 // 寫入禁止指令(WRDI)
        #define WRSR 0x01 // 寫入狀態(tài)寄存器指令(WRSR)
        #define RDSR 0x05 // 讀取狀態(tài)寄存器指令(RDSR)
        #define WRITE 0x02 // 寫入存儲器指令(WRITE)
        #define READ 0x03 // 讀取存儲器指令(READ)

        #define STATUS_REG 0x00 // 要寫入到狀態(tài)寄存器的值
        #define MAX_POLL 0x99 // 最在查詢次數m number of


        void outbyte(unsigned char write_data)
        {
        unsigned char i;
        for(i = 0; i 8; i++)
        {
        SCK = 0;
        SI = (bit)(write_data 0x80); //傳送一個位到SI
        write_data = 1;
        SCK = 1;
        }
        SI = 0;
        }
        unsigned char inbyte()
        {
        unsigned char i;
        unsigned char read_data=0;

        for(i = 0; i 8; i++)
        {
        SCK = 0;
        read_data = 1;
        SCK = 1;
        read_data |= (unsigned char)SO;
        }
        return read_data;
        }

        DIY機械鍵盤相關社區(qū):機械鍵盤DIY



        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區(qū)

        關閉
        主站蜘蛛池模板: 都昌县| 同仁县| 淮北市| 孟连| 廊坊市| 贺州市| 太和县| 长顺县| 深泽县| 奈曼旗| 连州市| 资中县| 蒙自县| 晋宁县| 顺平县| 孟连| 涞源县| 库尔勒市| 乳源| 大城县| 墨玉县| 特克斯县| 沙田区| 仪陇县| 永康市| 云和县| 于都县| 金秀| 高密市| 翼城县| 辰溪县| 巴彦淖尔市| 韶山市| 图木舒克市| 恩施市| 兰州市| 七台河市| 饶平县| 刚察县| 顺平县| 鸡西市|