这是一个单片机的最小系统板,可以用以学习时钟编程。
上传时间: 2013-10-27
上传用户:lansedeyuntkn
实用单片机系统是基于MCU8051硬件平台下开发的一款操作平台,它不是一个操作系统,而是一个操作平台,主要借鉴了操作系统、手机的一些概念,比如消息机制、系统时钟、软件定时器、平台等概念。 实用单片机系统的核心理念是:在一个标准化的硬件基础上(如8051,avr,arm等)扩展一个标准化的软件平台,把常规项目常用的一些功能如串口通讯、串口调试、系统定时器、软件定时器、按键界面处理等通过消息机制组织起来,形成一个完整的系统。当一个特定的项目需要增加或者删除一项具体的功能时,只需要在平台上增加或者去掉相应的功能即可,这样项目不需要每次重新构思架构,也不需要从零开始,并且原有的系统通过各个项目沉淀后,更加稳定可靠,这就是平台的概念,它不是各个子函数的集合。 相对于现在的很多人把RTOS操作系统应用于MCU来说,往往只为了实现任务的调度转换而不考虑功能的实用、易用性,此外因其较高的资源占用性导致其不适合在MCU类低资源的嵌入式平台应用,MS系统相对于这些RTOS来说,首先还是保留了编程者的常规前后台思维,但又加了一些RTOS的优点,如软件定时器实现的时间片任务系统,类似RTOS的任务,其次为编程者实现了整个程序的框架和一些常用的函数及接口功能如按键、串口、时钟等,让编程者把精力放在跟项目相关的地方,甚至不需要关心所用MCU的寄存器配置,再次就是代码非常简单,容易学习,尤其是建议大家采用SourceInsight查看程序,远比keil编辑器的功能强,它是C语言下最好的编辑器。而MS3.21版本,建议大家直接在Keil的软件仿真器下运行学习。 MS资料可以从以下网址下载:http://www.study-bbs.com/thread-46471-1-1.html读者有什么疑问也可以在这个版面提问,作者将尽力解释。目前MS3.21版本增加了一个GUI操作框架,相比目前已有的GUI更加简单易懂,利用一个函数指针代替了复杂的状态机,每一个界面由一个界面建立函数和一个执行函数构成即可。
上传时间: 2013-10-29
上传用户:txfyddz
本章基本要求:通过对本章的学习主要了解一个单片机系统设计的全过程,包括:提出要求、方案确定、硬件设计、软件设计、系统可靠性设计及最后的调试通过、产品定型等。 7.1.1设计要求与设计步骤(1)设计要求单片机应用系统大多数用于工业环境、嵌入到其它设备或作为部件组装到某种产品中,所以单片机应用系统的设计应满足以下要求:●高可靠性●较强的环境适应能力●较好的实时性●易于操作和维护●具有一定的可扩充性●具有通信功能(2)设计步骤单片机不同应用系统的开发过程基本相似,其一般步骤可以分为需求分析,总体方案设计、硬件设计与调试、软件设计与调试、系统功能调试与性能测试、产品验收和维护、文件编制和技术归档等。①需求分析需求分析就是要明确所设计的单片机应用系统要“做什么”和“做的结果怎样”。需求分析阶段的结果是形成可操作的设计需求任务书。任务书应包含单片机应用系统所应具有的功能特性和性能指标等主要内容。如果是自主开发产品,还应附有市场调研和可行性论证等内容;如果是委托开发,则应该与委托方讨论拟制的需求任务书是否满足对方的需求。②总体方案设计总体方案设计就是要从宏观上解决“怎么做”的问题。其主要内容应包括:技术路线或设计途径、采用的关键技术、系统的体系结构、主要硬件的选型和加工技术、软件平台和开发语言、测试条件和测试方法、验收标准和条文等。如果是委托开发,设计需求任务书和总体方案设计的主要内容往往以技术文件的形式附于合同书之后。③硬件设计硬件设计的主要内容是基于总体方案设计,选择系统所需的各类元器件、设计系统的电子线路图和印刷电路板、安装元器件的调试硬件线路。硬件设计应确保功能设计和接口设计满足系统的需求,并且充分考虑和软件的协调工作关系,注重选用高集成度的器件和采用硬件软化、软件硬化等设计技术。④软件设计本阶段的主要任务是:基于软件工程的思想,拟制出本系统的软件设计方案,划分出主要的软件模块、根据需要绘制部分软件模块的流程图、调试程序和测试软件的基本功能。⑤系统功能调试与测试本阶段的重点是:基于系统的设计需求,进行系统功能调试和性能指标的测试,形成测试报告,核对用户需求或设计需求和系统现有功能、指标的一致性程度,提出修改意见,循环上述某些步骤,直至满足需求。⑥产品验收和维护单片机应用系统设或产品开发结束后,必须经过用户的验收。属于国家或部委的科研项目,还应通过有关部门的鉴定。产品投入市场或用户生产现场后,维护工作就开始了,这步工作一直要持续到该产品退出市场。⑦文档编制和技术归档为了维护单片机系统,或将目前的设计成果作为资源用于以后的设计,有必要编制相应的文档。提供给用户的安装手册、操作手册和维护手册等,是技术文档的重要组成部分之一。技术文档必须按国家标准对其进行标准化,经相关人员审核后存入技术档案室进行统一管理。
上传时间: 2014-12-27
上传用户:liuqy
在冶金、化工,机械等各类工业控制中,电加热炉都得到了广泛的应用。目前国内的电加热炉温度控制器大多还停留在国际60年代水平,仍在使用继电一接触器控制或常规PID控制,自动化程度低,动态控制精度差,满足不了日益发展的工艺技术要求。电加热炉的温度是生产工艺的一项重要指标,温度控制的好坏将直接影响产品的质量。电加热炉由电阻丝加热,温度控制具有非线性、大滞后、大惯性、时变性、升温尊向性等特点。而且,在实际应用和研究中,电加热炉温度控制遇到了很多困难:第一,很难建立精确的数学模型:第二,不能很好地解决非线性、大滞后等问题。以精确数学模型为基础地经典控制理论和现代控制论在解决这些问题时遇到了极大地困难,而以语言规则模型(IF—THEN)为基础的模糊控制理论却是解决上述问题的有效途径和方法。国内现有的一些模糊设计方法大多存在不同缺点,而且真正把理论研究应用到实际系统的也较少。所以,深入研究在电加热炉系统控制中具体模糊控制设计理论是十分必要的。本文针对电加热炉这一控制对象,以Ts.94—1型号的箱形电加热炉为参考对象,分别采用工业控制中普遍使用的PID控制、经常见到的模糊控制策略,如基本模糊控制,对其进行仿真实验,比较,并进行了理论分析。针对上述电加热炉控制中存在的问题,本文设计了双模糊控制器。双模糊控制器在参数自整定模糊控制理论的基础上,对比例因子进行调整,克服原算法复杂丽不实用的特点,根据电加热炉不同的工作状态采用不同的模糊控制器,提高了控制精度,改善了控制效果。本文把模糊控制与神经网络技术相结合,利用神经网络很强的学习能力和自适应能力,建立了自适应神经模糊推理系统。把不依赖精确数学模型的模糊控制系统与有价值的经验数据或参考模型相结合,弥补了模糊控制的不足,使模糊控制系统更能发挥其强大优势,控制效果理想。在实践应用方面,以电加热炉为控制对象,开发了89C51单片机模糊控制器,主要进行了硬件和软件的设计。
上传时间: 2013-10-28
上传用户:yuanwenjiao
AVR mega128学习板 联系 杨迪 15336417867 0531-55508458 QQ:1347978253 http://www.easyele.cn AVR mega128学习板是AVRVI设计生产的AVR学习开发生产工具,以Atmega128为核心,采用底板,核心板的组织形式,子板和母板组合,也可以分开。集成AVR JTAG ICE仿真器和STK500 ISP编程器,用户只需要再拥有一台计算机即可进行系统的学习。为了更好的支持客户的学习和开发,AVR mega128学习板板通讯接口升级为USB接口,方便计算机没有串口的朋友。货号:EasyAVRM128SK-A 规格: 套 重量:300克 单价498/套。 AVR mega128学习板他还是一个强大的开发工具。通过它进行学习后,你会觉得毕业设计如此简单,轻松应对电子设计大赛,机器人大赛,对电子产品的设计有进一步的认知,建立起学习ARM,DSP,FPGA的良好基础。AVR mega128学习板这个性价比高的专业工具是你的不二选择。购买本产品赠送LCD1602液晶一块。AVR mega128学习板是仿真器,编程器,开发板,核心板四合一的集功能于一体的产品,并且可以分开独立使用。 AVR mega128学习板于2008年开发,基于AVR中较高档芯片ATmega128设计,采用子板和母版叠加的方式,集成仿真和下载功能,原串口版本得到广大用户的支持和认可,2009年底升级为USB版本,使用更方便,兼容开发型号:ATmega64,特别适合新手学习,工程师快速产品开发。 AVR mega128学习板的关键特点: 1.采用核心板和主板分离的形式,在系统的学习之后,可以把核心板直接用于产品中,快速搭建系统。 2.AVR mega128学习板上集成了AVR JTAG ICE仿真器和AVR ISP编程器。 您只需要再拥有一台计算机,而不需要购买仿真器和编程器就可以学习开发了。 3.信号调理电路,输入0~10V,轨至轨信号调理。 学习阶段:AVR mega128学习板让你熟悉AVR的各种资源的应用,板载的常用外设,可以让你方便的进行各种学习实验。板载编程器和仿真器,让你无需担心自己的接线是否正确,即插即用。开发阶段:AVR mega128学习板的核心板可以用于产品核心,板子虽小,五脏俱全,最小系统板的基本电路,让你得心应手,标准的插针,可以将核心板直接插在万用板上使用,扩展方便。仿真器功能,让你开发变得更加简单,轻松找到程序中的各种问题,予以解决,加快开发。AVR mega128学习板的ISP 功能可以让你禁用JTAG接口,节省IO,并且让AD转换更加准确。生产阶段:编程器提供官方推荐的ISP在线下载方式,速度快,编程完成后不占用CPU的任何资源。 AVR mega128学习板是进入嵌入式开发领域的专业入门学习和开发工具,是学生,初学者,工程师的必备良弓。我们还为客户提供可选配件18B20温度传感器 10元 1602液晶 20元 12864液晶 80元 7.5/12V电源 12元 mini128核心板 147元 mini64核心板 138元。欢迎有志之士咨询选购。 想找一份好工作吗? 你想成为一名电子设计工程师吗? 你对电子设计有浓厚兴趣,而没有工具吗? 看了很久的程序方面的书籍,却没有实践的机会吗? 需要开发产品,想快速入门? 想参加电子设计大赛,机器人大赛吗? 这个性价比高的专业工具是你的不二选择。
上传时间: 2013-11-13
上传用户:ljj722
首先感谢您选用由本站(单片机学习网)开发的Easy51 单片机学习套件,同时也恭喜您为了学习单片机而踏出了重要一步。Easy51 单片机学习套件是将单片机实验板,编程器,仿真器集成到一个系统上,使您花最少的钱学习单片机,而且套件摆脱了传统、繁锁的单片机学习方式,将当今流行的学习方案集成在一个系统中,使您学习单片机变的更轻松,更高效。
上传时间: 2013-10-23
上传用户:alibabamama
学习单片机总结宝典 基于本人学习单片机的痛苦经历,特编写本教程,以此献给广大 的单片机初学者,希望您能从中受益。 作者提示:本教程乃最通俗易懂之单片机教材也,如果您还是看 不懂,请千万不要涉足此行,以免误入歧途,耽误您的前程*_* 拿到这本教程您首先就会想,什么是 IAP 教学法?是不是一种什么全新的教学方法?当然不是, 我可没有那么大的本事,其实这只是我杜撰的一个新名词,意思就是In Applications Program(在应 用中编程),当然这只是针对单片机教学,说法是否正确,还得您说了算。 至于为什么要提这种说法,那我倒想说几句。大家都知道,学习电子技术是一件非常无聊和枯燥 的事情,为什么会有这种想法,就是因为我们传统的教学方法只重理论而忽略了实践,要一个人记住那 些空洞而有无聊的理论知识实在不是一件容易的事,好在我们总算熬过来了,不管如何,也多多少少的 学习了一些电子基础知识。 接下来我们应该进一步掌握些什么知识呢,凡涉足此行的朋友都知道,那就是单片机。不过这可 不是一件容易的事,倒不是因为单片机很难学,而实在是我们身边很难找到一本专为单片机入门者而编 写的教材。翻一下传统的单片机教材,都好象是为已经懂单片机的人而写的,一般总是以单片机的结构 为主线,先讲硬件原理,然后是指令,接着讲软件编程,再是系统扩展和外围器件,最后举一些实例(随 便说一点:很多书中的实例都是有错误的),很少涉及单片机的基础知识,如果按照此种学习方法,想 进行产品开发,就必须先把所有的知识全部掌握了才可以进行实际应用。孰不知,单片机不象模拟电路 和数字电路那样,只要搞懂了电路原理,再按照产品要求设计好相应的电路就可以了。它是一种以简单 的硬件结构,复杂而有灵活的软件系统来完成设计的通用性产品,不同的设计者只会使用其不同的功能, 几乎没有人会把它的全部指令都使用起来,所以学习使用单片机只能靠循序渐进的积累,而不可能先把 它全部掌握了再去做产品开发(当然天才就例外了*_*)。
上传时间: 2013-10-15
上传用户:小码农lz
单片机指令系统原理 51单片机的寻址方式 学习汇编程序设计,要先了解CPU的各种寻址法,才能有效的掌握各个命令的用途,寻址法是命令运算码找操作数的方法。在我们学习的8051单片机中,有6种寻址方法,下面我们将逐一进行分析。 立即寻址 在这种寻址方式中,指令多是双字节的,一般第一个字节是操作码,第二个字节是操作数。该操作数直接参与操作,所以又称立即数,有“#”号表示。立即数就是存放在程序存储器中的常数,换句话说就是操作数(立即数)是包含在指令字节中的。 例如:MOV A,#3AH这条指令的指令代码为74H、3AH,是双字节指令,这条指令的功能是把立即数3AH送入累加器A中。MOV DPTR,#8200H在前面学单片机的专用寄存器时,我们已学过,DPTR是一个16位的寄存器,它由DPH及DPL两个8位的寄存器组成。这条指令的意思就是把立即数的高8位(即82H)送入DPH寄存器,把立即数的低8位(即00H)送入DPL寄存器。这里也特别说明一下:在80C51单片机的指令系统中,仅有一条指令的操作数是16位的立即数,其功能是向地址指针DPTR传送16位的地址,即把立即数的高8位送入DPH,低8位送入DPL。 直接寻址 直接寻址方式是指在指令中操作数直接以单元地址的形式给出,也就是在这种寻址方式中,操作数项给出的是参加运算的操作数的地址,而不是操作数。例如:MOV A,30H 这条指令中操作数就在30H单元中,也就是30H是操作数的地址,并非操作数。 在80C51单片机中,直接地址只能用来表示特殊功能寄存器、内部数据存储器以及位地址空间,具体的说就是:1、内部数据存储器RAM低128单元。在指令中是以直接单元地址形式给出。我们知道低128单元的地址是00H-7FH。在指令中直接以单元地址形式给出这句话的意思就是这0-127共128位的任何一位,例如0位是以00H这个单元地址形式给出、1位就是以01H单元地址给出、127位就是以7FH形式给出。2、位寻址区。20H-2FH地址单元。3、特殊功能寄存器。专用寄存器除以单元地址形式给出外,还可以以寄存器符号形式给出。例如下面我们分析的一条指令 MOV IE,#85H 前面的学习我们已知道,中断允许寄存器IE的地址是80H,那么也就是这条指令可以以MOV IE,#85H 的形式表述,也可以MOV 80H,#85H的形式表述。 关于数据存储器RAM的内部情况,请查看我们课程的第十二课。 直接寻址是唯一能访问特殊功能寄存器的寻址方式! 大家来分析下面几条指令:MOV 65H,A ;将A的内容送入内部RAM的65H单元地址中MOV A,direct ;将直接地址单元的内容送入A中MOV direct,direct;将直接地址单元的内容送直接地址单元MOV IE,#85H ;将立即数85H送入中断允许寄存器IE 前面我们已学过,数据前面加了“#”的,表示后面的数是立即数(如#85H,就表示85H就是一个立即数),数据前面没有加“#”号的,就表示后面的是一个地址地址(如,MOV 65H,A这条指令的65H就是一个单元地址)。 寄存器寻址 寄存器寻址的寻址范围是:1、4个工作寄存器组共有32个通用寄存器,但在指令中只能使用当前寄存器组(工作寄存器组的选择在前面专用寄存器的学习中,我们已知道,是由程序状态字PSW中的RS1和RS0来确定的),因此在使用前常需要通过对PSW中的RS1、RS0位的状态设置,来进行对当前工作寄存器组的选择。2、部份专用寄存器。例如,累加器A、通用寄存器B、地址寄存器DPTR和进位位CY。 寄存器寻址方式是指操作数在寄存器中,因此指定了寄存器名称就能得到操作数。例如:MOV A,R0这条指令的意思是把寄存器R0的内容传送到累加器A中,操作数就在R0中。INC R3这条指令的意思是把寄存器R3中的内容加1 从前面的学习中我产应可以理解到,其实寄存器寻址方式就是对由PSW程序状态字确定的工作寄存器组的R0-R7进行读/写操作。 寄存器间接寻址 寄存间接寻址方式是指寄存器中存放的是操作数的地址,即操作数是通过寄存器间接得到的,因此称为寄存器间接寻址。 MCS-51单片机规定工作寄存器的R0、R1做为间接寻址寄存器。用于寻址内部或外部数据存储器的256个单元。为什么会是256个单元呢?我们知道,R0或者R1都是一个8位的寄存器,所以它的寻址空间就是2的八次方=256。例:MOV R0,#30H ;将值30H加载到R0中 MOV A,@R0 ;把内部RAM地址30H内的值放到累加器A中 MOVX A,@R0 ;把外部RAM地址30H内的值放到累加器A中 大家想想,如果用DPTR做为间址寄存器,那么它的寻址范围是多少呢?DPTR是一个16位的寄存器,所以它的寻址范围就是2的十六次方=65536=64K。因用DPTR做为间址寄存器的寻址空间是64K,所以访问片外数据存储器时,我们通常就用DPTR做为间址寄存器。例:MOV DPTR,#1234H ;将DPTR值设为1234H(16位) MOVX A,@DPTR ;将外部RAM或I/O地址1234H内的值放到累加器A中 在执行PUSH(压栈)和POP(出栈)指令时,采用堆栈指针SP作寄存器间接寻址。例:PUSH 30H ;把内部RAM地址30H内的值放到堆栈区中堆栈区是由SP寄存器指定的,如果执行上面这条命令前,SP为60H,命令执行后会把内部RAM地址30H内的值放到RAM的61H内。 那么做为寄存器间接寻址用的寄存器主要有哪些呢?我们前面提到的有四个,R0、R1、DPTR、SP 寄存器间接寻址范围总结:1、内部RAM低128单元。对内部RAM低128单元的间接寻址,应使用R0或R1作间址寄存器,其通用形式为@Ri(i=0或1)。 2、外部RAM 64KB。对外部RAM64KB的间接寻址,应使用@DPTR作间址寻址寄存器,其形式为:@DPTR。例如MOVX A,@DPTR;其功能是把DPTR指定的外部RAM的单元的内容送入累加器A中。外部RAM的低256单元是一个特殊的寻址区,除可以用DPTR作间址寄存器寻址外,还可以用R0或R1作间址寄存器寻址。例如MOVX A,@R0;这条指令的意思是,把R0指定的外部RAM单元的内容送入累加器A。 堆栈操作指令(PUSH和POP)也应算作是寄存器间接寻址,即以堆栈指针SP作间址寄存器的间接寻址方式。 寄存器间接寻址方式不可以访问特殊功能寄存器!! 寄存器间接寻址也须以寄存器符号的形式表示,为了区别寄存器寻址我寄存器间接寻址的区别,在寄存器间接寻址方式式中,寄存器的名称前面加前缀标志“@”。 基址寄存器加变址寄存器的变址寻址 这种寻址方式以程序计数器PC或DPTR为基址寄存器,累加器A为变址寄存器,变址寻址时,把两者的内容相加,所得到的结果作为操作数的地址。这种方式常用于访问程序存储器ROM中的数据表格,即查表操作。变址寻址只能读出程序内存入的值,而不能写入,也就是说变址寻址这种方式只能对程序存储器进行寻址,或者说它是专门针对程序存储器的寻址方式。例:MOVC A,@A+DPTR这条指令的功能是把DPTR和A的内容相加,再把所得到的程序存储器地址单元的内容送A假若指令执行前A=54H,DPTR=3F21H,则这条指令变址寻址形成的操作数地址就是54H+3F21H=3F75H。如果3F75H单元中的内容是7FH,则执行这条指令后,累加器A中的内容就是7FH。 变址寻址的指令只有三条,分别如下:JMP @A+DPTRMOVC A,@A+DPTRMOVC A,@A+PC 第一条指令JMP @A+DPTR这是一条无条件转移指令,这条指令的意思就是DPTR加上累加器A的内容做为一个16位的地址,执行JMP这条指令是,程序就转移到A+DPTR指定的地址去执行。 第二、三条指令MOVC A,@A+DPTR和MOVC A,@A+PC指令这两条指令的通常用于查表操作,功能完全一样,但使用起来却有一定的差别,现详细说明如下。我们知道,PC是程序指针,是十六位的。DPTR是一个16位的数据指针寄存器,按理,它们的寻址范围都应是64K。我们在学习特殊功能寄存器时已知道,程序计数器PC是始终跟踪着程序的执行的。也就是说,PC的值是随程序的执行情况自动改变的,我们不可以随便的给PC赋值。而DPTR是一个数据指针,我们就可以给空上数据指针DPTR进行赋值。我们再看指令MOVC A,@A+PC这条指令的意思是将PC的值与累加器A的值相加作为一个地址,而PC是固定的,累加器A是一个8位的寄存器,它的寻址范围是256个地址单元。讲到这里,大家应可明白,MOVC A,@A+PC这条指令的寻址范围其实就是只能在当前指令下256个地址单元。所在,这在我们实际应用中,可能就会有一个问题,如果我们需要查询的数据表在256个地址单元之内,则可以用MOVC A,@A+PC这条指令进行查表操作,如果超过了256个单元,则不能用这条指令进行查表操作。刚才我们已说到,DPTR是一个数据指针,这个数据指针我们可以给它赋值操作的。通过赋值操作。我们可以使MOVC A,@A+DPTR这条指令的寻址范围达到64K。这就是这两条指令在实际应用当中要注意的问题。 变址寻址方式是MCS-51单片机所独有的一种寻址方式。 位寻址 80C51单片机有位处理功能,可以对数据位进行操作,因此就有相应的位寻址方式。所谓位寻址,就是对内部RAM或可位寻址的特殊功能寄存器SFR内的某个位,直接加以置位为1或复位为0。 位寻址的范围,也就是哪些部份可以进行位寻址: 1、我们在第十二课学习51单片机的存储器结构时,我们已知道在单片机的内部数据存储器RAM的低128单元中有一个区域叫位寻址区。它的单元地址是20H-2FH。共有16个单元,一个单元是8位,所以位寻址区共有128位。这128位都单独有一个位地址,其位地址的名字就是00H-7FH。这里就有一个比较麻烦的问题需要大家理解清楚了。我们在前面的学习中00H、01H。。。。7FH等等,所表示的都是一个字节(或者叫单元地址),而在这里,这些数据都变成了位地址。我们在指令中,或者在程序中如何来区分它是一个单元地址还是一个位地址呢?这个问题,也就是我们现在正在研究的位寻址的一个重要问题。其实,区分这些数据是位地址还是单元地址,我们都有相应的指令形式的。这个问题我们在后面的指令系统学习中再加以论述。 2、对专用寄存器位寻址。这里要说明一下,不是所有的专用寄存器都可以位寻址的。具体哪些专用寄存器可以哪些专用寄存器不可以,请大家回头去看看我们前面关于专用寄存器的相关文章。一般来说,地址单元可以被8整除的专用寄存器,通常都可以进行位寻址,当然并不是全部,大家在应用当中应引起注意。 专用寄存器的位寻址表示方法: 下面我们以程序状态字PSW来进行说明 D7 D6 D5 D4 D3 D2 D1 D0 CY AC F0 RS1 RS0 OV P 1、直接使用位地址表示:看上表,PSW的第五位地址是D5,所以可以表示为D5H MOV C,D5H 2、位名称表示:表示该位的名称,例如PSW的位5是F0,所以可以用F0表示 MOV C,F0 3、单元(字节)地址加位表示:D0H单元位5,表示为DOH.5 MOV C,D0H.5 4、专用寄存器符号加位表示:例如PSW.5 MOV C,PSW.5 这四种方法实现的功能都是相同的,只是表述的方式不同而已。 例题: 1. 说明下列指令中源操作数采用的寻址方式。 MOV R5,R7 答案:寄存器寻址方式 MOV A,55H 直接寻址方式 MOV A,#55H 立即寻址方式 JMP @A+DPTR 变址寻址方式 MOV 30H,C 位寻址方式 MOV A,@R0 间接寻址方式 MOVX A,@R0 间接寻址方式 改错题 请判断下列的MCS-51单片机指令的书写格式是否有错,若有,请说明错误原因。 MOV R0,@R3 答案:间址寄存器不能使用R2~R7。 MOVC A,@R0+DPTR 变址寻址方式中的间址寄存器不可使用R0,只可使用A。 ADD R0,R1 运算指令中目的操作数必须为累加器A,不可为R0。 MUL AR0 乘法指令中的乘数应在B寄存器中,即乘法指令只可使用AB寄存器组合。
上传时间: 2013-11-11
上传用户:caozhizhi
本章主要介绍51系列单片机系统扩展问题,在本章中要研究较多的硬件方面及硬软结合方面的问题,本章与第一章关系密切,在学习本章内容之前,要先明确51系列单片机本身的系统资源,可先复习一下前面几章的有关单片机硬件组成方面的内容。 本章将介绍以下具体内容: 系统扩展的含义、单片机的地址总线和数据总线、常见系统扩展电路举例。§7.0 前言 1.系统扩展的含义 单片机中虽然已经集成了CPU、I/O口、定时器、中断系统、存储器等计算机的基本部件(即系统资源),但是对一些较复杂应用系统来说有时感到以上资源中的一种或几种不够用,这就需要在单片机芯片外加相应的芯片、电路,使得有关功能得以扩充,我们称为系统扩展(即系统资源的扩充)。 2.系统扩展分类----单一功能的扩展 综合功能的扩展3.系统扩展需要解决的问题---- 单片机与相应芯片的接口电路连接(即地址总线、数据总线、控制总线的连接)与编程。4.单片机的地址总线和数据总线 51系列单片机没有专用的对外地址总线和数据总线,其P0口和P2口既是通用I/O口,同时P0口还是分时复用的双向数据总线和低8位地址总线(一般需要加一级锁存器),而P2口则是高8位地址总线5.常见系统扩展电路(1)单一功能的系统扩展 存储器的扩展(程序存储器、数据存储器、E2PROM ) 外部中断源的扩展(简单门电路) 并行口的扩展(8155)(2)综合功能的扩展 外部RAM、定时器、并行口扩展(8155) 存储器、并行口、定时器扩展(多芯片)7.1.1 程序存储器的扩展.程序存储器的作用----存放程序代码或常数表格 .扩展时所用芯片----一般用只读型存储器芯片(可以是EPROM、E2PROM、 FLASH芯片等)。 .扩展电路连接 ---- 用EPROM 2764扩展程序存储器。 .存储器地址分析----究竟单片机输出什么地址值时,可以指向存储器中的某一单元。
上传时间: 2013-10-19
上传用户:zhaoq123
GSM系统资料可以下载学习一下很不错的学习资料
标签: GSM
上传时间: 2013-11-21
上传用户:lili123