用51单片机实现模拟打地鼠小游戏,灯亮表示地鼠探头,你需要在半秒内按下旁边的按钮,表示把地鼠打回去,这样你可以赢得一分,如果连续三次没有将地鼠打回去,则游戏失败,你只能重新开始。
本游戏提供暂停和继续功能。
- 4月28日:增加驱动电路,提高稳定性
- 下载或clone项目,打开
\protues\mouse.pdsprj
,进入仿真界面 - 关于软件版本配置,可以参看我的bilibili,
https://www.bilibili.com/video/BV1Qe411W7H6/
-
proteus
文件夹中为proteus仿真 -
code
文件夹中为源代码-
src
目录为所有的.c
文件 -
dependence
目录为所有的.h
文件 -
其他目录都为中间文件或配置文件
-
-
以
_
开头的函数表示只在所在文件当中起作用,不对外展现接口,例如_LCD_delay()
只在LCD.C
中被调用; -
硬件的接口函数的命名规则
硬件名(大写)_函数名
,提供提供接口,在_func.c
中进行声明,如LCD_clear()
表示LCD屏幕的清空,在LCD_func.h
中声明
-
硬件代码和逻辑代码独立,硬件代码编译完后向外提供接口函数
-
main.c
中实现硬件软件的初始化与随机数的更新 -
random.c
中生成随机数 -
tasks.c
中利用外部中断和定时器中断实现主要的逻辑功能和时序控制 -
update.c
作为对tasks.c
的补充,完成在正常工作状态下的逻辑,包括 LED 的控制,键盘扫描,LCD 显示屏控制,计分策略等
- 在单片机和外围电路之间增加驱动电路
- 使用状态机,实现更多功能