1.5 课题分析
在进行本课题设计之前,我在网上找到了许多类似的设计,其中广泛应用的是LCD12864液晶显示屏,但是这个显示屏价格较高而且显示效果并不是很好,因此选择LCD1602作为信息显示屏幕。而蛇运行的屏幕则选用亮度更高更加稳定而且显示效果更佳漂亮让人喜爱的LED点阵显示屏。
单片机,LCD,16×16点阵LED显示屏,按键这几部分是本设计的主要硬件。整个设计的重中之重在于游戏的程序设计,要编写相应的程序来实现贪吃蛇这个游戏。游戏规则与经典的贪吃蛇游戏规则一致:当蛇(snake)吃到一粒豆子(bean),蛇的身体自动增长1个单位,豆子将会在地图上随机出现,当蛇碰到墙壁以及自己的身体时,蛇死亡,游戏结束。
经过之前的分析,本次设计中所要解决的主要问题归纳为以下两点:
1. 主程序编写和附加功能设计
2. 确保设计系统的响应及时
使用印刷电路板焊接元器件的方式实现游戏机的实体化
2 系统主要芯片介绍
2.1 STC89C52芯片
在选择单片机时最终选择了STC89C52,。STC89C52由STC公司生产。是一种功耗较低、性能较高的CMOS(Complementary Metal Oxide Semiconductor)8位微控制器,具有 8K 在系统可编程Flash存储器。
在选择时有两块单片机被纳入了考虑的范围,分别是STC89C52和AT89S51。STC89C52具有8K字节程序存储空间;512字节数据存储空间;内带2K字节EEPROM存储空间;可直接使用串口下载;相比于AT89S52单片机的特性:8K字节程序存储空间;256字节数据存储空间;自带2KB的EEPROM存储空间。
在接触相当量的单片机开发实例之后,我发现两者的功能几乎完全一致,相比而言,STC89C52拥有更大的存储空间,相比AT89S51可以运行更大的程序,而且这两者的价格在市场上几乎一样,由于本次设计的游戏机是实验机型而非量产机型,所以在没有对开发成本造成压力的情况下,我选择了STC89C52作为主要芯片。
3 系统总体设计
3.1 软件开发环境
在C51单片机上的程序可以选择两种程序语言来编写。其中一种是汇编语言,另一种则是更为我们常见的C语言。它们各有优缺点,汇编语言是用来表示机器指令助记符象征性的语言文字,是目前我们使用的程序语言中最接近机器码的一种,它的主要优点是对资源的占用很小,依赖度不高,程序执行效率高,但是对于不同的CPU而言,其汇编语言可以是不同的,这给移植带来了巨大的不便,而现代的程序开发很多时候都需要可以在不同的设备上运行,不方便移植将会严重降低程序的影响力。 C语言是一种结构化的高级语言,可读性很强,相比汇编语言更适应人们的阅读习惯,另外,易移植也是其优点,是一种在计算机编程中常常被用到的语言。其缺点是资源占用多,效率无法与汇编语言相比。目前普遍使用的8位MCU基本都采用RISC架构,这使其内部ROM,RAM,堆栈和其他资源极其有限,如果使用C语言,C语言指令在编译后,将形成一个体积很庞大的机器码,这往往会导致ROM空间不够,堆栈溢出等问题。两种语言都存在一些问题,无法做到十全十美,应当根据实际需要进行选择。 51单片机微控制器的贪吃蛇游戏机设计+电路图(4):http://www.youerw.com/zidonghua/lunwen_14930.html