芯片解密|单片机解密|IC解密|芯片破解|芯片复制| PCB抄板|软件开发

飞芯科技-芯片解密|单片机解密|IC解密|芯片破解|芯片复制| PCB抄板|软件开发

CH32V103的酷跑类小游戏单片机解密



单片机解密CH32V1033个串口可供使用,选哪个来用呢?
从方便性来讲,还是使用串口1比较方便,因为串口1原本就是来供调试之用,既能轻松地输出字符串,也能方便地发送字节数据。
MP3播放模块的引脚排列如图7所示,其实除了电源引脚之外,真正要用的引脚是在有限。
SPK_1SPK_2是连接喇叭的,RX是用来接收串口指令的,BUSY是指示MP3模块是否处于播放状态,而IO_2是触发播放下一首歌曲。

图7  模块引脚排列

其实,但从配置背景音乐的角度讲,只需1I/O口即可,也就是在游戏开始后触发音乐播放。
而之所以选用串口控制是因为,它比按键控制模式在功能上更丰富,有利于游戏功能的进一步扩展。
例如,在串口控制模式下,当游戏结束时可以通过指令关闭背景音乐;当游戏通关后,可以通过指令更好背景音乐等,这是键控模式所不能企及的。
实现游戏功能的主程序为:
  1. 单片机解密int main(void)
  2. {
  3. uint8_t i;
  4. NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);
  5. Delay_Init();
  6. //USART1  A.9 A.10
  7. USART_Printf_Init(9600);
  8. TIM3_Int_Init(359, 199);
  9. TIM_Cmd(TIM3, DISABLE); //TIM3
  10. Touch_Key_Init();
  11. OLED_Init();              //初始化OLED
  12. OLED_Clear();
  13. //显示游戏名称
  14. OLED_ShowCHinese(5,1,1);
  15. OLED_ShowCHinese(21,1,0);
  16. OLED_ShowCHinese(37,1,2);
  17. OLED_ShowCHinese(53,1,3);
  18. OLED_ShowCHinese(69,1,4);
  19. OLED_ShowCHinese(85,1,5);
  20. //音量设置
  21. setVolume(26);
  22. for(i=0;i<10;i++)
  23. {
  24. while (USART_GetFlagStatus(USART1, USART_FLAG_TC) == RESET);
  25. USART_SendData(USART1, cmd6[i]);
  26. }
  27. Delay_Ms(200);
  28. //歌曲设置
  29. playn(2);
  30. for(i=0;i<10;i++)
  31. {
  32. while (USART_GetFlagStatus(USART1, USART_FLAG_TC) == RESET);
  33. USART_SendData(USART1, cmd3[i]);
  34. }
  35. Delay_Ms(1000);
  36. while(1)
  37. {
  38. KeyScan();
  39. if(start_flag == 1)
  40. {
  41. OLED_ShowLine(0, 3, 128, data_ob);
  42. OLED_ShowPeople(30, start_jump, 3, start_jump_flag);
  43. show_num();
  44. game_over();
  45. }
  46. else if(start_flag == 2)
  47. {
  48. OLED_ShowString(24,1,"GAME OVER",9);
  49. start_flag = 0;
  50. for(i=0;i<10;i++)
  51. {
  52. while (USART_GetFlagStatus(USART1, USART_FLAG_TC) == RESET);
  53. USART_SendData(USART1, cmd5[i]);
  54. }



联系方式

地址:石家庄市新华区民族路77号华强广场D座2009
电话:0311-88816616/87087811
手机:13315190088
传真:0311-67901001
联系人:张工
网址:www.feixindz.com
邮箱:feixindz@163.com
微信:xinpianjiemi
QQ:527263666/568069805

在线客服
热线电话

企业微信