📄 main.c
字号:
//-----------------------------------------------------------------
// 名称: 用带IIC接口的MCP23016扩展16位通用IO端口
//-----------------------------------------------------------------
// 说明: 本程序使用MCP23016的IIC接口扩展16位通用IO端口,其中:
// GP0中的8位控制LED滚动显示,GP1输入8位拨码开关状态,由PORTB端口
// 8位逻辑探针显示.
//
//-----------------------------------------------------------------
#define INT8U unsigned char
#define INT16U unsigned int
#define _XTAL_FREQ 4000000UL
#include <pic.h>
#include "i2c.h"
//MCP23016 IIC子器件地址#define MCP23016_DRV_ADDR 0x40 //0100 A2 A1 A0 R/W
//MCP23016器件及寄存器地址定义
#define GP0 0x00 //GP0 I/O端口
#define GP1 0x01 //GP1 I/O端口#define OLAT0 0x02 //GP0 锁存端口
#define OLAT1 0x03 //GP1 锁存端口
#define IPOL0 0x04 //GP0输入极性寄存器
#define IPOL1 0x05 //GP1输入极性寄存器#define IODIR0 0x06 //GP0方向寄存器
#define IODIR1 0x07 //GP1方向寄存器
#define INTCAP0 0x08 //中断捕获寄存器0
#define INTCAP1 0x09 //中断捕获寄存器1#define IOCON0 0x0A //I/O扩展控制寄存器0
#define IOCON1 0x0B //I/O扩展控制寄存器1
INT8U MCP_MSB, MCP_LSB, MCP_MSB_old, MCP_LSB_old;
INT8U Flag = 1;
//-----------------------------------------------------------------
// 向MCP指定地址写入命令与数据字节
//-----------------------------------------------------------------
void Write_to_MCP(INT8U addr, INT8U cmd,INT8U data1, INT8U data2)
{
}
//-----------------------------------------------------------------
// 从MCP指定地址读取两字节数据
//-----------------------------------------------------------------
void Read_from_MCP(INT8U addr,INT8U cmd)
{
}
//-----------------------------------------------------------------
// 捕获中断程序,有拨码开关输入时触发
//-----------------------------------------------------------------
void interrupt isr()
{
//中断触发时清中断标志,并设置软件中断标志
}
//-----------------------------------------------------------------
// 处理拨码开关输入
//-----------------------------------------------------------------
void Handle_DIPSW8_Operation()
{
}
//-----------------------------------------------------------------
// 主程序
//-----------------------------------------------------------------
void main()
{
INT8U i = 0x01;
TRISB = 0x00; //PORTB端口输出(接逻辑探针)
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -