




文档简介
摘摘要要 从十九世纪末到二十世纪五、 六十年代,从内容单一的投币游戏机到科技发达的 电子计算机游戏一个娱乐业革命也在酝酿之中。 本系统主要的是基于单片机的俄罗斯 方块游戏, 设计的主要部分有了解俄罗斯方块游戏的游戏规则、设计出整个系统的硬 件结构并进行实物焊接、编写软件代码并进行调试。由于显示部分是用基于 KS0108 内核的液晶模块 FG12864E,所以需要弄清楚 FG12864E 液晶显示屏的详细介绍以及 KS0108 的指令集。本系统模拟出的俄罗斯方块游戏,具有难度依次加大、速度依次 加快、按键发声、系统低功耗、可实现在线调试等特点。本系统是以单片机为其控制 核心, 以有源晶振构成的电路作为时钟信号,通过方向键的选择向单片机控制系统发 出砖块移动控制命令, 控制系统接收命令后做出一系列必要的判断后,控制砖块的移 动和旋转。然后通过对数组的控制,在液晶屏上显示出游戏的画面,通过液晶显示画 面,显示出砖块的移动和旋转。本设计已通过了硬件测试,系统运行稳定。用本系统 设计的硬件结构还可以运行其他对显示要求不大的小游戏,如贪吃蛇、推箱子、五子 棋。 关键词关键词:AT89S52 单片机;俄罗斯方块;KS0108;FG12864E 液晶显示;C 语言 Abstract From the 19th century to the twentieth century 1950s Russian square; KS0108; FG12864E LCD display; C language 目目录录 1 引 言.1 2 课题任务及方案论证.2 2.1 主要任务. 2 2.2 方案论证. 2 2.2.1 主控制器的选择. 2 2.2.2 液晶屏的选择. 4 3 系统的硬件组成及接口介绍.6 3.1 电源部分. 6 3.2 单片机部分. 7 3.2.1 AT89S52 单片机的介绍. 7 3.2.2 复位电路. 7 3.2.3 晶振电路. 8 3.3 液晶显示芯片与单片机接口电路. 9 3.4 控键、蜂鸣器与单片机接口电路. 9 4 软件部分设计及调试.10 4.1 C 语言程序设计.10 4.1.1 C 语言简介. 10 4.1.2 C 语言特点. 10 4.2 游戏运行方式.11 4.2.1 游戏规则介绍. 11 4.2.2 流程图. 11 4.3 部分子程序. 13 4.3.1 液晶屏初始化函数. 13 4.3.2 液晶屏写指令和写数据函数. 13 4.3.3 方块生成函数. 14 4.3.4 移动和旋转函数. 15 4.4 程序调试过程. 16 4.4.1 电路检测. 16 4.4.2 调试步骤. 16 4.4.3 调试遇到的问题及解决方案. 16 5 程序调试和仿真软件.17 5.1 Keil2 介绍及编程. 17 5.1.1 软件介绍. 17 5.1.2 软件应用. 17 5.2 Proteus 介绍及应用. 18 5.2.1 软件介绍. 18 5.2.2 软件应用. 19 总结.20 参考文献.21 附 录 1 总电路图.22 附 录 2 系统程序.23 致谢.错误!未定义书签。错误!未定义书签。 天津职业技术师范大学 2010 届本科生毕业设计 1 1 1 引引 言言 如今,游戏机风行的程度,是第一台电子游戏机的研制者诺兰-布什纳尔先生始 料不及的。在全世界最大的城市,直至最小的村庄,从纽约最辉煌的游乐场,到高加 索最小的乡镇儿童娱乐点,在千家万户,正在进行着千千万万这样的“战斗” ,伴随 着无数成功与失败,兴奋与懊丧。游戏机带来了一个全球性的疯狂症,其他任何娱乐 与之相比都望尘莫及。 然而,究竟是什么原因使游戏机如此风行呢? 在回顾了游戏机 发展简史之后, 我们不难悟出, 技术进步在游戏机发展过程中起到了极大的促进作用。 第二次世界大战以后,电子计算机技术得到了突飞猛进的发展。先是由晶体管代 替了笨重的真空管, 后来出现了集成电路和大规模集成电路,使电子计算机一代一代 实现更新,同时软件技术也发展迅速。在美国,集中了许多计算机软件的设计人才, 他们工作之余,时常喜爱编一种能与人斗智的“游戏”,以此来锻炼编程的能力。这 种“游戏”花样繁多,但其特点都是利用计算机软件事先设计好的“分析”、“判 断”能力反过来与人较量。 由于不断修改更新,使计算机的“智力”水平与人难分高 低。 随着深蓝计算机与人的棋类对决,到现在的 PSP 游戏机或者是家庭用的 X-BOX 游戏机,游戏机的技术是日益的发展、进步。 但是,技术进步绝不是游戏机风行的唯一因素。随着终端设备开发能力的加强, 作为娱乐终端的游戏机也得到了很大程度的发展。只有得到了游戏终端技术的支持, 才能做出更新、更高难的游戏。这也加速了游戏机在全球风行程度,所以对于游戏机 的研究和设计具有很重要的意义,这也是本课题研究的来源 天津职业技术师范大学 2010 届本科生毕业设计 2 2 2 课题任务及方案论证课题任务及方案论证 2.12.1 主要任务主要任务 现如今,游戏风靡全球,各种游戏层出不穷,大到网络型的复杂游戏,小到手机 游戏、单机游戏、智力游戏等简单游戏。但是这种简单也是相对于网络游戏等大型游 戏而言的, 小游戏本身的代码还是相当繁杂,它要执行一系列指令才能正确的完成一 个简单的操作, 才能按照玩家的意志工作。所以我们现在见到的游戏多是在基于电脑 这种高速执行指令的平台上运行的,脱离了它就什么事都做不了了。那么推箱子这种 小游戏能否在单片机上编出来呢?答案是肯定的,现从以下几个方面加以论证。 2.22.2 方案论证方案论证 首先,我们编写的这个游戏是一个小型游戏,实现的功能比较简单,不像大型游 戏那样功能复杂, 它只要控制俄罗斯砖块放到正确的位置即可,难度随着砖块的增多 而加大,对于实现这样一个功能,程序不是太复杂,用一块单片机足以达到目的。其 次,它的控件也比较少只有 4 个方向键和 2 个辅助的功能键,这些控键在 Proteus 中 用弹跳式按键代替即可。第三,游戏地图相对比较小、画面简单,只有几个图形,这 些在一块稍大的液晶屏上就足以显示,用不着电脑显示屏。第四,就编程语言方面来 说,编写这样一个简单的小游戏不需要什么高级的语言,C 语言或汇编语言就足以完 成,C 语言是一种通用型的语言,编程灵活、可读性强、移植性好;汇编语言是一种 直接面向硬件的基础语言,最接近机器语言,执行速度快(本游戏采用 C 语言编写) 。 由以上几点可知:单片机上运行推箱子游戏在硬件和软件两个方面都是可行的。 2.2.12.2.1 主控制器的选择主控制器的选择 AT89S52 是标准的 40 引脚双列直插式集成电路芯如图 2-1 所示,AT89C51 是 一种带 4K 字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,高性能 CMOS8 位微处理器,俗称单片机。 该器件采用 ATMEL 高密度非易失存储器制造技术制造, 与工业标准的 MCS-51 指令集 和输出管脚相兼容。 由于将多功能 8 位 CPU 和闪烁存储器组合在单个芯片中, ATMEL 的 AT89C51 是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价 廉的方案。 AT89S52 具有以下标准功能: 8K 字节 Flash, 256 字节 RAM, 32 位 I/O 口线, 看门狗定时器,2 个数据指针,三个 16 位 定时器/计数器, 一个 6 向量 2 级中断 结构, 全双工串行口, 片内晶振及时钟电路。另外,AT89S52 可降至 0Hz 静态逻 天津职业技术师范大学 2010 届本科生毕业设计 3 辑操作, 支持 2 种软件可选择节电模式。 空闲模式下, CPU 停止工作,允许 RAM、 定时器/计数器、串口、中断继续工 作。掉电保护方式下,RAM 内容被保存,振荡 器被冻结, 单片机一切工作停止,直到下一个中断或硬件复位为止。 图 2-1 AT89S52 的引脚图 (1)管脚功能 输入/输出口 P0.0P0.7P0 口 8 位双向口 P1.0P1.7P1 口 8 位双向口 P2.0P2.7P2 口 8 位双向口 P3.0P3.7P3 口 8 位双向口 ALE 地址锁存控制信号 在系统扩展时,ALE 用于控制把 P0 口输出的低 8 位地址送入锁存器锁存起来, 以实现低位地址和数据的分时传送。此外由于 ALE 是以六分之一晶振频率的固定频 率输出的正脉冲,因此可作为外部时钟或外部定时脉冲使用。 PSEN 外部程序存储器读选通信号 在读外部 ROM 时 PSEN 有效(低电平) ,以实现外部 ROM 单元的读操作。 EA 访问程序存储器控制信号 当 EA 信号为低电平时, 对 ROM 的读操作限定在外部程序存储器; 而当 EA 信号 天津职业技术师范大学 2010 届本科生毕业设计 4 为高电平时, 则对 ROM 的读操作是从内部程序存储器开始,并可延续至外部程序存储 器。 RST 复位信号 当输入的复位信号延续 2 个机器周期以上高电平时即为有效, 用以完成单片机的 复位操作。 XTAL1 和 XTAL2 外接晶体引线端 当使用芯片内部时钟时, 此二引线端用于外接石英晶体和微调电容;当使用外部 时钟时,用于接外部时钟脉冲信号。 Vss地线 Vcc+5V 电源 (2) 常见的第二功能信号 P3 口线的第二功能 P3 的 8 条口线都定义有第二功能如表 2-1 所示 表 2-1 端口第二功能 口线第二功能信号名称 P3.0RXD串行数据接收 P3.1TXD串行数据发送 P3.2INT0外部中断 0 申请 P3.3INT1外部中断 1 申请 P3.4T0定时器/计数器 0 记数输入 P3.5T1定时器/计数器 1 记数输入 P3.6WR外部 RAM 写选通 P3.7RD外部 RAM 读选通 (3) EPROM 存储器程序固化所需要的信号 有内部 EPROM 的单片机芯片(例如 80C51) ,为写入程序需提供专门的编程脉 冲和编程电源,它们也是由信号引脚以第二功能的形式提供的,即: 编程脉冲:30 脚(ALE/ PROG) 编程电压(25V) :31 脚(EA/Vpp) 2.2.22.2.2 液晶屏的选择液晶屏的选择 HS12864-1 是一种图形点阵液晶显示器,它主要由行驱动器/列驱动器及12864 全点阵液晶显示器组成,可完成图形显示,也可以显示84个(16*16点阵)汉字。 主要技术参数: 天津职业技术师范大学 2010 届本科生毕业设计 5 1.电源VDD +5V模块内自带-10V 负压用于LCD 的驱动电压 2.显示内容128(列)64(行) 3.全屏幕点阵 4.七种指令 5.与CPU接口采用8位数据总线并行输入输出和8条控制线 6.占空比 1/64 7.工作温度-10+55存储温度 -20+60 模块的外部接口如表2-2所示: 表2-2 管脚功能 管脚管脚名称LEVER管脚功能描述 1VSS0V电源地 2VDD5V电源电压 3V0-对比度,亮度调整 4D/IH/L D/I=H 表示 DB7DB0 为显示数据 D/I=L 表示 DB7DB0 为显示指令数据 5R/WH/L R/W=H E=H 数据被读到 DB7DB0 R/W=L E=HL DB7DB0 的数据被写到 IR 或 DR 6EH/L使能信号 7DB0H/L三态数据线 8DB1H/L三态数据线 9DB2H/L三态数据线 10DB3H/L三态数据线 11DB4H/L三态数据线 12DB5H/L三态数据线 13DB6H/L三态数据线 14DB7H/L三态数据线 15CS1H/L片选,选左半屏 16CS2H/L片选,选右半屏 17RETH/L复位信号,低电平复位 18VEE-LCD 驱动电压输出端 19AVDDLED背光正源 20KVSSLED背光负源 天津职业技术师范大学 2010 届本科生毕业设计 6 3 3 系统的硬件组成及接口介绍系统的硬件组成及接口介绍 3.13.1 电源部分电源部分 电源装置是电路的能量提供者,该设计中所制作的电源为单相小功率电源,它将 50HZ、有效值为 220V 的单相交流电压转换为幅值稳定、输出电流为几十安以下的直 流电压。单相交流电经过电源变压器、整流电路、滤波电路和稳压电路转换成稳定的 直流电压,其方框图如图 3.1 所示。 电源变压器 整流电路 滤波电路 稳压电路 Vi V2 VR VF Vo 图 3.1 直流稳压电源的方框图 直流电源的输入为 220V 的电网电压(即市电) ,一般情况下,所需直流电压的 数值和电网电压的有效值相差很大,因而需要通过电源变压器降压后,在对交流电压 进行处理。变压器副边电压有效值决定于后面电路的需要。 变压器副边电压通过整流电路从交流电压转换为直流电压, 即将正弦波交流电压 转换为单一方向的脉动电压, 但由整流电路输出的电压含有较大的交流分量,会影响 负载电路的正常工作。 为了减少电压的脉动, 需通过低通滤波电路滤波, 使输出电压平滑。 理想情况下, 应将交流分量全部滤掉,使滤波电路的输出电压仅为直流电压。然而,由于滤波电路 为无源电路, 所以接入负载后势必影响其滤波效果。 对于稳定性要求不高的电子电路, 整流、滤波后的直流电压可以作为供电电源。 交流电压通过整流、 滤波后虽然变为交流分量较小的直流电压,但是当电网电压 波动或者负载变化时, 其平均值也将随之变化。稳压电路的功能是使输出直流电压基 本不受电网电压波动和负载电阻变化的影响,从而获得足够高的稳定性。 由于系统的要求,需要用 5V 的稳压直流电源对系统中的芯片进行供电,电路采 用 7805 进行设计。7800 系列的最后两位数字表示该集成稳压器的输出电压值,其输 出电压的偏差在 2%以内。固定输出的集成稳压电源的基本电路如图 3.2 所示。Ui 是 整流滤波以后的未经稳压的输入电压;Uo 是稳压电源的输出电压。总体电源电路如 图 3.3 所示: 天津职业技术师范大学 2010 届本科生毕业设计 7 图 3.2 7805 接线图 1000uF/16V C7 470uF/10V C9 IN4007*4 D2D5 IN4007 D1 0.1uF C5 0.1uF C6 +5V IN 1 3 OUT 2 GND 7805 U1 220/9V T1 AC 220V 图 3.3 电源电路 3.23.2 单片机部分单片机部分 3.2.13.2.1 AT89S52AT89S52 单片机的介绍单片机的介绍 AT89S52 是一种低功耗、高性能 CMOS8 位微控制器,具有 8K 在系统可编 程 Flash 存储器。使用 Atmel 公司高密度非易失性存储器技术制造,与工业 80C51 产品指令和引脚完 全兼容。片上 Flash 允许程序存储器在系统可编程, 亦适于 常规编程器。 在单芯片上, 拥有灵巧的 8 位 CPU 和在系统可编程 Flash, 使得 AT89S52 为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 AT89S52 具有以下标准功能: 8k 字节 Flash,256 字节 RAM,32 位 I/O 口线, 看门狗定时器,2 个数据指针,三个 16 位定时器/计数器,一个 6 向量 2 级中断 结构,全双工串行口, 片内晶振及时钟电路。另外,AT89S52 可降至 0Hz 静 态逻 辑操作,支持 2 种软件可选择节电模式。空闲模式下,CPU 停止工作, 允许 RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM 内 容被保存,振荡器被冻结, 单片机一切工作停止,直到下一个中断或硬件复位 为止。8 位微控制器 8K 字节在系统可编程 Flash AT89S52。 在硬件设计时用到了 P1 口、P2 口、P3 口,作为 IO 口进行数据的传输。 3.2.23.2.2 复位电路复位电路 单片机上电, 当振荡器正在运行时,只要持续给 RST 引脚两个机器周期的电平便 7805 Uo Ui 天津职业技术师范大学 2010 届本科生毕业设计 8 可完成系统复位。 外部复位电路是为内部复位电路提供两个几个机器周期以上的高电 平而设计的。系统采用上电自动复位,上电瞬间电容器上的电压不能突变,RST 上的 电压是 VCC 和电容器上电压差,因而 RST 电压大小与 VCC 相同。随着充电的进行,电 容器上电压不断上升, RST 电压就随着下降,RST 引脚只要保持 10ms 以上高电平系统 就会有效复位。电容 C 可取 1033Uf,电阻 R 可取 1.210K。系统设计中 C 取 10uF, 电阻 R 取 10K,充电时间常数为 100ms。 上电复位采用电平方式开关复位。如图 3-4 所示。 上电复位用 RC 电路,电容 用 10uF,电阻用 10K。 图 3-4 复位电路 3.2.33.2.3 晶振电路晶振电路 XTAL1 和 XTAL2 引脚分别构成片内振荡器反相放大器的输入和输出端, 外接石 英晶体或陶瓷振荡器以及补偿电容 C1、C2 构成并联谐振电路。当外接石英晶体时, 电容 C1、C2 选 30pF;当外接陶瓷振荡器时,电容 C1、C2 选 47pF.AT89S52 系统中晶 振可在 024MHz 选择.外接电容 C1、C2 的大小会影响振荡器频率的高低、振荡频率 的稳定度、 起振时间及温度稳定性。 在设计电路板时, 晶振和电容应靠近单片机芯片, 以便减少寄生电容,保证振荡器稳定可靠工作。在系统设计中,为保证串行通信波特 率的误差应选择 12MHz 的标准石英晶振,电容 C2、C3 为 33pF。如图 3-5 所示 图 3-5 晶振电路 8 80 05 51 1 X XT TA AL L1 1 X XT TA AL L2 2 C C1 1 C C2 2 8051 8751 8031 R RS ST T CR R1 R2 5V 天津职业技术师范大学 2010 届本科生毕业设计 9 3.33.3 液晶显示芯片与单片机接口电路液晶显示芯片与单片机接口电路 液晶显示屏共有 20 个引脚,其中 VDD 接电源,VSS 接地,RS 接单片机的 P1.0 脚,RW 接单片机的 P1.1 脚,使能端 E 接 P1.2 脚,片选端接 P1.3 和 P1.4,D0D7 数据段接口接 P2.0P2.7。如图 3-6 所示 图 3-6 液晶显示与单片机相连电路图 其中传输数据和指令的时候需要配置 P1.0,P1.1,P1.2 口,其中 P1.2 口控制的 是液晶显示的 E 使能端,下降沿有效。P1.0 控制的是液晶显示的 I/O 端,高电平的时 候传输数据,低电平的时候传输指令。 3.43.4 控键、蜂鸣器与单片机接口电路控键、蜂鸣器与单片机接口电路 本游戏共有 6 个控键,分别是:三个方向键,用于控制俄罗斯方块的移动方向; 一个确定键,用于刷新初始化界面进入游戏界面;一个暂停键,用于暂停,一个变形 键,用于将方块转换方向。一个蜂鸣器,用于按键发声,以提示按键是否有效。 控件、 喇叭与单片机的接线是:下移键接 P3.0;左移键接 P3.1; 右移键接 P3.3; 暂停键接 P3.2;确定键接 P3.5;变形键接 P3.4;蜂鸣器与 P3.6 相连。 程序通过查询的方式检查是否有按键按下,调用移动或旋转函数。每次有按键按 下都会触发蜂鸣器,提示按键有效按下。 天津职业技术师范大学 2010 届本科生毕业设计 10 4 4 软件部分设计及调试软件部分设计及调试 4.14.1 C 语言程序设计语言程序设计 4.1.14.1.1 C C 语言简介语言简介 C 语言是在 70 年代初问世的。一九七八年由美国电话电报公司(AT _nop_(); _nop_(); LCD_RST=1; LCD_W_code(0 x3f,0);/开显示设置 LCD_W_code(0 xc0,0);/设置显示起始行为第一行 LCD_W_code(0 xb8,0);/页面地址设置 LCD_W_code(0 x40,0);/列地址设为 0 LCD_W_code(0 x3f,1); LCD_W_code(0 xc0,1); LCD_W_code(0 xb8,1); LCD_W_code(0 x40,1); 液晶屏初始化函数可以将液晶开显示,然后准备好液晶的页地址、行地址和列地 址,0 x3f 是开显示代码,0 xb8 是页地址,0 x40 是行地址 0 xc0 是列地址。本设计只 需开一次显示,之后就不再关显示了。页地址、行地址和列地址,分别是首页、首行 和首列的地址, 之后显示的时候需要在屏幕的哪个地方显示就加上它的页地址和列地 址就可以了。经过循环就可以显示出字母、汉字或者是图画了。 4.3.24.3.2 液晶屏写指令和写数据函数液晶屏写指令和写数据函数 void LCD_W_code(unsigned char tpcode,bit cs) /LCD_check_busy(); LCD_RS=0; LCD_RW=0; 天津职业技术师范大学 2010 届本科生毕业设计 14 LCD_CS2=cs; LCD_CS1=cs; LCD_DATA=tpcode; LCD_E=1; _nop_(); LCD_E=0; /写指令代码(cs 为 0 选左屏,cs 为 1 选右屏) void LCD_W_data(unsigned char tpdata,bit cs) /LCD_check_busy(); LCD_RS=1; LCD_RW=0; LCD_CS2=cs; LCD_CS1=cs; LCD_DATA=tpdata; LCD_E=1; _nop_(); LCD_E=0; /写数据(cs 为 0 选左屏,cs 为 1 选右屏) 当 LCD_RS 和 LCD_RW 都为地电平的时候,单片机向液晶显示屏写指令即地址,准 备向该地址写入数据,当 LCD_RS 为高、LCE_RW 为低的时候,单片机向液晶显示屏写 数据即显示内容,然后再使能端 E 的下降沿传入液晶显示屏。 4.3.34.3.3 方块生成函数方块生成函数 struct unsigned char mode;/类型 unsigned char shape;/形状 unsigned char x;/x 坐标 unsigned char y;/y 坐标 unsigned int box;/定义方块缓存 s_box;/定义方块结构体 void box_build() s_box.mode=next_mode; s_box.shape=next_shape; s_box.x=3; s_box.y=0; next_mode=TL0%7;/产生随机数,但是是伪随机的 next_shape=TL0%4;/产生随机数,但是是伪随机的 天津职业技术师范大学 2010 届本科生毕业设计 15 show_next_box(); /方块生成函数 先用结构体将方块的类型、 形状和将出现时的位置用一个结构体储存起来,然后 调用结构体,产生方块和下一方块。利用定时器 0 的第八位与 7 和 4 分别取模,得到 下一方块的类型和形状,不是随机产生的方块,是伪随机的,但是定时器运转很快, 所以可以看作是随机产生的方块。 4.3.44.3.4 移动和旋转函数移动和旋转函数 void game_button() switch(basic_button() case 1: if(s_box.y!=0)/1 表示 down 被按下 EA=0;/关中断,如果不关的话可能引起游戏显示混乱 while(check_cover(s_box.x,s_box.y+1,s_box.box)/检测是否能下降, 指导不能再下降为止 s_box.y+; box_to_Box_Ram(s_box.x,s_box.y-1,s_box.box); destroy_row(); box_build(); box_load(); box_to_Box_Ram(s_box.x,s_box.y,s_box.box); EA=1;/开中断 break; case 4: if(s_box.y!=0)/4 表示 left 被按下 EA=0;/关中断,如果不关的话可能引起游戏显示混乱 speaker=1; if(check_cover(s_box.x-1,s_box.y,s_box.box) s_box.x-; box_to_Box_Ram(s_box.x+1,s_box.y,s_box.box); EA=1;/开中断 speaker=0; break; case 5: if(s_box.y!=0)/5 表示 right 被按下 EA=0;/关中断,如果不关的话可能引起游戏显示混乱 speaker=1; 天津职业技术师范大学 2010 届本科生毕业设计 16 if(check_cover(s_box.x+1,s_box.y,s_box.box) s_box.x+; box_to_Box_Ram(s_box.x-1,s_box.y,s_box.box); EA=1;/开中断 speaker=0; break; 因为键盘是直接接到 P3 口的,所以用扫描键盘的方式编程,当扫描到有左键、 右键和下键被按下时,执行相应的移动函数,如果 button_A 键被按下,执行旋转函 数。所有的函数都是对数组的编辑,对数组里的数进行运算,将一个方块看作一个整 体,让它所占的数组进行变换,即可在屏幕上的到相应的变化。 4.44.4 程序调试过程程序调试过程 4.4.14.4.1 电路检测电路检测 将电路各个部分按照电路图所示焊接好,如不能正常工作,按原理图分模块进行 电路检测,是否有虚焊或漏焊现象;如焊接正常,在按信号传递的方向逐级检测,找 出出问题的一级,并向该级的上级进行检测,直到将故障排除。 4.4.24.4.2 调试步骤调试步骤 将液晶测试软件烧入到单片机中,检查液晶屏是否完好,电路是否错误。检查硬 件线路是否有短路或焊接不牢的问题 4.4.34.4.3 调试遇到的问题及解决方案调试遇到的问题及解决方案 最开始焊接好的电路后发现程序不能被烧录到单片机中去, 经过检查发现是由于 有一根线的绝缘皮破裂,导致硬件电路短路,修改后可以成功烧录程序。 调试液晶显示器的时候将液晶显示器的测试程序烧录到单片机中后, 发现不能显 示,经过检查后发现是由于液晶显示屏的对比对调节出现了问题,经过修改,可以成 功显示。 最初编程的时候不能生成 HEX 文件,不能烧录入单片机中,经过检查是由于电脑 的系统和 Keil2 软件兼容性差所导致的原因, 将 Keil2 软件从新激活后问题得大了解 决。 天津职业技术师范大学 2010 届本科生毕业设计 17 5 5 程序调试和仿真软件程序调试和仿真软件 5.15.1 Keil2Keil2 介绍及编程介绍及编程 5.1.15.1.1 软件介绍软件介绍 Keil C51 Vision2 集成开发环境是 Keil Software,Inc/Keil Elektronik GmbH 开发 的基于 80C51 内核的微处理器软件开发平台,内嵌多种符合当前工业标准的开发工 具,可以完成从工程建立到管理、编译、链接、目标代码的生成、软件仿真、硬件仿 真等完整的开发流程尤其是 C 编译工具在产生代码的准确性和效率方面达到了较高 的水平,而且可以附加灵活的控制选项,在开发大型项目时非常理想。Keil C51 集成 开发环境的主要功能有以下几点: 1Vision2 for Windows:是一个集成开发环境,它将项目管理、源代码编辑和 程序调试等组合在一个功能强大的环境中; 2C51 国际际准化 C 交叉编译器:从 C 源代码产生可重定位的目标模块; 3A51 宏汇编器:从 80C51 汇编源代码产生可重定位的目标模块; 4BL51 链接器/定位器:组合由 C51 和 A51 产生的可重定位的目标模块,生成 绝对目标模块; 5LIB51 库管理器:从目标模块生成连接器可以使用的库文件; 6OH51 目标文件至 HEX 格式的转换器,从绝对目标模块生成 Intel Hex 文件; 7RTX-51 实时操作系统:简化了复杂的实时应用软件项目的设计。 Vision2 支持所有的 Keil 80C51 的工具软件,包括 C51 编译器、宏汇编器、链 接器/定位器和目标文件至 Hex 格式转换器,Vision2 可以自动完成编译、汇编、链 接程序等操作。 5.1.25.1.2 软件应用软件应用 建立一个 C 项目, 使用 C 语言需要要使用到 C 编译器,以便把写好的 C 程序编译 为机器码,这样单片机才能执行编写好的程序。 编程之前先建立一个 Project 和一个后缀为.c 的文件,用来编辑系统程序,选 择系统用的 AT89S52 单片机,然后在编辑区编辑系统程序。编辑好程序后,进入调试 阶段先编译程序,检查程序中是否有错误,当显示 0 错误、0 警告时,就可以对整个 程序运行并生成 HEX 文件,用 ISP 方式,将 HEX 文件烧录到单片机中,然后就可以进 行硬件调试。 天津职业技术师范大学 2010 届本科生毕业设计 18 5.25.2 Proteus 介绍及应用 5.2.15.2.1 软件介绍软件介绍 Proteus 软件是来自英国 Labcenter electronics 公司的 EDA 工具软件,Proteus 软 件有十多年的历史,在全球广泛使用,除了其具有和其它 EDA 工具一样的原理布图、 PCB 自动或人工布线及电路仿真的功能外,其革命性的功能是,他的电路仿真是互 动的,针对微处理器的应用,还可以直接在基于原理图的虚拟原型上编程,并实现软 件源码级的实时调试,如有显示及输出,还能看到运行后输入输出的效果,配合系统 配置的虚拟仪器如示波器、逻辑分析仪等,您不需要别的,Proteus 为您建立了完备 的电子设计开发环境!尤其重要的是 Proteus Lite 可以完全免费,也可以花微不足道 的费用注册达到更好的效果;功能最强的 Proteus 专业版也非常便宜, 人人用得起, 对 高校还有更多优惠。 Proteus 组合了高级原理布图、 混合模式 SPICE 仿真,PCB 设计以及自动布线来实 现一个完整的电子设计系统。此系统受益于 15 年来的持续开发,被电子世界在其 对 PCB 设计系统的比较文章中评为最好产品 “The Route to PCB CAD” 。 Proteus 产 品系列也包含了我们革命性的 VSM 技术,用户可以对基于微控制器的设计连同所有的 周围电子器件一起仿真。用户甚至可以实时采用诸如 LED/LCD、键盘、RS232 终端 等动态外设模型来对设计进行交互仿真。 其功能模块:个易用而又功能强大的 ISIS 原理布图工具;PROSPICE 混合模 型 SPICE 仿真;ARES PCB 设计. PROSPICE 仿真器的一个扩展 PROTEUS VSM:便于包括所有相关的器件的基 于微处理器设计的协同仿真。 此外, 还可以结合微控制器软件使用动态的键盘, 开关, 按钮,LEDs 甚至 LCD 显示 CPU 模型. 1支持许多通用的微控制器,如 PIC,AVR,HC11 以及 8051. 最新支持 ARM 2交互的装置模型包括: LED 和 LCD 显示,RS232 终端,通用键盘,I2C,SPI 器件 3强大的调试工具,包括寄存器和存储器,断点和单步模式 4IAR C-SPY 和 Keil uVision2 等开发工具的源层调试 5应用特殊模型的 DLL 界面-提供有关元件库的全部文件 6 最新版支持非常丰富仿真元件共 7000 多种, 还有很多第三方模型。 如 MMC 卡, 以太网卡,ATA 硬盘,麦克风,等等。 该软件的特点: 全部满足我们提出的单片机软件仿真系统的标准,并在同类 产品中具有明显的优势。 具有模拟电路仿真、数字电路仿真、单片机及其外围电 路组成的系统的仿真、RS232 动态仿真、I2C 调试器、SPI 调试器、键盘和 LCD 系 统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。 目前 天津职业技术师范大学 2010 届本科生毕业设计 19 支持的单片机类型有:68000 系列、8051 系列、AVR 系列、PIC12 系列、PIC16 系 列、PIC18 系列、Z80 系列、HC11 系列以及各种外围芯片。支持大量的存储器和 外围芯片。总之,该软件是一款 集单片机和 SPICE 分析于一身的仿真软件,功能极 其强大,是其他任何一款软件不能相比的。 5.2.25.2.2 软件应用软件应用 本软件是单片机仿真软件,在软件中绘制出系统电路图,并将 Heil2 生成的 HEX 文件调入到仿真软件的 AT89S52 单片机中。经检查仿真软件中的电路图无误后,可以 进行仿真调试,电机仿真开始,可以在仿真界面里看到液晶显示出的图像,并可以对 整个电路进行控制,仿真出硬件电路的调试过程。 总结 20 总总结结 通过此次毕业设计,我不仅把知识融会贯通,而且丰富了大脑,同时在查找资料 的过程中也了解了许多课外知识,开拓了视野,认识了将来电子的发展方向,使自己 在专业知识方面和动手能力方面有了质的飞跃。 “基于单片机的游戏机设计与实现”是从我们的日常生活而来的一个课题,该课 题本身不是那么复杂, 而且当今市场上卖的游戏机也是高级得多。选这个课题并不是 要做多
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年公共卫生机构消毒防疫及环境保洁服务协议
- 2025年特种材料采购与高效运输服务专项合同
- 2025年文化创意产业融资担保合作协议
- 2025年雇佣中国员工劳动合同范本
- 2025年检验多选试题及答案
- 续签劳动合同
- 2025年在线教育平台用户增长与留存策略:在线教育平台用户激励与留存策略报告
- 2025年新型城镇化建设可行性研究评估报告
- 2025年海洋生态保护政策与海洋生态环境治理能力建设报告
- 2025年文化遗产数字化保护与利用的数字文化遗产保护人才培养研究
- 小儿气道麻醉管理
- 祠堂修缮勘察方案(3篇)
- 中国木质纤维素行业市场规模及投资前景预测分析报告
- JG/T 11-2009钢网架焊接空心球节点
- 林地征占用协议书
- 合规审计笔试题及答案
- 中国工程总承包行业市场深度调研及发展趋势与投资前景研究报告2025-2028版
- 老年髋部骨折围术期护理临床实践专家共识2024版解读
- 中国胎教行业市场调研分析及投资前景预测报告
- 储能电站施工方案新建项目
- 《GNSS测量技术与应用》 课件 4.10GNSS控制测量技术总结
评论
0/150
提交评论