⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 单片机c语言程序设计100例--基于PIC+PROTEUS
💻 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 + -