📄 i2ckey.c
字号:
#include "chip.h"
#include "hd.h"
#include "hdi2c.h"
#include "pcf8574.h"
#include "sport1.h"
#include "hdi2c.h"
#include "key.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 控制台串口通信程序
// i2cisr.c 键盘中段服务程序
// keyporc.c 键盘处理
//====================================================================*/
extern unsigned char I2CRxflg,I2CBuf,I2CINT;
unsigned char keyvalue;
void main()
{
WDTCTL=WDTPW+WDTHOLD; //关闭看门狗
InitClock(); //初始化系统时钟
InitP1(); //初始化键盘中断端口
InitSport1(); //初始化串口1(UART1)
InitI2C(); //初始化I2C模块
__enable_interrupt(); //全局中断允许
Tx1S("PCF8574 Key Testing\n");
I2CTxByte(I2CWR_ADDR,KEY_INIT); //LED501 lighted
// I2CTxByte(I2CWR_ADDR,0x01); //LED500 lighted
while(1)
{
I2CINT=0;
while(!I2CINT); //等待键盘输入
keyvalue=KeyProcess(); //获得键值
Tx1S("0x"); //显示键值
Tx1HexC(keyvalue);
Tx1S("\n");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -