×
嵌入式开发 > 详情

51单片机对SAA7113初始化和控制的程序代码

发布时间:2020-07-08 发布时间:
|

用51单片机对7113初始化和控制

SAA7113初始化就是对寄存器配置合适的参数,使其能够有符合要求的输出。寄存器配置通过I2C总线来进行,很多可以控制I2C总线的器件都可以作为主器件对7113进行初始化,这里介绍用51单片机初始化7113的例子。

51单片机和7113的硬件连接非常简单,只要把单片机的两个I/O口(如P1.0、P1.0)直接和7113的SCL、SDA管脚相连,再加上上拉电阻即可。

用单片机初始化7113的主要任务是程序的编写,首先要熟悉I2C总线协议,根据I2C总线的原理写出启动、停止、应答信号等的子程序,由子程序再写出发送、接收1个字节的程序,然后根据7113的寄存器操作格式写出读写寄存器的程序,最后根据以上的子程序写出初始化7113的程序段。

对7113的控制一般是改变色度、亮度等指标以及输出管脚的输出信号,这可以通过修改相应寄存器的值来完成,程序上写出“读写命令”即可。

下面以程序段的形式给出初始化SAA7113以及读写寄存器的具体例子,以供参考。

SDABITP1.0

SCLBITP1.1

I2C_ERRORBIT00H;I2C总线数据传输出错标志

DeviceaddressWEQU4AH;7113器件地址+写

DeviceaddressREQU4BH;7113器件地址+读

SubaddressEQU4DH;7113寄存器地址字节在单片机中的存放地址

DATA_I2CEQU50H;设置写入或读出数据在单片机中的存放地址

;*************启动**************

I2C_START:SETBSDA

NOP

SETBSCL

NOP

CLRSDA

NOP

CLRSCL

RET

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

I2C_STOP:CLRSDA

NOP

SETBSCL

NOP

SETBSDA

NOP

RET

;************送应答位************

SEND_ACK:CLRSCL

NOP

CLRSDA

NOP

SETBSCL

NOP

?NOP

CLRSCL

NOP

SETBSDA

RET

;***********送非应答位***********

SEND_NOACK: SETBSDA

NOP

SETBSCL

NOP

NOP

CLRSCL

NOP

RET

;***********检查应答位************

CHECK_ACK: NOP

CLRSCL

NOP

SETBSDA


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
Recogni:将高端AI芯片推向自动驾驶边缘