历史上的今天
今天是:2024年10月12日(星期六)
2020年10月12日 | MSP430F1121与PCF8576驱动程序
2020-10-12 来源:elecfans
#include "MSP430x11x1.h"
#define uint unsigned int
#define uchar unsigned char
//器件地址
uchar PCF8576=0x70;
//内存数据定义
uchar ByteCnt; //I2C 数据字节计数器
uchar SlvAdr; //被控器地址
uchar SubAdr; //被控器单元地址
uchar XmtDat[5]; //发送数据缓冲区
//uchar MODE1=0x45;
uchar MODE2=0xCD; //
uchar Bank_sel=0x78;
uchar flag;
uchar Digit[10];
#define SDA BIT3 // P2.3 controls SDA line (pull-up used for
logIC 1)
#define SCL BIT4 // P2.4 controls SCL line (pull-up used for logic 1)
/******************************************************************************
; 子程序
;名称:START
;描述:启动I2C 总线子程序--发送I2C 起始条件
;;*****************************************************************************/
void START(void)
{
P2OUT |= SDA; //SDA=1
_NOP();
P2OUT |= SCL; //SCL=1
_NOP();
P2OUT &= ~SDA; //SDA=0
_NOP();
P2OUT &= ~SCL; //SCL=0
}
/*--------------------------------------------------------------------------
;名称:STOP
;描述:停止I2C 总线子程序--发送I2C 总线停止条件
;-------------------------------------------------------------------------*/
void STOP(void)
{
P2OUT &= ~SDA; //SDA=0
_NOP();
P2OUT |= SCL;
_NOP();
P2OUT |= SDA;
_NOP();
P2OUT &= ~SCL;
}
void cack(void) /* 应答位检查 */
{
P2OUT |= SDA;
P2OUT |= SCL;
P2DIR &= ~SDA;
_NOP();
P2OUT &= ~SCL;
P2DIR |= SDA;
}
void delay(uchar time)
{
uchar i;
do{
for(i=100;i!=0;i--);
} while(--time!=0);
}
/*----------------------------------------------------------------------
;名称:SendByte
;描述:字节数据传送子程序发送一个字节数据或地址给被控器PCF8576
;------------------------------------------------------------------------*/
void SendByte(uchar Data)
{
uchar i=8;
do
{
if((Data&0x80)==0x80)
P2OUT |= SDA;
else
P2OUT &= ~SDA;
P2OUT |= SCL;
_NOP ();
P2OUT &= ~SCL;
Data=Data
下一篇:LED路灯智能控制系统设计方案
史海拾趣
|
ARM培训视频-dsp-CPLD-FPGA开发视频-嵌入式系统开发-单片机开发视频 ARM培训视频-dsp-CPLD-FPGA开发视频-嵌入式系统开发-单片机开发视频 ------------------------------------------------------------------ 【ARM培训视频】课程主要内容 1.概念和基本工具: 嵌入式系统基本概念、嵌入式操作系统介绍 嵌入式系 ...… 查看全部问答> |
|
三角测距原理,我用google搜索了半天,都没找到是谁发现的这么伟大的定理,极有可能就是中国古代的“勾三股四弦五”。这且放下不说,都过去的事儿了。我要说的是,这定理的应用太广泛了,地图测量、天体测量、军事望远镜,随处可见,而我却始终未 ...… 查看全部问答> |
|
我03年毕业于一所普通的本科院校,学的是机械工程自动化专业,毕业后即来到了现在工作的这家在全国还算比较有名的大型家电制造企业从事生产工艺工作。每天的工作枯燥乏味,工艺巡检,要么就是这个零部件尺寸长了,装不进去,或者那个零部件短了需要 ...… 查看全部问答> |
|
本人是个大学生,正在做一个关于用easyarm1138控制cc2420的zigbee项目,为什么我在向2420发送stxon命令后,发送端的sfd没有变化,同样接收端的也没有,请问是什么问题,发送其他命令都有状态返回的,就是发送stxon后sfd没有跳变~~ 项目比较赶, ...… 查看全部问答> |
|
包括如下:Amplifiers, Data Converters, Interface,Clocks, Timing and Wireless Connectivity. [ 本帖最后由 安_然 于 2011-7-8 08:32 编辑 ]… 查看全部问答> |
|
好了,欢迎进来,某某某,你好! 想请版主或者管理员等等有能力回答的人告诉我们大家一个问题,那就是: 这个用户组头衔是怎么升级的? 跟积分有关系? 还是跟威望 ...… 查看全部问答> |
|
求助!关于使用msp430g2553launchpad 控制 SSD1306 OLED显示遇到的问题 SSD1306 两线(SCL,SDA)IIC模式,msp430g2553 launchpad, 有C51的例程,并且可以正常显示,但是我经过修改之后,移植到g2553中,就不能显示了,不知道什么原因,之前认为是系统时钟的原因,但是经过好几组数据实验,发现还是没有用,网上也找了各种 ...… 查看全部问答> |




