新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 51單片機對SAA7113初始化和控制的程序代碼

        51單片機對SAA7113初始化和控制的程序代碼

        作者: 時間:2012-02-13 來源:網絡 收藏

        用51對7113化和

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

          化就是對寄存器配置合適的參數,使其能夠有符合要求的輸出。寄存器配置通過I2C總線來進行,很多可以I2C總線的器件都可以作為主器件對7113進行化,這里介紹用51初始化7113的例子。

          51和7113的硬件連接非常簡單,只要把單片機的兩個I/O口(如P1.0、P1.0)直接和7113的SCL、SDA管腳相連,再加上上拉電阻即可。

          用單片機初始化7113的主要任務是的編寫,首先要熟悉I2C總線協議,根據I2C總線的原理寫出啟動、停止、應答信號等的子,由子再寫出發送、接收1個字節的程序,然后根據7113的寄存器操作格式寫出讀寫寄存器的程序,最后根據以上的子程序寫出初始化7113的程序段。

          對7113的一般是改變色度、亮度等指標以及輸出管腳的輸出信號,這可以通過修改相應寄存器的值來完成,程序上寫出“讀寫命令”即可。

          下面以程序段的形式給出初始化以及讀寫寄存器的具體例子,以供參考。

          SDA BIT P1.0

          SCL BIT P1.1

          I2C_ERROR BIT 00H ;I2C總線數據傳輸出錯標志

          DeviceaddressW EQU 4AH ;7113器件地址+寫

          DeviceaddressR EQU 4BH ;7113器件地址+讀

          Subaddress EQU 4DH ;7113寄存器地址字節在單片機中的存放地址

          DATA_I2C EQU 50H ;設置寫入或讀出數據在單片機中的存放地址

          ;*************啟動**************

          I2C_START: SETB SDA

          NOP

          SETB SCL

          NOP

          CLR SDA

          NOP

          CLR SCL

          RET

          ;***************停止**************

          I2C_STOP: CLR SDA

          NOP

          SETB SCL

          NOP

          SETB SDA

          NOP

          RET

          ;************送應答位************

          SEND_ACK: CLR SCL

          NOP

          CLR SDA

          NOP

          SETB SCL

          NOP

          ?NOP

          CLR SCL

          NOP

          SETB SDA

          RET

          ;***********送非應答位***********

          SEND_NOACK: SETB SDA

          NOP

          SETB SCL

          NOP

          NOP

          CLR SCL

          NOP

          RET

          ;***********檢查應答位************

          CHECK_ACK: NOP

          CLR SCL

          NOP

          SETB SDA


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 皋兰县| 城固县| 陆川县| 遵义市| 丰顺县| 嘉荫县| 巧家县| 砀山县| 阿合奇县| 新丰县| 麦盖提县| 饶河县| 冷水江市| 陆河县| 北碚区| 西畴县| 综艺| 温州市| 清河县| 隆化县| 当雄县| 将乐县| 乐清市| 秦安县| 炎陵县| 秦皇岛市| 麟游县| 青岛市| 印江| 双柏县| 江陵县| 千阳县| 松阳县| 江门市| 黔东| 吴川市| 江安县| 曲松县| 通榆县| 嘉定区| 祁门县|