基于AT89C51和160128的模拟射击游戏.doc

上传人:仙人指路1688 文档编号:4144710 上传时间:2023-04-07 格式:DOC 页数:66 大小:409KB
返回 下载 相关 举报
基于AT89C51和160128的模拟射击游戏.doc_第1页
第1页 / 共66页
基于AT89C51和160128的模拟射击游戏.doc_第2页
第2页 / 共66页
基于AT89C51和160128的模拟射击游戏.doc_第3页
第3页 / 共66页
基于AT89C51和160128的模拟射击游戏.doc_第4页
第4页 / 共66页
基于AT89C51和160128的模拟射击游戏.doc_第5页
第5页 / 共66页
点击查看更多>>
资源描述

《基于AT89C51和160128的模拟射击游戏.doc》由会员分享,可在线阅读,更多相关《基于AT89C51和160128的模拟射击游戏.doc(66页珍藏版)》请在三一办公上搜索。

1、南京师范大学泰州学院本科毕业论文设计题 目:基于AT89C51和160128的模拟射击游戏 院 系: 信息工程学院 专 业: 电子信息工程 (含通讯) 学生姓名: 袁 高 成 学 号: 09090644 指导教师: 孙 剑 芬 二一三 年 四 月摘 要本文主要内容是利用AT89C51单片机与160*128的液晶组合设计的模拟射击游戏,实现模拟简单的射击游戏,在像素为160*128的液晶上显示模拟的手枪图标,并可通过按键控制手枪的上下移动和射击并判断是否击中目标然后统计得分显示出来,每次击中目标时蜂鸣器会发出击中音效,另有重新开始的功能键。本课题是基于单片机技术和160*128的广泛应用而提出。

2、本次做的模拟射击游戏是以单片机(ATMEL公司的8位单片机AT89C51)为核心,结合PG160128LCD 显示器,再配以相应的软件,达到实现模拟射击游戏的目的. 近年来随着计算机在社会领域的渗透和大规模集成电路的发展,单片机的应用正在不断地走向深入,由于它具有功能强,体积小,功耗低,价格便宜,工作可靠,使用方便等特点,因此特别适合于与控制有关的系统,越来越广泛地应用于自动控制,智能化仪器,仪表,数据采集,军工产品以及家用电器等各个领域,单片机往往是作为一个核心部件来使用,在根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。 单片机应用的重要意义在于,它从根本上改变了传统的控制

3、系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。 利用单片机射击的模拟射击游戏是单片机与PG160129的组合应用,可以很好得模拟常见的简单射击游戏,对于开发单片机更深层次应用有非常现实的意义。关键词:单片机;模拟射击游戏;160128LCD;C 语言The design of Simulation shooting game with PG160128LCD and MCU AT89C51AbstractThis paper is mainly using MCU

4、 AT89C51 and 160 * 128 LCD combination design simulation shooting game, simulating simple shooting game, in pixels for 160 * 128 LCD display on simulation pistol icon and through press the button to control pistol and shot and move up and down to decide whether it is hitting the target and statistic

5、al score display, every time when hitting the target buzzer will issue hit sound, otherwise restart function keys. This subject is based on single chip microcomputer and 160 * 128 extensive application of the proposed. This game is made of simulated firing microcontroller (AT89C51) as the core, comb

6、ining PG160128LCD display, match again with the corresponding software, to simulate the shooting game. In recent years, with the computer in the social sector and the development of large-scale integrated circuits, the application of SCM is continuously to thoroughly, because it has the strong funct

7、ion, small volume, low power consumption, low price and reliable, easy to use, so particularl suitable for related control and system, more and more widely used in automatic control, intelligent instrument and meter, data acquisition, military products, and household electrical appliances, etc, the

8、microcontroller is often used as a core component, according to the specific hardware structure and software application, the object characteristics for improvement. MCU significance lies in that it has radically changed the traditional control system design ideas and design method. Once must by ana

9、log circuits or digital circuit implementation of most function, can now single-chip through software methods to achieve. This software instead of hardware of control technology is also called the micro control technology, traditional control technology revolution. Using single chip computer simulat

10、ion of firing shooting game is the combination of MCU and PG160129, can good simulation common simple shooting game, for developing the microcontroller deeper application have very realistic significanceKeywords: MCU; Simulation shooting game; LCD; C language目 录摘 要1Abstract2一 绪论51.1课题的目的和研究意义51.2单片机

11、游戏的研究现状51.3 本系统主要研究内容5二 总体设计方案72.1 本设计的设计要求72.2 方案选择论证72.2.1 单片机的选择论证72.2.2显示屏的选择论证82.3 本章小结8三 系统硬件设计93.1 系统硬件总体设计93.1.1 AT89C51单片机简介93.1.2 PG12864LCD简介133.2外围电路设计143.2.1 显示电路设计143.2.2 按键控制电路设计153.2.3 时钟电路设计163.2.4 晶振、复位电路设计173.3本章小结17四 系统软件设计184.1软件整体流程图:184.2整体框架流程图:184.3 枪支绘制流程图194.4 按键子程序流程图204.

12、5 本章小结21五 系统的仿真与测试215.1软件的简介215.1.1 keil简介215.1.2 proteus简介225.2 功能仿真22六 结论26致谢27参考文献28附录29一 绪论1.1课题的目的和研究意义(1)巩固,加深和扩大 51 系列单片机应用的知识面,提高综合及灵活运用所学知识解决工业控制 的能力; (2)培养针对课题需要,选择和查阅有关手册,图表及文献资料的自学能力,提高组成系统,编程,调试的动手能力; (3)对课题设计方案的分析,选择,比较,熟悉用 51 单片机做系统开发,研制的过程,软硬件设 计的方法,内容及步骤;(4)进一步掌握C语言在硬件编程中的应用,熟悉怎样用C语

13、言实现LCD上的绘图功能。1.2单片机游戏的研究现状单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。二十世纪跨越了三个“电”的时代,即电气时代、电子时代和现已进入的电脑时代。不过,这种电脑,通常是指个人计算机,简称PC机。它由主机、键盘、显示器等组成。目前国内游戏公司已经达到了200多家,市场上运营的游戏也达300多款,与欧美,韩国等国家的游戏发展程度还有一定差距。我国有广阔的游戏市场,宽阔的发展空间,无限的继续挑战和剧增的玩家队伍。随着网络的兴起,巨大的市场需求量使中国在短短几年,已经从无到有,从陌生到熟悉,从掌握到应用。游戏必将成为网络竞争的主

14、角,他的商业利益与商业价值无法估量。中国,人口众多的国家,随着人们生活水平的提高,温饱已经不是最终目的,我们寻求的是更加多姿多彩的生活,那么我们怎么能错过游戏这一最佳休闲娱乐项目呢?所以我国游戏发展前景一片大好,更应该加大游戏开发力度。1.3 本系统主要研究内容单片微型计算机简称单片机,是典型的嵌入式微控制器(Microcontroller Unit),常用英文字母的缩写MCU表示单片机,它最早是被用在工业控制领域。单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。AT8

15、9C51作为单片机中最早的技术相对成熟的产品,即使在各种更加高级,功能更加强劲的芯片如MSP430,HCS12,已经各种FPGA,ARM的日益成熟的今天,51以其易学,易用,可扩展性强仍然被广泛用于简单工控系统和最佳的初学者芯片。而160128液晶,作为与51单片机兼容的液晶,像素高达160*128,可寻址,可以通过编程实现字库设置和图像显示,并有丰富的命令字可以实现各种丰富的显示效果,用简单的51单片机结合软件就能模拟各种实际功能,本设计主要研究如何模拟使通过51单片机与PG160128LCD的联合应用,仿真简单的射击游戏,通过按键中断控制手枪的上下移动和发射,击中目标时即发出声音提示,自动

16、统计命中次数并显示。本课题可具体可以分为六章第一章为绪论第二周分析的是总体设计方案第三章分析的是设计的硬件部分第四章分析的是硬件的软件部分第五章呈现设计的系统仿真与调试第六章为结论二 总体设计方案2.1 本设计的设计要求(1)Keil下编译,产生目标HEX文件,Proteus下Programme Files选择产生的HEX文件,点击运行开始模拟。(2)按键自上而下分别对应调整上移枪支,下移枪支,发射和重新开始。(3)系统运行时即显示开始界面,通过按键开始进行游戏,调整枪支位置和发射弹药用完以后按下K4重新启动。(4)初始弹药量为20发,每次发射后减少一发,击中得一分,未击中不得分,右下角显示剩

17、余子弹数,20发子弹用完后游戏结束,左下角直接显示得分,游戏结束后需按下K4键重新开始。2.2 方案选择论证2.2.1 单片机的选择论证 单片机的种类有很多:通用型单片机按位数分有 4 位机,8 位机,16 位机和 32 位机等等。 按厂家分种类就更多, 我国目前最常用的单片机有如下几家: Inter 公司的(MCS51 系列,MCS96 系列);Atmel 公司的(AT89 系列,MCS51 内核); Microchip 公司的(PIC 系列) ;Motorola 公司的(68HCXX 系列);Zilog 公司 (Z86 系列); Philips 公司的 (87,80 系列, MCS51 内

18、核) Siemens 公司的 ; (SAB80 系列,MCS51 内核);NEC 公司的(78 系列),每种单片机的都有不同,包括: I/O 口个数、定时/计数器个数、数据/程序存取区大小、有无看门狗中断、有无 A/D 转化等等5。 基于本游戏只用到了不到 20 个 I/O 口;2 个定时器断。所以选择了 Atmel 公 司的 AT89C51 单片机。其参数如下: 1、基于 8051 的全静态 CMOS 工艺控制器; 2、3 级流水线指令执行构架; 3、32 个 I/O 口; 4、2 个定时/计数器 5、6 个中断源; 6、4K 的闪存程序储存器; 7、128 字节的片内数据存取器; 由以上参

19、数可知 AT89S51 单片机完全满足游戏设计要求。2.2.2显示屏的选择论证液晶屏的种类也有很多,我们经常用到的液晶屏包括:AMPIRE128*64; LGM12641BSIR;LM016L;LM020L;LM017L 等等。 前两种为不带字库的汉字、图形点阵液晶屏,共 64 行,128 列,能显示 4 行 8 列 32 个 16*16 点阵汉字或 4 行 16 列 64 个 16*8 点阵字符或者最大 128*64 点阵图形。也有带字库的 12864,功能一样8。后几种则是带字库的字符点阵,不能能显示图形。LM016L 为能显示 2 行 16 列 32 个字符的液晶屏;LM020L 为能显

20、示 1 行 16 列 16 个字符的液晶屏;LM017L 为能显示 2 行 32 列 16 个字符的液晶屏10。 由以上介绍可知:后 3 种液晶不能显示图形,所以最先排除,因为游戏中地 图都是以图形的形式扫描进去的;前 2 种液晶虽然可以显示图形,但屏幕较小显 示不完所有游戏界面的内容, 光就地图显示就需要 128*144 点阵的屏幕,而这两 种都是 128*64 的液晶屏,所以必须找一种更大的液晶显示屏。 最后找到 PG160128A 液晶屏。很明显,这块液晶屏是 160*128 点阵的屏幕, 除了满足地图显示外还可以显示其他记录信息,如关数显示、时间显示、步数显 示等等,完全满足设计要求1

21、3。这块液晶和以上的很不一样,它基于 T6963C 内核, 引脚更多,功能更复杂,指令集也更多。2.3 本章小结本章主要讲述了本课题设计所需要的一些硬件与软件,并对每个版块都具有一定的要求。我们就并举例论证呢跟说明,并对各功能模块做了详细介绍,对所用到的一些硬件,对它们各自的优缺点做出分析,找出它们其中适合本系统的硬件,符合设计所要求的条件。三 系统硬件设计3.1 系统硬件总体设计硬件整体结构图如图3-1所示: 图3-1系统的主要芯片包括Atmel公司的8位单片机AT89C51,PG60128LCD,蜂鸣器以及一个四输入与门74LS08组成。下面将对这些芯片分别予以介绍。3.1.1 AT89C

22、51单片机简介AT89C51是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含4k bytes的可反复擦写的只读程序存储器(PEROM)和128 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元,可灵活应用于各种控制领域2。如图3-2所示。图3-2 1.主要特性与MCS-51产品指令系统完全兼容4k字节可重擦写Flash闪速存储器1000次擦写周期全静态操作:0Hz24MHz三级加密程序存储器1288字节内部RAM32个可编程IO口线2个16位定时

23、计数器6个中断源可编程串行UART通道低功耗空闲和掉电模式AT89C51 提供以下标准功能:4k 字节Flash 闪速存储器,128字节内部RAM,32 个IO 口线,两个16位定时计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位4。2.管脚说明Vcc:电源电压GND:地P0 :P0 口是一组8 位漏极开路型双向IO 口,

24、也即地址数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口写“1”可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在FIash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。P1 :P1是一个带内部上拉电阻的8位双向IO口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。Fl

25、ash编程和程序校验期间,P1接收低8位地址。P2 :P2是一个带有内部上拉电阻的8位双向IO口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVXDPTR指令)时,P2口送出高8位地址数据。在访问8 位地址的外部数据存储器(如执行MOVXRI 指令)时,P2 口线上的内容(也即特殊功能寄存器(SFR)区中R2寄存器的内容),在整个访问期间不改变。Flash编程或

26、校验时,P2亦接收高位地址和其它控制信号。P3: P3口是一组带有内部上拉电阻的8 位双向IO 口。P3 口输出缓冲级可驱动(吸收或输出电流)4 个TTL逻辑门电路。对P3 口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。作输入端时,被外部拉低的P3 口将用上拉电阻输出电流(IIL)。P3口除了作为一般的IO口线外,更重要的用途是它的第二功能,如下表所示:P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部中断0) P3.3 /INT1(外部中断1) P3.4 T0(记时器0外部输入) P3.5 T1(记时器1外部输入) P3.6 /WR(外部数据

27、存储器写选通) P3.7 /RD(外部数据存储器读选通) P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是AL

28、E才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 /EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反

29、向振荡器的输出。AT89C5l 中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1 和XTAL2 分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器,振荡电路11.3.1.2 PG12864LCD简介PG160128LCD是像素可寻址的图形液晶显示屏模块1. 芯片特性160 X 128 字符显示点阵;并行 8 线数据通信;黑色点阵,黄色背景,独立LED背光电源;工作温度宽, 工业级 LCM, 超薄外型设计。2. 引脚说明各个引脚参数及说明如图3-3所示标号名称参数说明1Vdd+5V模块电源 +5V DC2VssGND 0V模块电源 地

30、3VO0V -10V外部液晶偏置电压(负压)输入端4DB0H/L数据线0(H表示高电平,L表示低电平)5DB1H/L数据线16DB2H/L数据线27DB3H/L数据线38DB4H/L数据线49DB5H/L数据线510DB6H/L数据线611DB7H/L数据线712CS1H/L左半屏使能(低电平有效)13CS2H/L右半屏使能(低电平有效)14RSTH/LLCM复位 (低电平有效)15R/WH/LH:LCM读数据 L:LCM写数据16D/1H/LH:数据 L:指令17EH/LLCM使能18VssGND 0V模块电源 地19LED-A+5VLED背光电源 +5V DC20LED-KGND 0VLE

31、D背光电源 地图 3-3在背光电路中需要串接5欧姆电阻,直接将背光接入电源可能造成损坏。在DB0 DB7数据线中加入10k上拉电阻,特别是使用单片机中的三态I/O口时。VO需要一个外部的VO -10V负压输入,使液晶显示,可串入电位器调整液晶灰度。3.2外围电路设计3.2.1 显示电路设计系统的显示模块原理图:这里包括PG160128液晶74HC04非门。PG160128的1,2引脚也就是FG VSS端接地,3号引脚VDD端接+5V高电平,4号引脚COM悬空,5号引脚WR,6号引脚RD,8号引脚CD通过总线与单片机的P3.6,P3.7,P2.0相连,7号引脚CE端通过反相器74HC04与单片机

32、的P2.7相连,1119号引脚也就是单片机的数据口D0D7通过总线分别与单片机的 P0.0P0.7相连9。如图3-4所示。图3-43.2.2 按键控制电路设计图3-5按键控制电路如图3-5所示。K1,K2,K3,K4四个按键的左触点分别与四输入与门74LS 的输入端相连,右触点并联接地,同时从74LS 的输入端引出四根阴线1,2,3,4分别与单片机的P1.4,P1.5,P1.6,P1.7相连,当有按键按下时,74LS 输出为低电平,进入外部中断0的服务子程序,在子程序中具体判断是1,2,3,4的哪个线为低电平从而判断哪个键按下并进行相应响应。3.2.3 时钟电路设计图3.6 MCS-5l系列单

33、片机时钟电路(a)内部时钟电路 (b)外部振荡源本系统采用内部时钟方式来为系统提供时钟信号。单片机内部有一个用于构成振荡器的高增益反向放大器,该放大器的输入输出引脚为XTAL1和XTAL2,它们跨接在晶体振荡器和用于微调的电容,便构成了一个自激励振荡器。如图3-6所示。图3-6本设计的时钟电路图如下图3-7所示图3-73.2.4 晶振、复位电路设计当5l系列单片机的复位引脚RST(全称RESET)出现2个机器周期以上的高电平时,单片机就执行复位操作。上电后,电容电压不能突变,VCC通过复位电容(10F电解)给单片机复位脚施加高电平5V,同时,通过10K电阻向电容器反向充电,使复位脚电压逐渐降低

34、。经一定时间后(约10毫秒)复位脚变为0V,单片机开始工作。如果RST持续为高电平,单片机就处于循环复位状态。具体电路如图3-8所示:图3-83.3本章小结 通过本章的介绍,让我对此系统有了更深层次的了解,这部分主要是对整个系统的硬件系统部分进行说明和介绍,并对每部分进行了详细介绍。整个系统的运作主要以AT89C51单片机与PG160128液晶显示屏为核心,在设计中有电源电路,显示电路,按键控制电路,时钟电路,晶振、复位电路等组成。四 系统软件设计4.1软件整体流程图:开始LCD初始化LCD清屏绘制初始界面清屏绘制枪支绘制边框打开中断打开按键中断进入中断子程序按键为K1或K2按键为K4按键为K

35、3剩余弹药减1绘线判断是否击中击中得分加1进入中断开始图4-1软件整体流程图如图4-1所示。按键自上而下分别对应调整上移枪支,下移枪支,发射和重新开始。系统运行时即显示开始界面,通过按键开始进行游戏,调整枪支位置和发射弹药用完以后按下K4重新启动。游戏规则:初始弹药量为20发,每次发射后减少一发,击中得一分,未击中不得分,右下角显示剩余子弹数,20发子弹用完后游戏结束,左下角直接显示得分,游戏结束后需按下K4键重新开始。4.2整体框架流程图:单片机复位晶振电路蜂鸣器AT89C51单片机PG160128LCD液晶显示模块按键中断 图4-2系统启动后LCD首先初始化,接着从左上角开始清屏,接着显示

36、预置好的游戏界面图4-3延迟五秒再次清屏,在第一行显示“射击训练游戏”,中间显示游戏主图像,最下面调用Show_Score_and_Bullet()函数显示游戏得分和剩余子弹数目。接着打开定时器T0,定时器T1和外部中断INT0,定时器T0控制屏幕每秒通过随机函数刷新应该被击中的目标位置,定时器T1模拟命中后的枪声,并将剩余子弹数目和得分在液晶上同步显示。4.3 枪支绘制流声音显示区域调用图像显示绘制枪支等待中断图4-4系统启动后LCD首先初始化,接着从左上角开始清屏,接着显示预置好的游戏界面。开始绘制枪支图像。绘制好以后显示,通过延迟程序实现保留画面,等待中断程序,实施中断。其绘制流程图如图

37、4-4所示。4.4 按键子程序流程图开始是否有键按下延伸去抖是否有键按下键值加1键值送累加器返回YYNN图4-5按键流程图如图4-5所示,采用按键为它的控制输入,通过按键来实现它的数值得分等功能实现。当有按键按下时,74LS 输出为低电平,进入外部中断0的服务子程序,在子程序中具体判断是1,2,3,4的哪个线为低电平从而判断哪个键按下并进行相应响应。即为,一旦有按键被按下,则对应管脚被拉低,通过软件扫描按键即可知道要实现的功能。调用程序,来进行操作。按键抖动也由软件实现,有按键按下,则键值加1,键值送累加器,由程序控制返回吗,继续运行实现功能。4.5 本章小结本章主要讲诉了系统的流程图及各部分

38、电路的流程图,使用图形表示算法的思路是一种极好的方法,因为千言万语不如一张图。流程图使整个系统看起来更加清晰易懂,这也方便别人更容易看懂。设置流程图也方便自己对程序的写作,对整个框架了解。流程图是揭示和掌握封闭系统运动状况的有效方式。作为诊断工具,它能够辅助决策制定,让管理者清楚地知道,问题可能出在什么地方,从而确定出可供选择的行动方案。流程图也可用于设计改进工作过程,具体做法是先画出事情应该怎么做,再将其与实际情况进行比较。五 系统的仿真与测试系统的仿真主要是对整个研究项目进行相当与实际的实验,检验其功能与作用,在整个课题中算重中之重,并在仿真的过程中及时的发现问题,在之后的调试中并解决它,

39、使之更完美5.1软件的简介5.1.1 keil简介Keil软件是目前最流行开发系列单片机的软件,Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。而Proteus与其它单片机仿真软件不同的是,它不仅能仿真单片机CPU的工作情况,也能仿真单片机外围电路或没有单片机参与的其它电路的工作情况。因此在仿真和程序调试时,关心的不再是某些语句执行时单片机寄存器和存储器内容的改变,而是从工程的角度直接看程序运行和电路工作的过程和结果。对于这样的仿真实验,从某种意义上讲,是弥补了实验和工程应用间脱节的矛

40、盾和现象。5.1.2 proteus简介proteus是Labcenter公司出品的电路分析、实物仿真系统,而KEIL是目前世界上最好的51单片机汇编和C语言的集成开发环境。他支持汇编和C的混合编程,同时具备强大的软件仿真和硬件仿真功能1。Proteus能够很方便的和KEIL、Matlab IDE等编译模拟软件结合。Proteus提供了大量的元件库有RAM,ROM,键盘,马达,LED,LCD,AD/DA,部分SPI器件,部分IIC器件,它可以仿真单片机和周边设备,可以仿真51系列、AVR,PIC等常用的MCU,与keil和MPLAB不同的是它还提供了周边设备的仿真,只要给出电路图就可以仿真6。

41、我们执行的简要即为打开proteus软件,新建一文件将硬件原理图绘入图中。将KEIL生成的HEX文件下载入单片机中,点击“开始”进行仿真。在keil中进行debug,同时在proteus中查看直观的结果(如LCD显示)。这样就可以像使用仿真器一样调试程序。利用Proteus与Keil整合进行实验,具有比较明显的优势,当然其存在的缺点也是有的3。利用仿真实验可以做全部的软件实验和极大多数的硬件系统,虚拟仿真实验室,因极少硬件投入、所以经济优势明显,不仅可以弥补实验仪器和元器件缺乏带来的不足,而且排除了原材料消耗和仪器损坏等因素。5.2 功能仿真通过上述准备工作后,在proteus硬件仿真平台和k

42、eil软件仿真平台上联合调试,效果如下所示:仿真游戏开始界面效果图,如图5-1所示。图5-1仿真游戏开始时效果图,如图5-2所示。图5-2击不中得分不加,弹药减1 效果仿真图,如图5-3所示。图5-3击中时得分加1,弹药减1仿真效果图,如图5-4所示。如图5-4通过设计的效果仿真图,我们可以清晰的了解本设计的应用与特点。按键自上而下分别对应调整上移枪支,下移枪支,发射和重新开始。系统运行时即显示开始界面,通过按键开始进行游戏,调整枪支位置和发射弹药用完以后按下K4重新启动。游戏规则:初始弹药量为20发,每次发射后减少一发,击中得一分,未击中不得分,右下角显示剩余子弹数,20发子弹用完后游戏结束

43、,左下角直接显示得分,游戏结束后需按下K4键重新开始。六 结论单片机应用系统中,通常需要人机对话功能,能够随时发出各种控制命令和输入数 据,报告应用系统的运行状态与结果。该系统设计能够很实用得简单模拟射击游戏具有 很高的可玩性和创新性。还可以通过修改程序,使游戏具有设置游戏级别的功能,在不 同级别下目标以不同的速度移动。但在调试中去发现并不能实现预期的得分等项目反白 显示,显示效果也不如预期的好,但是已经基本可以使用,并进行游戏。还是具有相当 高可玩性和扩展性的。 液晶显示技术的普及应用和发展,给仪器、设备的小型化及智能化带来了光辉的前 景,特别是点阵图形式液晶显示模块,它具有体积小、重量轻、

44、低电压、底功耗之优点, 因而在显示内容和显示功能等方面表现出了独特的性能。由于液晶显示器已成为日常工 作和生活中各种显示仪器、仪表、和袖珍电子产品的重要组成部分,因此对于点阵图形 液晶显示器件(模块)的开发、设计、应用和研究对于将来的从事有关液晶显示技术方 面的工作具有重要意义。 在这次毕业设计中不仅增进了我们同学之间的关系, 也使我从他们身上学会了很多 东西。在设计过程中总会出现这样那样的问题,而我又解决不了时,我总会请教其它同 学,他们也都会给我耐心的解答。有些问题拿捏不准时,我们也会互相商量,积极地参 与讨论,是问题逐渐的明了化。同学们的关系也在这次设计中更加的亲近,彼此之间的 友谊也是更近一步。一句老话说的:万事开头难。此外,还得出一个结论:知识必须 通过应用才能真正实现其价值!有些东西以为学会了,但真正到要用的时候才发现是两 回事,所以我认为只有到真正用得时候才是真正的学会了,理论和时间是不能分开的两兄弟。致谢本论文是在孙剑芬老师导下完成的。本论文从选题到设计、分析、实验等阶段,再到最后的撰写和修改,整个过程都凝聚着孙老师对我

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号