基于FPGA的MCS51单片机的定时模块设计毕业设计.doc

上传人:laozhun 文档编号:4131918 上传时间:2023-04-06 格式:DOC 页数:47 大小:297.50KB
返回 下载 相关 举报
基于FPGA的MCS51单片机的定时模块设计毕业设计.doc_第1页
第1页 / 共47页
基于FPGA的MCS51单片机的定时模块设计毕业设计.doc_第2页
第2页 / 共47页
基于FPGA的MCS51单片机的定时模块设计毕业设计.doc_第3页
第3页 / 共47页
基于FPGA的MCS51单片机的定时模块设计毕业设计.doc_第4页
第4页 / 共47页
基于FPGA的MCS51单片机的定时模块设计毕业设计.doc_第5页
第5页 / 共47页
点击查看更多>>
资源描述

《基于FPGA的MCS51单片机的定时模块设计毕业设计.doc》由会员分享,可在线阅读,更多相关《基于FPGA的MCS51单片机的定时模块设计毕业设计.doc(47页珍藏版)》请在三一办公上搜索。

1、摘 要随着计算机技术的发展,单片机技术已经成为计算机技术中的独立分支,并且由于其自身具有的优越性(小巧灵活、控制能力强、成本低、易于产品化等),使其在社会的各个领域得到了广泛的应用,与我们的生活紧密相连,特别是在工业控制和仪表仪器智能化中起着及其重要的作用。但随着社会的发展,单片机也存在一些弊端,其速度、规模、性能等指标越来越难以满足用户的需求,因此单片机的开发、升级面临着新的挑战。随着可编程逻辑控制器技术的发展越来越成熟,为单片机的发展开辟了新的途径,为单片机的设计与升级提供了一种新的方法。本文采用的是以FPGA器件为载体,采用EDA设计中TOP-DOWN和模块化设计思想进行系统设计,灵活运

2、用VHDL描述语言对设计对象进行编程,来实现MCS-51单片机的定时、控制模块设计。最后以EDA开发软件Quartus II 为设计平台,经过编译、调试、修改、仿真测试,完成该设计。本课题研究表明,应用EDA技术实现单片机的结构设计发放时完全可行的,并符合单片机更快速、更高效的发展趋势。关键词:MCS-51单片机,VHDL,EDA,FPGA,TOP-DOWNAbstractAlong with calculator technique of development, list the slices machine technique have already become a calculat

3、or technique in of independence branch, and because of its oneself have of superiority(cleverly made and vivid, control the ability be strong, the cost be low, be easy to a product to turn.etc.), make it at society of each the realm get extensive of application, with our life close connect with each

4、 other, especially have in the industry the control and the appearance instrument intelligence turn and it importance of function.But along with the development of society, list slice machine also existence-some irregularity, it speed, scale, function etc. the index sign be more and more hard satisf

5、y the customers need, so list slice machine of development, get stripe to face new of challenge.Along with programmable logic controller technique of development more and more mature, for list slice machine of development develop new of path, is list slice the design of the machine with got stripe t

6、o provide a kind of new of method.This text adoption of take FPGA spare part as to carry a body, adoption the TOP-DOWN and the mold piece in the EDA design turn a design thought to carry on system design and use flexibly VHDL description language to design the object carry on plait distance, realiza

7、tion MCS-51 list slice machine of in fixed time, control mold piece design.End with EDA development software Quartus II is design terrace, has been editted and translate, adjusted to try, modification, imitate true test, completion should design.This topic research enunciation, application EDA techn

8、ique realization list slice the structure of the machine design issue complete viable, and match list slice machine sooner soon, higher effect of development trend.Keyword:The machine, VHDL, EDA, FPGA of the MCS-51 list slice, TOP-DOWN目录摘 要IAbstractII目录III第一章 绪 论11.1 课程设计背景知识11.1.1 单片机的特点11.1.2 单片机面

9、临的问题11.1.3 单片机与FPGA/CPLD的对比21.2 课程研究的目的以及要完成的任务3第二章 相关技术介绍42.1 EDA技术简介42.1.1 EDA技术的含义42.1.2 EDA设计的主要流程42.1.3 EDA与传统的设计方法的比较52.1.4 自顶向下(Top-Down)设计的基本概念62.2 FPGA/CPLD简介72.3 硬件描述语言72.4 Quartus II简介9第三章 MCS-51单片机的反向解剖113.1 MCS-51单片机的结构、原理113.1.1 MCS-51单片机概述113.1.2 MCS-51单片机内部结构与工作原理113.2 MCS-51单片机的指令系统

10、的实现原理15第四章MCS-51单片机的定时模块设计174.1 定时模块设计174.1.1 模式0204.1.2模式1244.1.3模式2244.1.4模式3244.2小结28第五章 总结与展望30参考文献31致谢32附录33计数器/定时器程序源代码33第一章 绪 论1.1 课程设计背景知识1.1.1 单片机的特点单片机属于计算机的一个种类,是指一个集成在一块芯片上的完整计算机系统。尽管他的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:CPU、内存、内部和外部总线系统,目前大部分还会具有外存。同时集成诸如通讯接口、定时器,实时时钟等外围设备。而现在最强大的单片机系统

11、甚至可以将声音、图像、网络、复杂的输入输出系统集成在一块芯片上。单片机也被称为微控制器(Microcontroler),是因为它最早被用在工业控制领域。单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对提及要求严格的控制设备当中。单片机小巧灵活,成本低,易于产品化,因此单片机比专用处理器最适合应用于嵌入式系统,它得到了最多的应用。事实上单片机是世界上数量最多的计算机。现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。单片机芯片本身是按工业测控环境要求设计的,能适应各种恶劣环境,可靠性好,

12、温度适应范围宽。这是其他几种无法比拟的,单片锯的逻辑控制功能很强,指令系统有各种控制功能用指令,很容易构成各种规模的应用系统,以扩展,可以很方便的实现多级和分布式控制。单片机已对人类社会产生了巨大的影响,尤其是美国Intel公司生产的MCS-51单片机,由于其具有集成度高、处理功能强、可靠性高、系统机构简单、价格低廉等优点,客观的发展表明,MCS-51可能最终形成事实上的MCU芯片1.1.2 单片机面临的问题(1)低速由于单片机的工作方式是通过内部的CPU逐条执行的软件指令来完成各种运算和逻辑功能的,因而无论多少高的可能的工作的工作时钟频率和多么好的指令时序方式,在串行指令执行方式面前,其工作

13、速度和效率必将大打折扣。因此,单片机在实时仿真、高速工控或高速数据采样等许多领域尤显力不从心。(2)PC“跑飞”在强干扰或某种偶然的因素下,任何单片机的程序计数器都极可能超出正常的程序流程“跑飞”,事实证明,无论多么优秀的单片机,在手强电磁干扰情况下,单片机都无法保证其仍能正常工作而不进入不可挽回的“死机”状态。(3)开发周期长单片机是执行软件指令的方式实现逻辑功能的,不同的单片机通常具有不同的汇编语言,使得程序的可移植性差,此外,在开发单片机的软件程序中需要随时顾及特定的单片机的应简洁共和外围设备接口。所以这一切导致了单片机应用系统开发效率低,开发周期时间长。1.1.3 单片机与FPGA/C

14、PLD的对比在传统的控制系统中,人们常常采用单片机作为控制核心。但这种方法硬件连线复杂,可靠性差,且单片机的端口数目,内部定时器和中断源的个数都有限,在实际应用中往往需要外加扩展芯片,这无疑对系统的设计带来诸多不便,现在有很多系统采用可编程逻辑器件FPGA/CPLD,现场可编程门阵列,复杂可编程逻辑器件)作为控制核心,它与传统设计相比较,不仅简化了接口和控制,提高了系统的整体性能及工作可靠性,也为系统集成创造了条件。下面我们来看单片机和FPGA/CPLD的对比:(1)单片机的学习效率较低。单片机直接面对硬件,大多数都使用汇编语言不同厂家生产的单片机其汇编语言也不同,并且,单片机编程还与硬件的连

15、接方式有关,而FPGA/CPLD可使用标准硬件描述语言VHDL(Very high Speed integrated Circuit Hardware Deseription Language)对所有型号的FPGA/CPLD编程。同时,VHDL是一种行为描述语言,可以远离硬件编程,打破了软硬件之间的屏障,使学习和设计的效率大大提高。(2)单片机本身的速度相对FPGA/CPLD来显得太慢。单片机是用指令排队形式来执行指令的,影响了速度的提高。而FPGA/CPLD在实时处理时均为并行工作,速度快。(3)单片机各引脚的功能是确定的,而FPGA/CPLD可以根据需要用软件改变各引脚的功能。与MCS-5

16、1单片机相比FPGA/CPLD的优势是多方面的,以下是他们的优点与优势。(1)编程方式简便、先进。FPGA/CPLD产品越来越多地采用了先进的在系统配置编程方式。(2)高速。FPGA/CPLD的时钟延迟可达纳秒级,结合其并行工作方式在超高速应用领域和实时测控方面有非常广阔的应用前景。(3)高可靠性。除了不存在SCM所特有的复位不可靠与PC可能跑飞等固有缺陷外,FPGA/CPLD的高可靠性还表现在几乎可将整个系统下载于同一芯片中,从而大大缩小了体积,易于管理和屏蔽。(4)开发工具和设计屠言标准化,开发周期短。由于开发工具的通用性,设计语言的标准化以及设计过程几乎与所用的FPGA/CPLD器件的硬

17、件结构没有关系,使得设计成功的各类逻辑功能块有很好的兼容性和可移植性,它几乎可用于任何型号的FPGA/CPLD从而使得片上系统的产品设计效率大幅度提高。(5)功能强大,应用广阔。目前FPGA/CPLD可供选择范围很大,可根据不同的应用选用不同容量的芯片,利用它们可实现几乎任何形式的数字电路或数字系统的设计。(6)易学易用,开发便捷。FPGA/CPLD应用的学习不需太多的预备知识,只要具有通常的数字电路和计算机编程基础知识,就足以在短期内掌握基本的设计方法和开发技巧。1.2 课程研究的目的以及要完成的任务本课题的目的:该课程是为了能运用新的先进的技术来实现单片机的功能,来减少单片机本身的缺点,更

18、好的发挥单片机本身的优点,使单片机更加快速、小型化、高可靠性。本课题的任务是:以硬件描述语言(VHDL)完成整个系统逻辑的描述,采用EDA设计中TOP-DOWN和模块化设计思想进行系统设计,灵活运用VHDL描述语言对设计对象进行编程实现。最后以EDA开发软件Quartus II 为设计平台,经过编译、调试、修改、仿真测试,完成了对MCS-51单片机的定时控制模块的设计与实现。 第二章 相关技术介绍2.1 EDA技术简介 2.1.1 EDA技术的含义EDA是电子设计自动化(Electronic Design Automation)的缩写,在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助

19、制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。20世纪90年代,国际上电子和计算机技术较先进的国家,一直在积极探索新的电子电路设计方法,并在设计方法、工具等方面进行了彻底的变革,取得了巨大成功。在电子技术设计领域,可编程逻辑器件(如CPLD、FPGA)的应用,已得到广泛的普及,这些器件为数字系统的设计带来了极大的灵活性。这些器件可以通过软件编程而对其硬件结构和工作方式进行重构,从而使得硬件的设计可以如同软件设计那样方便快捷。这一切极大地改变了传统的数字系统设计方法、设计过程和设计观念,促进了EDA技术的迅速发展。EDA技术就是以计算机为工具,设计者在EDA

20、软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。EDA技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度。利用EDA工具,电子设计师可以从概念、算法、协议等开始设计电子系统,大量工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出IC版图或PCB版图的整个过程的计算机上自动处理完成。2.1.2 EDA设计的主要流程主要流程包括:行为级描述,行为级优化与RTL级描述的转化选定工艺库,确定约束条件,完成逻辑综合与逻辑优化,门级仿真,

21、测试生成,布局布线(P&R: Place and Routing),参数提取,后仿真,制版、流片。测试生成门级仿真选定工艺库,确定约束条件,完成逻辑综合与逻辑优化行为级优化与RTL级描述的转化行为级描述布局布线(P&R: Place and Routing)参数提取后仿真制版、流片图21 EDA设计流程图2.1.3 EDA与传统的设计方法的比较传统的数字电子系统或IC设计中,手工设计占了较大的比例。一般先按电子系统的具体功能要求进行功能划分,然后对每个子模块画出真值表,用卡诺图进行手工逻辑简化,写出布尔表达式,画出相应的逻辑线路图,再据此选择元器件,设计电路板,最后进行实测与调试。手工设计方法

22、的缺点是:(l)复杂电路的设计、调试十分困难。(2)如果某一过程存在错误,查找和修改十分不便。(3)设计过程中产生大量文档,不易管理。(4)对于集成电路设计而言,设计实现过程与具体生产工艺直接相关,因此可移植性差。(5)只有在设计出样机或生产出芯片后才能进行实测。相比之下,EDA技术有很大不同:(l)采用硬件描述语言(HDL)作为设计输入。(2)库(Library)的引入。(3)设计文档的管理。(4)强大的系统建模、电路仿真功能。(5)开发技术的标准化、规范化以及IP核的可利用性。(6)适用于高效率大规模系统设计的自顶向下设计方案。 (7)全方位地利用计算机自动设计、仿真和测试技术。(8)对设

23、计者的硬件知识和硬件经验要求低。(9)高速性能好。这是与以CPU为主的电子系统相比。(10)纯硬件系统的高可靠性。山东大学工程硕士论文2.1.4 自顶向下(Top-Down)设计的基本概念现代集成电路制造工艺技术的改进,使得在一个芯片上集成数乃至数百万个器件成为可能,但我们很难设想仅由一个设计师独立设计如此大规模的电路而不出现错误。利用层次化、结构化的设计方法,一个完整的硬件设计任务首先由总设计师划分为若干个可操作的模块,编制出相应的模型(行为的或结构的),通过仿真加以验证后,再把这些模块分配给下一层的设计师,这就允许多个设计者同时设计一个硬件系统中的不同模块,其中每个设计者负责自己所承担的部

24、分;而由上一层设计师对其下层设计者完成的设计用行为级上层模块对其所做的设计进行验证。自顶向下的设计(即TOP_DOWN设计)是从系统级开始,把系统划分为数个基本单元,然后再把每个基本单元划分为下一层次的基本单元,一直这样做下去,直到可以直接用EDA元件库中的元件来实现为止。对于设计开发整机电子产品的单位和个人来说,新产品的开发总是从系统设计入手,先进行方案的总体论证、功能描述、任务和指标的分配。随着系统变得复杂和庞大,特别需要在样机问世之前,对产品的全貌有一定的预见性。目前,EDA技术的发展使得设计师有可能实现真正的自顶向下的设计。2.2 FPGA/CPLD简介FPGA和CPLD都是高密度现场

25、可编程逻辑芯片,都能够将大量的逻辑功能集成于-个单片集成电路中,其集成度己发展到现在的几百万门。复杂可编程逻辑器件(CPLD)、PAL(ProgranunableArrayLogic,可编程阵列逻辑)或GAL(GenericArrayLogic,通用阵列逻辑)发展而来的。它采用全局金属互连导线,因而具有较大的延时可预测性,易于控制时序逻辑,但功耗比较大。现场可编程门阵列(FPGA)是由掩膜可编程门阵列(MPGA)和可编程逻辑器件二者演变而来的,并将它们的特性结合在一起。因此FPGA既有门阵列的高逻辑密度和通用性,又有可编程器件的用户可编程特性。FPGA通常由布线资源分隔的可编程逻辑单元(或宏单

26、元)构成阵列,又由可编程I/O单元围绕阵列构成整个芯片。其内部资源是分段互连的,因而延时不可预测,只有编程完毕才可以实际测量CPLD和FPGA建立内部可编程逻辑连接关系的编程技术有三种:1.基于Fuse/Antifuse(熔丝/反熔丝)技术的器件只允许对器件编程一次,编程后不能修改,所以又被称为OTP器件,即一次性可编程 (oneTimeProgralluning)器件。其优点是集成度、工作频率和可靠性都很高,适用于电磁辐射千扰较强的恶劣环境。2.基于EPROM/EEPROM(紫外线擦除电可编程/电可擦写可编程)存储器技术的可编程逻辑芯片能够重复编程100次以上,系统掉电后编程信息也不会丢失。

27、3.基于SRAM(静态随机存取存储器)技术的器件编程数据存储于器件的RAM区中,使之具有用户设计的功能。在系统不加电时,编程数据存储在EPROM,EEPROM硬盘、或软盘中。系统加电时将这些编程数据即时写入可编程器件,从而实现板级或系统级的动态配置。2.3 硬件描述语言硬件描述语言(HDL-Hardware Description Language)是一种用于设计硬件电子系统的计算机语言,它用软件编程的方式来描述电子系统的逻辑功能、电路结构和连接形式,与传统的门级描述方式相比,它更适合大规模系统的设计。例如一个32位的加法器,利用图形输入软件需要输入500至1000个门,而利用VHDL语言只需

28、要书写一行A=B+C即可,而且VHDL语言可读性强,易于修改和发现错误。早期的硬件描述语言,如ABELHDL、AHDL,由不同的EDA厂商开发,互不兼容,而且不支持多层次设计,层次间翻译工作要由人工完成。为了克服以上不足,1985年美国国防部正式推出了VHDL(Very.High.Speed.IC.Hardware.Description Language)语言,1987年IEEE采纳VHDL为硬件描述语言标准(IEEE.STD-1076)。VHDL是一种全方位的硬件描述语言,包括系统行为级、寄存器传输级和逻辑门级多个设计层次,支持结构、数据流、行为三种描述形式的混合描述,因此VHDL几乎覆盖

29、了以往各种硬件描述语言的功能,整个自顶向下或自底向上的电路设计过程都可以用VHDL来完成。VHDL还具有以下优点:(1)VHDL的宽范围描述能力使它成为高层次设计的核心,将设计人员的工作重心提高到了系统功能的实现与调试,而化较少的精力于物理实现。(2)VHDL可以用简洁明确的代码描述来进行复杂控制逻辑的设计,灵活且方便,而且也便于设计结果的交流、保存和重用。(3)VHDL的设计不依赖于特定的器件,方便了工艺的转换。(4)VHDL是一个标准语言,为众多的EDA厂商支持,因此移植性好。VHDL主要用于描述数字系统的结构,行为,功能和接口。除了含有许多具有硬件特征的语句外,VHDL的语言形式和描述风

30、格与句法是十分类似于-般的计算机高级语言。VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可是部分,及端口)和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。2.4 Quartus II简介由于我此次设计使用Verilog和Altera公司推出的开发工具Quartus II,所以对此款工具详细介绍。Quartus II是Altera公司2001年推出的CPLD/FPGA开发工

31、具,Quartus II提供了完全集成且与电路结构无关的开发包环境,具有数字逻辑设计的全部特性,包括:可利用原理图、结构框图、VerilogHDL、AHDL和VHDL完成电路描述,并将其保存为设计实体文件;芯片(电路)平面布局连线编辑;LogicLock增量设计方法,用户可建立并优化系统,然后添加对原始系统的性能影响较小或无影响的后续模块;功能强大的逻辑综合工具;完备的电路功能仿真与时序逻辑仿真工具;定时/时序分析与关键路径延时分析;可使用SignalTap II逻辑分析工具进行嵌入式的逻辑分析;支持软件源文件的添加和创建,并将它们链接起来生成编程文件;使用组合编译方式可-次完成整体设计流程;

32、自动定位编译错误;高效的期间编程与验证工具;可读入标准的EDIF网表文件、VHDL网表文件和Verilog网表文件;能生成第三方EDA软件使用的VHDL网表文件和Verilog网表文件。Quartus II design 是最高级和复杂的,用于system-on-a-programmable-chip (SOPC)的设计环境。QuartusII design 提供完善的 timing closure 和 LogicLock 基于块的设计流程。QuartusII design是唯-个包括以timing closure 和 基于块的设计流为基本特征的programmable logic devic

33、e (PLD)的软件。 Quartus II 设计软件改进了性能、提升了功能性、解决了潜在的设计延迟等,在工业领域率先提供FPGA与mask-programmed devices开发的统-工作流程。 Altera Quartus II作为-种可编程逻辑的设计环境, 由于其强大的设计能力和直观易用的接口,越来越受到数字系统设计者的欢迎。 Altera Quartus II(3.0和更高版本)设计软件是业界唯-提供FPGA和固定功能HardCopy器件统-设计流程的设计工具。工程师使用同样的低价位工具对 Stratix FPGA进行功能验证和原型设计,又可以设计HardCopy Stratix器件

34、用于批量成品。系统设计者现在能够用Quartus II软件评估HardCopy Stratix器件的性能和功耗,相应地进行最大吞吐量设计。 Altera的Quartus II可编程逻辑软件属于第四代PLD开发平台。该平台支持-个工作组环境下的设计要求,其中包括支持基于Internet的协作设计。Quartus平台与Cadence、ExemplarLogic、MentorGraphics、Synopsys和Synplicity等EDA供应商的开发工具相兼容。改进了软件的LogicLock模块设计功能,增添 了FastFit编译选项,推进了网络编辑性能,而且提升了调试能力。第三章 MCS-51单片

35、机的反向解剖3.1 MCS-51单片机的结构、原理3.1.1 MCS-51单片机概述单片微型计算机SCM(Single Chip MICroeomputer),也称作微控制器MicroController,是把微型计算机主要部分都集成在一个芯片上的单芯片微型计算机。主要包括微处理器(CPU)、存储器(RAM,ROM)、输入/输出接口(I/O),定时/计数器等功能部件。单片机自70年代问世以来,作为微型计算机一个很重要的分之,应用广泛、发展迅速,己经对人类社会产生了巨大影响。尤其是美国Internet司生产的MCS-51系列单片机,由于其具有集成度高、处理能力强、可靠性高、系统结构简单、价格低廉

36、等优点,在我国己经取得了广泛的应用,在智能仪器仪表、工业检测控制、机电一体化等方面取得了令人瞩目的成就。3.1.2 MCS-51单片机内部结构与工作原理8051是MCS51系列单片机的最初产品,也是MCS-51系列器件的核心。8051芯片的主要特征包括:64K程序存储地址空间和64K数据存储地址空间;4K字节的片上程序存储器和128字节的片上数据RAM;8-bit最优化的用于控制应用程序的CPU;广泛的布尔处理能力(single-bitlogie)(相当于一个1 bit CPU);两个16 bit的定时/计数器;全双工DART(通用异步接收发送器);具有两个优先级的5个中断源;32个双向I/O

37、口;一个片内振荡器;如果按照功能划分,MCS-51系列单片机由8个部件组成,即微处理器(CPU),数据存储器(RAM)、程序存储器(ROM)(其中8031无片内程序存储器)、I/O口(P0,P1,P2,P3)、定时/计数器、串行口、中断系统以及特殊功能寄存器SFR(SpecialFunCtionRegister)。微处理器由运算器和控制器组成,主要包括累加器(ACC),B寄存器、临时存储器(TEMP1,TEMP2)、算术逻辑单元等。自顶向下(TOP-Down)的设计方法正是EDA技术相对于传统电子设计方式的优势所在,也只有在EDA技术得到快速发展的今天才成为可能。自顶向下设计方法的第一步就是要

38、绘制顶层设计图,它由运算器、控制器、定时器/计数器、串行接口四个部分组成。因此也可以说是将MCS-51系列单片机的内核分成了运算器、控制器、定时器/计数器、串行接口四个部分。虽然存储器不是本次设计的内容,但是它本身与设计是密不可分的。因此,下面就对应上述分法,看看原始的MCS-51系列单片机的上述四个部分以及存储器各自的结构和功能。1.运算器运算器包括算术逻辑部件ALU、位处理器、累加器A、寄存器B、暂存器、以及程序状态字寄存器PSW等。该模块的功能是实现数据的算术运算、逻辑运算、位变量处理和数据传送等操作。ALU的功能十分强大,它不仅可以对8位变量进行逻辑“与”、“或”、“非”、“异或”、移

39、位和清零等基本操作,还可以进行加、减、乘、除和十进制调整等基本运算。ALU还具有一般微机的ALU所不具备的功能,即位处理操作,它可以对位(bit)变量进行处理,如置位、清零、测试转移以及逻辑“与”、“或”、“非”等操作。由此可见,ALU在算术运算以及控制处理方面的能力是很强的。累加器A是一个8位的累加器。从功能上看它于一般微机的累加器相比没有什么特别之处,但需要说明的是A的进位标志Cy是特殊的,因为它同时又是位处理器的一位累加器。寄存器B是为执行乘法和除法操作设置的,在不执行乘、除法操作的一般情况下,可以把它当一个普通的寄存器使用。程序状态字寄存器PSW,是一个8位的可读写寄存器,它的不同位包

40、含了程序状态的不同信息。其中进位标志位Cy(PSW.7)、辅助进位标志位AC(PSW.6)和OV(PSW.2)在执行算术和逻辑指令时,可以由硬件或者软件(Cy可以有软件置位或清零)改变,因此运算器应该有上述三位状态改变的输出信息。本课题设计的运算器将完全以组合逻辑电路的形式出现,其内部将不包括累加器A、寄存器B、以及程序状态字寄存器PSW。它只是根据所接收的指令,将来自累加器、程序或者数据存储器的数据进行相应的算术或者逻辑运算,然后将运算结果以及程序状态字寄存器PSW的相关位以结果的形式输出。2.控制器控制部件是单片机的中枢神经,以主振频率为基准,控制器控制CPU的时序,对指令进行译码,然后发

41、出各种控制信号,将各个硬件环节组织在-起。每个机器周期由6个状态周期组成,即S1,S2,S3,S4,S5,S6,而每个状态周期又由两个时相Pl,P2(即2个主振振荡周期)。所以一个机器周期依次可以表示为S1P1,SlP2,S2P1,S2P2S6P1,S6P2。一般情况下,算术逻辑操作发生在时相P1期间,而内部寄存器之间的传送发生在时相P2期间,这些内部时钟信号无法从外部观测,故用XTAL2振荡信号作参考,而ALE可以用作外部工作状态指示信号用。在一个机器周期中通常出现两次ALE信号(注意:当访问外部数据存储器时,一个机器周期中将跳过一个ALE脉冲),即从ROM中取两次操作码,读入指令寄存器,指

42、令周期的执行开始于S1P2时刻,而总是结束于S6P2时刻。MCS-51系列单片机的指令周期一般只有l-2个机器周期,只有乘、除两条指令占4个机器周期,当用12MHz晶体作主频率时,执行一条指令的时间,也就是一个指令周期为ls(这样的指令约占全部指令的一半),2s以及4s。主振频率越高,指令执行速度越快。由此可见,MCS-51系列单片机的时序似乎比较简单。其实不然,要分析各条指令的取指、执行时序仍然是相当复杂的。本设计为简便起见,并不打算采用MCS-51系列单片机原有的CPU时序中机器周期的概念,而是将各条指令均设计在1到4个时钟周期内完成,因此所形成的IP核内,一个时钟周期内所要完成的任务基本

43、上和原有MCS-51系列单片机中一个机器周期所要完成的任务基本一致(少部分指令有差别),详细的指令指令周期请参阅本文的附录部分。所以在此仅简要介绍一下MCS-51系列单片机的时序。3.存储器MCS-51系列单片机存储器可划分为四类:程序存储器。一个微机系统之所以能够按照-定的次序进行工作,主要在于内部存在着程序,程序实际上是由用户程序形成的一串二进制码,该二进制码存放在程序存储器之中,8031无内部ROM,所以只能外扩EPROM来存放程序MCS-51最多可以外扩64K字节程序存储器,64K程序存储器有5个单元具有特殊的用途。5个特殊单元分别对应于5种中断源的中断服务程序的入口地址。其分别是:“

44、外部中断0”对应入口地址是“0003H”“定时器0中断”对应入口地址是“000BH”,”外部中断1”对应入口地址是“0013H”;“定时器1中断”对应入口地址是“001BH”;“串行口中断”对应入口地址是“0023H”。内部数据存储器。MCS-51系列单片机内部有128个字节的随机存储器(RAM),字节地址为00H-80H。MCS-51对其内部的RAM有很丰富的操作指令,从而使得用户设计程序时非常方便。作为用户的数据存储器,它能满足大多数控制型应用场合的需要,用作处理问题的数据缓冲器。地址为00H-1FH的32个单元是4个通用工作寄存器区,每个区含有8个8位寄存器,编号为R0-R7。可以通过指

45、令改变PSW中的RS1,RS0这两位来切换寄存器区,这种功能给用户程序保护寄存器内容提供了极大的方便。地址为2OH-2FH的16个单元可以进行共128位的位寻址,这些单元构成了1位处理器的存储器空间。单元中的每一位都有自己的位地址,同时这16个单元也可以进行字节(8位)寻址。特殊功能寄存器(SFR-SpecialFunctionRegister)。特殊功能寄存器SFR是用来对片内各功能单元进行管理、控制、监视的控制寄存器和状态寄存器。MCS-51中的特殊功能寄存器SFR是非常重要的,对于单片机的应用者来说掌握了SFR,也就掌握了MCS-51。SFR存在于单片机中,实质上一些具有特殊功能的RAM

46、单元,其地址范围为80H-FFH。特殊功能寄存器的总数为21个,离散的分布在该区域中,其中有些SFR还可以进行位寻址。寄存器符号前带“*”为可进行位寻址的SFR。要注意的是,128个字节的SFR块中仅有21个字节是有定义的。对于尚未定义的字节地址单元,用户不能做寄存器使用,若访问没有定义的单元,则得到一个不确定的随机数。外部数据存储器。MCS-51应用系统往往是一个应用系统。当片内RAM不够用时,可以在片外扩充数据存储器。MCS-51给用户提供了最多可以寻址64K字节的外部扩充RAM能力。以上介绍了MCS-51的存储器结构。使用各类存储器,要注意以下几点:(1)地址的重叠性。数据存储器与程序存

47、储器全部64K地址重叠;程序存储器中片内外低4K字节地址重叠;数据存储器中片内外最低128字节地址重叠。这是因为采用了不同的操作指令及EA控制选择。(2)程序存储器(ROM)与数据存储器(RAM)在使用上是严格区分的,不同的操作指令不得混用。程序存储器只能放置程序指令以及常数表格。除程序的运行控制外,其操作指令不分内外,只有两条MOVC指令;而数据存储器则存放数据,片内外操作指令不同,片外数据存储器只有一条传送指令,即MOVX。(3)位地址空间有两个区域,即片内RAM中的20H-2阳的128位,以及SFR中的位地址(有些位没有意义)。这些位寻址单元与位指令集构成了位处理系统。(4)片外数据存储

48、器中,数据区与用户外部扩展的I/O口统一编址。与外围接口进行数据传送时,使用的是与访问外部数据存储器相同的传送指令。4.定时器/计数器MCS-51系列单片机有两个可编程定时器/计数器,即定时器/计数器0和1。它们各具有两种工作模式(定时器模式和计数器模式)和4种工作方式(方式O,方式1、方式2、方式3)。4种工作方式中,前三种方式对两个定时器/计数器都是一样的,方式3对两者时不同的,这一点在设计时要注意。特殊功能寄存器TMOD(定时器/计数器方式控制寄存器)用于控制定时器/计数器的工作模式和过方式。另-个特殊功能寄存器TCON(定时器/计数器控制寄存器)用于T0和T1的启动和停止计数,同事还包含了T0和T1的状态。有关定时器/计数器的各个工作方式将在具体

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

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


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号