使用MAXQ2000和MAX7312进行LED打靶练习游戏

描述

本应用笔记提供了将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

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分