1、 .1 摘摘 要要 随着社会的发展进步,各式有趣的小电动玩具已经遍布我们得生活。大街上随处可 见拿着只有几个按键的打地鼠游戏机。简单的几个按键,就可以给人们带来娱乐。 打地鼠游戏是电子技术发展的产物。打地鼠有软件版也有硬件版得。而软硬件打地 鼠的游戏规则类似。现在我们来讨论用单片机制作打地鼠游戏机。根据打地鼠的游戏规 则, 先制定特定位置, 在确认按下了该位置的按钮。 这种这种规则很容易用单片机实现。 单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成 为不可替代的一部分。本文的主要内容是用 STC89C52 单片机为核心控制元件,设计一 个打地鼠游戏机。以单片机作为
2、主控核心,与键盘、蜂鸣器、数码管等模块组成核心主 控制模块,在主控模块上设有 44 的矩阵键盘、数码管和蜂鸣器。本系统运行稳定, 其优点是硬件电路简单,软件功能完善,控制系统可靠,性价比较高等,具有一定的实 用和参考价值。 关键词:STC89C52 单片机 打地鼠游戏机 数码管 蜂鸣器 .2 目目 录录 摘 要 . 1 目 录. 2 1.引 言 3 2. 总体设计 4 2.1 基本原理 . 4 2.2 系统总体框图及设计思路 4 3.详细设计 . 5 3.1 硬件设计 5 3.2 软件设计. . 6 3.2.1 程序设计思路 6 3.2.2 程序流程图 7 3.2.3 程序代码 7 4. 系统
3、调试及分析 . 22 5.心得体会 23 参考文献 23 .3 1.引 言 单片微型计算机是大规模集成电路技术发展的产物,属第四代电子计算机,它具有 高性能、高速度、体积小、价格低廉、稳定可靠、应用广泛的特点。它的应用必定导致 传统的控制技术从根本上发生变革。因此,单片机的开发应用已成为高科技和工程领域 的一项重大课题。 打地鼠游戏机是现代电子技术发展的产物。是一种按键式的游戏机。是人们的休闲 娱乐的好选择。单片机具有强大的控制功能和灵活的编程实现特性,它已经融入现代人 们的生活中,成为不可替代的一部分。本文的主要内容是用 STC89C52 单片机为核心控 制元件,设计一个打地鼠游戏机。以单片
4、机作为主控核心,44 矩阵键盘、蜂鸣器等模 块组成核心主控制模块。 本文主要对使用单片机设计打打地鼠游戏机进行了分析,并介绍了基于单片机打地 鼠游戏机硬件组成。利用单片机产生随机数来点亮指定的位置的 led 发光管。在判断是 否按下了对应位置的按键。根据游戏规则判断是该加分还是加错。错 5 次则本次游戏结 束。并且本文分别从原理图,主要芯片,以及程序的调试来详细阐述。 游戏流程是先由单片机产生随机数,点亮对应位置的了点发光管,并记录被点亮的 位置。这时就开始扫描键盘,按键结果用来判断游戏规则。如果正确游戏的分加 1,如 果错误错分加 1。错分加到 5 则游戏结束。游戏期间还得用数码管动态显示游
5、戏的分, 游戏结束后显示 over。用单片机产生随机数类似电脑上产生随机数。需要开系统时钟, 即定时器。我们可以利用单片机的定时/计数器 T0 来提供系统时钟。矩阵键盘需要扫描 才能应用。数码管显示位数是动态的,即有几位数就显示几位数,数据的前面不会有 0 出现。 .4 2. 总体设计 2.1 基本原理 先由单片机产生随机数,点亮对应位置的了点发光管,并记录被点亮的位置。 这时就开始扫描键盘,按键结果用来判断游戏规则。用单片机产生随机数类似电脑上产 生随机数。需要开系统时钟,即定时器。我们可以利用单片机的定时/计数器 T0 来提供 系统时钟。矩阵键盘需要扫描才能应用。数码管显示位数是动态的,即
6、有几位数就显示 几位数,数据的前面不会有 0 出现。 若要产生随机数,只要提供系统时钟,即定时器,然后调用 rand()函数获得随机 数。期间一定要保证系统时钟一直开着,这就要求一定是用中断方式处理定时器/计数 器 0,是定时器/计数器一直开着。另外,经过试验发现,单片机产生随机数的随机性和 单片机的时钟值和要获得的数据范围有关。 利用STC89C52的内部定时器使其工作在定时器方式1下, 设置计数值TH0及TL0 初值,根据要去数据范围合理设定。 2.2 系统总体框图及设计思路 总体设计思路: 本设计利用单片机 P0 口连接 44 矩阵按键,作为功能控制键。其中,左上角的是 1 号键右下的是 16 号键。 进行编号是为了处理游戏功能是方便。 硬件部分是用点阵连接 成 44 的矩阵,与矩阵键盘的位置相对应。一个数码管用于显示得分和游戏结束时显 示 over。蜂鸣器用于添加游戏声音。 打地鼠游戏机 数码管显示 游戏规则判断部分 蜂鸣器 .5 3.详细设计 3.1 硬件设计 1芯片及原理介绍 (一)STC89C52 STC89C52与 MCS-51 单片机产品兼容 、