本應用筆記提供了將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 |
-
微控制器
+關注
關注
48文章
7542瀏覽量
151316 -
led
+關注
關注
242文章
23252瀏覽量
660582 -
接口
+關注
關注
33文章
8575瀏覽量
151021
發布評論請先 登錄
相關推薦
評論