单片机原理与接口技术教案

上传人:仙*** 文档编号:100364624 上传时间:2022-06-02 格式:DOC 页数:102 大小:4.60MB
收藏 版权申诉 举报 下载
单片机原理与接口技术教案_第1页
第1页 / 共102页
单片机原理与接口技术教案_第2页
第2页 / 共102页
单片机原理与接口技术教案_第3页
第3页 / 共102页
资源描述:

《单片机原理与接口技术教案》由会员分享,可在线阅读,更多相关《单片机原理与接口技术教案(102页珍藏版)》请在装配图网上搜索。

1、单片机原理与接口技术教案曹建树教案格式第课 教学内容:教学目标: 了解: 掌握:牢固掌握: 课时安排:教学重点: 教学提示: 一、重点内容与要点分析 二、教学方式 课堂讲授为主,由于是第一节课,学生刚从家里过年回来,没有进入学习状态,注意课堂学生的反应,及时调整教学状态,充分调动学生的学习积极性,通过下面的作业使学生尽快投入课程的学习中去。三、作业前言“单片机原理与接口技术”主要介绍目前在工业控制和仪器仪表中广泛使用的单芯片微处理器(微控制器)的基本原理及使用方法。以国内目前使用最多的MCS-51单片机为例,对其芯片内部组成、存贮器空间分配、I/O口结构、信号动作时序、指令系统、定时器计数器、

2、串行通信接口、中断系统等进行了较深入的介绍;对一些常用的接口扩展芯片的原理及其在MCS-51系统中的使用方法进行了介绍;并对用MCS-51构成的单片机应用系统的设计基本考虑和设计方法进行了介绍。通过本课程的学习,学生应当能够掌握MCS-51单片机的基本工作原理,学会用MCS-51单片机来构成实用的微处理器应用系统,能够编写基本的系统监控程序,能使用仿真开发系统对所设计的软、硬件系统进行调试排错。在学习这门课程时应注意以下几个特点:1.应当紧扣芯片的系统功能来学习其各部分的工作原理。2.通过各个特殊功能存贮器(SFR)的含义来提纲携领地把各部分内容串起来。3.仔细分析和掌握执行不同指令时芯片接口

3、信号的动作时序,它是系统硬件动作配合的基本依据,在系统设计时必须给以足够的重视。 4.注意其存贮空间分配和指令系统的特点,利用好这些特点来编写有效、可靠的软、硬件系统。 5.注意扩展系统设计的基本考虑和基本方法,能够根据系统功能要求选择合适的外围芯片,构成合理的硬件电路。 6.注意观察教材和各种参考书和参考资料上的实际应用电路,分析弄懂其工作原理,促进课程内容学习,积累应用知识。这门课程和其它计算机课程具有共同的特点,就是“即死又活”。在刚开始学习时,有许多结构、功能、原理、规定等方面的内容,好象都是死的东西,必须要死记硬背;而在进一步学习编程和系统设计时又没有较容易掌握的“套路”,好象无法下

4、手。我们在学习时就要注意“死的活学”,“活的靠死”。对于较死的内容,要结合功能、原理、动作过程等方面的特点,把它融合到这些相关的内容里面去,让它活起来,而不是死记硬背;对于太活的内容,要把它落实到一个个具体的问题上,通过解决具体问题来掌握基本的方法,逐步积累,在遇到新的问题时就不至于束手无策。当然这门课程是一门应用性很强的课程,实践应用对促进学习有很大的帮助,有条件的同学可以在学习的同时作一些软、硬件实验,相信一定会有更多的收获。初学单片机几个不易掌握的概念随着电子技术的迅速发展,计算机已深入地渗透到我们的生活中,许多电子爱好者开始学习单片机知识,但单片机的内容比较抽象,相对电子爱好者已熟悉的

5、模拟电路、 数字电路,单片机中有一些新的概念,这些概念非常基本以至于一般作者不屑去谈,教材自然也不会很深入地讲解这些概念,但这些内容又是学习中必须要理解的,下面就结合本人的学习、教学经验,对这些最基本概念作一说明,希望对自学者有所帮助。一、总线:我们知道,一个电路总是由元器件通过电线连接而成的,在模拟电路中,连线并不成为一个问题,因为各器件间一般是串行关系,各器件之间的连线并不很多,但计算机电路却不一样,它是以微处理器为核心,各器件都要与微处理器相连,各器件之间的工作必须相互协调,所以就需要的连线就很多了,如果仍如同模拟电路一样,在各微处理器和各器件间单独连线,则线的数量将多得惊人,所以在微处

6、理机中引入了总线的概念,各个器件共同享用连线,所有器件的8根数据线全部接到8根公用的线上,即相当于各个器件并联起来,但仅这样还不行,如果有两个器件同时送出数据,一个为0,一个为1,那么,接收方接收到的究竟是什么呢?这种情况是不允许的,所以要通过控制线进行控制,使器件分时工作,任何时候只能有一个器件发送数据(可以有多个器件同时接收)。器件的数据线也就被称为数据总线,器件所有的控制线被称为控制总线。在单片机内部或者外部存储器及其它器件中有存储单元,这些存储单元要被分配地址,才能使用,分配地址当然也是以电信号的形式给出的,由于存储单元比较多,所以,用于地址分配的线也较多,这些线被称为地址总线。二、数

7、据、地址、指令:之所以将这三者放在一起,是因为这三者的本质都是一样 的数字,或者说都是一串0和1组成的序列。换言之,地址、指令也都是数据。指令:由单片机芯片的设计者规定的一种数字,它与我们常用的指令助记符有着严格的一一对应关系,不可以由单片机的开发者更改。地址:是寻找单片机内部、外部的存储单元、输入输出口的依据,内部单元的地址值已由芯片设计者规定好,不可更改,外部的单元可以由单片机开发者自行决定,但有一些地址单元是一定要有的(详见程序的执行过程)。数据:这是由微处理机处理的对象,在各种不同的应用电路中各不相同,一般而言,被处理的数据可能有这么几种情况:1.地址(如MOV DPTR,#1000H

8、),即地址1000H送入DPTR。 2.方式字或控制字(如MOV TMOD,#3),3即是控制字。 3.常数(如MOV TH0,#10H)10H即定时常数。 4.实际输出值(如P1口接彩灯,要灯全亮,则执行指令:MOV P1,#0FFH,要灯全暗,则执行指令:MOV P1,#00H)这里0FFH和00H都是实际输出值。又如用于LED的字形码,也是实际输出的值。理解了地址、指令的本质,就不难理解程序运行过程中为什么会跑飞,会把数据当成指令来执行了。三、P0口、P2口和P3的第二功能用法 初学时往往对P0口、P2口和P3口的第二功能用法迷惑不解,认为第二功能和原功能之间要有一个切换的过程,或者说要

9、有一条指令,事实上,各端口的第二功能完全是自动的,不需要用指令来转换。如P3.6、P3.7分别是WR、RD信号,当微片理机外接RAM或有外部I/O口时,它们被用作第二功能,不能作为通用I/O口使用,只要一微处理机一执行到MOVX指令,就会有相应的信号从P3.6或P3.7送出,不需要事先用指令说明。事实上不能作为通用I/O口使用也并不是不能而是(使用者)不会将其作为通用I/O口使用。你完全可以在指令中按排一条SETB P3.7的指令,并且当单片机执行到这条指令时,也会使P3.7变为高电平,但使用者不会这么去做,因为这通常这会导致系统的崩溃(即死机)。四、程序的执行过程 单片机在通电复位后8051

10、内的程序计数器(PC)中的值为0000H,所以程序总是从0000H单元开始执行,也就是说:在系统的ROM中一定要存在0000H这个单元,并且在0000H单元中存放的一定是一条指令。五、堆栈 堆栈是一个区域,是用来存放数据的,这个区域本身没有任何特殊之处,就是内部RAM的一部份,特殊的是它存放和取用数据的方式,即所谓的先进后出,后进先出,并且堆栈有特殊的数据传输指令,即PUSH和POP,有一个特殊的专为其服务的单元,即堆栈指针SP,每当执一次PUSH指令时,SP就(在原来值的基础上)自动加1,每当执行一次POP指令,SP就(在原来值的基础上)自动减1。由于SP中的值可以用指令加以改变,所以只要在

11、程序开始阶段更改了SP的值,就可以把堆栈设置在规定的内存单元中,如在程序开始时,用一条MOV SP,#5FH指令,就时把堆栈设置在从内存单元 60H开始的单元中。一般程序的开头总有这么一条设置堆栈指针的指令,因为开机时,SP的初始值为07H,这样就使堆栈从08H单元开始往后,而08H到1FH这个区域正是8031的第二、三、四工作寄存器区,经常要被使用,这会造成数据的浑乱。不同作者编写程序时,初始化堆栈指令也不完全相同,这是作者的习惯问题。当设置好堆栈区后,并不意味着该区域成为一种专用内存,它还是可以象普通内存区域一样使用,只是一般情况下编程者不会把它当成普通内存用了。 六、单片机的开发过程 这

12、里所说的开发过程并不是一般书中所说的从任务分析开始,我们假设已设计并制作好硬件,下面就是编写软件的工作。在编写软件之前,首先要确定一些常数、地址,事实上这些常数、地址在设计阶段已被直接或间接地确定下来了。如当某器件的连线设计好后,其地址也就被确定了,当器件的功能被确定下来后,其控制字也就被确定了。然后用文本编缉器(如EDIT、CCED等)编写软件,编写好后,用编译器对源程序文件编译,查错,直到没有语法错误,除了极简单的程序外,一般应用仿真机对软件进行调试,直到程序运行正确为止。运行正确后,就可以写片(将程序固化在EPROM中)。在源程序被编译后,生成了扩展名为HEX的目标文件,一般编程器能够识

13、别这种格式的文件,只要将此文件调入即可写片。在此,为使大家对整个过程有个认识,举一例说明:ORG 0000H LJMP START ORG 0040H START:MOV SP,#5FH ;设堆栈 LOOP: NOP LJMP LOOP ;循环 END ;结束02 00 40 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF

14、 FF FF FF FF FF FF FF 75 81 5F 00 02 00 43 为目标文件,也就是最终写入EPROM的文件,它由编程器转换得到,也可以由HEXBIN一类的程序转换得到。学过手工汇编者应当不难找出机器码与源程序的一一对应关系,值得注意的是从02 00 40后开始的一长串FF,直到75 81,这是由于伪指令:ORG 040H造成的结果。 七、仿真、仿真机仿真是单片机开发过程中非常重要的一个环节,除了一些极简单的任务,一般产品开发过程中都要进行仿真,仿真的主要目的是进行软件调试,当然借助仿真机,也能进行一些硬件排错。一块单片机应用电路板包括单片机部份及为达到使用目的而设计的应用

15、电路,仿真就是利用仿真机来代替应用电路板(称目标机)的单片机部份,对应用电路部份进行测试、调试。仿真有CPU仿真和ROM仿真两种,所谓CPU仿真是指用仿真机代替目标机的CPU,由仿真机向目标机的应用电路部份提供各种信号、数据,进行调试的方法。这种仿真可以通过单步运行、连续运行等多种方法来运行程序,并能观察到单片机内部的变化,便于改正程序中的错误。所谓ROM仿真,就是用仿真机代替目标机的ROM,目标机的CPU工作时,从仿真机中读取程序,并执行。这种仿真其实就是将仿真机当成一片EPROM,只是省去了擦片、写片的麻烦,并没有多少调试手段可言。通常这是二种不同类型的仿真机,也就是说,一台仿真机不能既做

16、CPU仿真,又做ROM仿真。可能的情况下,当然以CPU仿真好。 第1课 教学内容:第1章 单片机概述 1.1 单片机的概念1.2 单片机实验开发系统1.3单片机的发展1.4单片机系统的应用1.5典型单片机介绍教学目标: 了解:单片机的组成、结构特点及作用、微机系统的组成;单片机实验开发系统的组成、结构特点及作用;单片机系统的应用特点和领域;典型单片机的特点和应用情况。掌握:单片机的特点、各部分的连接关系;单片机实验开发系统的应用方法;单片微机的发展和应用概况。牢固掌握:什么是单片微机;微机各部分连接关系。课时安排: 3 课时 教学重点: 单片机的基本概念、组成、结构特点及微机各部分连接关系教学

17、提示: 一、重点内容与要点分析 本章主要对单片机的基本概念(微机结构简图画法、微机与微机系统的区别、二进制与十六进制数的转换、补码的定义与作用,以及BCD码的定义与作用)、单片机与微机系统的区别、MCS-51单片机的结构特点和性能特点、INTEL的MCS-XX单片微控制器的应用特点等方面做了一些介绍和比较。在本章中应掌握以下内容:1.微型计算机是由运算器、控制器、存贮器、输入输出接口四大部分组成的。微处理器(MPU 或称中央处理器CPU)中集成了运算器和控制器。用总线把存贮器和输入输出接口与CPU连接在一起就构成了微计算机。把它们安装在一块印刷电路板上就是所谓的单板机;把它们集成到一个芯片中就

18、构成了单芯片微处理器或称单芯片微控制器,简称为“单片机”。2.有许多不同种类的单片机。它们在规模、功能、性能、指令系统、管脚和尺寸、价格和应用环境等方面各有千秋。在绝大多数单片机中都集成有:CPU、存贮器、并行I/O接口、定时器计数器、串行通信接口、中断管理器等功能部件。3.单片机由于其体积小、功能强、环境适应力强、可靠性高、使用灵活方便等特点而广泛地被应用于工业控制、仪器仪表、家用电器、通信设备中。由于单片机的设计定位是小规模、多功能、单独使用,故一般不用它构成通用计算机系统。4.在国内目前使用的最多的是INTEL公司的MCS-XX或与其兼容的单片机芯片。INTEL的MCS-XX单片机有MC

19、S-48、MCS-51、MCS-96三个主要系列。其中MCS-48是第一代实用化的单片机,其功能相对较差,目前已很少使用。MCS-51是一个十分成熟的8位通用单片机,其硬件结构和指令系统能够满足绝大多数应用环境的要求,性能稳定可靠,价格便宜,配套外围芯片种类丰富,软硬件开发环境容易建立,在各种不同的领域内都得到了广泛的应用。目前国际上的一些大公司还推出了许多与其相兼容的增强型单片机芯片,说明尽管它已经出现了近20年,但还有着很强的生命力。MCS-96是一个16位的单片机芯片,它定位在高速工业控制应用上,在指令系统、功能单元、I/O接口、动作时序上都采用与MCS-51完全不同的方法实现,性能有了

20、很大提高,但使用上不如MCS-51灵活,用法比较复杂,价格比较贵,目前在国内使用的软硬件开发环境也不如MCS-51,因此仅在MCS-51性能不够的情况下才使用它。5.MCS-51系列单片机有三种主要型号:芯片内集成有8K掩模ROM程序存贮器的8051、集成有8K EPROM程序存贮器的8751和芯片内没有程序存贮器的8031。它们都是40脚的芯片。 图1-1 8031型单片机芯片的照片(一)单片机的发展1.Z80:70年代出现CPU,产品有单板机、STD总线、Z80微机等,但需要较多的外围接口电路、时钟电路等,使之逐步消失;2.MCS-48系列单片机: INTEL,1976, 8048/804

21、9等,目前在PC键盘上仍在使用3.MCS-51系列单片机: INTEL首先推出,199051子系列:8031、8051、8751等52子系列:8032、8052、8752等C51子系列:80C31、80C51、87C51等C52子系列:80C32、80C52、87C52等4.增强型单片机:RUIP-44 8044 5.MCS-96系列单片机(16位):8096、8098、8798、80196等6.其它厂家的单片机(与MCS-51基本兼容)Atmel公司的AT89系列单片机 AT89C51/52、AT89C1051/2051、AT89S8252等 Philips公司的80C51系列单片机7其它类

22、型的单片机:Motorala 、Toshiba、Nec等厂家生产的单片机 多用于家电行业的4位机、8位机应用情况:MCS-51系列单片机与Z80、MCS-48相比,技术先进、功能强;与MCS-96系列单片机相比(总线8:16),功能稍显逊色,但MCS-51在全球推广、普及成功,应用很广,并且仍在继续发展,所以,本篇内容重点介绍MCS-51系列单片机。(二)单片机的应用广义讲, 工 农 商 学 兵 日常数控机床冶炼检测控制良种培育粮、油检测 家用电器计算器工交车报站食堂售饭机各种计量仪器收款机语音教室各种科研电台节目转播宇宙航天仪器交通指挥控制主要应用领域:控制、测量、信息处理(三)总线(Bus

23、) 总线是微型计算机各种电路器件或芯片间的通道,是用来相互传送数字信息的公共通道,所以总线的英文词是Bus,这个词很形象,意思是总线在计算机中的作用就像是公共汽车,其上上下下的“乘客”则是各种电路器件间传送的信息。对于单片机而言,总线则是单片机芯片中CPU与ROM、RAM、I/O接口等电路之间的内部连线,亦称内部总线。各个器件共同享用这些总线,所有器件的数据线全部接到公用的线上,即数据总线(Data Bus),但仅这样还不行,如果有两个器件同时送出数据,那么,接收方接收到的究竟是哪个器件送出的数据呢?这种情况是不允许的,所以要通过控制线进行控制,使器件分时工作,任何时候只能有一个器件发送数据(

24、可以有多个器件同时接收),这些控制线被称为控制总线(Control Bus)。在单片机内部或者外部存储器及其他器件中有存储单元,这些存储单元要被分配地址,才能访问,分配地址当然也是以电信号的形式给出的,这些传送地址电信号的线被称为地址总线(Address Bus)。(四)微机各部分的连接关系如图1-3示,在微机中,CPU必须要通过地址总线AB(Address Bus)、数据总线DB(Data Bus)、控制总线CB(Control Bus)来连接ROM、RAM、I/O接口等电路才能正常工作。请进一步注意图中总线及各连接线的箭头画法:有的是单箭头线,表明电子信息在这个线上是单方向传输的;而有的是

25、双箭头线,表明电子信息在这个线上是双方向传输的。具体来说:1地址总线AB是单箭头线 2数据总线DB是双箭头线 3控制总线CB是双箭头线五、单片机实验开发系统以实例分析和强化实验手段来带动单片机应用系统的学习和掌握,因此现在有必要介绍单片机实验开发系统,以掌握单片机系统的设计、调试与开发。二、教学方式 课堂讲授为主,由于是第一节课,学生刚从家里过年回来,没有进入学习状态,注意课堂学生的反应,及时调整教学状态,充分调动学生的学习积极性,通过下面的作业使学生尽快投入课程的学习中去。1查阅有关单片机发展、应用、最新产品等情况的文献(5篇以上),写出文献综述报告。2写出报告提纲,在讨论上作五分钟的单片机

26、发展史,或应用概况等方面的报告。3查阅有关文献,了解MCS系列单片机的应用、发展及产品情况,写出文献综述报告。三、作业1查阅有关单片机发展、应用、最新产品等情况的文献(5篇以上),写出文献综述报告。2写出报告提纲,在讨论上作五分钟的单片机发展史,或应用概况等方面的报告。3查阅有关文献,了解MCS系列单片机的应用、发展及产品情况,写出文献综述报告。4什么是单片机应用系统和单片机开发系统?5什么是单片计算机?它与一般微型计算机在结构上有什么不同?单片机具有哪些突出的优点?9结合“三总线“结构,简述微型计算机的组成及工作原理。第2课 教学内容:1.6 单片机的数制、 码制与编码第2章 MCS-51

27、单片机基本知识2.1 MCS-51单片机内部资源2.1.1中央处理单元CPU教学目标: 了解:单片机基本资源情况。掌握:CPU的组成、功能牢固掌握:特殊功能寄存器的结构、功能和各位的设置;二进制码制、补码及编码。课时安排: 3 课时 教学重点: CPU的组成、功能;特殊功能寄存器的结构、功能和各位的设置;二进制码制、补码及编码。教学提示: 一、重点内容与要点分析 (一)单片机的数制、码制与编码1数制(1)二进制(Binary)二进制的特点:数码为0、1;逢2进1,借1顶2。二进制数以幂级数形式表示时,2为基数,其i位的权是2i。如:101101.11B=125+024+123+122+021+

28、120+121+122 =32+0+8+4+0+1+0.5+0.25 =45.7,其中最高位的权是25,次高位的权是24,等等。二进制数N的通式是各位的数码a与其所在位的权2i乘积之和。即N=式中 n整数部分位数; m小数部分位数; a第i位数码; 2i第i位数的权;(2)十六进制(Hexadecimal)十六进制的特点是:16个数码:0、1、2、3、4、5、6、7、8、9、A、B、D、D、E、F,其中A、B、C、D、E、F相当于10、11、12、13、14、15 。逢十六进一,借一顶十六。十六进制数以幂级数形式表达时,16为基数,其i位的权是16i。十六进制数的最后均标有字母H。如:FAH=

29、F16+A16=1516+101=250。十六进制数N的通式也是各位的数码ai与其所在位的权16i乘积之和。即N=式中 n整数部分位数;m小数部分位数;ai第i位数码;16i第i位数的权;(3)二进制数与十六进制数转换1)二进制数转换成十六进制数二进制数变十六进制数是最好转换的。一般的办法是,四位合一位法。即,以小数点为界,向前、后每四位二进制数合一位十六进制数,不够四位补“0”,如: 1110 0011 . 1001 0100 B = 0E3.94H E 3 . 9 4 H 2)十六进制数转换为二进制数转换法转换方法是每位成四位法,也以小数点为界每位十六进制数转换为4位二进制数,如将上例逆转

30、一下,就有0E3.94H=1110 0011.1001 0100B(4)二进制数、十六进制数与十进制数转换1)二进制数、十六进制数转换成十进制数转换方法是按权展开,然后按照十进制运算法则求和。例:1011.1010B=123+121+120+12-1+12-3=11.625DFC.8H =13162+15161+12160+816-1 = 3580.52)十进制数转换成二进制数、十六进制数整数转换法十进制数转换成二进制数:532=26 余 1262=13 余 0132=6 余 162=3 余 0 32=1 余 112=0 余 1由此得到:53=110101B“除基数取余法”:十进制整数不断除以

31、转换进制基数,直至商为0。每除一次取一个余数,从低位排向高位。例:十进制数转换成十六进制数:20816=13 余 0 1316 =0 余 13 = DH 由此得到:208 = D0H 小数转换法十进制数转换成二进制数:0.3752=0.75 取整数部分 00.752=1.5 取整数部分 10.52=1 取整数部分 1 由此得到:十进制数0.375=0.011B“乘基数取整法”:用转换进制的基数乘以小数部分,直至小数为0或达到转换精度要求的位数。每乘一次取一次整数,从最高位排到最低位。例:十进制数转换成十六进制数:0.625 16 = 10.0由此得到:0.625 = 0.AH2 码制微机中所处

32、理数的基本形式是二进制数码,为运算方便起见,单片机采用的码制有原码、反码和补码三种形式,见表1-3。(1)原码原码是微机中所处理数的原形,也就是用户按二进制数表示法输入计算机的数。原码可以是无符号数,也可以是有符号数。以单片机常用的八位二进制数为例:原码为无符号数时,8位二进制数00000000B到11111111B就和0到255的自然数一一对应。原码为有符号数时,8位二进制数00000000B到11111111B就要按最高位的值分为正数与负数二种,即最高位为符号位,其余为数值位。如: 符号位为0时,数为正 + 1010B的原码为 00001010 B 。符号位为1时,数为负 - 1010B的

33、原码为 10001010 B 。表1-3 二进制数用作不同码制数时的实际值对照表不同码制下的实际值二进制整数形式用作无符号数时对应的十进制数值用作带符号数时的不同码制对应的十进制数用作原码时用作反码时用作补码时0+0+0+01+1+1+12+2+2+2126+126+126+126127+127+127+127128012712812911261271302125126253125232541261225512701 (2)反码运算过程中使用正数的反码 = 原码, 负数的反码符号位 = 原码的符号位 数值位 = 原码数值位按位取反 如上例1010 B的八位反码为: 11110101 B (3)

34、补码 补码是为了计算方便,不是为了人计算方便,而是为了计算机简化减法运算,用加法完成减法的一种码制。1)补码的定义 正数的补码表达形式就是正数本身,有X=(X),负数的补码表达形式(X)就是模减原码的绝对值,有(X)= 模 -X。这里,模与机器数的位数有关,如8位2进制数的模为2=100H,当8位二进制数X=0FFH时,对X再加1,就会超出8位二进制数的表达范围,产生溢出或进位,即X+1=0FFH+01H=100H=进位+00H,这意味着当机器数从0开始增加到模的数值就会重新从0开始循环计数的值,模的具体值是超过机器数规定范围1的值,对8位二进制数,模就是2=100H。2)补码的作用 补码是用

35、来将计算机中的减法变为加法。采用补码,实际上玩了一个算术的游戏:你要减一个数,比如X-Y,这个Y,可以看作-Y,就变成 X+(-Y),X和Y本身是原码,减很困难,看作-Y 后,把-Y变成补码表达形式,就可以做加法。3)补码的简便求法上述按定义求模码的过程非常繁琐,在计算机实际操作时是采用反码+1的简便方法来求补码的。即: 补码 =(原码)+ 1如:-01H的反码表达形式为11111110B或0FEH,-01H的补码表达形式就是 (-01)=(01)反+1=0FEH +1=0FFH这一求法的原理是:补码表达形式=模-原码=100 - 原码=(0FFH-原码)+1而前述负数的反码表达形式为原码的绝

36、对值按位取反,即0FFH-原码。所以,补码表达形式=(原码)+1 。3二进制编码在计算机中,由于机器只能识别二进制,因此键盘上所有数字、字母和符号也必须事先为它们进行二进制编码,以便机器对它们加以识别、存储、处理和传送。和日常生活中的编码问题一样,所需编码的数字、字母和符号越多,二进制数字的位数也越长。下面介绍几种微型机中常用的编码。(1)BCD码BCD码是十进制数的二进制码(Binary Coded Decimal),BCD码的种类较多,常用的有8421码,2421码,、余3码和格雷码等。下面介绍一下8421码。8421码也是BCD码中的一种,因组成它的4位二进制数码的权为8、4、2、1而得

37、名。8421码是一种采用4位二进制数来代表十进制数码的代码系统。在这个代码系统中,十组4位二进制数分别代表了09中的十个数字符号,如表1-4所列。其中,0000B1001B为8421的基本代码系统代表0 9 。 1010B1111B为非法码,逢10需再进一个4位二进制数。大家知道,4位二进制数共有16种组合,其中0000B1001B为8421的基本代码系统,1010B1111B未被使用,成为非法码或冗余码。10以上的所有十进制数至少需要二位8421码字(即8位二进制数字)来表示,而且不应出现非法码;否则就不是真正的BCD数。因此,BCD数是由BCD码构成的,是以二进制数形式出现的,是逢十进位的

38、,但它并不是一个真正的二进制数,因为二进制数时逢二进位的。例如:十进制数45的BCD码形式为01000101B(即45H)而它的等值二进制数为00101101B(即2DH)。表1-4 8421BCD编码表十进制数8421码十进制数8421码012345670000B0001B0010B0011B0100B0101B0110B0111B891011121314151000B1001B00010000B00010001B00010010B00010011B00010100B00010101B(2)ASCII码(American Standard Coded for Information Inte

39、rchange)由于计算机内部只能识别和处理二进制代码,所以字符必须按照一定的规则用一组二进制编码来表示。常见的ASCII码用七位二进制表示一个字符,它包括10个十进制数字(09)、52个英文大写和小写字母(AZ,az)、34个专用符号和32个控制符号,共计128个字符。这种ASCII码在计算机中,通常一个字节存放一个字符,一个字节右边的七位表示不同的字符代码,而最左边一位可以作奇偶校验位,用来检查错误;也可以用于西文字元和汉字的区分标识。 ASCII字符编码表见附录。由表中可见,数字和英文字母都是按顺序排列的,只要知道其中一个的二进制代码,不要查表就可以推导出其它数字或字母的二进制代码。另外

40、,如果将ASCII码中09十个数字的二进制代码去掉最高三位011,正好与它们的二进制值相同,这不但使十进制数字进入计算机后易于压缩成4位代码,而且也便于进一步的信息处理。(二) MCS-51 单片机基本知识 本部分对MCS-51单片机的硬件资源和指令系统进行了全面的分析介绍。在本章中应掌握以下内容: 8051由CPU、内部程序存贮器ROM、内部寄存器RAM、I/O接口控制单元、定时器计数器、串行通信接口、内部总线等部分构成。 SFR中有CPU专用寄存器和功能单元专用寄存器两类:CPU专用寄存器有:ACC、B、PSW、SP、DPTR等。应掌握PSW中各位的含义。D7 D0CYACF0RS1RS0

41、OV-P堆栈区使用通用RAM单元,复位时堆栈指针SP=07H。在指令系统中通过数据指针DPTR来间接寻址访问外部数据存贮器。功能单元专用寄存器有:并行接口缓冲器:P0、P1、P2、P3 D7 D0/RD/WRT1T0/INT1/INT0TXDRXD P3口的复用功能中断系统:IP、IE定时器计数器:TMOD、TCON、TH0、TL0、TH1、TL1串行接口:SBUF、SCON电源控制:PCON1MCS-51系列单片机的主要性能特点(1)内部程序存储器(ROM)的容量-51子系列可达4K Bytes (但需注意8031无内部ROM), -52子系列可达8K Bytes(本课程的重点是-51子系列

42、, 必要时讨论-52子系列)(2)内部数据存储器(RAM)的容量除专用寄存器外,-51子系列为128 Bytes ,-52子系列可达256 Bytes (3)输入/输出口线MCS-51系列单片机可达32根。两种功能:1)一般功能作为普通的I/O口线使用; 2)特殊功能完成特定的功能,例如作为数据/地址总线、读写使能、串行通信等(4)外部数据存储器寻址空间: 直接寻址64K bytes,间接可达64Kx64K bytes(5)外部程序存储器寻址空间: 64K bytes (6)定时器/计数器-51子系列有2个16位定时器/计数器,-52子系列有3个16位定时器/计数器(7)串行口用两根IO口线实

43、现全双工、半双工、单工串行通信,有4种工作方式,可通过编程设定。(8)通用(或工作)寄存器(R0R7):有32个通用工作寄存器,分成4个区,每区有8个通用寄存器。(9)中断系统-51子系列有5个中断源,-52子系列有6个中断源;二者均有2种优先级。(10)堆栈由内部数据存储器构成堆栈,堆栈深度可达128字节。(11)布尔处理机51单片机内部具有布尔处理机,可按位处理信息,特别适用于控制目的和解决逻辑问题。(12)指令系统丰富的指令,强大的功能;执行指令的时间在类似的单片机中较快(例如与8048、6502 等比较),当振荡器频率为12Mhz时,大部分指令的执行时间为1us ,少部分为2us ,乘

44、除指令为4us 。综上所诉,MCS-51系列单片机性能较好,在国内、国外的应用非常普及,已成为工业标准产品,尤其适合于自动控制、人工智能等领域。2. 8051的内部总体结构(1)下图,MCS-51单片机方框图,包括各个组成部分:1个8位中央处理单元(CPU);4 K bytes 的程序存储器;128 Bytes的数据存储器;专用寄存器(框图中未画出,见图1-2);32根IO(输入/输出)口线;2个定时器/计数器;1套中断系统(5源、2优先级)1个全双工的串行接口;1个片内振荡器和时钟电路;1套64KB 总线扩展控制器。电源部分;工作过程:1)取指:CPU使64KB总线扩展控制器工作,从内部或外

45、部程序存储器中取出指令,并进行译码; 2)操作:指令译码后的结果在CPU控制下,对、SFR、RAM、T0/T1、中断系统、串行口、I/O口等执行相应的操作。(2)总体结构图CPU:ACC、ALU、暂存器1、暂存器2、以及涉及到的内部总线等;4 K bytes 的程序存储器:EPROM/ROM128 Bytes的数据存储器:RAM地址寄存器、RAM、总线等;专用寄存器:B、SP、PSW、PC、DPTR等32根IO(输入/输出)口线:P0.0、P0.1P3.7、P0P3锁存器、驱动器2个定时器/计数器:1套中断系统(5源、2优先级):中断、串行口及定时器、P3口中的专用功能部分1个全双工的串行接口

46、: 1套64KB 总线扩展控制器:P0口、P2口及其内部的总线扩展部分;1个片内振荡器和时钟电路:振荡器、定时及控制;电源部分:VCC、VSS3中央处理单元CPUMCS-51单片机CPU的主要特点是:8位微处理器按8位二进制数为1字节进行数据处理。由算术逻辑单元ALU(Arithmetic and Logical Unit)、定时控制器与专用寄存器组SFR(Special Function Register)三部分电路组成。在图2-1中以ALU为核心标出了CPU的这三个主要组成电路。(1)算术逻辑运算单元ALU(Arithmetic and Logical Unit)单片机的核心是CPU,而算

47、术逻辑运算单元ALU是CPU的核心。(2)定时控制器定时控制器由定时控制逻辑、指令寄存器IR、振荡器OSC等电路组成。(3)专用寄存器组SFR(Special Function Register) CPU内还包括了一个很重要的部分:一个专用的寄存器组SFR。这是为CPU提供重要信息的专用8位内存单元,有定时器的地址,有控制接口的状态字,也就是对接口的控制字等。接口是个电路。电路什么时候工作,怎么工作由计算机来管理。但计算机根据什么来管理呢?就是根据放在这些特殊寄存器SFR里的信息来管理的。由于SFR在CPU内,使用起来就非常方便。举个例子来说,就象我们身上穿的衣服都有口袋是为了使随身物品存取方

48、便,快捷。SFR共有21个寄存器,如表2-1所示,下面先介绍几个最常用的专用寄存器。1) 程序计数器PC(Program Counter) 程序计数器PC是一个二进制16位的程序地址寄存器,主要功能是:存放下一条要执行的指令在程序存储器中的16位地址。自动加1功能。CPU执行指令时,它根据程序计数器中地址从存储器中取出当前需要执行的指令码,并把它送给控制器分析执行,随后程序计数器中地址码自动加1,以便为CPU取下条需要执行的指令码作准备。在执行连续程序时,CPU每从程序存储器中取出一条指令,PC的值就自动加1,使CPU能在程序存储器中连续取出指令。所以,需要执行程序的机器码必须在程序执行前预先

49、一条条地按顺序放到程序存储器中,并将程序计数器设置为程序第一条指令的内存地址。PC单元本身没有地址,是不可寻址的,因此,用户无法对其进行读写,但在执行转移、调用、返回等指令时能自动改变其内容,以改变程序的执行顺序。CPU复位时PC=0000H,通常在ROM的0000H-0002H单元存放一三字节的长转移指令 LJMP ADDR16,其中ADDR16为主程序始址,使PC指向主程序的始址,保证程序从头开始。实际上程序计数器PC就是CPU执行程序的指针,CPU要执行哪条指令是由PC值决定的,即PC 给出了CPU下一条指令在程序存储器中的地址。说白了,PC寄存器相当于微机的指挥棒,其作用是非常重要的。

50、可以夸张一点地说,今后我们如果弄懂了PC寄存器的行为,那么微机的原理也就能懂一半了。所以,我们在学习单片机的软、硬件时要特别注意PC的行为,也就是PC的工作情况与动向。2)累加器A(Accumulator) 又记作ACC,是专门用来存放操作数据与运算结果的二进制8位寄存器。累加器是最忙的一个寄存器。它必定放一个操作数,并要存放操作后的结果。也就是说,CPU的ALU在进行运算时用的两个操作数,其中一个数要放在累加器里,而计算结果一定放在累加器里。累加器在代表直接地址时,记作ACC,而在专指累加器的指令中,其助记符只写着。例如:在3+5的加法程序中,第一条指令是把加数3预先送入累加器A,为第二条加

51、法指令的执行作准备,在第二条指令执行后累加器A内容为两数之和8。MOV A,#03H;A3ADD A,#05H;AA+5累加器的结果会影响到一个重要的特殊功能寄存器PSW的内容。另外,累加器A是数据传送的中转寄存器,单片机的大部分数据传送都通过累加器进行的,例如:MOV DPTR,#0100H ;DPTR指向片外RAM的一单元地址0100HMOV A,#01HMOVX DPTR,A ;累加器A中内容01H送入片外RAM的0100H单元3)程序状态字PSW(Program Status Word ) PSW是一个很重要的8位标志寄存器,主要用来描述CPU执行指令后在累加器中结果的特性:进位、溢出

52、等,借此,我们可以了解CPU的当前状态,并作出相应的处理。各位状态通常是在指令执行过程中自动形成的,但也可以由用户根据需要采用传送指令加以改变。PSW各标志位定义见表2-2。表2-2 PSW各标志位定义位序PSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0位标志CYACF0RS1RS0OVP位地址D7D6D5D4D3D2D1D0Cy(Carry)进位标志位,其功能如下:加减运算最高位有进位(加法)或有借位(减法),Cy位由硬件自动置,否则被清零。8051中的运算器是一种8位的运算器,我们知道,8位运算器只能表示到0255,如果做加法的话,两数相加可能会超过255,

53、这样最高位就会丢失,造成运算的错误,怎么办?最高位就进到Cy里,用Cy置位来计入最高位的进位行为,这样就没事了。此外,CPU在进行移位操作时也会影响这个标志位。在位操作中,Cy作累加位使用,在位传送、位逻辑操作中,都要使用进位标志位。AC(Auxiliary Carry)辅助进位位,用于表示加减运算时低4位即A3有无向高4位即A4进位或借位,A3向A4有进位或借位时,则AC由硬件置位,即AC1,否则AC位被清“0”。F0(Flag zero)用户标志位,此标志位的状态通常不是机器在执行指令过程中自动形成的,是由用户根据程序执行的需要用软件方法(即传送指令)置位或复位的。该标志位状态一经设定,便

54、由用户程序直接检测,以控制用户程序的转向。RS1、RS0工作寄存器组选择位,8051共有8个8位工作寄存器,分别命名为R0一R7,用户通过改变RS1、RS0的状态可以方便地设定当前R0R7的组号,即实际物理地址。工作寄存器R0R7的物理地址和RS1、RS0之间的选择关系如表2-3所示。表2-3 工作寄存器选择关系表RS1 RS0R0-R7组号片内RAM中物理地址0 0000-07H(R0=00H、R1=01H、R7=07H)0 1108-0FH(R0=08H、R1=09H、R7=0FH)1 0210-17H(R0=10H、R1=11H、R7=17H)1 1318-1FH(R0=18H、R1=1

55、9H、R7=1FH)8031、8051单片机在复位后RS1、RS0=0,CPU选中第0组作为当前工作寄存器,R0-R7物理地址为00-07H。根据需要,用户可利用传送指令或位操作指令来改变其状态,如SETB RS0,则第1组就是当前工作寄存器,R0-R7物理地址为08-0FH,这样的设置为程序中保护现场提供了方便。OV(Overflow)溢出标志位,用于带符号数的加减运算,指示运算过程中是否发生了溢出,由机器执行指令过程中自动形成。若机器在执行运算指令过程中,运算结果超出累加器A所能表示的8位有符号数的范围,即-128+127,则0V 标志由硬件自动置1;否则0V由硬件清“0”,表示运算结果正

56、确。用户根据执行运算指令后的OV状态,可以判断累加器A中的结果是否正确。 在无符号数的乘法运算中,当乘积超出255时,OV由硬件自动置1,表示乘积超出了8位二进制数的允许范围,乘积分别存放在B寄存器和累加器A中;反之,OV由硬件清“0”,表示乘积未超过255,仅在A存放。在除法运算中,当除数为0时,OV由硬件自动置1,表示除法不能进行,反之,则OV由硬件清“0”,表示除法运算可正常进行。P(Parity)奇偶标志位,表明运算结果即累加器A中1的个数的奇偶性。在每个指令周期由硬件根据A中的内容对P进行置位或复位,若则累加器A中1的个数为奇数,P1;若累加器A中的1的个数为偶数,P=0。例1 设程

57、序执行前RS1、RS0=00H,F0=0,求机器执行如下程序后MOV A,#0AHADD A,#0F7HPSW中各位的状态是什么?解 上述加法指令执行时0 0 0 0 1 0 1 0 B + 1 1 1 1 0 1 1 1 B1 0 0 0 0 0 0 0 1 B CP CS式中:CP为最高位进位,CP=1;CS为次高位进位,CS=1,F0,RS0、RS1由用户根据需要设定,加法指令不会改变其状态,最高位有进位,Cy=1,A3向A4有进位,AC=1,结果A中的1的个数为奇数,P1,OV的状态可由下式确定: CPCS1l0OV=0故 PSW=11000001B=C1H4)堆栈指针SP(Stack

58、 Pointor) SP是一个专门用来存放堆栈的栈顶地址的8位寄存器,能自动加1或减1。堆栈的概念 堆栈是一种按特定顺序进行存取的存储区,这种特定顺序可归结为后进先出(LIFO:Last In First Out)或先进后出(FILO:First In Last Out)。就是在片内RAM中划出一部分单元,用作存放临时数据区。这些临时数是指令执行过程中的不能丢失的数,丢失以后程序就无法进行下去,所以要把这些数保留在堆栈里。也可以说,堆栈相当于一个保护区,有紧急情况发生时,把重要数据保护起来。如,在执行中断时,或调用子程序时,第一个要保护的临时数据是当前PC值,所以在发生中断或调用子程序时,CP

59、U会自动把PC当前值压入堆栈,中断或调用子程序完了以后,CPU可取出PC值使程序回到断点处继续执行下去。另外,在发生中断或调用子程序时,会发生累加器A和其它存储单元的重复使用,所以必须把当前A或其他存储单元的内容压入堆栈保护起来,以便返回后,恢复累加器A或其他存储单元的内容,即恢复现场。综上所述,堆栈主要是为子程序调用和中断操作而设立的,其具体功能是保护断点地址和保护现场,也可用于调用子程序时参数的传递。 堆栈有栈顶和栈底之分,栈底由栈底地址标识,是固定不变的,决定了堆栈在片内RAM中的物理位置。栈顶由栈顶地址指示,需要一个专门的硬件寄存器作为堆栈栈顶指针,简称栈指针SP,栈指针所指定的存储单元,就是堆栈的栈顶。当堆栈中空无数据时,栈顶地址和栈底地址重合,即SP一定是栈底地址;当有数据压入堆栈中,SP指向栈顶地址。8051单片机中堆栈的工作方式是由低向高堆放,属向上生长型,也就是:每压入一个8位二进制数,SP增加1栈顶上浮;每弹出一个8位二进制数,SP减少1栈顶下降。堆栈区域设定 MCS-51型系列单片机复位后SP初值为07H,由于片内RAM的07H单元后的区域分别为工

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!