单片机复习概念与上课例题整理合辑_第1页
单片机复习概念与上课例题整理合辑_第2页
单片机复习概念与上课例题整理合辑_第3页
单片机复习概念与上课例题整理合辑_第4页
单片机复习概念与上课例题整理合辑_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第一部分 89C51 单片机硬件结构和原理 单片机(SingleChip Micro Computer)是将微处理器MPU、一定容量的RAM和ROM、I/O口、定时器、内部总线等全部集成在一片大规模集成芯片中,而构成的具有基本功能的计算机。1,89C51单片机的基本配置组成89C51单片机在片内包括那些基本配置单元? 一个8位的8051微处理器(CPU)。片内256字节数据存储器RAMSFR。片内4KB程序存储器Flash ROM。4个8位并行IO端口P0P3。具有5个中断源、两个中断优先级的中断控制。一个全双工UART(通用异步收发器)片内振荡器和时钟电路,外界晶振的最高频率为24MHz。2

2、,89C51单片机(MCS51)引脚及功能89C51(MCS51)单片机的40只引脚按其功能来分,可分为三部分:电源及时钟引脚;控制引脚;I/O引脚。图23为引脚分类图,这些引脚构成了典型的三总线形式。即地址总线、数据总线、控制总线。图中锁存器为外部扩展器件,常用74LS373、74LS573。3,89C51 单片机存储器配置MCS51系列单片机与一般的微机的存储空间的配置方式很不相同。一般的微机(如X86系列)只有一个存储地址空间,即ROM和RAM安排在一个地址空间的不同区域内。CPU访问存储器时,一个地址对应一个存储单元,这个存储单元可以是ROM也可以是RAM,而且使用同样的访问指令。这种

3、存储结构成为普林斯顿结构(Structure of Princeton)。 MCS51系列单片机的存储器在结构上分为:程序存储器空间和数据存储器空间。而这两大存储器空间又可以分为4个存储空间:片内程序存储器空间和片外程序存储器空间;片内数据存储器空间和片外数据存储器空间。这种把程序存储器空间和数据存储器空间分开的结构,被称为哈佛结构(Structure of Harvard)。对使用者来说存储空可分为以下三块:程序存储器空间:(1)片内、片外统一编址的(0000HFFFFH)64KB程序存储器地址空间。用16位地址码。 数据存储器空间:(2)片外编址的(0000HFFFFH)64KB数据存储器

4、地址空间。用16位地址码。(3)片内编制的(00HFFH)256B数据存储器地址空间。用8位地址码。上述3个存储空间地址是重叠的,MCS51系列单片机的指令系统设置了3种数据传送指令,以区别这3个重叠的地址空间。(1)MOVC指令用于访问片内外程序存储器ROM空间。(2)MOVX指令用于访问片外数据存储器RAM空间。4,片内RAM89C51片内数据存储器RAM的容量为256B(字节),这256字节的RAM又分为两个区段:低128字节(00H7FH)是真正意义上的RAM区(使用者可以定义使用的RAM区)。高128字节(80HFFH)是特殊功能寄存器区(使用者可以按规定使用,但不可以定义使用的RA

5、M区)。(1)低128字节RAM 见教材(2)高128字节RAM 见教材5,时钟电路及89C51 CPU时序(1)振荡周期与节拍、状态S、时钟周期、机器周期 一个状态S包括两个节拍P1、P2,一个状态的前1/2所对应的节拍是P1,后1/2对应的节拍是P2。一个节拍对应一个振荡周期;一个状态S对应二个振荡周期,而二振荡周期对应一个时钟周期,也就是一个时钟周期即为一个状态S。节拍、状态、振荡周期、时钟周期的对应关系见图29。 图29节拍、状态、振荡周期、时钟周期的对应关系(2)机器周期 机器周期是指CPU访问一次存储器所用的时间。MCS51规定一个机器周期为6个状态,并依次表示为S1,S2S6。一

6、个状态S,包括了二个节拍P1、P2,所以一个机器周期共有12节拍,分别记为:S1P1、S1P2,S2P1、S2P2,S6P1、S6P2。由于一个机器周期包含12个振荡周期,因此机器周期就是振荡脉冲12分频后的周期信号。(3)指令周期 计算机的一条指令由一个或多个字节构成,执行一条指令所需要的时间为指令周期。指令周期根据指令的不同而不同,可包含1个到4个机器周期。4时序定时单位 振荡周期:晶体振荡器的振荡周期。振荡周期是最小的时序定时单位。 时钟周期(状态周期):一个时钟周期包括2个振荡周期。 机器周期:1个机器周期由6个状态即12个振荡周期组成,是计算机执行一条指令所需时间的定时(计时)单位。

7、 指令周期:执行一条指令所需的时间。指令周期根据指令的不同而不同,可包含1个到4个机器周期。当单片机外接12MHZ石英晶体时,各个周期的计算表达式如下:振荡周期 时钟周期 机器周期指令周期(14)机器周期145,微型计算机硬件系统的连接结构微型计算机的硬件包括:微处理器MPU(CPU)、存储器(Memory)输入输出设备(Input & Output Device)、输入输出接口(IO Interface)。这四大部分构成了计算机的实体,而他们如何连接,这就涉及到计算机的结构问题了。典型的计算机结构见图1·5。 时钟存储器 存储器 RAM ROM 微处理数据总线(双向)器 D

8、BCPU地址总线(单项) AB控制总线(双向)CB I/O接口 I/O接口 外部设备 外部设备 图1·5 计算机结构示意图 总线(BUS)就是把把多个功能单元连接起来,用于各个功能单元之间的信息、数据交换的共同通讯线路。在CPU、存储器、I/O口之间信息传输的公共通讯线路称为系统总线。系统总线按功能分可以分成三类;地址总线AB、数据总线DB、控制总线CB。6,CPU取指令、执行指令时序指令系统中的指令可按长度分为单字节指令、双字节指令和3字节指令。执行这些指令所需机器周期是不同的,概括起来有:单字节单机器周期指令,单字节双机器周期指令,双字节单机器周期指令,双字节双机器周期指令,3字

9、节都是双机器周期指令,乘、除法指令则为4个机器周期指令7,输入输出端口(并行IO口)MCS51系列单片机共有4个8位并行I/O口,每个I/O端口由锁存器、输出驱动器和输入缓冲器器组成,其中的锁存器属于SFR。这4个I/O端口f分别记为P0、P1、P2、P3。这4个8位并行I/O口不但可以按字节寻址,而且还可以按位寻址。故而使用这些端口可以很方便地实现CPU与外部设备的连接与信息交换。8,准双向口的概念P0P3都是准双向口,准双向口的意思是,当准双向口作为输入端口时,必须先对端口锁存器写1。第二部分 指令系统1,指令和程序设计语言指令是CPU根据人的意图来执行某种操作的命令。一台计算机所能执行的

10、全部指令的集合称为这个CPU的指令系统。能被计算机直接识别和执行的程序,称为目标程序(Object Program)。用二进制码直接编写目标程序是很困难和费时的事情。于是人们采用了英文缩写的符号,即指令助记符来表示指令。这样就一种程序语言-汇编语言(Assembly Language)。2,指令构成及格式微型计算机的指令系统由几十条至几百条指令构成,每条指令由两个字段构成,即操作码(OpCode)字段和操作数(Operand)字段。 操作码字段是表明指令执行何种性质的操作。例如加法操作、减法操作、传送操作等。在汇编语言中用助记符(Mnemonic)代表。 操作数字段是指明指令执行的操作所需要的

11、操作数。在操作数字段中,可以是操作数本身或操作数地址。指令中操作数可以是一个或者两个,前者称为单操作数指令,后者称为双操作数指令。而双操作数又分为源操作数SRC(Source)和目的操作数DST(Destination),在指令执行之前,SRC和DST均为参加运算处理的两个操作数,指令执行之后,DST中存放运算处理的结果。 操作码 目的操作数,源操作数 操作码和操作数都对应着二进制代码,指令代码有若干字节组成。对于不同的指令,指令的字节数或许相同、或许不同。MCS51的指令系统中,有单字节指令、双字节指令和三字节指令。3,寻址方式寻址方式就是在指令中说明操作数所在地址的方法。即按什么方式找到操

12、作数所在的地址。MCS51系列单片机共有7种寻址方式: 寄存器寻址(Register Addressing)MOV A,R0 ; (A)(R0) 直接寻址(Direct Addressing)MOV A,4AH ;(A)(4AH) 立即寻址(Immediate Addressing)MOV A,#48H ;(A) #48H 寄存器间接寻址(Register Addressing)MOV R1,#60HMOV A,R1 ;(A)(60H) 变址寻址(Indexed Addressing)假设(A)=54H;(DPTR)=3F21H,执行指令MOVC A,A+DPTR ;(A)(A)+(DPTR)

13、其功能是将程序存储空间3F75H单元的内容读入累加器A。 相对寻址(Relative Addressing)目的地址 = 转移指令所在地址 + 转移指令字节数 + rel例如:SJMP rel ;(PC)(PC)+ 2+ rel位寻址(Bit Addressing)寻址时,操作数是二进制数表示的地址,其位地址出现在指令中。例如:CLR bit ;(bit) 04,89C51单片机的指令系统MCS51指令系统共有111条指令,分为5大类;数据传送类指令(29条);算术运算类指令(24条);逻辑运算及位移类指令(24条);控制转移类指令(17条);位操作类指令(17条);第三部分 中断系统1,中断

14、的概念计算机的中断处理技术解决了两个根本问题。第一个问题是,在输入或输出过程中如何提高CPU的执行效率;第二个问题是,在计算机系统工作中,能对外界随机发生的事件做出及时的处理。当CPU正在运行主程序时,外界随机发生了某一事件(如一个电平发生变化、一个脉冲沿的产生或一个计数器的计数溢出等)请求CPU即刻去处理,于是CPU暂时中止当前运行的程序,转去执行处理所发生事件的程序。中断事件处理完成后,CPU再回到原来运行程序被中止的地方,继续运行原来的程序。这样的过程称为中断。实现这种功能的部件称中断系统。产生中断的请求的源,称为中断源。中断源向CPU提出数据、信息处理请求,称为中断请求。CPU暂时中止

15、当前运行的程序,转去处理中断请求处理的事件,称为CPU的中断响应。对中断事件的整个处理过程,称为中断服务。中断处理完毕,再回到原来被中止的地方,称为中断返回。2,89C51中断系统结构及中断控制89C51单片机中断系统结构的结构如图53所示。从图中可以看出,89C51单片机有5个中断源,4个中断控制寄存器(IE、IP、TCON和SCON),用来控制中断的类型、中断的开与关和中断的优先级。89C51单片机的中段系统有两个优先级,每个中断源都可以编程为高优先级或低优先级中断源。可以实现二级中段服务程序的嵌套。中断系统结构图见教材。1, 89C51单片机的中断源 89C51共有6个中断源:2个外部中

16、断源;2个定时器溢出中断源;2个串行中断源。 外部中断(和):外部中断包括外部中断0和外部中断1。外部中断的中断请求信号是由89C51单片引脚(P3.2)和(P3.3)输入。外部中断请求信号有二种信号方式:电平方式:电平方式的中断请求是低电平有效,只要在(P3.2)和(P3.3)引脚上出现低电平时,就可以激活外部中断标志。脉冲方式: 脉冲方式的中断请求则是由脉冲的负跳变来实现激活外部中标志的。在脉冲请求中断方式下,在两个相邻机器周期内,引脚或上的电平需要发生变化,即在前一个机器周期里为高电平,后一个机器周期里为低电平,这样就可以激活外部中断标志位。所以在脉冲方式下,中断请求信号的高电平、低电平

17、状态都必须维持至少一个机器周期,以便CPU能采样到引脚电平的变化,使中断请求有效。 内部定时和外部计数中断:单片机内部有二个定时器计数器(T0T1),对脉冲信号进行计数。若脉冲信号为周期不变的内部脉冲(周期为一个机器周期),则计数脉冲的个数就能反映时间的长短。这种计数方式称为定时方式。若脉冲信号来自单片机外部,则由引脚T0P3.4或T1P3.5输入。这样的脉冲往往周期是不固定的,计数脉冲的个数仅仅反映了外部脉冲输入个数的多少。这种计数方式称为计数方式。 有以上的两种方式可见,定时器计数器是同一个脉冲计数结构,仅仅因为输入脉冲的方式不同而被称为定时器或计数器。就其实质T0和T1都是计数器。 当计

18、数器计数满后再计数就会发生溢出(计数值为FFFFH再加1),单片机硬件会自动设置一个溢出标志位,CPU查到这个标志位为1时,便激活定时器计数器中断。 串行口中断:串行口中断是为了串行口通讯而设置的。每当串行口发送或接受完一帧数据时,就自动将串行口发送或接收中断标志位置1。当CPU查到发送或接收中断标志位是1时,便激活串行中断。串行中断是单片机内部自动发生的,不需要在芯片外设置引入端。2,中断控制 中断控制是单片机提供给用户控制中断的一些手段,要实现对中断的控制,用户只能通过以下4个SFR寄存器来实施: 定时器控制寄存器TCON(用6位); 串行口控制寄存器SCON(用2位); 中断允许寄存器I

19、E; 中断优先级寄存器IP;通过对以上4个特殊功能寄存器的各位进行置位或复位操作,可以实现对中断的控制。3,中断响应及中断处理过程中断响应就是CPU对中断源提出的中断请求予以接收。中断处理过程包括3个过程阶段:中断响应、中断处理和中断返回。 当CPU执行主程序的第K条指令时,外设向CPU提出中断请求,CPU接收中断请求,在第K条指令执行完后,中断主程序的执行,保存断点地址(第K+1条指令的地址),转向中断服务程序,这即为中断响应。CPU执行中断服务程序,即为中断服务。CPU执行完中断服务程序之后,CPU返回到主程序第K+1条指令处继续执行主程序,即为中断返回。4,中断响应的自主操作过程 中断响

20、应自主操作过程从一般用户的使用出发大致可以简述如下: CPU按IP设定的优先级响应中断,对于设定为同优先级的中断响应顺序按片内硬件的查询顺序响应中断。 CPU接收一个中断请求后,会自动阻止除高优先级以外的一切中断请求。如果CPU接收的中断源在IP中设为高优先级,那么一切中断请求都会被阻止。 CPU接收中断请求后,CPU会自动将主程序的断点地址压入堆栈保存。程序计数器PC的内容会自动装入中断源对应的矢量地址。所谓矢量地址就是与中断源对应的中断服务程序的入口地址。中断矢量地址表,见表51。表51 中断源及其对应的矢量地址 中断源中断矢量地址外部中断0() 0003H定时器T0中断 000BH外部中

21、断1() 0013H定时器T1中断001BH串行口中断 0023H考试出编程题第四部分 定时器89C51内部有两个可编程的定时器计数器,分别称为定时计数器T0和定时计数器T1(简称定时T0;定时器T1)。T0和T1有四种工作模式可供用户编程选择。61定时计数器结构及概述定时计数器的结构图如图61所示。CPU是通过内部总线与定时计数器交换数据。定时计数器T0由两个8位寄存器TH0和TL0组成;而定时计数器T1也是由两个8位寄存器TH1和TL1组成。TH0(TH1)存储高8位数;TL0(TL1)存储低8位数。这4个寄存器都是SFR寄存器。TMOD寄存器用于确定定时计数器的工作模式;TCON寄存器用

22、来控制T0和T1定时计数器的启动、停止和保存定时计数器的T0和T1的溢出标志位。定时器结构图见教材。1计数功能 设置为计数工作方式时,89C51有T0(P34)和T1(P35)两个引脚,分别用于计数器的计数脉冲输入端。输入的计数脉冲在负跳变时有效,计数器加1.。CPU在每个机器周期的S5P2期间采样T0和T1引脚的输入电平,若前一个机器周期采样为高电平;后一个机器周期采样为低电平,则紧接着的下一个机器周期S3P1期间,计数器计数(加1计数)。由此可见,检测1到0的电平变化需要两个机器周期,所以最高计数频率为震荡频率的124。计数器的计数长度与计数器装入的初值有关,初值为0时,最大计数值为:=

23、65536。2定时功能设置为定时工作方式时,计数脉冲来自89C51片内振荡器经12分频后的脉冲,也就是每个机器周期,计数器加1计数,直到计数器记满,记满后,在计数计数器计数值归零,溢出标志位由硬件自动置1。因为机器周期的时间是固定不变的,所以从开始计数到计数溢出的时间也是固定不变的。这样计数器也就成了定时器了。在机器周期一定的条件下,每次定时的长短与定时器装入的初值有关。初值为0时,最大计数值为:= 65536。若晶振为12MHZ,则机器周期为1S,最大定时长即为,65536 ms。考试出编程题第五部分 串行通讯一、串行通讯的方式串行通讯的传输方式有3种数据传送形式:单工形式(Simplex)

24、;半双工形式(Halfduplex);全双工形式(Fullduplex)。这三种方式见图72。图72串行通讯传输方式的三种连接形式二、串行通讯的传输方式 串行通讯的基本原理框图如图73所示。发送器是由一个发送缓冲器和一个并串变换移位寄存器组成。CPU将要发送的数据以并行方式送入并暂存在发送缓冲器中。在发送时钟的控制下,位移寄存器的内容逐位被送到通讯线路上,传送到对方。在发送完毕时,移位寄存的内容变空,发送缓冲器中的内容会并行送入移位寄存器,准备新的发送;发送缓冲器内容为空时,将准备接收下一次要发送的数据。 接收器只是与发送器数据变换的过程相反,从线路送来的数据,在接收时钟的控制下,被逐位送入串

25、并变换移位寄存器。在全部数据位被串行移入后,串并变换移位寄存器的内容会并行送入接收缓冲器,并由CPU读取。 图73串行通讯的基本原理框图三、同步通讯与异步通讯串行通讯是指将数据的每个二进制数据位,依据一定的顺序逐位进行传送的通讯方法。在串行通讯中,有两种基本的通讯方法。(一)异步串行通讯ASYNC(Asynchronous Data Communication) 异步通讯规定了字符数据的传输格式,即每个数据以相同的帧格式传送。如图74所示。每一帧数据由起始位、数据位、奇偶校验位和停止位组成。 图 74 异步通讯的数据传送格式1起始位(Start bit)在通讯线路上没有数据传送时,线路处于逻辑

26、1状态。当发送设备要发送数据时,首先要发出一个逻辑0信号,这个逻辑低电平就是起始位。起始位通过通讯线路传向接收设备,接收设备检测到这个逻辑低电平后,就开始接收数据位信号,所以起始位所起的作用,就是表示数据开始传送。2数据位(Data bit) 当接收设备收到起始位后,紧接着就会收到数据位。数据位的个数(对89C51而言)可以是5、6、7或8位数据。在数据传送过程中,数据位从数据的最低位开始传送。3奇偶校验位(Parity bit) 数据位发送完毕之后,可以发送(也可以不发送)奇偶校验位。用于校验是否正确传送了数据。可以选择奇校验,也可以选择偶校验或者不设置校验位。4停止位(Stop bit)在

27、奇偶校验位之后(若没有奇偶校验位数就在据位之后)必须有停止位,用以表示一帧数据传送结束。停止位采用逻辑1电平,可以选择其长度为1位、位、2位。 从起始位到停止位表示一帧的数据或者表示一个字符传送结束。可以接着传下一个字符(下一帧数据),也可以停一段空闲时间再传下一个字符。空闲位为逻辑1电平。一帧数据代表一个特定的字符,一帧数据的各个位的时间间隔都是固定的,异步通讯的字符(也就是数据)是一帧一帧发送的。5 数据位宽度的概念:在并行通讯时,每根传输线上的每位信息的时间宽度只要满足接收方的接收响应时间既可以进行正确的信息接收,无需发送方用位宽度来满足接收方,就能正确接收信息。在串行通讯时,串行通讯除

28、了用高(1)、低(0)电平表示信息外,还要用一根传输线上的位宽度来区分信息。也就是接收方要在有效的位时间宽度内检测到信息。由于发送方,发送数据的位宽取决于发送的时钟频率;接收方,在位宽内采集信息的时刻(理想采样时刻在位宽中心)取决于接收时钟的频率。为了保证传送数据的正确,发送时钟和接收时钟应该保持一定精度的同步。发送时钟与数据、接收时钟与数据的时序见图75。 图 75 发送时钟与数据、接收时钟与数据的时序 如果接收时钟与发送时钟不能按一定精度保持同步,则接收的数据位宽与发送的数据位宽之间必然存在误差。倘若最后一位数据位宽的累计误差超过一定的限度,那么接收端就不能接收到正确的数据。图76表明接收

29、时钟频率高于发送时钟频率时,出现的接收错误。 图76接收时钟频率高于发送时钟频率6异步通讯的特点异步通讯的基本特点是:发送时钟与接收时钟是相互独立的,要求发送方与接收方具有相同的标称频率值。这就是采用“异步通讯”这个名称的由来。按照串行通讯的基本原理,实现正确通讯的基本要求是:保持接收方与发送方的收发时钟一致。只有这样,才能保证在整个数据传输过程中,接收时钟始终处于发送数据位的位宽之内,以正确检测到每位数据。但是在实际的通讯中,因为通讯双方的时钟是各自独立的,而且距离远,所以难以保证发送方与接收方的时钟完全一致。不过可以通过正确选择双方的时钟,加以选取适合的数据格式,就可以使双方的时钟误差限定

30、在允许的范围内,使得异步通讯满足串行通讯的基本要求。异步通讯是一种简便的串行通讯方式。(二)同步串行通讯SYNC(Synchronous Data Communication)1同步通讯的一般数据格式在异步通讯中,每一个字符(比如一个字符的ASCII码是7位二进制数)都要用到起始位和停止位作为字符的开始和结束的标志,以至于占用了20%左右的沉余时间。所以在数据传送中为了提高传送效率,常去掉这些标志,采用同步传送。同步通讯是一次传送一批数据块。在每个数据块的开始约定发送12个同步字符码(SYNC(16H)Synchronousidle。详见ASCII(美国标准信息交换码)字符表传输控制符),通过

31、同步字符使每个数据块传送开始时,收发双方时钟同步。同步通讯的数据格式如图77所示。 图77同步通讯的一般数据格式2同步通讯的特点同步通讯的最基本特点是;接收与发送时钟严格保持同步,发送和接收的数据位宽,相互之间不存在累计误差,从而保证了每个数据位的区分和正确接收。同步通讯数据块与数据块(也就是字符与字符)之间,不允许有空隙,当线路空闲或没有字符发送时,发送同步字符。同步通讯原则上讲,一次性传送数据码长度不作严格限定,但在实际应用中考虑到传输的可靠性,对数据码的长度还是做了一些限定。在数据码的后面是校验码,校验码是对传送的字符进行校验,现在大部分校验码都是采用CRC方法产生,校验码长度一般为2字

32、节。同步通讯和异步通讯一样,发送方和接收方必须使用一样的数据格式。但同步通讯和异步通讯不同,发送时钟和接收时钟不是独立产生的,接收时钟是从接收数据流中提取出来的。这种依靠发送时钟信息获得接收时钟的方法,能确保接收时钟与发送时钟的严格同步。同步通讯常用于传输信息量大,速度要求高的场合(速度可达800Kb/s),但是同步通讯的硬件设备较为复杂,成本略高。(三)波特率和接收发送时钟(Baud rate and Receiver Transmitter Clock)1波特率在串行通讯中数据信息是按位传送的,因此传送数率用每秒传送二进制码的位数来表示,称为波特率(Baud rate)。波特率的单位为波特

33、(bitS)。例如:数据传送速率为10个字符每秒,而每个字符包含11个二进制数(一个起始位、一个奇偶位、一个终止位、8个数据位)。这样传送的波特率为:10字符×11bitS = 110bs = 110波特位时间(每位宽)Td = 波特率的倒数:Td = 1110(Baud)00091s = 91ms数据位的发送和接收分别由发送时钟和接收时钟进行定时控制。时钟频率的高低决定了波特率的高低,即通讯速度的快慢。在异步通讯中,接收方和发送方应保持相同的波特率,接收方以每个字符数据的起始位与发送方保持时钟同步。起始位、数据位、奇偶位和停止位的约定,在同一次传送过程中必须保持一致,这样才能成功地

34、传送数据。波特率的选择应根据速度的需要,线路和设备的质量而定。波特率选定之后,就要选定满足波特率要求的接收、发送时钟。2接收发送时钟在串行通讯中,不论接收还是发送数据,都需要依据时钟信号来对传送的数据进行定位。在发送数据时,发送方在发送时钟的下降沿将数据从移位寄存器中串行按位移出;接收方在接收时钟的上升沿对接收数据进行采集,并串行按位移入到移位寄存器。如图78、79所示。 图78发送时钟与发送数据 图79接收时钟与接收数据 接收(发送)时钟频率与波特率的关系: 接收(发送)时钟频率N×接收(发送)波特率 接收(发送)波特率 =接收(发送)时钟频率N (N = 1,16,64) 在同步

35、通讯中,必须取N=1,也就是接收(发送)时钟频率等于接收(发送)波特率;在异步通讯中,N = 1,16,64,也就是接收(发送)时钟频率可以是接收(发送)波特率的1倍,16倍或者64倍。这样就可以由要求的传送波特率和倍数N来确定接收(发送)时钟频率。单片机原理上课例题汇编程序汇总例1.首先对片外RAM3000H30FFH单元的内容全部置“1”,然后对其全部清“0”。(汇编语言进行编写)ORG 0000HSJMP STARTORG 0040HSTART:MOV A,#0FFH MOV R1,#00H MOV DPTR,#3000HLOOP1: MOVX DPTR,A INC R1 INC DPT

36、R CJNE R1,#00H,LOOP1 MOV R1,#00H MOV DPTR,#3000H MOV A,#00HLOOP2:MOVX DPTR,A INC R1 INC DPTR CJNE R1,#00H,LOOP2 SJMP $ END首先对片外RAM3000H30FFH单元的内容全部置“1”,然后对其全部清“0”。(C语言进行编写)#include<reg52.h>main() unsigned int data i; unsigned char xdata,*p; p=ox3000; for(i=0;i<256;i+) *(p+i)=oxff; for(i=0;i

37、<256;i+) *(p+i)=ox00; while(1);例2:首先对片内RAM30H40H单元的内容全部置“1”,然后对其全部清“0”。(C语言进行编写)#include<reg52.h>main() unsigned char data i;/定义字符变量i,存在于片内RAM unsigned char data,*p;/定义了一个指针变量,无符号字符型,指向片内RAM p=ox30;/指针初始化 for(i=0;i<17;i+) *(p+i)=oxff; for(i=0;i<17;i+) *(p+i)=ox00; while(1);例3:将数据25H、2

38、6H分别送到片内RAM20H、21单元,然后再把20H单元的内容送到22H单元。最后将数据CDH送到P1口,再把P1口的内容送到P2口,并指出寻址方式。ORG 0000HSJMP STARTORG 0040HSTART:MOV 20H,#25H MOV 21H,#26H MOV R0,#22H MOV R0,20H MOV P1,#0CDH MOV P2,P1 SJMP $ END例4:拆字(汇编语言进行编程)ORG 0000HSJMP MAINORG 0040HMAIN:MOV DPTR,#7000H MOV A,#0ABH MOVX DPTR,A MOV R2,A SWAP A ANL A,#0FH INC DPTR MOVX DPTR,A MOV A,R2 ANL A,#0FH INC DPTR MOVX DPTR,A SJMP $ END拆字(C语言进行编程)#include<reg52.h>main() unsigned char data x; unsigned char xdata,*p; p=ox7000; p=ox7000; *p=oxab; x=*p; x=x>>4; x=x&ox0f; *(p+1)=x; x=*p; x=x&ox0f;*(p+2)=x; while(1)例5:拼字ORG 0000HSJMP

温馨提示

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

评论

0/150

提交评论