还剩11页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
第一部分微机基础知识
一、不同数制之间的转换1,二进制、十六进制数转换为十进制数二进制、八进制、十六进制数十进制数按权展开后在相加求和
(2)把十六进制数FA.5H转换为十进制数2,十进制数转换为二进制、八进制、十六进制数十进制数转换为二进制、十六进制数,需要把整数部分和小数部分,分开分别转换,然后拼合起来整数部分采用“除基数取余”法;小数部分采用“乘基数取整”法
二、有符号数的表示方法1,机器数、真值、字长的概念机器数计算机中以二进制形式表示的数真值|机器数所代表的数值字长计算机在次运算中处理所对应的二进制数的位数称为计算机的字长2,原码、反码、补码的概念
(1)微型计算机采用补码的目的是什么
(2)微型计算机采用补码的目的是什么?计算机中的减法可以用补码的加法运算
三、微型计算机系统和单片机的概念1,微处理器MPU(MicroprocessorUnit)微处理器简称为MPU或者μP微处理器是将计算机的核心部件运算器和控制器集成在一个芯片中微处理器具有解释指令、执行指令和与外部交换数据的能力在计算机中,运算器和控制器合起来称为中央处理单元(CentralProcessingUnit),简称CPU2,微处理器是构成微型计算机的核心部件,就目前情况下,其基本组成包括那三个部分?运算器、控制器、寄存器3,内部寄存器(InternalStorage),针对MCS—51系列单片机CPU内部,从功能上讲有那些寄存器?1 累加器(A)2 数据寄存器(DR)主要指ROM,包括RAM3 指令寄存器IR及指令译码器ID4 程序计数器PC5 地址寄存器AR4,内存单元的地址和内容15,微型计算机硬件系统的连接结构
(1)画出计算机结构示意图
(2)什么是总线(BUS)?总线是计算机各种功能部件之间传送信息的公共通信干线
(3)系统总线按功能分可以分成那三类?数据总线、地址总线、控制总线第二部分89C51单片机硬件结构和原理单片机(Single—ChipMicroComputer)是将微处理器MPU、一定容量的RAM和ROM、I/O口、定时器、内部总线等全部集成在一片大规模集成芯片中,而构成的具有基本功能的计算机1,89C51单片机的基本配置组成
(1)89C51单片机在片内包括那些基本配置单元?1 一个8位的80C51微处理器CPU2 片内256字节数据存储器RAM/SFR,用以存放可以读/写的数据,如运算的中间结果、最终结果以及欲显示的数据等3 片内4KB程序存储器FlashROM,用以存放程序、一些原始数据和表格4 4个8位并行I/O端口P0~P3,每个端口既可以用作输入,可以刻用作输出5 两个16位的定时器/计数器,每个定时器/计数器都可以设置成计数方式,用以对外部事件进行计数,也可以设置成定时方式,并可以根据技术或定时的结果实现计算机控制6 具有5个中段源、两个中断优先级的中断控制系统7 一个全双工UART的串行I/O口,用于实现单片机之间或单片机与PC机之间的串行通信8 片内震荡器和时钟产生电路,但石英晶体和微调电容需要外接,最高允许震荡频率为24MHz9 89C51/S51单片机与8051相比,具有节电工作方式,即休闲方式及掉电方式2,89C51单片机(MCS—51)引脚及功能
(1)89C51(MCS—51)单片机的40只引脚按其功能来分,可分为那三部分?1.电源及时钟引脚2.控制引脚3.I/O引脚3,89C51单片机存储器配置MCS—51系列单片机与一般的微机的存储空间的配置方式很不相同一般的微机(如X86系列)只有一个存储地址空间,即ROM和RAM安排在一个地址空间的不同区域内CPU访问存储器时,一个地址对应一个存储单元,这个存储单元可以是ROM也可以是RAM,而且使用同样的访问指令这种存储结构成为普林斯顿结构(StructureofPrinceton)MCS—51系列单片机的存储器在结构上分为程序存储器空间和数据存储器空间而这两大存储器空间又可以分为4个存储空间片内程序存储器空间和片外程序存储器空间;片内数据存储器空间和片外数据存储器空间这种把程序存储器空间和数据存储器空间分开的结构,被称为哈佛结构(StructureofHarvard)
(1)对使用者来说存储空间可分为那三块?地址又是如何编址的?存储容量分别有多大?
1.片内、片外统一地址0000H~FFFFH的64KB程序储存器地址空间(采用16为地址)
2.64KB片外数据存储器地址空间,地址也在0000H~FFFFH(采用16位地址)范围内编址
3.256字节数据存储器地址空间(采用8位地址)
(2)分别写出用于三块存储空间的数据传输指令4,片内RAM2
(1)低128字节RAM见教材P28,图2—8可微寻址RAM区域的字节地址的起始字节地址为××H,终止字节地址为××H
(2)高128字节RAM见教材P28,图2—95,时钟电路及89C51CPU时序
(1)振荡周期与节拍、状态S、时钟周期、机器周期机器周期是指CPU访问存储器一次所用的时间MCS—51规定一个机器周期为6个状态,并依次表示为S1~S6一个状态S,包括了二个节拍P1和P2,所以一个机器周期共有12节拍,分别记为S1P
1、S1P
2、...、S6P2由于一个机器周期包含12个振荡周期,因此机器周期就是振荡脉冲-------分频后的周期信号
(3)指令周期计算机的一条指令由一个或多个字节构成,执行一条指令所需要的时间为指令周期指令周期根据指令的不同而不同,可包含----个到----个机器周期4.时序定时单位
①振荡周期是晶振的振荡周期,为最小的时序单位
②时钟周期(状态周期)是振荡频率经单片机内的二分频器分频后提供给片内CPU的时钟周期因此一个状态周期包含2个振荡周期
③机器周期1个机器周期由6个状态周期即12个振荡周期组成,是计算机执行一条指令所需时间的定时(计时)单位
④指令周期执行一条指令所需的时间,可包含1个到4个机器周期○当单片机外接12MHZ石英晶体时,各个周期的计算表达式如下振荡周期=时钟周期=机器周期=指令周期=(1~4)机器周期=1~4μs35,CPU取指令、执行指令时序指令系统中的指令可按长度分为单字节指令、双字节指令和3字节指令执行这些指令所需机器周期是不同的,概括起来有单字节单机器周期指令,单字节双机器周期指令,双字节单机器周期指令,双字节双机器周期指令,3字节都是双机器周期指令,乘、除法指令则为4个机器周期指令6,输入/输出端口(并行I/O口)MCS—51系列单片机共有4个I/O口,每个I/O端口由锁存器、输出驱动器和输入缓冲器器组成,其中的锁存器属于SFR这4个I/O端口分别记为P0~P3,这4个8位并行I/O口不但可以按字节寻址,而且还可以按位寻址故而使用这些端口可以很方便地实现CPU与外部设备的连接与信息交换7,准双向口的概念P0~P3都是准双向口,准双向口的意思是作为输入口使用时先要向端呈“1”第三部分指令系统1,指令和程序设计语言☆指令是CPU根据人的意图来执行某种操作的命令一台计算机所能执行的全部指令的集合称为这个CPU的指令系统☆能被计算机直接识别和执行的程序,称为目标程序(ObjectProgram)用二进制码直接编写目标程序是很困难和费时的事情于是人们采用了英文缩写的符号,即指令助记符来表示指令这样就一种程序语言------汇编语言(AssemblyLanguage)2,指令构成及格式微型计算机的指令系统由几十条至几百条指令构成,每条指令由两个字段构成,即操作码(Op—Code)字段和操作数(Operand)字段操作码字段是表明指令执行何种性质的操作例如加法操作、减法操作、传送操作等在汇编语言中用助记符(Mnemonic)代表操作数字段是指明指令执行的操作所需要的操作数在操作数字段中,可以是操作数本身或操作数地址指令中操作数可以是一个或者两个,前者称为单操作数指令,后者称为双操作数指令而双操作数又分为源操作数SRC(Source)和目的操作数DST(Destination),在指令执行之前,SRC和DST均为参加运算处理的两个操作数,指令执行之后,DST中存放运算处理的结果操作码[目的操作数][,源操作数]操作码和操作数都对应着二进制代码,指令代码有若干字节组成对于不同的指令,指令的字节数或许相同、或许不同MCS—51的指令系统中,有单字节指令、双字节指令和三字节指令3,寻址方式寻址方式就是在指令中说明操作数所在地址的方法即按什么方式找到操作数所在的地址MCS—51系列单片机共有7种寻址方式
①寄存器寻址(RegisterAddressing)
②直接寻址(DirectAddressing)
③立即寻址(ImmediateAddressing)
④寄存器间接寻址(RegisterAddressing)
⑤变址寻址(IndexedAddressing)
⑥相对寻址(RelativeAddressing)
⑦位寻址(BitAddressing)4,89C51单片机的指令系统MCS—51指令系统共有111条指令,分为5大类;○数据传送类指令(29条);○算术运算类指令(24条);○逻辑运算及位移类指令(24条);○控制转移类指令(17条);○位操作类指令(17条);第四部分中断系统1,中断的概念计算机的中断处理技术解决了两个根本问题第一个问题是在输入输出过程中提高了CPU的执行效率,;第二个问题是在算计系统工作中能对外界随机发生的事件做出及时的处理,当CPU正在运行主程序时,外界随机发生了某一事件(如一个电平发生变化、一个脉冲沿的产生或一个计数器的计数溢出等)请求CPU即刻去处理,于是CPU暂时中止当前运行的程序,转去执行处理所发生事件的程序中断事件处理完成后,CPU再回到原来运行程序被中止的地方,继续运行原来的程序这样的过程称中断实现这种功能的部件称中断系统产生中断的请求的源,称为中段源中断源向CPU提出数据、信息处理请求,称为中断服务处理CPU暂时中止当前运行的程序,转去处理中断请求处理的事件,称为CPU的对中断事件的整个处理过程,称为中断处理完毕,再回到原来被中止的地方,称为中断返回2,89C51中断系统结构及中断控制89C51单片机中断系统结构的结构如图5—3所示从图中可以看出,89C51单片机有5个中断源,4个中断控制寄存器(IE、IP、TCON和SCON),用来控制中断的类型、中断的开与关和中断的优先级89C51单片机的中段系统有两个优先级,每个中断源都可以编程为高优先级或低优先级中断源可以实现二级中段服务程序的嵌套1,89C51单片机的中断源89C51共有个中断源个外部中断源;个定时器溢出中断源;个串行中断源
①外部中断(INT0和INT1)外部中断包括外部中断0和外部中断1外部中断的中断请求信号是由89C51单片引脚INT0(P
3.2)和INT1(P
3.3)输入外部中断请求信号有二种信号方式1,方式;2,方式
②内部定时和外部计数中断单片机内部有二个定时器/计数器(T0/T1),对脉冲信号进行计数设记数,则每来一个脉冲,记一次记在和内,这种计数方式称为定时方式这种计数方式称为计数方式有以上的两种方式可见,定时器/计数器是同一个脉冲计数结构,仅仅因为输入脉冲的方式不同而被称为定时器或计数器就其实质T0和T1都是计数器当计数器计数满后再计数就会发生溢出(计数值为FFFFH再加1),单片机硬件会自动设置一个溢出标志位,CPU查到这个标志位为1时,便激活定时器/计数器中断
③串行口中断串行口中断是为了串行口通讯而设置的每当串行口发送或接受完一帧数据时,就自动将串行口发送或接收中断标志位置‘1’当CPU查到发送或接收中断标志位是‘1’时,便激活串行中断串行中断是单片机内部自动发生的,不需要在芯片外设置引入端2,中断控制中断控制是单片机提供给用户控制中断的一些手段,要实现对中断的控制,用户只能通过以下4个SFR寄存器来实施○定时器控制寄存器TCON(用6位);○串行口控制寄存器SCON(用2位);○中断允许寄存器IE;○中断优先级寄存器IP;通过对以上4个特殊功能寄存器的各位进行置位或复位操作,可以实现对中断的控制3,中断响应及中断处理过程中断响应就是CPU对中断源提出的中断请求予以接收中断处理过程包括3个过程阶段中断响应、中断处理和中断返回当CPU执行主程序的第K条指令时,外设向CPU提出中断请求,CPU接收中断请求,在第K条指令执行完后,中断主程序的执行,保存断点地址(第K+1条指令的地址),转向中断服务程序,这即为中断响应CPU执行中断服务程序,即为中断服务CPU执行完中断服务程序之后,CPU返回到主程序第K+1条指令处继续执行主程序,即为中断返回4,中断响应的自主操作过程中断响应自主操作过程从一般用户的使用出发大致可以简述如下
①CPU按IP设定的优先级响应中断,对于设定为同优先级的中断响应顺序按片内硬件的查询顺序响应中断
②CPU接收一个中断请求后,会自动阻止除高优先级以外的一切中断请求如果CPU接收的中断源在IP中设为高优先级,那么一切中断请求都会被阻止
③CPU接收中断请求后,CPU会自动将主程序的断点地址压入堆栈保存程序计数器PC的内容会自动装入中断源对应的矢量地址所谓矢量地址就是与中断源对应的中断服务程序的入口地址中断矢量地址表,见表5—1表5—1中断源及其对应的矢量地址第五部分定时器89C51内部有两个可编程的定时器/计数器,分别称为定时/计数器T0和定时/计数器T1(简称定时T0;定时器T1)T0和T1有四种工作模式可供用户编程选择1,定时/计数器结构及概述定时/计数器的结构图如图6—1所示CPU是通过内部总线与定时/计数器交换数据定时/计数器T0由两个8位寄存器TH0和TL0组成;而定时/计数器T1也是由两个8位寄存器TH1和TL1组成TH0(TH1)存储高8位数;TL0(TL1)存储低8位数这4个寄存器都是SFR寄存器TMOD寄存器用于确定定时/计数器的工作模式;TCON寄存器用来控制T0和T1定时/计数器的启动、停止和保存定时/计数器的T0和T1的溢出标志位图6—189C51定时器结构1.计数功能设置为计数工作方式时,89C51有T0(P3.4)和T1(P3.5)两个引脚,分别用于计数器的计数脉冲输入端输入的计数脉冲在负跳变时有效,计数器加
1.CPU在每个机器周期的S5P2期间采样T0和T1引脚的输入电平,若前一个机器周期采样为高电平;后一个机器周期采样为低电平,则紧接着的下一个机器周期S3P1期间,计数器计数(加1计数)由此可见,检测1到0的电平变化需要两个机器周期,所以最高计数频率为震荡频率的1/24计数器的计数长度与计数器装入的初值有关,初值为0时,最大计数值为216=655362.定时功能设置为定时工作方式时,计数脉冲来自89C51片内振荡器经12分频后的脉冲,也就是每个机器周期,计数器加1计数,直到计数器记满,记满后,在计数计数器计数值归零,溢出标志位由硬件自动置1因为机器周期的时间是固定不变的,所以从开始计数到计数溢出的时间也是固定不变的这样计数器也就成了定时器了在机器周期一定的条件下,每次定时的长短与定时器装入的初值有关初值为0时,最大计数值为=65536若晶振为12MHZ,则机器周期为1μS,最大定时长即为,65.536ms第六部分程序设计一,清零程序首先使7000H~70FFH,RAM的内容都为FFH,然后把7000H~70FFH,RAM的内容全部清零二,I/O口输入输出编程P
3.3口做输入口,外接一双掷开关,每输入一个高—低—高的电平,P1口按二进制加一输出三,外部中断编程1,P
3.3作为外部中断1的输入,接入一个外部中断源当外部中断源每发出一个中断请求,单片机都响应中断并进入中断服务处理2,P1口做输出口,把P1口接的8个发光二极管L1—L8按二进制,加1方式点亮发光,记录外部中断次数四,定时器中断编程采用定时器中断的方式,设计一个方波发生器,要求方波的频率为50Hz,晶发光二极管变的,所以从开始计数到计数溢出的时间也是固定不变的这样计数器也就成了定时器了在机器周期一定的条件下,每次定时的长短与定时器装入的初值有关初值为0时,最大计数值为=65536若晶振为12MHZ,则机器周期为1μS,最大定时长即为,65.536ms162第六部分程序设计一,清零程序首先使7000H~70FFH,RAM的内容都为FFH,然后把7000H~70FFH,RAM的内容全部清零二,I/O口输入输出编程P
3.3口做输入口,外接一双掷开关,每输入一个高—低—高的电平,P1口按二进制加一输出三,外部中断编程1,P
3.3作为外部中断1的输入,接入一个外部中断源当外部中断源每发出一个中断请求,单片机都响应中断并进入中断服务处理2,P1口做输出口,把P1口接的8个发光二极管L1—L8按二进制,加1方式点亮发光,记录外部中断次数四,定时器中断编程采用定时器中断的方式,设计一个方波发生器,要求方波的频率为50Hz,晶发光二极管ROMRAM时钟数据总线DB地址总线ABCPU控制总线CBI/O接口I/O接口外设外设。