第八章 控制转移指令
跳转指令
短跳指令 AJMP addr11
PC←addr11,跳转范围2k 长跳指令 LJMP addr16
PC←addr16,跳转范围64k 间接跳转指令 JMP @A+DPTR
PC←(A)+(DPTR) 相对转移指令 SJMP rel
条件转移指令
JZ rel ;(A)=0,转移 JNZ rel ;(A)≠0,转移
JC rel ;如 C=1, 转移 JNC rel ;如 C=0, 转移 JB bit,rel ;如 bit=1, 转移 JNB bit,rel ;如 bit=0, 转移
JBC bit,rel ;如 bit=1, 转移并 bit=0
比较不相等转移指令
CJNE A,#data,rel;(A)=#data,继续C←0 (A)>#data,转C←0 (A)<#data,转C←1 特点:只有<时, C←1 CJNE A,direct,rel CJNE Rn,#data,rel CJNE @Ri,#data,rel
减 1 不为 0 转移指令 DJNZ Rn,rel ; DJNZ direct,rel
例:延时子程序
delay: MOV R7, #03H delay0: MOV R6, #19H delay1: DJNZ R6, delay1 DJNZ R7, delay0 RET
调用子程序指令
短调用指令 ACALL addr11 长调用指令 LCALL addr16 子程序返回指令 RET 中断返回指令 RETI 空操作指令 NOP
第四章 定时器/计数器
第一节 概述
第二节 结构和工作原理
实质是计数器,脉冲每一次下降沿,计数寄存器数值将加1。
计数的脉冲如果来源于单片机内部的晶振,由于其周期极为准确,这时称为定时器。 计数的脉冲如果来源于单片机外部的引脚,由于其周期一般不准确,这时称为计数器。
定时/计数器方式寄存器TMOD
(1) M1和M0:方式选择位。
(2) c/T :功能选择位。时,设置为定时器工作方式;时,设置为计数器工作方式。 (3) GATE:门控位。当GATE=0时,软件控制位TR0或TR1置1即可启动定时器;当GATE=1时,软件控制位TR0或TR1须置1,同时还须(P3.2)或(P3.3)为高电平方可启动定时器,即允许外中断、启动定时器。
定时器/计数器控制寄存器TCON
(1) TCON.7 TF1:定时器1溢出标志位。当定时器1计满数产生溢出时,由硬件自动置TF1=1。在中断允许时,向CPU发出定时器1的中断请求,进入中断服务程序后,由硬件自动清0。在中断屏蔽时,TF1可作查询测试用,此时只能由软件清0。
(2) TCON.6 TR1:定时器1运行控制位。由软件置1或清0来启动或关闭定时器1。当GATE=1,且为高电平时,TR1置1启动定时器1;当GATE=0时,TR1置1即可启动定时器1。
(3) TCON.5 TF0:定时器0溢出标志位。其功能及操作情况同TF1。 (4) TCON.4 TR0:定时器0运行控制位。其功能及操作情况同TR1。 (5) TCON.3 IE1:外部中断1( )请求标志位。 (6)TCON.2 IT1:外部中断1触发方式选择位。
(7)TCON.1 IE0:外部中断0 ( )请求标志位。 (8) TCON.0 IT0:外部中断0触发方式选择位。
第三节 定时/计数器的工作方式
1.方式0
方式0构成一个13位定时/计数器。图是定时器0在方式0时的逻辑电路结构,定时器1的结构和操作与定时器0完全相同。
T0C/T=0C/T=1控制TL05位TH08位TF0中断振荡器÷12TR0GATEINT01≥1&
2.方式1
定时器工作于方式1时。
由图可知,方式1构成一个16位定时/计数器,其结构与操作几乎完全与方式0相同,惟一差别是二者计数位数不同。 3.方式2
定时/计数器工作于方式2时,。
由图可知,方式2中,16位加法计数器的TH0和TL0具有不同功能,其中,TL0是8位计数器,TH0是重置初值的8位缓冲器。
4.方式3
定时/计数器工作于方式3时,其逻辑结构图如图所示。
TR0GATEINT01f12oscTR1TH0(8位)TF1中断1≥1&T0控制振荡器1f12oscC/T=0C/T=1TL0(8位)÷121f12oscTF0中断第四节 编程和使用
1.计数器初值的计算
把计数器计满为零所需要的计数值设定为C,计数初值设定为TC,由此可得到公式: TC=M-C式中,M为计数器模值,该值和计数器工作方式有关。在方式0时M为213;在方式1时M为216;在方式2和方式3时M为28。
2.定时器初值的计算
在定时器模式下,计数器由单片机主脉冲经12分频后计数。因此,定时器定时时间T的公式:T=(M-TC)T计数,上式也可写成:TC=M-T/ T计数。式中,M为模值,和定时器的工作方式有关;T计数是单片机振荡周期TCLK的12倍;TC为定时器的定时初值。
第五章 串行通讯基础
第一节 串行通信基础
在计算机系统中,CPU和外部通信有两种通信方式:并行通信和串行通信。并行通信,即数据的各位同时传送;串行通信,即数据一位一位顺序传送。
串行通信的分类
按照串行数据的时钟控制方式,串行通信可分为同步通信和异步通信两类。
1. 异步通信(Asynchronous Communication)
在异步通信中,数据通常是以字符为单位组成字符帧传送的。字符帧由发送端一帧一帧地发送,每一帧数据均是低位在前,高位在后,通过传输线被接收端一帧一帧地接收。发送端和接收端可以由各自独立的时钟来控制数据的发送和接收,这两个时钟彼此独立,互不同步。
在异步通信中,接收端是依靠字符帧格式来判断发送端是何时开始发送,何时结束发送的。字符帧格式是异步通信的一个重要指标。
字符帧(Character Frame)
字符帧也叫数据帧,由起始位、数据位、奇偶校验位和停止位等4部分组成,
波特率(baud rate)
异步通信的另一个重要指标为波特率。
波特率为每秒钟传送二进制数码的位数,也叫比特数,单位为b/s,即位/秒。波特率用于表征数据传输的速度,波特率越高,数据传输速度越快。但波特率和字符的实际传
相关推荐: