新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > PCF8583+LM1602的protues仿真實例(C語言)

        PCF8583+LM1602的protues仿真實例(C語言)

        作者: 時間:2016-11-25 來源:網絡 收藏
        程序代碼:

        #include
        #include
        #include
        #define lcdwritecmd XBYTE[0xFC00]
        #define ledwritedat XBYTE[0xFE00]
        sbit SCL=P1^0 ;
        sbit SDA=P1^1 ;
        char tab[2];
        unsigned char year,mon,day,hour,min,sec,state,hudsec;
        //============================延時函數====================================
        void delay(unsigned char n)
        {
        unsigned char i,j;
        for(i=0;i for(j=0;j<5;j++);
        }
        void delayshort()
        {
        _nop_();
        _nop_();
        _nop_();
        _nop_();
        }
        //=========================================================================
        //============================1602寫指令函數===============================
        void writecmd(unsigned char a)
        {
        delay(100);
        lcdwritecmd=a;
        }
        //=========================================================================
        //============================1602寫數據函數===============================
        void writedata(char lcddata)
        {
        delay(10);
        ledwritedat=lcddata;
        }
        //=========================================================================
        //===========================1602顯示字符串據函數==========================
        void displaystring(unsigned char add,unsigned char n,char tab[])
        {
        unsigned char i;
        for(i=0;i {
        writecmd(add+i);
        writedata(tab[i]);
        delay(100);
        }
        }
        //=========================================================================
        //===========================I2C開始信號函數===============================
        void start()
        {

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

        }
        //=========================================================================
        //===========================I2C結束信號函數===============================
        void stop()
        {

        }
        //=========================================================================
        //===========================I2C從機等待應答信號函數=======================
        void waitack()
        {

        }
        //=========================================================================
        //===========================I2C主機應答信號函數===========================
        void mack()
        {

        }
        //=========================================================================
        //===========================I2C寫一個字節函數=============================
        void write_byte(unsigned char a)
        {

        }
        //=========================================================================
        //===========================I2C讀一個字節函數=============================
        unsigned char read_byte()
        {

        }
        //=========================================================================
        //===========================PCF8583寫函數=================================
        //參數adr:寄存器地址
        //參數dat:寫入得數據
        void PCF8583_write(unsigned char adr,unsigned char dat)
        {
        start();
        write_byte(0xa0);
        waitack();
        write_byte(adr);
        waitack();
        write_byte(dat);
        waitack();
        stop();
        }
        //=========================================================================
        //===========================PCF8583讀函數=================================
        //連續讀區以00起始地址的7個單元的數據
        void PCF8583_read()
        {
        start();
        write_byte(0xA0);
        waitack();
        write_byte(0x00);
        waitack();
        stop();
        start();
        write_byte(0xA1);
        waitack();
        state = read_byte(); // 讀狀態寄存器的值
        mack();
        hudsec = read_byte(); // 讀百分之一秒數值寄存器的值
        mack();
        sec = read_byte(); // 讀秒數值寄存器的值
        mack();
        min = read_byte(); // 讀分數值寄存器的值
        mack();
        hour = read_byte(); // 讀時數值寄存器的值
        mack();
        day = read_byte(); // 讀天數值寄存器的值
        mack();
        mon = read_byte(); // 讀時月值寄存器的值
        mack();
        stop();

        }


        上一頁 1 2 下一頁

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 沛县| 西城区| 垫江县| 家居| 沂南县| 杭锦旗| 鹿邑县| 尉犁县| 讷河市| 修武县| 墨竹工卡县| 拉萨市| 石柱| 出国| 佛教| 屏东县| 盐池县| 桂林市| 鹿邑县| 上虞市| 连南| 江孜县| 仪征市| 吕梁市| 开阳县| 永定县| 前郭尔| 博白县| 微博| 泰和县| 乐都县| 荣成市| 西宁市| 凤城市| 南宁市| 绵阳市| 嵩明县| 基隆市| 西城区| 南开区| 张家口市|