📄 main.c
字号:
#include "chip.h"
#include "hd.h"
#include "hdi2c.h"
#include "pcf8574.h"
#include "sport1.h"
#include "hdi2c.h"
//===================================================================
//EDB430系列试验板演示程序------MSP430F15x,16x系列片内I2C模块与PCF8574通信测试 版本1.0 www.430diy.com
//===========功能描述:
// 使用内置I2C模块控制实验板两个LED(LED500A.和LED501A),用户通过超级终端(UART1)输入菜单测试编号,控制
//实验板上LED的状态
//===========使用系统资源:
// 1.I2C模块
// 2.P3.3,P3.1
//===========
//程序员: Steven Zhang(OHHA) 0512-51621677
//公司: ChangShu Microelectronics Technologies Co., Ltd.
//版本:1.0
//编程日期:2006.11.23
//编译器版本:3.42A
//最后修改日期:
//使用注意事项:
// 1.如果使用的处理器不是MSP430F149,请修改头文件中(chip.h)的#include到相应
//芯片型号,确保这个处理器具备Timer B资源。
// 2.如果使用的低版本不能打开project,则用如下文件重新建立,确保目录路径中不包含中文字符
// hd.c 系统基础时钟初始化
// hdi2c.c 片内I2C的初始化及功能程序
// main.c 测试程序主代码入口
// sport1.c 控制台串口通信程序
//====================================================================*/
void main()
{
WDTCTL=WDTPW+WDTHOLD; //关闭看门狗
InitClock(); //初始化系统时钟
InitSport1(); //初始化串口1(UART1)
InitI2C(); //初始化I2C模块
__enable_interrupt(); //全局中断允许
while(1)
{
Tx1S("\nPCF8574 LED测试,版本1.0\n");
Tx1S("1-LED500A亮,LED501A暗\n");
Tx1S("2-LED501A暗,LED501A亮\n");
Tx1S("3-LED501和LED500全亮\n");
Tx1S("4-LED501和LED500全暗\n");
rx1flg=0;
while(!rx1flg); //等待用户从控制台输入
switch(RXBUF1)
{
case '1':
I2CTxByte(I2CWR_ADDR,0x01); //LED500A亮,LED501A暗
break;
case '2':
I2CTxByte(I2CWR_ADDR,0x02); //LED501A暗,LED501A亮
break;
case '3':
I2CTxByte(I2CWR_ADDR,0x00); //LED501和LED500全亮
break;
case '4':
I2CTxByte(I2CWR_ADDR,0x03); //LED501和LED500全暗
break;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -