本应用笔记提供了将MAXQ2000微控制器(MAXQ20内核)连接至MAX7312 16位端口扩展器所需的全部固件。应用示例是一个LED目标练习游戏。示例装配程序是专门为MAXQ2000编写和组装的,使用免费的IAR嵌入式工作台IDE版本2.10A。
硬件概述
MAX7312为2线接口16位I/O端口扩展器,具有中断和热插入保护功能。利用本应用笔记和MAX7312评估板,用户可以创建LED打靶练习游戏。评估板的红色和绿色LED将快速上下滚动。游戏的目标是当红色和绿色LED灯在中心相遇时按下其中一个按钮。
MAX7312评估板包括MAX7312、MAXQ2000微控制器、所有必需的无源元件和经过验证的PCB布局。MAX7312评估板原理图如图1和图MAXQ2000评估板包含MAXQ2000设计所需的一整套软件、硬件、示例代码和文档。MAXQ2000评估板的原理图可在数据资料中提供。
图1.MAX7312评估板原理图,两种原理图之一。
图2.MAX7312评估板原理图,两个原理图中的第二个
固件概述
示例固件程序(见下文)通过对I进行位敲击与MAX7312通信。2MAXQ2000通用输入/输出(GPIO)端口上的C接口。MAXQ2000的20MHz系统时钟允许位敲I。2C 接口,运行频率高达 400kHz。用户修改 maxqi2c.h 头文件以选择 I 的速度2C 接口以及哪些 GPIO 端口将用作 SDA 和 SCL。
MAX7312评估板上电后,MAXQ2000自动检测I。2MAX7312的C地址然后程序开始配置MAX7312的端口1 GPIO,以产生LED灯的滚动效果。端口 2 GPIO 8 和 9 配置为输入端口,固件通过这些端口读取按钮的状态。
游戏挑战玩家在红色和绿色 LED 滚动灯在中心相遇时按下按钮。如果当LED相遇时按下按钮,则MAXQ2000微控制器将检测到该按钮,所有LED将闪烁,表示用户赢得游戏。
表 1 显示了所有I2C 应用程序所需操作。
I2C /SMBus 协议 | 应用目的 | 设备从地址 | 寄存器地址 |
读取端口 2 输入寄存器 | 读取按钮的状态 | 0x40 | 0x01 |
01000000B | 00000001b | ||
将配置寄存器写入端口 1 | 配置端口 1 的 I/O 方向 | 0x40 | 0x06 |
01000000B | 00000110b | ||
将配置寄存器写入端口 2 | 将端口 2 GPIO 8 和 9 配置为输入端口 | 0x40 | 0x07 |
01000000B | 00000111b | ||
将输出端口寄存器写入端口 1 |
打开或关闭 LED 灯 | 0x40 | 0x02 |
01000000B | 00000010b |
全部0条评论
快来发表一下你的评论吧 !