基于 STM32F103RC 和 YMC1501 高频读写器的 RFID 电子钱包系统,支持 Mifare S50 卡的余额初始化、充值、扣款和查询操作。
- MCU: STM32F103RC (Cortex-M3, 256KB Flash, 48KB RAM)
- RFID 读写器: YMC1501 S50 Mifare 高频读写器 (USART2, 9600bps)
- 显示屏: 128x128 SPI LCD
- 输入: 3 个按键 (KEY1/KEY2/KEY3)
- 指示灯: LED (PA8)
| 模块 | 引脚 |
|---|---|
| YMC1501 TX | PA3 (USART2 RX) |
| YMC1501 RX | PA2 (USART2 TX) |
| LCD SPI | PB4 ~ PB9 |
| LED | PA8 |
| KEY1 (WKUP) | PA0 (高电平有效) |
| KEY2 | PC8 (低电平有效) |
| KEY3 | PC9 (低电平有效) |
| 按键 | 功能 |
|---|---|
| KEY1 | 初始化钱包 (刷卡写入余额=0) |
| KEY2 | 增值/减值 (选择方向 -> 选择金额 -> 刷卡) |
| KEY3 | 查询余额 (刷卡显示当前余额) |
支持的金额档位: 10 / 20 / 50 / 100 元
rfid/
├── CORE/ # ARM Cortex-M3 内核文件及启动文件
├── HARDWARE/
│ ├── LCD/ # LCD 显示驱动 (128x128 SPI)
│ ├── LED/ # LED 驱动
│ └── rfid/ # YMC1501 RFID 读写器驱动
├── STM32F10x_FWLib/ # STM32 标准外设库
├── SYSTEM/
│ ├── delay/ # 延时函数
│ ├── sys/ # 系统配置
│ └── usart/ # 串口驱动
└── USER/
├── main.c # 主程序 (状态机)
├── ui.c / ui.h # LCD UI 界面
├── key.c / key.h # 按键驱动
└── RFID_Wallet.uvprojx # Keil uVision 工程文件
- Keil MDK-ARM V5
- STM32F1xx 标准外设库
- 用 Keil uVision 打开
USER/RFID_Wallet.uvprojx - 编译工程 (F7)
- 下载到目标板 (F8)
MIT