收藏 分销(赏)

基于单片机的俄罗斯方块游戏-毕业设计.pdf

上传人:曲**** 文档编号:826512 上传时间:2024-03-26 格式:PDF 页数:80 大小:2.22MB
下载 相关 举报
基于单片机的俄罗斯方块游戏-毕业设计.pdf_第1页
第1页 / 共80页
基于单片机的俄罗斯方块游戏-毕业设计.pdf_第2页
第2页 / 共80页
基于单片机的俄罗斯方块游戏-毕业设计.pdf_第3页
第3页 / 共80页
基于单片机的俄罗斯方块游戏-毕业设计.pdf_第4页
第4页 / 共80页
基于单片机的俄罗斯方块游戏-毕业设计.pdf_第5页
第5页 / 共80页
点击查看更多>>
资源描述

1、基于单片机实现的俄罗斯方块游戏MCU based Russia block game摘 要本设计是通过AT89S52单片机来实现俄罗斯方块游戏的设计,使用C语言进行编 程,并通过Proteus来进行仿真。本设计要实现的基本功能是:应用按键来控制方块的变换与移动;消除一行并计 分;消除多行额外奖励记分,方块堆满时结束游戏等俄罗斯方块的基本功能。单片机 在手持娱乐设备上的应用具有非常大的潜力,它能将其带入到一个新的阶段。为了解 决外部电路图,必须充分了解所用液晶的显示方法和单片机的外部接口功能,和所需 要处理的逻辑关系;还要理解LCD液晶的控制原理,来通过数据端口和控制端口来实 现画面在液晶上面的

2、显示。程序则要求对外部电路了解的情况下完成自己所需要的功能,并将所要完成的功 能用编程语言的形式来实现。然后通过Protues仿真实现通过外部按键来控制各种不 同图形的方块来玩游戏,并且实现记录分数和通过过关数来改变方块下降的速度。最 后将程序下载至AT89s52单片机并进行实际运行,实际运行表明,本设计可以实现基 本的游戏功能,达到预期的目的。关键词:AT89S52;C语言;Proteus仿真;LCD液晶ABSTRACTTh is design is ach ieved th ro ugh th e AT89S52 micro co ntro l l er Tetris game desig

3、n,pro gramming using C l anguage,and carried o ut by pro teus simul atio n.Th e design to ach ieve th e basic functio ns are:appl icatio n butto ns to co ntro l th e bo x,ch ange and mo vement;el iminate l ine and sco ring;el iminate mul ti-l ine incentive po ints,th e game ends wh en th e bo x fil

4、l ed with basic functio ns such as Tetris.MCU in th e appl icatio n o f h andh el d entertainment devices h ave great po tential,it can be bro ugh t to a new stage.In o rder to so l ve th e external circuit,we must ful l y understand th e l iq uid crystal displ ay meth o d and external interface MCU

5、 features,and th e need to address th e l o gical rel atio nsh ip;al so understand th at th e principl e o f LCD l iq uid crystal co ntro l to a data po rt and co ntro l po rt to ach ieve th e abo ve th e LCD screen displ ay.Pro gram req uires kno wl edge o f th e external circuit wh ere th ey need

6、to co mpl ete th e functio n and th e functio n to be co mpl eted in th e fo rm o f pro gramming l anguage used to ach ieve.Simul atio n th en pro tues butto ns to co ntro l an external bo x to pl ay a variety o f graph ical games,and ach ieve reco rd number o f sco res and th e rel atio nsh ip h ad

7、 to ch ange th e speed o f th e mo dul e do wn.Final l y,th e pro gram do wnl o aded to AT89S52 MCU and th e actual o peratio n,th e actual o peratio n indicate th at th is design can ach ieve basic game functio ns,to ach ieve th e desired purpo se.Key Words:AT89S52;C l anguage;Pro teus simul atio n

8、;LCD l iq uid cryst目 录1 绪论.11.1 课题背景.11.2 电子游戏及其分类.11.3 电子游戏发展现状.21.3.1 电子游戏国外发展现状.21.3.2 电子游戏国内发展现状.32整体设计方案.52.1 系统的核心部分单片机.52.1.1 单片机的选择.52.1.2 AT89S52引脚功能描述.72.1.3 晶振特性.92.2 液晶显木模块.102.2.1 液晶显示控制驱动器HD61202的特点.102.2.2 液晶显示控制驱动器HD61202的引脚功能.102.2.3 液晶显示控制驱动器HD61202的指令系统.112.2.4 HD61202的软件设计.122.2.

9、5 JM12864J的电路结构特点.152.2.6 JM12864J 的应用.162.2.7 键盘电路.173 系统程序的设计.183.1 俄罗斯方块驱动流程图.183.2 俄罗斯方块所有绘图工作流程图.193.3 俄罗斯方块中按下键的流程图.203.4 俄罗斯方块所有绘图工作流程图.214 系统仿真.224.1 PROTUES 软件介绍.224.2 Keil软件介绍.22I4.3 俄罗斯方块系统PROTUES仿真.245 实物的制作与调试.265.1 电路的焊接.265.2 系统性能测试与功能说明.27结论.28参考文献.29附录1:C语言程序.30附录2:电路原理图.59附录3:英文资料及

10、中文翻译.60致谢.76II1绪论计算机系统的发展已明显地朝三个方向发展;这三个方向就是:巨型化,单片化,网络化。以解决复杂系统计算和高速数据处理的仍然是巨型机在起作用,故而,巨型 机在目前在朝高速及处理能力的方向努力。单片机在出现时,I ntel公司就给其单片 机取名为嵌入式微控制器(embedded microcontroller)单片机的最明显的优势,就是可以嵌入到各种仪器、设备中。这一点是巨型机和网络不可能做到的。单片机在 内部已集成了越来越多的部件,这些部件包括一般常用的电路,例如:定时器,比较 器,A/D转换器,D/A转换器,串行通信接口,Watch dog电路,LCD控制器等。1

11、.1 课题背景俄罗斯方块是一款风靡全球的电视游戏机和掌上游戏机游戏,作为最经典的游戏 之一,它曾造成的轰动与经济价值可以说是游戏史上的一件大事。这款游戏最初是由 苏联的游戏制作人Alex Pajitnov制作的,它看似简单但却变化无穷,令人上瘾。相信大多数用户都还记得为它痴迷得茶不思饭不想的那个俄罗斯方块时代。虽然用单片机来设计一个简单的俄罗斯方块游戏程序似乎有点大材小用了,但这 仅仅是一个单片机在嵌入式游戏方面的简单应用,正因为他的前景无可预计,所以才 有这个设计,此次设计仅仅是为了举一个单片机在游戏上应用的一个简单例子,他可 以很好的说明单片机功能的强大,更高的可控性和高集成度的好处,因此

12、它可以在电 子游戏方面成为一个不可计量的明日之星。2005年,以计算机技术、通信技术和软件技术为核心的信息技术取得了更加迅 猛的发展,加上3c(计算机、通讯、消费电子)产业的加速融合及3G移动通信时代 的逐步到来,嵌入式软件在国民经济各领域和日常生活中发挥了更加重要的作用。嵌 入式软件的发展为几乎所有的电子设备注入了新的活力,各种装备与设备上嵌入式系 统软件的广泛应用也大大地推动了其行业渗透性应用。嵌入式软件不仅提高了传统产 品的技术含量,更成为产品增值的关键因素,在整个软件产业中占据了重要地位,并 受到世界各国的广泛关注,如今已成为信息产业中最为耀眼的“明星”之一。1.2 电子游戏及其分类电

13、子游戏,也就是运行在家用电脑、家用电子游戏机或是掌中宝游戏机及街机 上的电子游戏程序。电子游戏是一种结合剧情故事、美术、音乐、动画、程序等技 术于一身的互动型娱乐软件,涉及到多个行业。从电子游戏的分类来看,有着多种分类方式。传统的游戏分类是按照游戏类型,1将其分为即时战略游戏、第一人称射击游戏、角色扮演游戏、策略型游戏等类别。根 据游戏运行平台的不同,可将电子游戏分为游戏机游戏、单机版PC游戏、互动电视 游戏、在线游戏和手机游戏。止匕外,韩国政府将电子游戏业分为家用游戏机游戏、单 机版PC游戏、网络游戏和街机游戏四大类。考虑到中韩游戏业比较接近,论文采用 韩国的分类标准。“网络游戏”也就是人们

14、一般所指的“在线游戏”,是指通过互联 网进行的电脑游戏,通过人与人之间的互动达到交流、娱乐和休闲的目的。在互联网(局域网)技术出现之前,电子游戏都可以归于单机版游戏,即“人机对战”游戏,或最多是双人对战游戏。而随着互联网技术的出现,通过连接游戏服务器,上百、上 千、乃至上万的游戏玩家同时连线娱乐成为了现实,这就大大增加了游戏的互动性、真实性,丰富了电子游戏的内涵。从网络游戏的分类来看,目前业界还没有一个比较 统一规范的分类。随着计算机设备和网络技术的发展,电子游戏在全球得到了迅猛的 发展,取得了巨大的成功,已成为当今世界上不可缺少的精神粮食。1.3 电子游戏发展现状1.3.1 电子游戏国外发展

15、现状电子游戏是最初产生于美国,1971年,一个还在MI T就读的学生设计了世界上 第一个业务用游戏机,这个街机游戏的名字叫电脑空间。可以说时至今日,电子 游戏仍然是外国的天下。美国至今仍是世界第一大游戏市场,它遵循的是以发行商为主的产业开发链模 式,根据美国市场调查公司NPD G roup调查统计,美国2004年游戏总销售金额(包 括家用、掌上型主机及软件)为99亿美元,占了全球游戏市场的45%。其中游戏软 件销售的具体数字是:视频游戏软件的销售额达52亿美元(1.6亿套),PC游戏软件 销售额达H亿美元(4500万套),掌机游戏销售额达10亿美元(4230万套)。2004年 一共大约有2.4

16、8亿套游戏售出。据估计,美国每个家庭平均购买过2部游戏。日本近20年来疯狂赚电子游戏的钱。从上世纪60年代初的街机,到六七十年代 之间的家用游戏机,再到八九十年代的掌上游戏机,日本经过30多年的耕耘,终于 把电子游戏这棵“摇钱树”,培育成第一时尚娱乐产业,垄断全球业界长达10余 年。对于日本来说,电玩业已是国家经济的重要支柱之一,在G DP中占有1/5的举足 轻重地位。日本游戏业在最辉煌的1998年,曾经占领全球电子游戏市场硬件90%以 上,软件50%以上。韩国号称世界上网络游戏产业最发达国家之一。迄今为止,国内网络游戏市场 有超过60%的产品来自韩国游戏软件开发商,韩国网络游戏使国内很多游戏

17、运营公 司在游戏营销市场或股票资本市场上获得了巨大的成功。韩国游戏市场的发展不是 偶然,韩国政府不仅给游戏产业以正确的定位和引导,更是将其和本国经济发展紧 2密地联系到一起,做了很多市场培育方面的工作。韩国政府认识到,靠重型工业来 支撑全国经济的做法是片面的,于是将I T、娱乐产业视为新的经济增长点,开始大 力扶持。从那时起,科技含量极高而能源消耗极低的游戏制作及相关产业担负起了“富国兴邦”的重担。由文化观光部出面组建韩国游戏支援中心,向韩国游戏产业 提供从资金到技术上的多方面支援;成立游戏投资联盟,政府每年向游戏产业投入 的资金多达500亿韩元,并为游戏企业提供长期的低息贷款;设立信息化基金

18、和文 化产业基金,为游戏产业服务;对指定的风险企业实行各种税制优惠政策,减少甚 至免除游戏企业的税务负担;建设游戏产业基地以扶持中小游戏企业的发展;对从 事游戏产业的高科技人才免除两年的兵役。在韩国,从制作到运营,一个网络游戏 公司起步门槛较低,主要得益于政府实行的援助计划。此外,在有利的政策形势 下,韩国出现了众多的游戏院校,一些原本不涉足此领域的大学也开设了游戏相关 专业课程,以大力培养游戏专业人才,从而为游戏生产提供了基础保障。1.3.2 电子游戏国内发展现状与电子游戏发达的国家相比,我国在电子游戏方面还存在比较大的差距。目 前,我国游戏市场正处于发展阶段,但市场上的游戏软件主要来自日本

19、、美国、韩 国等地,但由本土游戏制作人开发创作的游戏正在高速增加,国产原创的游戏即将 成为游戏的主流。中国的游戏产业经过80年代初期台湾厂商的探索至90年代,开始了白己的研 发、发行的历程,直至网络游戏的风行,让中国的网络游戏开始有了飞速的发展。1983年,智冠科技有限公司在中国台湾成立,为全球第一家签订授权重制中文版产 品代理销售合约的公司,2000年智冠在台湾股票上市,2002年其控股的中华网龙 在台湾上市。1996年底,UBI SOFT上海分公司暨上海育碧电脑软件有限公司成立。同年,全 球游戏软件领军企业EA在中国上海成立办事处。1997年,由尚洋公司制作的血狮 正式上市。1997年,北

20、京新天地互动多媒体技术有限公司成立,该公司引进了古 墓丽影HI(TombR aider I I I)、盟军敢死队等著名欧美游戏,并在1999年 在中国率先掀起“游戏软件价格革命”,全面推行50元的价格体系,从此正版游戏 价格开始贴近大众消费者。1999年,业内估算中国电脑游戏市场(正版)约1.5亿 元人民币。2000年,大陆华彩软件代理发行第一款中文MM0 R PG万王之王正式推 出,该游戏于1999年在台湾发行,由台湾雷爵资讯(Lager)开发。也在2000年,继 万王之王、石器时代、网络三国在台湾上市之后,游戏桔子推出了天 堂,游戏桔子成立于1995年,1999年以便利店在台湾奠定了地位。

21、天堂 这款由韩国著名游戏公司Ncsoft研发的网络游戏不但在本国大获成功,也在台湾再 3次夺冠。2001年初,北京华义在中国大陆地区正式推出了石器时代,华义国际 股份有限公司于1993年在台北成立,2001年在台湾股票上市。石器时代成为大 陆当时最流行的网络游戏。2001年,天人互动软件技术有限公司在北京成立。当年 与SEG A结成PC游戏业务的战略合作关系,发行了樱花大战H文明山无冬 之夜等经典游戏。2001年5月,“联众世界”经过3年多的迅速成长,以同时在 线17万人、注册用户约1800万的规模,成为当时世界用户数量第一的在线游戏网 站。2001年H月,上海盛大代理的传奇正式上市,这代表着

22、中国网络游戏的第 一个巅峰,同时也引发了众多的非议。2003年9月25日,魔兽世界被九城、新 加坡电信、搜狐和英特尔联手拿下,并凭借其优秀的品质赢得了广大玩家的青睐。4天津职业技术师范大学2010届本科生毕业设计2整体设计方案2.1 系统的核心部分单片机2.1.1 单片机的选择单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。单片 机微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。通常,单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部件:中 央处理器、存储器和I/O接口电路等。因此,单片机只需要和适当的软件及外部设备 相结合,便可成为一个单片机控制系统。2

23、0世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透 了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时 也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。时间对人们 来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时间。忘记了要做的 事情,当事情不是很重要的时候,这种遗忘无伤大雅。但是,一旦重要事情,一时的 耽误可能酿成大祸。目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着CMOS化、低 功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。下面是 单片机的主要发展趋势。单片机应用的重要意义还在于,它从根本上

24、改变了传统的控 制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现 在已能用单片机通过软件方法来实现了。这种软件代替硬件的控制技术也称为微控制 技术,是传统控制技术的一次革命。单片机经过3代的发展,正朝着多功能、高性能、低电压、低功耗、低价格、大 存储容量、强I/O功能及较好的结构兼容性方向发展。其发展趋势不外乎以下几个方 面:1.多功能单片机中尽可能地把所需要的存储器和I/O 都集成在一块芯片上,使得单片机 可以实现更多的功能。比如A/D、PWM、PCA(可编程计数器阵列)、WDT(监视定时 器-看家狗)、高速I/O 口及计数器的捕获/比较逻辑等。有的单片机针对某一个

25、应用领域,集成了相关的控制设备,以减少应用系统的芯 片数量。例如,有的芯片以51内核为核心,集成了 USB控制器、SMAR T CAR D接口、MP3解码器、CAN或者1*1屹总线控制器等,LED、LCD或VFD显示驱动器也开始集成 在8位单片机中。5天津职业技术师范大学2010届本科生毕业设计2.高效率和高性能为了提高执行速度和执行效率,单片机开始使用R I SC、流水线和DSP的设计技 术,使单片机的性能有了明显的提高,表现为:单片机的时钟频率得到提高;同样频 率的单片机运行效率也有了很大的提升;由于集成度的提高,单片机的寻址能力、片 内R OM(FLASH)和R AM的容量都突破了以往的

26、数量和限制。由于系统资源和系统复杂程度的增加,开始使用高级语言(如C语言)来开发单 片机的程序。使用高级语言可以降低开发难度,缩短开发周期,增强软件的可读性和 可移植性,便于改进和扩充功能。3.低电压和低功耗单片机的嵌入式应用决定了低电压和低功耗的特性十分重要。由于CMOS等工艺 的大量采用,很多单片机可以在更低的电压下工作(L2V或0.9V),功耗已经降低 到uA级。这些特性使得单片机系统可以在更小电源的支持下工作更长的时间。4.低价格单片机应用面广,使用数量大,带来的直接好处就是成本的降低。目前世界各大 公司为了提高竞争力,在提高单片机性能的同时,十分注意降低其产品的价格。在此,我们采用型

27、号为AT89S52的单片机。因为:AT89S52是一种低功耗、高 性能CM0 S8位微控制器,具有8K在系统可编程Flash存储器。使用Atmel公司高密 度非易失性存储器技术制造,与工业80 C51产品指令和引脚完全兼容。片上Flash 允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位 CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。与MCS-51单片机产品兼容、8K字节在系统可编程Flash存储器、1000次擦写周 期、全静态操作:0 Hz33MH、三级加密程序存储器、32个可编程I/O口线、三个16 位定时器

28、/计数器八个中断源、全双工UAR T串行通道、低功耗空闲和掉电模式、掉 电后中断可唤醒、看门狗定时器、双数据指针、掉电标识符。AT89s52具有以下标准功能:8K字节Flash,256字节R AM,32位I/O口线,看门狗 定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工 串行口,片内晶振及时钟电路。另外,AT89s52可降至0 Hz静态逻辑操作,支持2种 软件可选择节电模式。空闲模式下,CPU停止工作,允许R AM、定时器/计数器、串 口、中断继续工作。掉电保护方式下,R AM内容被保存,振荡器被冻结,单片机一切 工作停止,直到下一个中断或硬件复位为止。AT89

29、s52单片机有PDI P、PLCC、TQFP三种封装方式,在此我选用DPI P也就是双列 直插封装的单片机此种封装有如下特点:1.适合PCB的穿孔安装;6天津职业技术师范大学2010届本科生毕业设计2.易于对PCB布线;3.操作方便;2.1.2 AT89s52引脚功能描述AT89S52单片机的管脚说明如图2-1所示:图2-1 DIP封装AT89s52单片机引脚结构图1 P1.0 U VCC Pl.l PO.O(ADO)Pl.2 PO,1(AD1)Pl.3 PO,2(AD2)Pl.4 PO.3(AD3)Pl.5 PO,4(AD4)Pl.6 PO,5(AD5)Pl.7 PO,6(AD6)R ST

30、PO,7_(AD7)P3.0(R XD)EA7VPPP3.1OD)ALE/PR OGP3.2 5NT0)PSEN P3.3 币而 I)P2,7(A15)P3.4(T0)P2,6(A14)P3.5(T1)P2,5(A13)P3.6(WR)P2,4(A12)P3.7而)P2.3(All)XTAL2 P2.2(A10)XTAL1 P2,1(A9)G ND P2,0(A8)402393384375366357348339 Q10323111301229132814271526162517241823192220211.VCC:电源。2.G ND:接地端。3.POO(PO.0-P0.7):P0是一个8位

31、漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外 部程序和数据存储器时,P0 口也被作为低8位地址/数据复用。在这种模式下,P0具 有内部上拉电阻。在Flash编程时,P0也用来接收指令字节;在程序校验时,输出 指令字节。程序校验时,需要外部上拉电阻。4.Pin(P1.0 P1.7):Pl 口是一个具有内部上拉电阻的8位双向I/O口,P1输出 缓冲器能驱动4个TTL逻辑电平。对P1端口写“1”时,内部上拉电阻把端口拉高,此 时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原 因,将输出电流(HL)。此外,P

32、LO和PL 2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(PL1/T2EX),具体如表2-1所示:7天津职业技术师范大学2010届本科生毕业设计在Flash编程和校验时,P1 接收低8位地址字节。表2-1 P1 口第二功能弓1脚号第二功能P1.0T2(定时器/计数器T2的外部计数输入),时钟输出Pl.1T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)P1.5M0SI(在系统编程用)P1.6MIS0(在系统编程用)P1.7SCK(在系统编程用)5.P2口(P2.0-P2.7):P2口是一个具有内部上拉电阻的8位双向I/O口,P2输 出缓冲器能驱动

33、4个TTL逻辑电平。对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(HL)。在访问外部程序存储器或用16位地址读取外部数据存储器(例 如执行M0 VXDPTR)时,P2口送出高八位地址。在这种应用中,P2使用很强的内部 上拉发送1。在使用8位地址(如MOVX R I)访问外部数据存储器时,P2口输出P2锁 存器的内容。在flash编程和校验时,P2也接收高8位地址字节和一些控制信号。6.P3口(P3.0P3.7):P3 口是一个具有内部上拉电阻的8位双向I/O口,P2 输出缓冲器能驱动4个TTL逻辑电平。对P

34、3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(HL)。P3亦作为AT89s52第二功能使用,如表2-2所示:表2-2 P3第二功能弓1脚号第二功能P3.0RXD(串行输入)P3.1TXD(串行输出)P3.2INTO(外部中断0)P3.3INTO(外部中断0)P3.4T0(定时器0外部输入)P3.5T1(定时器1外部输入)P3.6WR(外部数据存储器写选通)P3.7RD(外部数据存储器写选通)8天津职业技术师范大学2010届本科生毕业设计在flash编程和校验时,P3 口也接收一些控制信号。R ST:复位输入。晶

35、振工作 时,R ST脚持续2个机器周期高电平将使单片机复位。看门狗计时完成后,R ST脚输出 96个晶振周期的高电平。特殊寄存器AUXR(地址8EH)上的DI SR T0位可以使此功能无 效。DI SR T0默认状态下,复位高电平有效。ALE/PROG:地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8位地 址的输出脉冲。在flash编程时,此引脚(PR OG)也用作编程输入脉冲。在一般情况 下,ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。如果需要,通 过将地址为8EH的SFR的第0位置“1”,

36、ALE操作将无效。这一位置“1”,ALE仅在执 行MOVX或MOVC指令时有效。否则,ALE将被微弱拉高。这个ALE使能标志位(地址为8EH 的SFR的第0位)的设置对微控制器处于外部执行模式下无效。专的:外部程序存储器选通信号(PSEN)是外部程序存储器选通信号。当 AT89s52从外部程序存储器执行外部代码时,PSEN在每个机器周期被激活两次,而在 访问外部数据存储器时,PSEN将不被激活。口A/VPP:访问外部程序存储器控制信号。为使能从0 0 0 0 H到FFFFH的外部程序存储 器读取指令,EA必须按G NDo为了执行内部程序指令,EA应该接VCC。在flash编程 期间,EA也接收

37、12伏VPP电压。XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。XTAL2:振荡器反相放大器的输出端。2.1.3晶振特性AT89s52单片机有一个用于构成内部振荡器的反相放大器,XTAL1和XTAL2分别是 放大器的输入、输出端。石英晶体和陶瓷谐振器都可以用来一起构成自激振荡器。从 外部时钟源驱动器件的话,XTAL2可以不接,而从XTAL1接入,如图2-2所示。由于外 部时钟信号经过二分频触发后作为外部时钟电路输入的,所以对外部时钟信号的占空 比没有其它要求,最长低电平持续时间和最少高电平持续时间等还是要符合要求的。如图2-2所示:9天津职业技术师范大学2010届本科生毕业设计图2-

38、2内部振荡电路连接图AT89S522.2液晶显模块显示器部分是由HD6 120 2液晶显示控制驱动器和JM1286 4J液晶显示器组成的,下面我们对其分别进行介绍。2.2.1液晶显示控制驱动器HD6 1202的特点HD6 120 2液晶显示控制驱动器是一种带有驱动输出的图形液晶显示控制器,它可 直接与8位微处理器相连,它可与HD6 120 3配合对液晶屏进行行、列驱动。HD6 120 2 是一种带有列驱动输出的液晶显示控制器,它可与行驱动器HD6 120 3配合使用,组成 液晶显示驱动控制系统。1.内藏6 4X6 4=40 96位显示R AM,R AM中每位数据对应LCD屏上一个点的亮、暗 状

39、态;2.HD6 120 2是列驱动器,具有64路列驱动输出;3.HD6 120 2读、写操作时序与68系列微处理器相符,因此它可直接与68系列微 处理器接口相连;4.HD6 120 2的占空比为1/321/64。2.2.2液晶显示控制驱动器HD6 120 2的引脚功能引脚CS1,CS2,CS3为芯片的片选端;引脚E为读写使能信号,它是在下降沿时 数据被锁存入HD6 120 2的;在E高电平期间,数据被读出;R/W为读写选择信号,10天津职业技术师范大学2010届本科生毕业设计当它为一时为读选通,为零时为写选通;DBO-DB7为数据总线R ST为复位信号复位信 号有效时,关闭液晶显示,使显示起始

40、行为0,R ST可跟MCU相连,由MCU控制;也 可直接接VDD,使之不起作用。HD6 120 2的引脚功能如下表2-3所示:表2-3 HD61202的引脚功能引脚符号状态引脚名称功能CS1,CS2,CS3输入芯片片选端CS1和CS2低电平选通,CS3高电平选通。E输入读写使能信号在E下降沿,数据被锁存(写)入HD61202;在E高电平期间,数据被读出R/W输入读写选择信号R/W=l为读选通,R/WR为写选通RS输入数据、指令选择信号RS=1为数据操作RS=O为写指令或读状态DB0-DB7三态数据总线RST输入复位信号复位信号有效时,关闭液晶显示,使显示 起始行为0,RST可跟MCU相连,由M

41、CU控 制;也可直接接VDD,使之不起作用。2.2.3,攸晶显示控制驱动前HD6 1202的指令系统HD6 120 2的指令系统比较简单,总共只有七种。现分别介绍如下:1.显示开/关指令R/WRSDB7DB6DB5DB4 DB3DB2DB1DBO000011 1111/0当DB0=l时,LCD显示R AM中的内容;DB0=0时,关闭显示。2.显示起始行(R OW)设置指令该指令设置了对应液晶屏最上一行的显示R AM的行号,有规律的改变显示起始 行,可以使LCD实现显示滚屏的效果。R/WRSDB7DB6DB5 DB4 DB3 DB2 DB1 DBO0011显示起始行(0-63)3.页(PAG E

42、)置指令R/WRSDB7DB6DB5DB4DB3DB2 DB1 DBO0010111页号(0-7)显示R AM共64行,分8页,每页8行。4.列地址(Y Address)设置指令11天津职业技术师范大学2010届本科生毕业设计设置了页地址和列地址,就唯一确定了显示R AM中的一个单元,这样MCU就可以R/WRSDB7DB6DB5 DB4 DB3 DB2 DB1 DBO0001显示列地址(0-63)用读、写指令读出该单元中的内容或向该单元写进一个字节数据。5.读状态指令R/WRSDB7DB6DB5DB4DB3DB2DB1DBO10BUSY0ON/OFFREST0000该指令用来查询HD6 120

43、 2的状态,各参量含义如下:BUSY:1-内部在工作 0-正常状态ON/OFF:1-显示关闭 0-显示打开R EST:1-复位状态 0-正常状态在BUSY和R EST状态时,除读状态指令外,其它指令均不对HD6 120 2产生作用。在对HD6 120 2操作之前要查询BUSY状态,以确定是否可以对HD6 120 2进行操作。6.写数据指令R/WRSDB7DB6 DB5DB4 DB3DB2DB1DBO01写数据读、写数据指令每执行完一次读、写操作,列地址就自动增一,必须注意的是,进行读操作之前,必须有一次空读操作,紧接着再读才会读出所要读的单元中的数据。7.读数据指令R/WRSDB7DB6DB5

44、 DB4 DB3 DB2DB1DBO11读显 示 数据2.2.4 HD6 120 2的软件设计液晶控制器HD6 120 2 一共有七条指令,从作用上可分为两类,显示状态设置指 令和数据读/写操作指令。详见指令系统可查看图形液晶显示器产品有关手册。显示 起始行设置中L5L0为显示起始行的地址,取值在0-3FH(1-64行)范围内。页面地 址设置中P2-P0为选择的页面地址,取值范围为0-7H,代表1-8页。列地址设置中 C5-C0为Y地址计数器的内容,取值在0-3FH(1-6 4行)范围内。显示器上128点义64点,每8点为一字节数据,都对应着显示数据R AM(在 HD6 120 2芯片内),一

45、点对应一个bit,计算机写入或读出显示存储器的数据代表显示 屏上某一点列上的垂直8点行的数据。D0代表最上一行的点数据,D1为第二行的点 数据,D7为第八行的点数据。该bit=l时该点则显示黑点出来,该bit=O时该 12天津职业技术师范大学2010届本科生毕业设计点则消失。另外LCD指令中有一条display 0 N/0 FF指令,display ON时显示R AM数 据对应显示的画面;display OFF则画面消失,R AM中显示数据仍存在。点阵字模文件的建立:由于MG LS1286 4液晶显示器没有内部字符发生器,所以在屏幕上显示的任何字 符、汉字等须自己建立点阵字模库,然后均按图形方

46、式进行显示。由于HD6 120 2显 示存储器的特性,不能将计算机内的汉字库和其它字模库提出直接使用,需要将其旋 转90度后再写入。点阵字模库建立包括以下几个方面:1.建立8X16点阵常用字符、数字、符号字模库。可选用计算机BI OS中ASCI I的8X16字模库,所有字符按照ASCH值从小到 大升序排列。asm MOV ax,1130 h/*AH=Uh一功能调用。装入字库至软字库*/mov bh,6/*AL=30 h 取点阵信息*/int 10 h/*BH=6 取 R 0 M8X16 点阵指针(VG A)*/mov ax,es/*出口:ES:BP指向字库指针*/mov ascii_es,ax

47、mov ax,bpmov ascii_bp,ax);ascii_offset=ascii_bp+16 asciicode;for(j=0;j16;j+)buf j=peekb(ascii_es,ascii_offset+j);/*读 16 字节 点阵数据*/for(m=0;m16;m+)/*点阵数据转换成LCD格式数据*/if(m8)beginbyte=7;sh iftn=7;else beginbyte=15;sh iftn=15;for(j-0;j(sh iftn-m)&0 x0 1)1;)也可选用UCDOS的ASC16文件做字模库。ASC16文件的字符为8X16点阵。所 有字符按照ASC

48、I I值从小到大升序排列。计算字符首地址的公式:字符首地址二字符 的ASCI I码值X 16加字模库首地址。2.建立所用到的16 X16点阵字模库。汉字字符可选用UCDOS的HZ K16文件做 字模库。HZ K16文件的字符为16 X16点阵。所有字符按照区位码从小到大升序排列。计算汉字字符首地址的公式如下:汉字首地址二(区码T)X94+位码-1)X32。作者 用C语言编写的读取UCDOS点阵字库字模程序,完成字模读取。数据重新排列,并按MCS-51汇编程序的要求写成相应格式的文本文件。13天津职业技术师范大学2010届本科生毕业设计p=(quma-1)*94+weimaT)*32;cclib

49、file二fopen(HZ K16,rb);fseek(cclibfile,(long)p,SEEK_SET);fread(buf,sizeof(unsigned ch ar),32,cclibfile);/*读 32 字节点阵数据*/for(m=0;m32;m+)/*点阵数据转换成LCD格式数据*/if(m=8&m=16&m24)beginbyte=30;sh iftn=23;else beginbyte=31;sh iftn=31;for(j=0;j(sh iftn-m)&0 x0 1)1;)3.常用图形(如产品商标等)的点阵图形的建立。对已有的图形可采用扫描仪进 行扫描,然后用图形处理软

50、件进行处理,再将BMP格式文件转换成MCS-51的汇编文 件的格式。以上所有的字模数据都存放在单片机W78E58的程序存储器中,如用到的汉字、图形较多,可选用较大容量的程序存储器。通用子程序:通用子程序分左半屏、右半屏写指令代码子程序和写显示数据子程 序。液晶显示驱动器HD16 20 2内部有个忙标志寄存器,当BF=1时,表示内部操作正 在运行,不能接受外部数据或指令。下面子程序中设指令代码寄存器为COMM,数据寄 存器为DATAo(COMM EQU 20 H/*指令寄存器*/DATA EQU 21H/*数据寄存器*/)1.左半屏写指令子程序WR _CMD1:MOV DPTR,ttCR ADR

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服