1. 利用位带操作,重写按键扫描;
2. KEY1:查询余额;
3. KEY2:充值;
4. KEY3:扣款;
要求:
一上电:串口输出:
***************************
1. KEY1:查询余额;
2. KEY2:充值;
3. KEY3:扣款;
**************************
利用串口,输入要充值的金额;
利用串口,输入要消费的金额;
单片机源程序如下:
- /**********************RC522实验开发板例程************************
- /------------------------------------------------*/
- //#include "lpcreg.h"
- #include "mfrc522.h"
- #include <STDIO.H>
- #include <string.h>
- #include "delay.h"
- #include "usart.h"
- #include "core_cm4.h"
- #include "key.h"
- #include "ESP8266.h"
- #include "exti.h"
- #include "AT24C02.h"
- #include "W25Q64.h"
- #include "lcd.h"
- #include "pic.h"
- #include "sram.h"
- #include "touch.h"
- #include "rtc.h"
- #include "iwdg.h"
- #include "wwdg.h"
- #include "dma.h"
- #include "adc.h"
- //unsigned char data1[16] = {0x12,0x34,0x56,0x78,0xED,0xCB,0xA9,0x87,0x12,0x34,0x56,0x78,0x01,0xFE,0x01,0xFE};
- ////M1卡的某一块写为如下格式,则该块为钱包,可接收扣款和充值命令
- ////4字节金额(低字节在前)+4字节金额取反+4字节金额+1字节块地址+1字节块地址取反+1字节块地址+1字节块地址取反
- //unsigned char data2[4] = {0,0,0,0x01};
- //unsigned char DefaultKey[6] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF};
- //unsigned char g_ucTempbuf[20];
- //函数声明
- //void Disp_Info(void);
- //void Block_Proc(u32 dat,u8 addr);
- const unsigned char *p = NULL;
- u16 sram_buf[100] __attribute__((at(0x68000000)));
- int main( )
- {
- u8 ret = 0;
- u8 dat = 0;
- u16 times = 0;
- u16 col = 0;
- u16 i,j;
- u8 key = 0xff;
-
- char buf[20] = "hello,xyd!\r\n";
- char buf1[20] = {0};
- char buf2[20] = "hello,STM32F407!\r\n";
- NVIC_SetPriorityGrouping(7-2);
-
- RCC522_init();
- Key_Init();
- Usart1_Init(9600);
- ESP8266_Init();
- LED_Init();
- AT24C02_Init(); //24c02初始化
- W25Q64_Init();
- LCD_Init();
- SRAM_Init();
- ADC1_CH4_Init();
-
-
- // TS_Init();
- // rtc_init();
- // iwdg_init();
- // wwdg_init();
-
- // DMA_Usart1Tx_Init();
- // DMA_Usart1Rx_Init();
- // Usart1_EnableDMA();
-
- //将字库所在的1M空间保护起来
- W25Q64_WriteStatusReg(PROTECT_TOP_1M);
- while(1)
- {
- // key = Key_Scan();
- // if(key == KEY1_DOWN)
- // DMA_Usart1Tx_Conf((u32 *)buf2,sizeof(buf2));
- }
- }
复制代码
所有资料51hei提供下载:
MFRC522测试程序.rar
(1.02 MB, 下载次数: 60)
|