基于单片机的俄罗斯方块游戏系统的设计
- 格式:doc
- 大小:1.07 MB
- 文档页数:62
本科课程设计题目:基于单片机的8*8LED 俄罗斯方块设计姓名孙俊学号2008130346院(系)物理与信息科学学院电子系专业、年级电子信息科学与技术2008级指导教师刘美容二○一一年十月基于单片机的8x8 俄罗斯方块设计一、设计任务《俄罗斯方块》是一款世人皆知,看似简单实则变化无穷的小游戏。
本次设计以51单片机为基础,设计一款功能简单的8*8点阵俄罗斯方块游戏,我们将以汇编语言编程实现以下操作:图形的显示合成,通过按键控制图形的移动和旋转,满格消行,手动复位等。
本次设计俄罗斯方块功能简单,用单片机的最小系统就能得以实现。
而单片机的最小系统设计中实际上最重要的就是对键盘/显示器接口电路的设计,由于系统功能不同所以要求就不同,接口设计也就不同。
对一个键盘/显示器接口设计应从整个系统出发,综合考虑软、硬件特点。
其中,硬件设计包括初始的设计原理和原理图介绍,到最终的电路图实际焊接以及布局,软件设计我们会给出具体的设计方案,比如图形的显示合成,通过按键控制图形的移动和旋转,满格消行等的设计流程图,以及具体的汇编程序。
二、设计方案本次设计初期是在keil和proteus联合仿真中进行,编程语言为51汇编语言,后期是进行实物焊接。
本次我们采用单片机STC89C52控制模块提供电源,以点阵式LED 显示,采用独立按键,直接在I/O口线上接上按键开关。
因为设计时精简和优化了电路,所以剩余的口资源还比较多,我们使用四个按键,分别是旋转键,下键,左键,右键。
这种方案实现可行,既满足系统功能要求,又减少了系统实现的复杂度。
而由于STC89C52是一种带8K 字节闪烁可编程可檫除只读存储器的低电压,高性能COMOS8的微处理器,该器件采用ATMEL 搞密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
89C52内置8位中央处理单元、256字节内部数据存储器RAM 、8k 片内程序存储器(ROM )32个双向输入/输出(I/O)口、3个16位定时/计数器和5个两级中断结构,一个全双工串行通信口,片内时钟振荡电路。
摘要俄罗斯方块是一款风靡全球的电视游戏机和掌上游戏机游戏,它由俄罗斯人阿列克谢·帕基特诺夫发明,故得此名。
俄罗斯方块的基本规则是移动、旋转和摆放游戏自动输出的各种方块,使之排列成完整的一行或多行并且消除得分。
由于上手简单、老少皆宜,从而家喻户晓,风靡世界。
这次设计将使用52单片机和HD61202液晶显示控制驱动器和JM12864J液晶显示器组合,来实现比较简单的俄罗斯方块设计。
此次设计初期是在keil和proteus联合仿真中进行,编程语言为51汇编,后期是进行实物焊接。
论文描述了俄罗斯方块的主要功能函数的实现。
关键词:俄罗斯方块,算法,仿真AbstractTetris is a popular television game machine and game machine game, which Alexei Pajitnov invented by Russians, it was this name. Tetris are the basic rules of movement, rotation and display the game automatically output of the box, which are arranged into a complete one or more rows and eliminate scores. Due to use simple, ages, thus make known to every family, swept the world.Based on single chip computer of the curriculum design of opportunity, I will use the 51 single-chip microcomputer and HD61202 LCD control driver and JM12864J liquid crystal display combination, to carry out a more simple Russian square design.This design is in early keil and proteus joint simulation, programming language for 51 assembly, later is welding material.The paper describes the main functions of the Russian box function of the realization of.Keywords:Russian square, Algorithm, Simulation目录摘要 (1)Abstract (2)目录 (1)引言 (3)1整体设计方案 (4)1.1系统的核心部分单片机 (4)1.2液晶显示模块 (8)2系统程序的设计 (16)2.1俄罗斯方块驱动流程图 (16)2.2俄罗斯方块所有绘图工作流程图 (17)2.3俄罗斯方块中按下键的流程图 (18)2.4俄罗斯方块所有绘图工作流程图 (19)3系统仿真 (20)3.1 Proteus软件介绍 (20)3.2 Keil软件介绍 (20)3.3俄罗斯方块系统PROTUES仿真 (21)结论 (24)参考文献 (25)附录A 电路原理图 (26)附录B 主要程序 (28)附录C 英文资料和中文翻译 (45)结束语 (1)引言游戏是人们活动中一项非常重要的内容,有人认为如果哪一天人类对所有的游戏都失去兴趣,恐怕世界的末日就要到了。
基于51单片机的俄罗斯方块游戏毕业设计论文目录摘要..................................................... 错误!未定义书签。
ABSTRACT ..................................................... 错误!未定义书签。
1 绪论 (6)1.1 课题背景 (6)1.2 课题的主要研究内容 (6)1.3 课题的研究现状及意义 (7)2 系统硬件平台设计 (7)2.1 STC12C5A60S2单片机概述 (7)2.2 STC12C5A60S2最小系统 (8)2.3 电源系统 (8)2.4 振荡电路 (9)2.5 复位系统 (9)2.6 程序下载系统 (10)2.7 音乐播放系统 (11)2.8 LCD液晶显示接口电路 (11)2.9 操作控制接口 (12)3 系统软件平台构建 (13)3.1 μVision简介 (13)3.2 LCD12864液晶屏显示原理 (13)3.2.1 LCD模块总线选择及时序 (13)3.2.2 LCD显示RAM区映射概况 (14)3.2.3 LCD的驱动方法 (15)3.2.4 LCD驱动程序架构 (15)3.3 俄罗斯方块游戏设计 (16)3.3.1 俄罗斯方块游戏功能简介 (16)3.3.2 系统界面的设计 (17)3.3.3 游戏系统“枚举算法”概述 (19)3.3.4 俄罗斯方块造型设计的方法 (20)3.3.5 随机产生俄罗斯方块的方法 (20)3.3.6 俄罗斯方块平移的实现方法 (22)3.3.7 俄罗斯方块旋转的实现方法 (23)3.3.8 俄罗斯方块下移的实现方法 (25)3.3.9 满行检测及消行功能的实现方法 (26)3.3.10 游戏积分的计算方法 (27)3.4 双人俄罗斯方块游戏设计 (29)3.4.1 RTX51 Tiny简介 (29)3.4.2 RTX51 Tiny的内核分析 (29)3.4.3 游戏开发环境的配置 (32)3.4.4 双人单机对战模式的实现流程 (33)3.5 系统背景音乐的设计 (33)3.5.1音乐的设计原理 (33)3.5.2 音乐播放的实现方法 (35)3.5.3 音效程序流程 (35)3.6 系统主程序流程图 (36)4 产品功能说明与系统性能测试 (37)4.1 产品功能说明 (37)4.2 系统性能测试 (38)5 结束语 (38)参考文献 (40)致谢黄忠南基于单片机的俄罗斯方块游戏设计1 绪论1.1 课题背景如今,计算机系统的发展已明显地朝三个方向发展,这三个方向就是:巨型化,单片化,网络化。
2019届毕业生 毕业设计说明书题 目: 基于单片机的可调速俄罗斯方块游戏设计院系名称:信息科学与工程学院专业班级: 电科1504 学生姓名: 刘贝贝 学 号: 201516030412 指导教师: 王胜轩 教师职称: 讲师2019年 6月 5日摘要在历史的长河中,游戏机的发展十分迅速,从上世纪五六十年代简单的街机投币式游戏机到现在大型网络竞技类网游,带动了一个娱乐行业崛起,创造了巨大的经济价值,因此对游戏的开发有着巨大的经济价值,对于基于单片机的可调速俄罗斯方块游戏设计,遵循传统的俄罗斯方块游戏规则,对整个游戏机部署硬件电路并且对游戏程序进行优化,移植,使得游戏程序完全适合单片机的硬件电路。
显示部分是用基于ST7920驱动器的液晶模块LCD12864,因此需要弄清楚LCD12864液晶显示屏的详细介绍以及ST7920驱动器的功能说明。
例如传统的俄罗斯方块游戏玩法,难度会随着消除行数的增加而增加,方块下落的速度也会随着难度的增加而增加给玩家提供激动刺激的游戏体验,在基于单片机的开发过程中,系统所需的功耗很低,用不到传统CRT 显示器,以及高电压供电,在编写游戏开发过程中可以直接进行在线调试。
硬件电路是主要以STC89C52单片机为核心,结合外部晶振电路提供工作时钟频率,通过矩阵键盘让玩家控制方块的移动、旋转、暂停和开始游戏,游戏程序主要是通过对数组的控制,在液晶屏上显示出游戏的画面,通过液晶显示画面,显示出砖块的移动和旋转。
关键词:STC89C52单片机;俄罗斯方块;12864液晶显示器;ST7920;C语言Title Tetris game based on single chip microcomputerAbstractIn the long river of history, the development of the game is very fast, from the fifties and sixties of the last century simple arcade coin-operated games consoles to large network competitive online now, led to a rise of the entertainment industry, adjustable speed tetris follow the traditional rules of tetris game, for the whole game deployment of hardware circuit and optimize the game program, transplantation, makes the game completely suitable for single chip microcomputer hardware circuit. Therefore, it is necessary to make clear the detailed introduction of the LCD screen of LCD12864 and the function description of the driver of ST7920. This system simulate the tetris game, the difficulty with eliminate increase with the increase of the number of rows, square falling speed will increase with the increase of the difficulty to the players also provide excited exciting game experience, and the design of the system power consumption is low, with less than the traditional CRT display. The design of hardware circuit is mainly STC89C52 single-chip microcomputer as the core, through the matrix keyboard for players to control block move, rotate, pause and start the game, the game is mainly through the control of the array, on the LCD screen shows a picture of the game, through the liquid crystal display screen, show the bricks of the move and rotate.Keywords: STC89C52; Tetris; 12864E LCD display; ST7920; C language目次1 绪论 (1)1.1 课题背景 (1)1.2 课题的研究目的及意义 (2)1.3 课题的总体要求及规划 (2)2 课题任务及系统整体设计方案 (3)2.1 主要任务 (3)2.2 系统整体设计方案 (3)3 系统硬件平台设计 (5)3.1 系统的核心模块单片机 (5)3.2 外部振荡电路 (5)3.3 液晶显示电路 (6)3.4 复位开关电路 (7)3.5 矩阵键盘电路 (8)4 系统软件平台开台 (9)4.1 系统软件开发环境 (9)4.2 游戏玩法及实现的主要思路 (9)4.3 游戏运行过程中重要程序和算法 (12)5 游戏的调试与仿真 (20)5.1 游戏程序的调试 (20)5.2 硬件电路的仿真 (20)5.3 实物验证及演示 (21)结论 (22)致谢 (23)参考文献 (24)附录A (25)附录B (26)1 绪论单片机诞生于上世纪70年代经历了SCM、MCU、SOC三大阶段,单片机是嵌入式系统发展过程中的一个阶段,随着微电子技术的发展、IC设计、EDA工具的发展,基于SOC的单片机也有了极大的发展[1],例如现在最大的SOC设计厂商美国高通公司,现在设计的SOC性能已经可以与几年前PC机的性能相抗衡,它有更低的功耗和优秀的性能体现这在几十年前是无法想象的。
题目:[单片机俄罗斯方块设计]摘要随着社会的不断的发展和进步,人们对娱乐产品的关注在不断的增加,特别是电子游戏产品在我们的生活中占据了很重要的地位。
俄罗斯方块游戏是一款风靡全球的经典游戏。
这款游戏之所以叫做俄罗斯方块,是因为发明这款游戏的人是俄罗斯人。
本次为了回顾经典设计了一款基于单片机的俄罗斯方块游戏机。
本次设计了一款基于单片机的俄罗斯方块游戏机,该游戏机可以丰富我们的业余生活。
在硬件设计上该游戏机以STC89C52单片机为基础、使用LCD12864图形液晶可以显示游戏的界面、通过按键实现游戏机的按钮的功能、并具有蜂鸣器可以实现声音提示的功能。
在软件设计上,使用C语言进行了俄罗斯方块游戏的控制程序的编写,并在keil软件上进行了调试。
最后在Proteus仿真软件上对俄罗斯方块游戏的功能进行了仿真,并焊接了实物电路板。
关键词:STC89C52单片机;俄罗斯方块;游戏机;LCD12864液晶AbstractWith the continuous development and progress of society, people pay more and more attention to entertainment products, especially video game products play a very important role in our life. The Tetris game is a classic game that is popular all over the world. The game is called the Tetris, because the people who invented the game were Russian. This time in order to review the classic design of a single chip based Tetris block game machine.The design of a single chip computer based Tetris game machine, which can enrich our amateur life. On the hardware design, the game machine is based on STC89C52 microcontroller, and it can display the interface of the game by using LCD12864 graphic LCD, realize the button function of the game machine by button, and has the function of voice prompt by buzzer. In the software design, the control program of Tetris game is written in C language and debugged on the keil software. Finally, the function of the Tetris game is simulated on the Proteus simulation software, and the physical circuit board is welded.Keywords:STC89C52 singlechip;Tetris block;game machine;LCD12864 liquid crystal目录摘要 (I)Abstract........................................................... I I 第1章绪论.. (1)1.1课题研究背景和意义 (1)1.2俄罗斯方块的发展状况及趋势 (1)1.3课题研究的主要内容 (1)1.4课题研究的主要内容 (2)第2章系统整体方案设计 (4)2.1系统的功能要求 (4)2.2系统总体方案框图设计 (4)2.3单片机模块的选择 (5)2.4液晶显示模块的选择 (6)2.5按键电路的选择 (7)第3章系统整体硬件设计 (9)3.1单片机电路设计 (9)3.1.1STC89C52单片机介绍 (9)3.1.2晶振电路设计 (10)3.1.3复位电路设计 (10)3.1.4单片机最小系统电路设计 (11)3.2 LCD12864液晶显示电路 (11)3.2.1点阵LCD的显示原理 (11)3.2.2LCD12864液晶的硬件连接 (12)3.3按键控制电路 (12)3.4声音提示电路设计 (13)3.5电源电路 (13)第4章系统软件设计 (15)4.1程语言的选择 (15)4.2软件介绍和工程建立 (15)4.3俄罗斯方块流程图设计 (16)4.3.1主程序流程图 (16)4.3.2游戏外观显示流程图 (18)4.3.3俄罗斯方块向左/右移动工作流程图 (19)4.3.4俄罗斯方块中按下键的流程图 (20)第5章系统的调试与制作 (21)5.1 KEIL软件介绍 (21)5.2程序调试 (21)5.3 proteus仿真步骤 (22)5.4实物综合调试 (23)结论 (26)参考文献 (27)附录 (28)致谢.............................................. 错误!未定义书签。
基于51单片机俄罗斯方块游戏设计作者:左厚臣前言闲得无事,想用单片机和LCD12864写一个俄罗斯方块游戏,培养培养兴趣,丰富一下业余生活,同时也熟练熟练单片机应用。
然后整理一下过程,本文没有什么专业的流程图,系统框图,随手画的。
希望各位大神勿喷,本菜鸟就献丑了。
关键字:51单片机LCD12864 俄罗斯方块游戏设计一、实物写真1、先展示一下实物效果呗,看能不能吸引到各位大神的眼球!!!!2、单片机选型IO口占用:7个程序存储器占用:6459Byte内部RAM:117.0Byte内部扩展RAM:1016ByteFosc = 24Mhz(也可选择12Mhz)中断使用状况:16位定时器溢出中断1个手头有一块STC12C5A60S2 51系列单片机,本实验也采用的此款单片机,或许有大神能用很节省资源的方法写出这款游戏,本菜鸟甘拜下风。
二、游戏算法整个游戏的算法也就是这样子的吧!下面就对每个步骤进说明吧!三、算法说明算法就捡重点的说吧,省得各位大神都闲啰嗦。
1、当前随机方块获取和下一回合游戏方块生成并显示此步骤拆解成如下流程图所示:(1)随机数生成51单片机需要调用库函数来产生随机数,如下:#include <stdlib.h>//调用库函数的头文件函数rand ()会生成一个int型的随机数,int型变量范围为-32768~32767占用2 字节。
我们使用时其实是可以把它当做一个unsigned int型变量的,取值范围0-65535 这个应该是很好理解的。
但是如果我们需要一个0-7的随机数怎么处理呢,没关系有办法,程序如下:u8 Random(u8 max){u16 temp;u8 a;max = max +1;temp=rand();//获取随机种子a = temp%max;return a;}其实也就是把得到随机数与想要得到数范围的最大数求余运算就可以了,即:a = temp%max;我们的游戏方块可以描述成2个要素:A、形状比如说形状有:■■■■■■■■■等,可用0-n来表示B、姿态比如说形状■■■姿态有4种如下:■■■■■■■■■■■■它们从左往右看可以看出规律分别旋转了0°,90°,180°,270°,也分别相对旋转了90°,可以用0-3来表示。
基于单片机俄罗斯方块游戏设计报告一、研究意义俄罗斯方块是一款风靡全球的电视游戏机和掌上游戏机游戏,作为最经典的游戏之一,它曾造成的轰动与经济价值可以说是游戏史上的一件大事。
这款游戏最初是由苏联的游戏制作人 Alex Pajitnov 制作的,它看似简单但却变化无穷,令人上瘾。
相信大多数用户都还记得为它痴迷得茶不思饭不想的那个俄罗斯方块时代。
虽然用单片机来设计一个简单的俄罗斯方块游戏程序似乎有点大材小用了,但这仅仅是一个单片机在嵌入式游戏方面的简单应用,正因为他的前景无可预计,所以才有这个设计,此次设计仅仅是为了举一个单片机在游戏上应用的一个简单例子,他可以很好的说明单片机功能的强大,更高的可控性和高集成度的好处,因此它可以在电子游戏方面成为一个不可计量的明日之星。
二、研究内容本设计要实现的基本功能是:应用按键来控制方块的变换与移动;消除一行并计分;消除多行额外奖励记分,方块堆满时结束游戏等俄罗斯方块的基本功能。
单片机在手持娱乐设备上的应用具有非常大的潜力,它能将其带入到一个新的阶段。
为了解决外部电路图,必须充分了解所用液晶的显示方法和单片机的外部接口功能,和所需要处理的逻辑关系;还要理解LCD液晶的控制原理,来通过数据端口和控制端口来实现画面在液晶上面的显示。
仿真图如下:三、系统程序设计1)俄罗斯方块驱动流程图:2)俄罗斯方块所有绘图工作流程图:3)俄罗斯方块中按下键的流程图:结束4)俄罗斯方块所有绘图工作流程图:四、分析及结论本文对单片机制作的俄罗斯方块游戏的运行原理进行了分析,全面、详细地阐述了俄罗斯方块游戏的设计过程。
本游戏机已经达到了掌上娱乐的要求,但在设计上还留有进一步改善的余地,如可以美化游戏界面、加入背景和动作音乐、力回馈系统等。
毕业设计的整个开发过程是曲折的,首先在硬件设计上,由于开始对LCD液晶屏不熟悉,加之其程序量较多,所以,在设计的过程中,不免有些困难,通过我多方面的查找资料,并不断的向老师和同学请教,结合网络资源,最终找出比较完善的方案,在理论上能够实现功能要求。
摘要俄罗斯方块是一款风靡全球的电视游戏机和掌上游戏机游戏,它由俄罗斯人阿列克谢·帕基特诺夫发明,故得此名。
俄罗斯方块的基本规则是移动、旋转和摆放游戏自动输出的各种方块,使之排列成完整的一行或多行并且消除得分。
由于上手简单、老少皆宜,从而家喻户晓,风靡世界。
这次设计将使用52单片机和HD61202液晶显示控制驱动器和JM12864J液晶显示器组合,来实现比较简单的俄罗斯方块设计。
此次设计初期是在keil和proteus联合仿真中进行,编程语言为51汇编,后期是进行实物焊接。
论文描述了俄罗斯方块的主要功能函数的实现。
关键词:俄罗斯方块,算法,仿真AbstractTetris is a popular television game machine and game machine game, which Alexei Pajitnov invented by Russians, it was this name. Tetris are the basic rules of movement, rotation and display the game automatically output of the box, which are arranged into a complete one or more rows and eliminate scores. Due to use simple, ages, thus make known to every family, swept the world.Based on single chip computer of the curriculum design of opportunity, I will use the 51 single-chip microcomputer and HD61202 LCD control driver and JM12864J liquid crystal display combination, to carry out a more simple Russian square design.This design is in early keil and proteus joint simulation, programming language for 51 assembly, later is welding material.The paper describes the main functions of the Russian box function of the realization of.Keywords:Russian square, Algorithm, Simulation目录摘要 (1)Abstract (2)目录 (1)引言 (1)1整体设计方案....................................................................................... 错误!未定义书签。
1.1系统的核心部分单片机 (2)1.2液晶显示模块 (6)2系统程序的设计 (14)2.1俄罗斯方块驱动流程图 (14)2.2俄罗斯方块所有绘图工作流程图 (15)2.3俄罗斯方块中按下键的流程图 (16)2.4俄罗斯方块所有绘图工作流程图 (16)3系统仿真 (17)3.1 Proteus软件介绍 (17)3.2 Keil软件介绍 (17)3.3俄罗斯方块系统PROTUES仿真 (18)结论 (20)参考文献 (21)附录A 电路原理图 (22)附录B 主要程序 (23)附录C 英文资料和中文翻译 (43)结束语 (1)引言游戏是人们活动中一项非常重要的内容,有人认为如果哪一天人类对所有的游戏都失去兴趣,恐怕世界的末日就要到了。
电脑对游戏的贡献有目共睹,现在摸过电脑的人很少有没玩过电脑游戏的,喜欢游戏的人也很少有不玩电脑的。
俄罗斯方块是一款风靡全球的电视游戏机和掌上游戏机游戏,它曾经造成的轰动与造成的经济价值可以说是游戏史上的一件大事。
这款游戏最初是由苏联的游戏制作人Alex Pajitnov制作的,它看似简单但却变化无穷,令人上瘾。
相信大多数用户都还记得为它痴迷得茶不思饭不想的那个俄罗斯方块时代。
究其历史,俄罗斯方块最早还是出现在PC机上,而我国的用户都是通过红白机了解、喜欢上它的。
现在联众又将重新掀起这股让人沉迷的俄罗斯方块风潮。
对一般用户来说,它的规则简单,容易上手,且游戏过程变化无穷,而在"联众俄罗斯方块"中,更有一些联众网络游戏所独有的魅力――有单机作战与两人在线对战两种模式,用户可任选一种进行游戏。
网络模式还增加了积分制,使用户既能感受到游戏中的乐趣,也给用户提供了一个展现自己高超技艺的场所。
俄罗斯方块游戏可以说是随计算机的发展而发展,并不断推陈出新演变出各种类似游戏, 深受广大玩家喜爱。
这个游戏有的简单, 有的复杂, 但其根本原理是一样的都是对运动的方块进行组合, 来训练玩家的反应能力。
本文利用单片机进行俄罗斯方块设计,采用51汇编语言进行编程,基于汇编语言的原因是在编写程序的过程中,对于程序的执行会有一个比较直观的表现。
1 系统的核心部分单片机1.1 单片机的选择单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。
单片机微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。
通常,单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部件:中央处理器、存储器和I/O接口电路等。
因此,单片机只需要和适当的软件及外部设备相结合,便可成为一个单片机控制系统。
20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。
时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时间。
忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。
但是,一旦重要事情,一时的耽误可能酿成大祸。
目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。
下面是单片机的主要发展趋势。
单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。
从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。
这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。
单片机经过3代的发展,正朝着多功能、高性能、低电压、低功耗、低价格、大存储容量、强I/O功能及较好的结构兼容性方向发展。
其发展趋势不外乎以下几个方面:(1)多功能单片机中尽可能地把所需要的存储器和I/O口都集成在一块芯片上,使得单片机可以实现更多的功能。
比如A/D、PWM、PCA(可编程计数器阵列)、WDT(监视定时器---看家狗)、高速I/O口及计数器的捕获/比较逻辑等。
有的单片机针对某一个应用领域,集成了相关的控制设备,以减少应用系统的芯片数量。
例如,有的芯片以51内核为核心,集成了USB控制器、SMART CARD接口、MP3解码器、CAN或者I*I*C总线控制器等,LED、LCD或VFD显示驱动器也开始集成在8位单片机中。
(2)高效率和高性能为了提高执行速度和执行效率,单片机开始使用RISC、流水线和DSP的设计技术,使单片机的性能有了明显的提高,表现为:单片机的时钟频率得到提高;同样频率的单片机运行效率也有了很大的提升;由于集成度的提高,单片机的寻址能力、片内ROM(FLASH)和RAM的容量都突破了以往的数量和限制。
由于系统资源和系统复杂程度的增加,开始使用高级语言(如C语言)来开发单片机的程序。
使用高级语言可以降低开发难度,缩短开发周期,增强软件的可读性和可移植性,便于改进和扩充功能。
(3)低电压和低功耗单片机的嵌入式应用决定了低电压和低功耗的特性十分重要。
由于CMOS等工艺的大量采用,很多单片机可以在更低的电压下工作(1.2V或0.9V),功耗已经降低到uA级。
这些特性使得单片机系统可以在更小电源的支持下工作更长的时间。
(4)低价格单片机应用面广,使用数量大,带来的直接好处就是成本的降低。
目前世界各大公司为了提高竞争力,在提高单片机性能的同时,十分注意降低其产品的价格。
在此,我们采用型号为AT89S52的单片机。
因为: AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。
片上Flash 允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
与MCS-51单片机产品兼容、8K字节在系统可编程Flash存储器、1000次擦写周期、全静态操作:0Hz~33MH、三级加密程序存储器、32个可编程I/O口线、三个16位定时器/计数器八个中断源、全双工UART串行通道、低功耗空闲和掉电模式、掉电后中断可唤醒、看门狗定时器、双数据指针、掉电标识符。
AT89S52具有以下标准功能:8K字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。
另外,AT89S52可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
AT89S52单片机有PDIP、PLCC、TQFP三种封装方式,在此我选用DPIP也就是双列直插封装的单片机此种封装有如下特点:1) 适合PCB的穿孔安装;2) 易于对PCB布线;3) 操作方便;1.2 AT89S52引脚功能描述AT89S52单片机的管脚说明如图2.1所示:图2.1 DIP封装 AT89S52单片机引脚结构图(1) VCC:电源。
(2) GND:接地端。
(3) P0口(P0.0~P0.7):P0口是一个8位漏极开路的双向I/O口。
作为输出口,每位能驱动8个TTL逻辑电平。
对P0端口写“1”时,引脚用作高阻抗输入。
当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。