单片机第3章讲义A2
单片机第三章PPT教学课件
2020/12/10
3
4.完成以下的数据传送过程。 (1)R1的内容传送到R0。 (2)片外RAM 20H单元的内容送R0。 (3)片外RAM 20H单元的内容送片内RAM 20H (4)片外RAM 1000H单元的内容送片内RAM 20H (5)片外RAM 20H单元的内容送R0。 (6)片外RAM 2000H单元的内容送片内RAM 20H (7)片外RAM 20H单元的内容送片外RAM 20H
2020/12/10
4
(1)R1的内容传送到R0 ;
MOV A,
R1
MOV R0, A
(2)片外RAM 20H单元内容送R0 ;
MOV DPTR, #0020H
MOVX A,
@
MOV R0, A
(3)片外 RAM 20H单元的内容送片内RAM 20H单元;
MOV DPTR, #0020H
MOVX A, @DPTR
LOOP:MOV A,@R1
MOVX @DPTR,A
INC R1
INC DPTR
DJNZ R7,LOOP
SJMP $
2020/12/10 END
7
6.设有100个有符号数,连续存放在片外RAM以2200H为首 地址的存储区中,试片成统计其中正数|、负数、零的个数。
ORG 0000H
LJMP MAIN
2020/12/10
12
2020/12/10
2
3.在8051的片内RAM中,已知(20H)=30H, (30H)=40H,(40H)=50H,(50H)=55H。
分析下面各条指令,说明源操作数的寻址方式, 分析按顺序执行各条指令后的结果。
MOV A,40H MOV R0,A MOV P1,#0F0H MOV @R0,20H MOV 50H,R0 MOV A,@R0 MOV P2,P1
第3章 单片机原理及接口技术讲稿(第三版)-李朝青
第3章指令系统及程序设计举§3.1 汇编语言§3.1.1 指令和程序设计语言指令:是CPU根据人的意图来执行某种操作的命令。
程序设计语言:是实现人机交换信息的基本工具,分为机器语言、汇编语言和高级语言。
机器语言:用二进制编码表示每条指令,是计算机能直接识别和执行的语言。
汇编语言:是用助记符、符号和数字等来表示指令的程序设计语言。
它与机器语言指令是一一对应的。
§3.1.2 指令格式89C51汇编语言指令格式操作码[目的操作数][,源操作数][;注释]汇编语言指令对应的二进制代码格式单字节指令1、指令码中隐含着对某一种寄存器的操作如:指令“INC DPTR”的指令代码格式为:A3H=1 0 1 0 0 0 1 12、由指令中的rrr三位的不同编码指定某一寄存器如:指令“MOV A,Rn”的指令代码格式为:1 1 1 0 1 r r r双字节指令用一个字节表示操作码,另一个字节表示操作数或操作数所在的地址。
格式为:操作码立即数或地址三字节指令一个字节操作码,两个字节操作数。
格式为:操作码立即数或地址立即数或地址§3.2 寻址方式一、什么是寻址方式:如何找到存放操作数的地址,把操作数提取出来的方法。
二、寻址方式的种类:1、寄存器寻址寄存器寻址:由指令指出寄存器组R0~R7中的某一个或其他寄存器(A,B,DPTR等)的内容作为操作数。
例如:MOV A,R0;(R0)→AMOV P1,A;(A)→P1口ADD A,R0;(A)+(R0)→A2、直接寻址直接寻址方式:在指令中直接给出操作数所在存储单元的地址。
指令中操作数部分是操作数所在地址。
直接寻址方式可访问片内RAM的128个单元以及所有的SFR。
对于SFR,既可以使用它们的地址,也可以使用它们的名字。
例如:MOV A,3AH;(3A) →AMOV A,P1;(P1口) →A或:MOV A,90H;90H是P1口的地址3、立即数寻址立即数寻址:指令操作码后面紧跟的是一字节或两字节操作数,用“#”号表示,以区别直接地址。
单片机原理与应用第3章课件
相对寻址示意图
注意:在相对寻址方式时,在rel为正数和负数两种不同情况下, 目的地址PC的求法可以用下列不同的公式求:
当rel为正数时, PC目的=PC当前+当前指令字节数+rel
当rel为负数时, PC目的=PC当前+当前指令字节数+rel-100H
在人工汇编时,往往知道PC目的和PC当前,需要求rel,如果 PC目的>PC当前,采用第一个公式;如果PC目的≤PC当前,采用第二个公式。
立即数寻址示意图
3.2.3 寄存器寻址
寄存器寻址(register addressing)方式在指令中指出了参 与运算的操作数所在的寄存器,操作数 存储在寄存器中。寄存器寻址方式中的 寄存器为工作寄存器R0~R7、DPTR、累 加器A、寄存器B(仅在乘除法时)和布尔 累加器C。
例如: MOV A,R0 ;(A)←(R0) 该指令执行的操作是把工作寄存器 R0中的数送到累加器A中,若R0寄存器 单元中的内容是55H,则该指令执行后A 的内容就是55H。
源操作数
机器语言指令格式 (1)单字节指令格式:操作码 【例】汇编语言指令 ADD A,R0 对应的机器语言是:
28 (2)双字节指令格式:操作码 操作数 【例】汇编语言指令 ADD A,#31H 对应的机器语言是:
24 31 (3)三字节指令格式:操作码 第一操作数 第二操作数 【例】汇编语言指令 MOV 30H,#7AH 对应的机器语言是:
3.2.7 位寻址
位寻址就是对内部RAM和特殊功能寄存器的可寻址位的内容进行操 作的寻址方式。这种寻址方式只是对指令指定的1位进行操作,其寻址 方式与直接寻址方式相同。 【例】如果A=74H,则执行指令
SETB ACC.3 后,A=7CH,见下图。
单片机原理课件第3章
第三章数字输入/输出端口3.1 标准8051的数字输入/输出端口3.2 STC15F2K60S2的数字输入/输出端口3.1 标准8051的数字输入/输出端口3.1.1 MCS-51单片机的数字输入/输出端口结构MCS-51单片机有4组8位I/O口:P0、P1、P2和P3口。
8051的某些I/O口具有复用功能•数据总线和地址总线低8 位分时使用P0口。
•地址总线高8 位使用P2口。
•控制总线使用P3口中的2 位,片内子系统也使用P3口作为输入输出口。
四个端口都包含一个锁存器,即特殊功能寄存器P0~P3,一个输出驱动器和两个(P3口为3个)三态缓冲器。
这种结构在数据输出时可以锁存,但对输入信号是不锁存的。
一般P1,P2,P3口的输出能驱动3个LS TTL输入,P0口的输出能驱动8个LS TTL输入。
1.P0口在P0口的一个位中包括一个输出锁存器,两个三态缓冲器,一个输出驱动电路和一个输出控制电路。
其中,输出驱动电路由一对FET (场效应管)组成,其工作状态受输出控制电路的控制。
P0口与低8 位地址/数据复用总线AD0-AD8复用。
双向和准双向•P0口做地址/数据总线口使用时是一个真正的双向口,输入为高阻抗结构,输出为推挽结构,不必外加上拉电阻。
•P0口作为一般I/O口使用时,是一个准双向口,即输入数据时,应先向口写“1”,使输出下拉FET截止,然后方可作高阻抗输入;输出数据时,接口为开漏输出结构,输出高电平时需外加上拉电阻。
读锁存器和读引脚•所谓“读锁存器”操作,读出输出锁存器内容。
针对“读-修改-写”指令,如ANL;ORL;XRL;JBC;CPL;INC;DEC;DJNZ;MOV PX.Y,C;CLR PX.Y 和SETB PX.Y等•所谓“读引脚”操作,直接读出引脚电平状态。
2.P2口在P2口的一个位中包括一个输出锁存器,两个三态缓冲器,一个输出驱动电路和一个输出控制电路。
其中,输出驱动电路由配有上拉电阻的FET组成。
(单片机完整课件PPT)第三章
寻址范围包括:
(1)内部RAM中的位寻址区。位有两种表示方法,例如, 40H;另一种是单元地址加上位,例如,(28H).0,指 的是28H单元中的最低位。它们是等价的。 (2)特殊功能寄存器中的可寻址位
可寻址位在指令中有如下4种的表示方法:
a. 直接使用位地址。例如PSW.5的位地址为0D5H。
b. 位名称的表示方法。例如:PSW.5是 F0 标志位,可使 用F0表示该位。 c.单元地址加位数的表示方法。例如 :(0D0H).5。 d.特殊功能寄存器符号加位数的表示方法。例如:PSW.5。
课堂练习:
指出下列指令中划线的操作数的寻址方式: Mov r0,#60h Mov a,30h Mov a, @r0 Movc a, @a+dptr Cjne a,#00h,one Cpl c Mov c,30h
如: MOV
A,Rn
;(Rn)→A,n=0~7
表示把寄存器Rn的内容传送给累加器A
寻址范围:ACC,B,DPTR,PSW,R0~R7,C
三、存储器寻址 寻址空间:64K 外RAM、64K ROM、128B 内RAM
1.直接寻址方式
操作数直接以单元地址的形式给出: MOV A,40H 寻址范围:内部RAM的256个单元 2.寄存器间接寻址方式 寄存器中存放的是操作数的地址 在寄存器的名称前面加前缀标志“@” 如: MOV A,@Ri ;i=0或1
单片机原理与应用技术
厦门理工学院电子与电气工程系 陈志英
第3章 单片机汇编语言编程技术
机器语言:是计算机可以识别和直接执行的语言,它是由一 组二进制代码组成。 汇编语言:是用助记符代替机器语言的操作码,用16进制 数代替二进制代码。 高级语言:是采用类似自然语言并与具体计算机类型基本无
单片机魏第3章-讲义
•
开始
• 20H
A
• 10H
B
•
A/B
• B+30H
B
•B
22H
• A+30H
A
ORG 0000H MOV A, 20H MOV B, #10H DIV AB ORL B, #30H MOV 22H, B ORL A, #30H MOV 21H, A SJMP $
•A
21H
•
结束
程序设计的基本步骤:
“标号名称”在源程序中可以作数值使用,也可以作数据地址、
位地址使用。
先定义后使用,放在程序开头。
4、定义字节伪指令 DB
告诉汇编程序从指定的地址单元开始,定义若干字节存储单
元并赋初值。
格式: [标号:] DB 字节数据或字节数据表
5、定义字伪指令 DW
从指定地址开始,定义若干个16个位数据,高八位存入低地址; 低八位存入高地址。
为备用空间。
格式:
[标号:]
DS 表达式
例2、 ORG 1000H
DS 0AH
DB 71H,11H,11H ;从100BH开始存放
;71H、11H、11H。
注:DB、DW、DS 只能用于程序存储器; 而不能用于数据存储器。
8、位地址赋值伪指令 BIT 将位地址赋予规定的字符名称。 格式: 字符名称 BIT 位地址
源程序
ORG 1000H START:MOV R0,2FH
MOV R2,#00H MOV A,@R0 MOV R3,A INC R3 SJMP NEXT LOOP:INC R0 CJNE @R0,#44H,NEXT INC R2 NEXT:DJNZ R3,LOOP MOV 2AH,R2 SJMP $
单片机课件第3章
ROM指令(2条 指令(2 ⒋ 读ROM指令(2条)
① MOVC ② MOVC A,@A+DPTR A,@A+PC ;(A+DPTR)→A PC+1 ;PC+1→PC,(A+PC)→A
三个不同的存储空间用三种不同的指令传送: 三个不同的存储空间用三种不同的指令传送: 内RAM(包括特殊功能寄存器): RAM(包括特殊功能寄存器): 外RAM: ROM: 用MOV指令传送; MOV指令传送; 指令传送 用MOVX指令传送; MOVX指令传送; 指令传送 用MOVC指令传送。 MOVC指令传送。 指令传送
⒋ 寄存器间接寻址
间接寻址是根据操作数地址的地址寻找 间接寻址是根据操作数地址的地址寻找 操作数地址的地址 操作数。 操作数。 间接寻址用间址符“ 作为前缀。 间接寻址用间址符“@”作为前缀。 【例】 A,@R0 将以R MOV A,@R0 ;将以R0中内容为地址的存储单元中的数据
传送至A 传送至A中
操作码:表示指令的操作功能。 ⑵ 操作码:表示指令的操作功能。
操作码用助记符表示, ① 操作码用助记符表示, 的操作功能。 它代表了指令 的操作功能。 操作码是指令的必需部分, ② 操作码是指令的必需部分, 是指令的核心,不可缺少。 是指令的核心,不可缺少。
操作数:参加操作的数据或数据地址。 ⑶ 操作数:参加操作的数据或数据地址。
⒉ 直接寻址 直接寻址是给出操作数的直接地址 给出操作数的直接地址。 直接寻址是给出操作数的直接地址。 直接寻址范围为内RAM 128B和特殊功能寄 直接寻址范围为内RAM 128B和特殊功能寄 存器。 存器。
【例】 MOV MOV A,3 A,3AH A,P0
单元中的数据传送至A ;将内RAM 3AH单元中的数据传送至A中 将内RAM AH单元中的数据传送至 ;将特殊功能寄存器P0口中的数据传送至A中 将特殊功能寄存器P0口中的数据传送至A P0口中的数据传送至
(信息与通信)单片机胡汉才班第3章课件
将原理图转化为PCB板图,进行布局 和布线。
软件编程与调试
编程语言选择
选择适合单片机的编程语言,如C语 言或汇编语言。
代码编写与调试
编写单片机程序,并进行调试,确保 程序正确运行。
系统集成与测试
硬件与软件集成
将硬件电路和软件程序集成在一起,形成完整的单片机系统 。
系统测试
对单片机系统进行全面的测试,确保系统满足各项需求和性 能指标。
03
04
汇编语言可移植性差, 不同的单片机需要不同 的汇编语言。
汇编语言学习难度较大, 需要深入理解硬件结构 和工作原理。
C语言
01
02
03
04
C语言是一种中级语言,介于 汇编语言和高级语言之间。
C语言具有可移植性,可以在 不同的单片机上运行。
C语言易于学习,语法相对简 单,易于理解。
C语言可以高效地控制硬件, 但不如汇编语言直接。
中央处理器
中央处理器(CPU)是单片机的核心部件,负责执行指令和控制单片机的工作流程。
CPU由运算器和控制器组成,运算器负责进行算术和逻辑运算,控制器负责控制指 令的执行顺序。
CPU的性能决定了单片机的处理能力和运行速度。
存储器
存储器是单片机中用于存储数据的部 件,分为内部存储器和外部存储器。
外部存储器通常为可擦写的Flash存储 器或EEPROM,用于扩展单片机的存 储容量。
06 单片机实例应用
LED闪烁程序
01
02
03
闪烁频率
可以通过编程控制LED灯 的闪烁频率,实现不同的 闪烁效果。
硬件连接
将LED灯的正极连接到单 片机的某个GPIO口,负 极接地。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
发射极开路 IE=0 开关理想断开
基极开路 C、E之间有穿透
基极加反压 -VBO 可使 IE=0,临界截止
但不实用,此时
电流 ICEO
发射结正偏 VBO
瞬和
toff
五、
晶体三极管反相器
顾名思义,反相器的作用是将输入信号极性求反,高 电平变低电平,低电平变高电平。 (一)、工作原理 根据反相的要求: 当输入电压VI为低电平VL 时,输出VO应为高电平VH; 此时三极管应可靠截止。 当输入电压为高电平时, 输出应为低电平,此时三极管 应可靠饱和。 如何才能“可靠”呢?要 合理地选择元件参数。
不可靠,使负压负于
-VBO 才可靠
IB= - ICBO
实际稳态开关特性: 开态: 希望VC(即输出电压VO)接近于0V,应工作 在饱和区,C、E结电压最小。 在放大区时,IB增加,IC成 倍增加,但随着IC的增加VC逐渐 下降,当达到VC =VB (硅管约0.7v) 时,CE结零偏,称为临界饱和 此时IB叫临界饱和基极电流IBS, 此时IC叫临界饱和集电极电流ICS。 达到临界饱和之后,IB再增加 IC也增加不多了,进入饱和区,随 着IB增加,饱和深度增加,VC有所 降低,最低约0.3v ( 硅管 )。
对 输入信号进行处理, 加大瞬间电压幅度,缩短时间。
2、钳位二极管法 对输出信号加以处理,利用电容充电的起始部分比 较陡峭的特点,改善输出信号的上升沿。
输出波形上升时间的对比 由图可知: Vc1应为所需要的幅值 不采用钳位二极管时,最 终电压为任何值,上升时 间都是相同的。 Tr = o.23RcC0 采用钳位二极管时,需用 高低两组电源,高拉低走, 能够达到改善输出波形的 目的。 Vcc Tr=RcC0 ln --------------Vcc - Vc1
四、 晶体三极管开关特性
在数字电路中,三极管是作为开关使用的。 三极管 截止相当于开关断开;三极管饱和相当于开关闭合;因此 我们最关心三极管截止和饱和时的情况。 (一)、稳态开关特性
理想稳态开关特性: 关态:输入低电平,三极管截止,C、E极间无电流。 IC等于0,输出为VCC。 开态:输入高电平,三极管导通,C、E极电压为零。 IC等于 VCC / RC,输出为0V。
另外,还要满足 IC = IRC + IOIM ICM 以免损坏三极管。 ICM为集电极最大额定电流 。 (2)三极管截止时的灌流负载 灌电流全部流入钳位二极管,只要不超过二极管的 允许的最大值即可,通常负载能力很强。
2、带拉流负载的能力
(1)三极管饱和时拉流负载
IOP = IRC - IC
IRC不变, IOP越大,IC越小,
由反相器可靠截止、饱和的关系式,我们就可以设计 反相器基本电路了。 由于可靠饱和、可靠截止对R1、R2的要求相反,所 以选择R1、R2时应兼顾两方面的要求。 书中举例说明选定元件的方法,自己看一看。 计算元件参数的题目,无外是给定一部分参数,利 用上述关系式计算其他参数,应理解了公式的推导过程, 不要死记硬背。
(三)、反相器的带负载能力
负载能力是指当负载发生变化时,输出电路能够保证 其输出指标不变的能力。 先说明几个概念: 灌电流:流入反相器的负载电流,叫灌电流 Ioi。 产生灌电流的负载叫灌流负载。 拉电流:流出反相器的负载电流,叫拉电流 Iop。 产生拉电流的负载叫拉流负载。 负载能力可用保证反相器正常工作条件下的最大灌 流IoI M和最大拉流IopM表示。
由上图可知:与理想瞬态开关特性相比,实际电路的 输出波形会发生畸变,边沿变差。作为定量分析,将波形 的畸变细分为:
对上升沿: 三极管从截止到导通,称为开通时间TON 它包括: TON = TD + TR 延迟时间TD,主要对应位垒电容的充电过程。 上升时间TR,主要对应扩散电容的充电过程。
对下降沿: 三极管从导通到截止,称为关断时间TOFF 它包括: TOFF = TS + TF 存储时间TS,主要对应扩散电容的放电过程。 下降时间TF,主要对应位垒电容的放电过程。
有利于饱和,负载能力强。 IOPM VCC / RC
(2)三极管截止时拉流负载 IRC = IDC1 + IOP IRC一定,IOP越大,IDC1越 小,应保证钳位二极管的 正向导通电流,使其起到 钳位作用。 其中: VCC - VC1 IRC = —————— RC 总之 VCC - VC1 IOPM ————— RC
在保证电路稳态参数(可靠截止、饱和)的同时, 应注意到:深度的饱和和截止,会对反相器的瞬态开关 特性产生不利的影响,使开通时间和关断时间加长,设 计时应全面考虑。
(二)、提高开关速度的两种方法 由于晶体三极管有位垒电容和扩散电容,在加上外部电 的分布电容、负载电容,所以输出波形失真,时间延 迟,为提高反相器的开关速度,可采用以下两种方法: 1、基极加速电容法
IB = I 1 - I2 VH — VBE(SAT) I1= —————————— R1 VBE(SAT)—VBB I2= —————————— R2
VCC — VCE(SAT) IBS = —————————— RC 应使 IB IBS,我们定义饱和 IB 系数 S =—— S大,饱和深 减小 R1,增大 R2,IB IBS 对饱和有利。 将上述表达式代入 IB = S IBS 但对截止不利,两者矛盾。
1、带灌流负载的能力 ( 1 ) 三极管饱和时的灌流负载 Ic = IRC + IOI 灌电流加大,IC 加大,饱和 深度减小,过大则退出饱和。 因此应满足: IC = IRC + IOI IB 即 IOIM IB — VCC / RC 进一步推论: 三极管饱和程度越深,IOI 加大使IC加大后,退出饱和 的可能性越小,负载能力越 强。
(二)、瞬态开关特性 当晶体三极管发生由截止到饱和,或由饱和到截止 的状态翻转时,其工作特性称为瞬态特性。
瞬态开关特性也分理想特性和实际特性,由于三极 管也是 PN 结结构,存在电荷的积累和消散的过程,仍可 等效为位垒电容和扩散电容,所以状态转换不可能瞬间 完 成,要有一个过渡过程。 如下图所示,在状态转换过程中,存在着位垒电容 充电、扩散电容充电、扩散电容放电和位垒电容放电几 种过程。也定义了开通时间(延迟+上升)、 关断时间 (存储+下降)几个参数,请看:
由于不同三极管的开通时间和关断时间不尽相同,为 便于综合性的对比,常用平均延迟时间Tpd 来表示:
影响瞬态特性的内部和外部因素有哪些?
(三)、晶体三极管的开关参数
由书第118页的参数表可见,开关参数分为稳态参数 和瞬态参数: 稳态开关参数:(饱和结压降、反向漏电流) ICBO、ICEO 、VCE(SAT) 和 VBE(SAT)
1、可靠截止
使B、E之间相当于开路。
由等效电路,基极电压VBE为 R1 VBE=VL — ————(VL+VBB) R1+ R2
为可靠截止,VBE应小于等于0,
故应满足关系式:
R1 VL — ————(VL+VBB) 0 R1+ R2 可见VBB、R1加大,R2减小对 截止有利。
2、可靠饱和
使C、E间为饱和压降 由等效图
总之,晶体三极管的稳态开关特性要求:
1、关态应可靠截止,条件是: 发射结和集电结均反偏 VB VE, VB VC 通常在基极接负电压。
2、开态应可靠饱和,条件是: 发射结和集电结均正偏 VB > VE, VB > VC VCC — VCE(SAT临) ICS 使IB > I BS = ———————————— = —— RC 上述公式是今后我们判断饱和与放大的依据。 判断工作状态的例题见书,自学!