《微机原理实训报告书(猜数字游戏)》由会员分享,可在线阅读,更多相关《微机原理实训报告书(猜数字游戏)(16页珍藏版)》请在金锄头文库上搜索。
1、第 1 页目目 录录1、任务.22 方案设计与论证 .22.1 处理器的选择方案与比较.22.2 输入设备选择方案与比较 .22.3 显示设备的选择 .33 总体设计方案框图.33.1 系统的总体结构如下图所示: .33.2 系统工作原理设计 .34 系统的电路及硬件实现.44.1 系统的电路图设计 .44.2 单片机的介绍 .45 系统软件的设计(功能的实现) .55.1 控制游戏平台的实现 .66 程序代码 .77 实训总结 .16第 2 页猜数字游戏猜数字游戏1 1 任务任务设计并制作单片机游戏开发平台,包括单片机控制器,显示设备,片外程序存储器,通过平台开发猜数字游戏,具体任务要求如下
2、:主要组成部分:游戏开发平台、猜数字游戏的开发、显示设备。基本要求1 单片机驱动显示屏轮流显示几副游戏图画。2 驱动片外程序存储器读写游戏画面。3 可以通过按键控制显示不同画面。发挥部分1 单片机实现猜数字游戏。2 可以显示游戏规则。3 合理配置单片机 RAM 作为显存,开发猜数字游戏,并将程序储存在片外的 ROM 中。4 其它2 2 方案设计与论证方案设计与论证考虑到游戏开发系统具有支持猜数字游戏并驱动液晶显示屏,信息编辑、信息转换,信息显示,多种功能。我们进行了如下方案分析:2.12.1 处理器的选择方案处理器的选择方案采用单片机实现,用程序流程控制实现本系统的功能要求。我们知道 MSP4
3、30 系列是一个 16 位的、具有精简指令集的、超低功耗的混合型 单片机,采用了精简指令集(RISC)结构,具有丰富的寻址方式 和较高的处理速 度,可以保证编制出高效率的源程序 ,由于引进了 Flash 型程序存储器和 JTAG 技术,不仅使开发工具变得简便,而且价格也相对低廉,能够满足系统的要求。 而在我们学习过单片机中对 MCS-51 系列的单片机较熟悉,可编程、工作可靠、价格经 济、能耗少可以满足驱动视频信号的要求。 考虑到本系统需要编写的程序较多,所以采用具有 8kb 程序存储器的 AT89S52 单第 3 页片机。我们对 c 语言较为熟练,所以采用 c 语言编写程序。2.22.2 输
4、入设备选择方案输入设备选择方案采用自己制作的按键(并集成在开发品台上)输入,采用行列扫描式键盘,并设置专 用功能键。优点是可以方便的设置,缺点是如果按键做的太多则需要扩展 I/O 口。本 功能实现不需要太多按键,故以上可满足要求。2.32.3 显示设备的选择显示设备的选择考虑到带中文字库的 WGM-12864H 是一种具有 4 位/8 位并行、2 线或 3 线串行多种 接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示 分辨率为 12864, 内置 8192 个 16*16 点汉字,和 128 个 16*8 点 ASCII 字符集.利用 该模块灵活的接口方式和简单、方便
5、的操作指令,可构成全中文人机交互图形界面。 可以显示 84 行 1616 点阵的汉字. 也可完成图形显示.低电压低功耗是其又一显著 特点。由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬 件电路结构或显示程序都要简洁得多,完全满足游戏品台的要求且使我们游戏的开发 过程更加方便。3 3 总体设计方案框图总体设计方案框图3.13.1 系统的总体结构如下图所示系统的总体结构如下图所示:本系统的硬件核心是单片机,关键的技术是程序流程的控制和软件编码、解码技术, 。3.23.2 系统工作原理系统工作原理游戏开发系统由按键控制程序流程,开发平台控制系统的工作方式,并处理数据,将数据送至
6、显示屏显示。 开发平台LCD 显示控制端第 4 页4 4 系统的电路设计及硬件实现系统的电路设计及硬件实现4.14.1 系统的电路图设计系统的电路图设计123456ABCD654321DCBATitleNumberRevisionSizeBDate:18-Nov-2008Sheet of File:C:Documents and SettingsAdministrator桌桌tuPRE VIO1.DDBDrawn By:VCC1GND2OV3RS4RW5E6DB07DB18DB29DB310DB411DB512DB613DB714PSB15NC16LCD12864RST17VEE18LE D+
7、19LE D-20LCDP0039P0138P0237P0336P0435P0534P0633P2021P2122P2223P2324P2425P2526P2627RD17WR16ALE /P30PSEN29P0732P2728P101P112P123P134P145P156P167P178INT113INT012T115T014EA/VP31X119X218RESET9RXD10TXD11AT89S52R?AT89S52VCCVCCS?ANS?ANS?ANS?ANS?ANS?ANS?ANS?ANS?ANS?ANS?ANS?ANS?ANS?ANS?ANS?AN图 4-14.24.2 单片机的介
8、绍单片机的介绍AT89S52 单片机是系统中的控制核心,它是个低电压,高性能 CMOS8 位单片机, AT89S52 可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和 Flash存储器结合在一起,特别是可反复擦写的 Flash 存储器可有效地降低开发成本。其封装及引脚图如图 4-3:主要功能特性:兼容 MCS51 指令系统8k 可反复擦写(1000 次)FlashROM32 个双向 I/O 口256x8bit 内部 RAM3 个 16 位可编程定时/计数器中断时钟频率 0-24MHz第 5 页图 4-3WGM-12864H 是一种具有 4 位/8 位并行、2 线或 3 线串行多种
9、接口方式,内部含有 国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为 12864, 内置 8192 个 16*16 点汉字,和 128 个 16*8 点 ASCII 字符集.利用该模块灵活的接口方 式和简单、方便的操作指令,可构成全中文人机交互图形界面。 RSR/WDB7DB6DB5DB4DB3DB2DB1DB0 0000000001 返回指令: RSR/WDB7DB6DB5DB4DB3DB2DB1DB0 000000001X 光标或整体移位指令 RSR/WDB7DB6DB5DB4DB3DB2DB1DB0 000001S/CR/LXXS/C R/L 操作0 0 光标左移,AC
10、减 10 1 光标右移,AC 加 11 0 所有显示左移1 1 所有显示右移光标显示及光标闪烁指令RSR/WDB7DB6DB5DB4DB3DB2DB1DB00000001DCB D=1 整体显示打开 D=0 整体显示关闭C=1 光标显示开 C=0 不显示光标B=1 光标闪烁 B=0 光标不闪烁2 个串行中断可编程 UART 串行通道2 个外部中断源共 6 个中断源2 个读写中断口线3 级加密位低功耗空闲和掉电模式软件设置睡眠和唤醒功能第 6 页5 5 系统软件的设计系统软件的设计( (功能的实现功能的实现) )5.15.1 控制游戏平台的实现控制游戏平台的实现本系统的功能主要是由平台上的按键通
11、过游戏平台,逐步实现各个功能。软件的设计思路是单片机时刻扫描键盘,如有键按下,进入到解码程序,入到程序散转表,去执行各个功能控制程序。程序流程图如图 5-1:图图 5-15-1第 7 页6 6 程序代码程序代码 #include #define uint unsigned int #define uchar unsigned char #define DAT P0 #define INPUT P1 void WRI(uchar a); void WRD(uchar b); void display_picture(); void display_word(uchar row1,uchar li
12、ne1,uchar *p,uint first,uchar last); void delay(uint c); void close(); void key();/判断键值子程序 bit start_key(); /扫描键盘子程序 void number_key();/扫描键盘子程序 void E_START(void); void E_EXIT(void); void begin(void); sbit RS=P20; sbit E=P21; sbit E_close=P30; uchar code buf1024= 0x00,0x00,0x1F,0xFF,0xFE,0x00,0x00,0
13、x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00, 0x00,0x00,0x3F,0xFF,0xFF,0x00,0x00,0x00,0x0E,0x00,0x00,0x00,0x00,0x00,0xE0, 0x00, 0x00,0x00,0x7F,0xFF,0xFF,0x80,0x00,0x00,0x07,0x00,0x00,0x60,0x00,0x00,0xF8, 0x00, 0x00,0x00,0x7F,0xFF,0xFF,0xC0,0x00,0x03,0x87,0x80,0x00,0x60,0x00,0x00,0x7F, 0xC0, 0x00,0x00,0xFF,0xFF,0xFF,0xE0,0x00,0x03,0xCF,0xC0,0x00,0x79,0xC0,0x01,0xFC, 0xE0, 0x00,0x00,0xFF,0xFF,0xFF,0xF0,0x00,0x3F,0xFE,0x00,0x00,0x7F,0xC0,0x0F,0xFD, 0xE0, 0x00,0x03,0xFF,0xFF,0xFF,0xF0,0x00,0x0F,0x1F,0x00,0x07,0xFB,0xC0,0x0C,0x1F, 0xE0, 0x00,0x0F,0xFF,0xFF,0xFF,0xF8,0x00,0x0F,0x3F,0x00,0x0F