版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
汪霖西北大学信息学院Email:wanglin@单片机原理与应用复习第一章计算机基础知识第二章80C51单片机的硬件结构第三章80C51单片机指令系统第四章80C51单片机汇编语言程序设计第五章80C51单片机的中断和定时1复习第六章单片机并行存储器扩展第七章单片机并行IO扩展第八章单片机串行通信第九章单片机串行扩展第十章单片机A/D及D/A转换接口2第一章计算机基础知识1.1二进制数及其在计算机中的使用1.2二进制数的算术运算和逻辑运算1.3供程序设计使用的其他进制数1.4
计算机中使用的编码1.5
微型计算机概述3常用数制(十进制/二进制/十六进制)及其相互转换符号数/无符号数,原码/反码/补码二进制的算术运算(加/减/乘/除)和逻辑运算(或/与/非/异或)计算机中使用的编码:BCD码/ASCII码第一章计算机基础知识4常用的进位计数制第一章计算机基础知识进制符号集基数及规则一般表达式十进制ND{0,1,2,3,4,5,6,7,8,9}10(逢十进一)二进制NB{0,1}2(逢二进一)十六进制NH{0~9,A,B,C,D,E,F}16(逢十六进一)5不同数制间的转换6
二进制/十六进制→十进制规则:先按权展开后,再按照十进制运算法则求和
二进制→十六进制(十六进制→二进制)规则:24=16,4位二进制数对应1位十六进制数第一章计算机基础知识7十进制→二进制/十六进制(1)整数转换法:“除基取余”,将十进制整数不断除以转换进制基数(2或16),直至商为0。每除一次取一个余数,从低位排向高位。25=11001B将25转换为二进制数将156转换为十六进制数156=9CH第一章计算机基础知识8十进制→二进制/十六进制(2)小数转换法:“乘基取整”:用转换进制的基数(2或16)乘以小数部分,直至小数为0或达到转换精度要求的位数。每乘一次取一次整数,从最高位排到最低位。将0.625转换为二进制数将0.359375转换为十六进制数0.625=0.101B0.359375=0.5CH第一章计算机基础知识带符号数的表示方法9
机器中,数的符号用“0”、“1”表示。最高位作符号位,“0”表示“+”,“1”表示“-”。在计算机中,所有有符号数都是以补码形式存放的。第一章计算机基础知识
无符号的8位二进制数没有符号位,从D7~D0皆为数值位,所以8位无符号二进制数的表示范围是0~+255。无符号数的表示方法原码、反码和补码第一章计算机基础知识表示方法符号数(最高位)数值位表示范围(8位)正数负数正数负数原码01与真值数值位相同与真值数值位相同-127~+127反码原码数值位逐位求反-127~+127补码原码数值求反加1-128~+12710二进制算术运算
加法、减法、乘法、除法
11第一章计算机基础知识二进制逻辑运算
逻辑“或”运算
逻辑“与”运算
逻辑“非”运算
逻辑“异或”运算上述二进制逻辑运算均可按位进行,不同位之间不发生任何联系。BCD码(二-十进制编码)12
BCD(BinaryCodedDecimal)码是一种二进制形式的十进制码,它用4位二进制数表示1位十进制数,最常用的是8421BCD码。第一章计算机基础知识ASCII码美国信息交换标准代码(ASCII码)由7位二进制数码构成,共有128个字符,它主要用于微机与外设通信。“A”=41H“0”=30H“a”=61H第二章80C51单片机的硬件结构2.1单片机的概念2.280C51单片机的逻辑结构及信号引脚2.380C51单片机的内部存储器2.480C51单片机的并行I/O口2.580C51单片机的时钟与定时2.6
80C51单片机的系统复位2.7
单片机低功耗工作模式1380C51逻辑结构80C51的信号引脚及功能内部存储器:RAM/ROM并行I/O口(P0~P3)时钟电路和定时单位复位方式和复位电路低功耗工作模式:待机模式、掉电模式14第二章80C51单片机的硬件结构80C51单片机的内部逻辑结构15运算电路控制电路控制电路内部数据存储器内部程序存储器第二章80C51单片机的硬件结构16第二章80C51单片机的硬件结构
CPU:运算电路、控制电路
内部数据存储器(256B):低128位(寄存器区、位寻址区、用户RAM区)+高128位(专用寄存器区)
内部程序存储器(4KB)
定时器/计数器(2个16位):工作方式
并行I/O口(4个):P0~P3
串行口(1个):工作方式
中断控制电路:5个中断源、中断优先级、中断嵌套
时钟电路、位处理器
内部总线:地址总线、数据总线、控制总线80C51单片机的引脚及其功能1780C51芯片引脚及芯片逻辑符号(40脚DIP封装)第二章80C51单片机的硬件结构第二章80C51单片机的硬件结构控制信号名称功能描述RST复位信号用于单片机的复位操作ALE地址锁存控制信号作为地址锁存的选通信号,实现低8位地址锁存PSEN外部程序存储器读选通信号=0:外部ROM读操作EA访问程序存储器控制信号=0:外部ROM=1:内部(0~4KB)外部RD外部RAM读选通=0:读外部RAMWR外部RAM写选通=0:写入外部RAM80C51单片机的控制信号1819单片程序存储器扩展存储器扩展:地址线、数据线和控制信号线连接存储单元地址分析:8000H~87FFH(P2.6~P2.3均为0)P2.6~P2.3从0000~1111,则2716对应着16个地址区间线选法存在地址重叠问题第二章80C51单片机的硬件结构20数据存储器扩展连接6116:2KB的数据存储器芯片OE:数据输出允许信号WE:写选通信号第二章80C51单片机的硬件结构80C51存储器配置2180C51程序存储器和数据存储器配置图第二章80C51单片机的硬件结构内部数据存储器低128单元区2280C51内部数据存储器配置图
通用寄存器区4组,每组8个寄存器(R7~R0)
位寻址区
用户RAM区
供用户使用的一般RAM区,共80个单元。一般应用中常把堆栈开辟在此区中。第二章80C51单片机的硬件结构内部数据存储器高128单元区23
高128单元区供专用寄存器SFR使用,单元地址为80H~0FFH,用于存放相应功能部件的控制命令、状态或数据等。80C51共有21个专用寄存器。
累加器A(E0H):8位寄存器,最常用的专用寄存器B寄存器(F0H)8位寄存器,主要用于乘除运算;也可作为一般的数据寄存器使用。例如:(1)乘运算(MULAB):A与B相乘,高字节放在B中,低字节放在A中;(2)除运算(DIVAB):A除以B,商放在A中,余数放在B中。第二章80C51单片机的硬件结构24
程序状态字PSW(D0H)位序PSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0位标志CYACF0RS1RS0OV/P定义进位标志辅助进位用户标志通用寄存器组选择位溢出标志奇偶用于寄存指令执行的状态信息。PSW的各位定义如下:
数据指针DPTR(83H:82H)16位寄存器,在访问外部64K数据存储器时作地址指针用。DPH和DPL分别为DPTR的高8位和低8位字节。例:假定(A)=80H,执行指令“ADDA,#0F3H”后,(CY)=?(AC)=?(OV)=?(P)=?第二章80C51单片机的硬件结构堆栈操作25
堆栈的功能堆栈主要是为子程序调用和中断操作而设立的,对应有两项功能:保护断点和保护现场。
堆栈的特点:后进先出
堆栈的定义及初始化堆栈指示器SP是一个8位寄存器,用来指示堆栈顶部在内部RAM中的位置。系统复位后,SP的初始值为07H,使得堆栈实际上是从08H开始的。但08H~1FH隶属1~3通用寄存器区,因此必须对堆栈指针SP进行初始化,一般设在30H—1FH之间较为适宜。第二章80C51单片机的硬件结构26
堆栈类型及使用方式两种类型:向上生长型和向下生长型。80C51使用向上生长型堆栈。进栈操作:先SP加1,后写入数据;出栈操作:先读出数据,后SP减1。
堆栈使用方式:自动方式和指令方式。第二章80C51单片机的硬件结构内部程序存储器27
功能:用于存放编好的程序和表格常数。
如何工作:程序计数器(PC),也叫PC指针,是取指地址。上电复位后PC内容为0000H,即从0000H地址的指令顺序执行,最大为FFFFH,所以程序空间为64K。
程序存储器配置:64K空间分为片内ROM和片外ROM,但统一编址。第二章80C51单片机的硬件结构并行口的分工80C51单片机共有4个8位双向并行输入/输出(I/O)口,分别为:P0、P1、P2、P3。这4个口可以并行输入或输出8位数据;也可以按位使用,即每一根输入/输出线都能独立的用作输入或输出。
P0口:分时送出8位数据和低八位地址、I/O口28
P1口:I/O口
P2口:高八位地址、I/O口
P3口:I/O口、第二功能输入输出第二章80C51单片机的硬件结构时钟电路
为保证同步工作方式的实现,单片机必须有时钟信号,以使其系统在时钟信号的控制下按时序协调工作。时钟信号由时钟电路产生,其中时钟电路由振荡电路和分频电路两部分所组成。29
振荡电路
石英晶体作为感性元件,与电容构成振荡回路,为片内放大器提供正反馈和振荡所需的相移条件,从而构成一个稳定的自激振荡器。第二章80C51单片机的硬件结构30
分频电路振荡电路产生的振荡信号并不直接为单片机所用,而要进行分频,以得到单片机各种相关的时钟信号。
时钟信号;ALE;机器周期信号第二章80C51单片机的硬件结构定时单位31拍节与状态将振荡脉冲的周期定义为拍节(P);将振荡脉冲经二分频后的单片机时钟信号的周期定义为状态(S)。1S=2P机器周期规定一个机器周期的宽度为6个状态,S1~S6。指令周期执行一条指令所需要的时间,可包含1个、2个或4个机器周期。第二章80C51单片机的硬件结构复位方式32复位是单片机的硬件初始化操作,经复位操作后,单片机系统才能开始正常工作。当复位信号引脚RST保持2个机器周期以上的高电平输入时,就可完成复位操作。加电复位开机加电时,通过专用的复位电路自动产生复位信号。手动复位若单片机遇到死机、死循环或程序“跑飞”等情况时,通过手动按键操作,使专用的复位电路产生复位信号。第二章80C51单片机的硬件结构80C51基本复位电路33上电复位:通过电容充电来实现按键电平复位:复位端经R1电阻与Vcc接通按键脉冲复位:RC微分电路产生正脉冲第二章80C51单片机的硬件结构待机和掉电方式控制电路与门待机模式(IdleMode)34如何设置待机模式?电源控制寄存器PCON使用指令将电源控制寄存器PCON的IDL位(PCON.0)置1,80C51单片机就进入待机模式。
进入待机模式指令:MOVPCON#01H;IDL←1第二章80C51单片机的硬件结构35待机模式主要特点(1)片内振荡器仍振荡,但不向CPU提供时钟;(2)工作电流降低;(3)与CPU有关的如SP、PC、PSW、ACC以及全部通用寄存器也都被“冻结”在原状态。如何退出待机模式?(1)中断——结束待机,IDL自动被硬件清除(2)复位——使RST保持两个机器周期,“复位”也自动清除IDL第二章80C51单片机的硬件结构掉电模式(PowerDownMode)36如何设置掉电模式?掉电模式主要特点(1)片内振荡器停振,单片机停止工作;(2)工作电流大大降低;(3)内部RAM单元的内容被保存。
PCON寄存器中的PD位置1,则进入掉电模式。
进入掉电模式指令:MOVPCON#02H;PD←1如何退出掉电模式?
只能通过硬件复位来退出掉电模式,并将重新定义所有的SFR,但不改变片内RAM的值。第二章80C51单片机的硬件结构第三章80C51单片机指令系统3.1单片机指令系统概述3.280C51单片机指令寻址方式3.380C51单片机指令分类介绍3780C51单片机的7种寻址方式80C51指令系统中各指令的格式及功能38第三章80C51单片机指令系统指令格式39标号:程序员根据编程需要给指令设定的符号地址[标号:]操作码
[目的操作数][,源操作数][;注释]例:LOOP:MOVA,#40H;取参数操作码:表示指令的操作种类,如MOV为数据传送操作操作数:参加运算的数据或数据的有效地址注释:对指令的解释说明,用以提高程序的可读性无操作数项:操作数隐含在操作码中,如RET指令1个操作数:如INCA2个操作数:如MOVA,#00H3个操作数:如CJNEA,#00H,rel第三章80C51单片机指令系统80C51的7种寻址方式40第三章80C51单片机指令系统寄存器寻址方式41特点:操作数在寄存器中,由指令指出的某个寄存器的内容作为操作数;寻址范围:四组通用寄存器Rn(R0~R7)、部分专用寄存器(A,B,DPTR,CY)。例:INCR3;R3←(R3)+1第三章80C51单片机指令系统直接寻址方式42特点:指令中操作数直接以存储单元地址的形式给出,该地址指出操作数所在的字节单元地址或位地址;寻址范围:片内RAM区(低128字节)、专用寄存器。例:MOVA,70H
;A←(70H)第三章80C51单片机指令系统寄存器间接寻址方式43特点:指令给出的寄存器中存放的是操作数据的单元地址,寄存器前边必须加前缀符号“@”;寻址范围:内部RAM低128B(R0或R1);外部RAM(DPTR);外部低256单元RAM(DPTR或R0或R1)例:MOVA,@R0;A←((R0))第三章80C51单片机指令系统立即寻址方式44特点:操作数在指令中直接给出,该操作数是8位立即数(#data)或16位立即数(#data16),在立即数前面加“#”标志。例:MOVA,#20H
;A←20H第三章80C51单片机指令系统变址寻址方式45特点:操作数存放在变址寄存器(累加器A)和基址寄存器(DPTR或PC)相加形成的16位地址单元中;寻址范围:程序存储器(64K)例:MOVCA,@A+DPTR;A←((A)+(DPTR))第三章80C51单片机指令系统位寻址方式46特点:操作数为一个可单独寻址的位地址;寻址范围:片内RAM低128B中位寻址区(20H~2FH,位地址为00H~7FH)、部分SFR(共83位可位寻址)。例:MOVC,P1.0
;进位位CY←(P1.0)第三章80C51单片机指令系统相对寻址方式47特点:目的地址=转移指令地址+转移指令字节数+地址偏移量(rel);寻址范围:只能对程序存储器ROM进行寻址,rel由带符号的8位二进制补码(-128~+127)表示。例:JZrel;累加器判零转移:若(A)=0,跳转;否则,不跳转转移指令地址:1000H转移指令字节数:2(JZ)地址偏移量:75H目的地址:1000H+2H+75H=1077H第三章80C51单片机指令系统4880C51指令分类(按功能分)数据传送类(29条):MOV,MOVX,MOVC,XCH/XCHD/SWAP,PUSH/POP算术运算类(24条):ADD,ADDC,SUBB,INC,DEC,MUL/DIV,DA逻辑运算及移位类(24条):ANL,ORL,XRL,CLR/CPL,RL/RR/RLC/RRC控制转移类(17条):LJMP/AJMP/SJMP/JMP,JZ/CJNE/DJNZ,ACALL/LCALL/RET/RETI,NOP位操作类(17条):MOV,SETB/CLR,ANL/ORL/CPL,JC/JNC/JB/JNB/JBC第三章80C51单片机指令系统49数据传送类指令助记符:MOV,MOVX,MOVC,XCH/XCHD/SWAP,PUSH/POP指令格式:助记符<目的操作数>,<源操作数>源操作数寻址方式(5种):立即寻址,直接寻址,寄存器寻址,寄存器间接寻址,变址寻址目的操作数寻址方式(3种):寄存器寻址,寄存器间接寻址,直接寻址对标志位影响:除了目的操作数为ACC的指令影响奇偶标志P外,一般不影响标志位第三章80C51单片机指令系统50MOV/MOVX/MOVC指令MOV指令用于访问片内RAM和SFR
MOVX指令用于访问片外RAM和外部I/OMOVC指令用于读取ROM中的常数例:把内(外)部RAM中起始地址为data,长度为N的数据串传送到内(外)部RAM以buffer为首地址的区域。如何编程实现?第三章80C51单片机指令系统51堆栈操作指令进栈指令,将内部RAM单元内容送入栈顶单元PUSHdirect;SP←(SP)+l,(SP)←(direct)出栈指令,将栈顶单元内容取出传送到内部RAM单元POPdirect;direct←((SP))
,SP←(SP)-l例:MOVA,#20H
MOVB,#30H
PUSHA
PUSHB
POPA
POPB
执行完上述指令后,(A)=?,(B)=?第三章80C51单片机指令系统52算术运算类指令助记符:ADD,ADDC,SUBB,INC,DEC,MUL/DIV,DA源操作数寻址方式(4种):立即寻址,直接寻址,寄存器间接寻址,寄存器寻址目的操作数主要寻址方式:寄存器寻址(累加器A)对标志位影响:加、减、乘、除、加1、减1、十进制调整等运算指令影响PSW有关位(P,OV,AC,CY)第三章80C51单片机指令系统53乘除指令乘法指令MULAB;BA←(A)×(B),即乘积低8位→A,高8位→B除法指令DIVAB;A←(A)/(B)的商
,B←(A)/(B)的余数乘除指令执行后,进位标志位CY总是被清0乘法指令执行后,若乘积大于255(FFH),则溢出标志位OV置1,乘积分别存放在B与A中;否则OV=0,(B)=0除法指令执行后,若除数为0,则OV置1,表明除法无意义;否则OV清0,除法可正常进行第三章80C51单片机指令系统54逻辑运算及移位类指令助记符:ANL,ORL,XRL,CLR/CPL,RL/RR/RLC/RRC指令格式:助记符<目的操作数>,<源操作数>源操作数寻址方式(4种):立即寻址,直接寻址,寄存器寻址,寄存器间接寻址目的操作数寻址方式(2种):直接寻址,寄存器寻址(累加器A)对标志位影响:当A作目的操作数时,影响P位;带进位的移位指令影响CY位,其余都不影响PSW第三章80C51单片机指令系统55控制转移类指令助记符:LJMP/AJMP/SJMP/JMP,JZ/CJNE/DJNZ,ACALL/LCALL/RET/RETI,NOP基本功能:利用控制转移类指令可强迫修改PC值,从而改变程序的执行顺序对标志位影响:此类指令不影响PSW种类:无条件转移指令(4条)+条件转移指令(8条)+子程序调用和返回指令(4条)+空操作指令(1条)第三章80C51单片机指令系统56控制转移类指令无条件转移指令条件转移指令子程序调用和返回指令空指令第三章80C51单片机指令系统57位操作类指令助记符:MOV,SETB/CLR,ANL/ORL/CPL,JC/JNC/JB/JNB/JBC基本功能:用于进行位的传送、置1、清0、取反、位状态判断转移、位逻辑运算及位输入/输出等供用户使用的位处理硬件资源有:1)位累加器CY;2)内部RAM位寻址区的128个可寻址位;3)专用寄存器的可寻址位(累加器位的表示应使用ACC,而不能用A,如:ACC.0);4)I/O口的可寻址位第三章80C51单片机指令系统第四章80C51汇编语言程序设计4.1
单片机程序设计语言概述4.2
汇编语言程序的基本结构形式4.380C51单片机汇编语言程序设计举例4.4
单片机汇编语言源程序的编辑和汇编4.580C51单片机汇编语言伪指令58程序设计基本概念标号、操作码、操作数、注解伪指令:ORG、DB、DW、EQU等程序状态字PSW常用程序结构:顺序结构、分支结构、循环结构顺序程序:直线程序分支程序:单重分支;多重分支(多次使用条件转移指令,地址表法,转移指令表法,通过堆栈操作)循环程序:由初始化、循环体、控制变量的修改、循环次数的控制4部分构成。其中循环次数有记数控制和特征标志控制两种。59第四章80C51汇编语言程序设计顺序结构程序是最简单的程序结构,也称直线程序。程序既无分支、循环,也不调用子程序,程序执行时一条接一条地按顺序执行指令,没有流程的转移。顺序结构……MOVP1,#00HMOVP1,#0FFHMOVP1,#1CH60第四章80C51汇编语言程序设计程序的分支是通过条件转移指令实现的。根据条件对程序执行中的状态进行判断,满足条件则进行转移,否则按顺序执行。分支结构也称为选择结构,它可分为单分支结构和多分支结构。分支结构61多分支程序结构单分支程序结构第四章80C51汇编语言程序设计循环结构62包含多次重复执行的程序段,循环结构使程序紧凑。程序循环是通过条件转移指令进行控制的,根据条件是否成立控制循环是否进行。循环程序通常由四个部分组成:1)循环准备:设置循环次数等参数;2)循环体:是要求重复执行的部分;3)循环修改:修改循环次数及有关变量参数等;4)循环控制部分:根据循环结束条件判断是否结束循环。第四章80C51汇编语言程序设计63循环程序的两种组织方式第四章80C51汇编语言程序设计64循环程序举例(数据串传送程序)把内部RAM中起始地址为data的数据串传送到外部RAM以buffer为首地址的区域,直到发现“$”字符的ASCII码为止;同时规定数据串的最大长度为32字节。 MOVR0,#data;data数据区起始地址
MOVDPTR,#buffer;buffer数据区起始地址 MOVR1,#20H;最大串长LOOP: MOVA,@R0;取数据 CLRC SUBBA,#24H;判断是否为“$”字符 JZLOOP1 MOVA,@R0;重新取数据 MOVX@DPTR,A;数据存入 INCDPTR INCR0 DJNZR1,LOOP;循环控制,(R1)-1R1,(R1)不为0转LOOP1:RET第四章80C51汇编语言程序设计65
MOVR5,#TIME
;单机器周期指令LOOP:NOP;单机器周期指令
NOP
DJNZR5,LOOP;双机器周期指令总延时时间(不计“MOVR5,#TIME”指令):4T机器×TIME
MOVR5,#TIME1LOOP2:MOVR4,#TIME2LOOP1:NOP NOP DJNZR4,LOOP1 DJNZR5,LOOP2 RET;双机器周期内循环LOOP1单次循环延时t1:4T机器外循环LOOP2单次循延时t2:T机器+
t1×TIME2+2T机器总延时(不计“MOVR5,#TIME1”):t2×TIME1+2T机器循环程序举例2—定时程序第四章80C51汇编语言程序设计第五章80C51单片机的中断与定时5.1
中断概述5.280C51单片机的中断系统5.380C51单片机的定时器/计数器665个中断源及其对应入口地址2个外部中断INT0、INT12个定时器溢出中断T0、T1串行中断RI/TI中断优先原则、中断嵌套分两个优先级(高级/低级)同级:INT0→T0→INT1→T1→RI/TI定时器/记数器的工作原理、4种工作方式及其应用方式2能自动重装初值方式0、1、3不能,必须需重装67第五章80C51单片机的中断与定时中断源68外部中断外部中断请求0(INT0),由P3.2引脚引入外部中断请求1(INT1),由P3.3引脚引入内部中断定时器/计数器T0溢出中断请求定时器/计数器T1溢出中断请求串行口发送/接收中断请求第五章80C51单片机的中断与定时中断向量69中断源中断向量外部中断0定时器0溢出外部中断1定时器1溢出串行发送中断串行接收中断0003H000BH0013H001BH
0023H0023H第五章80C51单片机的中断与定时中断控制的内容70(1)中断允许控制(2)中断请求控制(3)中断优先控制(4)外中断触发方式控制与中断系统相关的SFR中断允许控制寄存器IE:控制中断是否被允许定时器控制寄存器TCON:控制外中断的触发方式、外中断及定时器中断的标志位设置串行口控制寄存器SCON:控制串行口中断的工作方式及其标志设置中断优先级控制寄存器IP:控制各中断源的中断优先级别第五章80C51单片机的中断与定时中断优先级定义原则71(1)中断的轻重缓急程序(2)中断设备的工作速度(3)中断处理的工作量(4)中断请求发生的频繁程度中断响应的优先原则(1)低级中断可被高级中断所中断,反之不能(2)若某中断请求已被响应,则同级的中断服务将被禁止(3)相同级别的中断同时到来时,CPU按其中断入口地址的先后次序依次响应:外部中断0定时器0中断外部中断1定时器中断1串行中断例如:若设置IP=12H,则CPU响应中断的顺序如何?第五章80C51单片机的中断与定时二级中断嵌套72高优先级中断请求可打断低优先级中断服务,进行中断嵌套同优先级的中断不能嵌套低优先级中断请求不能对高优先级的中断进行嵌套第五章80C51单片机的中断与定时中断响应条件73(1)有中断请求;(2)CPU开放中断,即EA=1;(3)对应的中断源允许中断,即IE中相应的中断允许位为1;(4)无同级或高级中断正在服务;(5)现行指令执行结束;(6)当前执行的不是RETI或访问IE、IP的指令(这些指令执行完后必须至少再执行一条指令)。第五章80C51单片机的中断与定时74定时器方式选择寄存器TMOD(89H)
TMOD寄存器没有位地址,不能进行位寻址,只能由字节传送指令设置其内容。第五章80C51单片机的中断与定时75M1M0工作方式功能描述00方式013位计数器01方式116位计数器10方式2自动再装入8位计数器11方式3定时器0:TL0用于8位计数或8位定时,TH0只能作8位定时器定时器1:停止计数M1和M0控制的4种工作方式第五章80C51单片机的中断与定时工作方式0的主要特点7613位方式的定时或计数;两种启停控制方法:(1)纯软件方法:GATE=0,由TRx控制运行;(2)软硬件结合方法:GATE=1,由TRx和INTx引脚(高电平)共同控制运行;定时时间t、计数值N和计数初值X的关系:
N=213
-初值Xt=N×振荡周期×12=N×机器周期Tcy
t=(213-初值X)×振荡周期×12=(213-初值X)×机器周期Tcy最大计数值为:213=8192第五章80C51单片机的中断与定时应用举例77设单片机晶振频率为6MHz,使用定时器1以方式0产生周期为500μs的等宽正方波连续脉冲,并由P1.0输出。解:500μs等宽正方波脉冲P1.0端以250μs为周期交替输出等宽高低,故定时周期取为250μs。(1)TMOD寄存器初始化把定时器1设为方式0,则M1M0=00;为实现定时功能,应使C/T=0;由TR1位控制定时的启动和停止,应使GATE=0;故TMOD初始化为00H。(2)计算计数初值X
(213–X)×2μs=250μsX=8067=1111110000011B
将X高8位0FCH放入TH1,低5位03H放入TL1。第五章80C51单片机的中断与定时78(3)程序实现(查询方式)MOVTMOD,#00H;设置T1为工作方式0MOVTH1,#0FCH;设置计数初值MOVTL1,#03HMOVIE,#00H ;禁止中断SETBTR1 ;启动定时LOOP:JBCTF1,LOOP1;查询计数溢出AJMPLOOPLOOP1:MOVTH1,#0FCH;重新设置计数初值MOVTL1,#03H
CPLP1.0 ;输出取反AJMPLOOP ;重复循环
第五章80C51单片机的中断与定时79(4)程序实现(中断方式)
ORG0000HAJMPMAIN
ORG001BH
;定时器1中断的中断向量
AJMPT1PRO
ORG0030H ;主程序MAIN:MOVTMOD,#00H;设置T1为工作方式0MOVTH1,#0FCH;设置计数初值MOVTL1,#03HMOVIE,#88H;仅允许定时器1中断MOVIP,#00H;各中断均设为低优先级SETBTR1;启动定时SJMP$;等待中断T1PRO:MOVTH1,#0FCH;中断程序MOVTL1,#03H
CPLP1.0;输出取反RETI主程序中断服务程序第五章80C51单片机的中断与定时80(5)查询方式与中断方式的比较主程序中断服务程序查询方式中断方式第五章80C51单片机的中断与定时定时器工作方式1的电路逻辑结构及功能81M1M0=01,16位定时/计数器(TH0的8位和TL0的8位)逻辑电路和工作情况与方式0完全相同计数值的范围是1~65536(216)TL0(8位)第五章80C51单片机的中断与定时定时器工作方式2的电路逻辑结构82M1M0=10,自动重装8位定时/计数器TL作为计数器使用;TH作为预置寄存器,保存TL初值计数范围1~256(28)第五章80C51单片机的中断与定时循环定时应用83使用定时器0以工作方式2产生100μs定时,在P1.0输出周期为200μs的连续正方波脉冲。已知晶振频率为6MHz。(1)计算计数初值X
(28–X)×2μs=100μsX=206=0CEH
将0CEH分别装入TH0和TL0。(2)TMOD寄存器初始化把定时器0设为方式2,则M1M0=10;为实现定时功能,应使C/T=0;由TR0位控制定时的启动和停止,应使GATE=0;故TMOD初始化为02H。第五章80C51单片机的中断与定时84(3)程序实现(查询方式)MOVIE,#00H;禁止中断MOVTMOD,#02H;设置定时器0为方式2MOVTH0,#0CEH;保存计数初值MOVTL1,#0CEH;预置计数初值SETBTR0 ;启动定时LOOP:JBCTF0,LOOP1;查询计数溢出AJMPLOOPLOOP1:CPLP1.0 ;输出取反AJMPLOOP ;重复循环
第五章80C51单片机的中断与定时工作方式3下的定时器/计数器085TL0即可计数也可定时,与其它方式完全相同TH0只能定时,不能用外部控制门,且占用T1的资源TR1和TF1,有运行控制和溢出中断请求第五章80C51单片机的中断与定时工作方式3下的定时器/计数器186T1可以模式0~2定时或计数,但溢出无中断请求,且开关已经接通。常以模式2工作,作为串口的波特率发生器。第五章80C51单片机的中断与定时第六章单片机并行存储器扩展6.1单片机并行外扩展系统6.2
存储器分类6.3
存储器并行扩展6.480C51存储器系统的特点和使用方法87单片机并行扩展总线:AB、DB、CB并行扩展系统的芯片选取:线选法;译码法存储器并行扩展程序存储器并行扩展数据存储器并行扩展80C51存储器系统的特点4个物理存储空间3个逻辑存储空间80C51存储器的区分和衔接88第六章单片机并行存储器扩展80C51单片机并行扩展总线8980C51单片机并行扩展总线结构图以P0口的8位口线充当低8位地址线/数据线以P2口的口线作高8位地址线控制信号(ALE/PSEN/EA/RD/WR)16位地址总线第六章单片机并行存储器扩展片选技术90线选法寻址直接以位地址信号作为芯片的片选信号结构简单,但只适用于规模较小的单片机系统译码法寻址使用译码器对高位地址进行译码,以其译码输出作为扩展芯片的片选信号有效利用存储空间,适用于大容量、多芯片系统扩展第六章单片机并行存储器扩展91存储器扩展:地址线、数据线和控制信号线连接存储单元地址分析:8000H~87FFH(P2.6~P2.3均为0)P2.6~P2.3从0000~1111,则2716对应着16个地址区间线选法存在地址重叠问题程序存储器并行扩展第六章单片机并行存储器扩展92两片程序存储器扩展80C51ALEPSEN74LS373GP2.2~P2.0CEA10~A8O7~O0OE2716P0CEA10~A8O7~O0OE2716P2.7A7~A0A7~A0第六章单片机并行存储器扩展93数据存储器并行扩展第六章单片机并行存储器扩展80C51单片机存储器系统的特点94程序存储器和数据存储器并存内外存储器并存:4个物理存储空间;3个逻辑存储空间程序存储器地址具有连续性要求80C51存储器的4个物理存储空间和3个逻辑存储空间第六章单片机并行存储器扩展80C51单片机存储器的使用95存储空间的区分内部ROM与内部RAM的区分(MOVC/MOV)外部ROM与外部RAM的区分(MOVC/MOVX)内外RAM的区分(MOV/MOVX)内外程序存储器的衔接出于连续执行程序的需要,内外ROM采用统一连续编址第六章单片机并行存储器扩展第七章单片机并行I/O扩展7.1单片机I/O扩展基础知识7.2可编程并行接口芯片82557.3键盘接口技术7.4
LED显示器接口技术7.5打印机接口技术96接口的功能、编址方式、控制方式(无条件、查询、中断)通用并行接口芯片8255的结构、工作方式、编程内容和应用键盘接口技术LED显示器接口技术打印机接口技术97第七章单片机并行I/O扩展I/O接口电路的功能98速度协调外设间速度差异大,单片机以异步方式进行I/O操作利用接口电路产生状态信号或中断请求信号输出数据锁存数据总线隔离接口电路提供具有三态缓冲功能的三态缓冲电路数据转换信号的类型(数字/模拟)、电平(高/低)、格式(串行/并行)等的转换增强驱动能力第七章单片机并行I/O扩展I/O编址技术99统一编址方式I/O接口的寄存器与外扩展RAM存储器的存储单元同等对待,共同使用一个64KB的外扩展地址空间I/O也采用16位地址编址,使用RAM读/写指令进行I/O操作,增强了I/O操作功能大部分单片机(如80C51)采用该方式独立编址方式I/O与存储器分开进行编址存储器地址空间与I/O地址空间相互独立,增加了系统开销第七章单片机并行I/O扩展单片机I/O控制方式100无条件方式(同步程序传送)无需测试设备的状态,可根据需要随时进行I/O操作适用设备:1)具有常驻的或变化缓慢的数据信号的设备,如机械开关、指示灯等;2)工作速度非常快,足以和单片机同步工作的设备,如D/A转换器查询方式(有条件传送方式)要检测设备的状态,只有在确认设备已“准备好”的情况下,单片机才能执行I/O操作中断方式单片机等待通知(中断请求)的被动行为第七章单片机并行I/O扩展101口电路(3个8位口)A/B口:数据口C口:数据/控制口总线接口电路数据总线缓冲器:D0~D7读/写控制逻辑:CS,RD,
WR,A0、A1,RESETA组和B组控制电路存放编程命令和实现各口操作控制中断控制电路8255硬件逻辑结构第七章单片机并行I/O扩展102方式0(基本输入/输出方式)适用于无条件数据传送两个8位口(A/B口),两个4位口(C口高/低位部分)均可分别或同时设置为方式0方式0下4个口共有16种输入/输出组合方式1(选通输入/输出方式)适用于以查询或中断方式进行控制A/B口是数据口控制口C口用于传送和保存数据口所需要的联络信号8255工作方式第七章单片机并行I/O扩展103方式2(双向数据传送方式)适用于查询或中断方式的双向数据传送A口既能输入数据,也能输出数据A口为方式2,则B口只能工作于方式0C口位线方式1方式2输入输出输入输出PC7/OBFA/OBFAPC6/ACKA/ACKAPC5IBFAIBFAPC4/STBA/STBAPC3INTRAINTRAINTRAINTRAPC2/STBB/ACKBPC1IBFB/OBFBPC0INTRBINTRBC口联络信号定义第七章单片机并行I/O扩展键扫描和键码生成1048行×4列的矩阵键盘举例共有8条行线4条列线,在行线与列线交点处有1个键。键盘扫描示意图第七章单片机并行I/O扩展105键盘扫描为了识别键盘上被按下的键(闭合键),有(行)扫描法和线反转法两种方法可供选用,单片机中常用前种方法。软件方法键盘扫描是在扫描程序驱动下进行的,故扫描过程即扫描程序的执行过程,具体过程如下:1)判断有无闭合键:使行线输出口输出全0,若读回列线状态为全1,则没键按下,否则,有键按下。2)键盘扫描过程:依次使行线中每一条输出低电平,接着输入列线状态进行有无闭合键的判定。3)判断有无多个键被同时按下第七章单片机并行I/O扩展第八章单片机串行通信8.1串行通信基础知识8.280C51串行口8.380C51串行口工作方式8.4
串行通信数据传输速率8.5串行通信应用106串行通信的基本原理和基本方式(同步和异步)串行数据的传送方向:单工、半双工和全双工串行口控制寄存器SCON串行通信4种工作方式:传送位数、波特率串行通信的应用:双机通信、多机通信107第八章单片机串行通信计算机的数据传输方式108并行数据传输串行数据传输(异步/同步)原理各数据位同时传输数据位按位顺序进行优点传输速度快,效率高最少只需一根传输线:成本低缺点数据位数传输线根数:成本高速度慢应用传递距离<30m,用于计算机内部远距离数据传输并行通信串行通信第八章单片机串行通信串行通信线路形式109单工通信(数据单向传送)半双工通信(数据可分时双向传送)全双工通信(可同时进行发送和接收)第八章单片机串行通信异步串行通信110定义:以字符为单位的间歇传输形式信息的两种状态:mark(逻辑1)/space(逻辑0)字符格式(帧格式):起始位(space状态)+数据位(5~8位)+奇偶校验位(奇/偶校验)+停止位(mark状态)连续/断续的异步串行通信第八章单片机串行通信同步串行通信111定义:以一串字符为一个传送单位,字符间不加标识位,在一串字符开始用同步字符标识,硬件要求高,通讯双方须严格同步数据格式:1)仅在数据块传输开始时使用同步字符串;2)数据字符间不允许有间隔;3)数据块内各字符的格式必须相同应用场合:数据量大、对速度要求比较高的串行通信场合第八章单片机串行通信串行口控制机制112串行口控制寄存器SCON(98H)第八章单片机串行通信80C51串行口的4种工作方式113SM0/SM1方式功能简述发送端接收端波特率0008位同步移位寄存器方式:接移位寄存器,扩充并口RXDRXDfOSC/1201110位异步串行通信方式:双机通信TXDRXD可变10211位异步串行通信方式:多机通信TXDRXDfOSC/32或fOSC/6411311位异步串行通信方式:多机通信TXDRXD可变第八章单片机串行通信串行口工作方式的帧格式114方式0(8位数据)方式1(1个起始位+8位数据+1个停止位)方式2和方式3(1个起始位+8位数据+1个附加第9位+1个停止位)第八章单片机串行通信传输速率的表示方法115与传输速率有关的术语波特(Baud):1波特=每秒1次的信号变化波特率(BaudRate):每秒事件发生的数目或信号变化次数比特率(BitRate):每秒传输的二进制数的位数单片机中使用的波特率
1波特=1b/s(位/秒)
RS-232-C中规定允许的波特率为50~19200b/s第八章单片机串行通信80C51的波特率设置116串行工作方式0的波特率=fOSC/12串行工作方式2的波特率=
fOSC×2smod/64
第八章单片机串行通信117串行工作方式1和方式3的波特率
假定定时器T1的计数初值为X,则计数器溢出周期(溢出率的倒数)为:(12/fOSC)
×(256
-X),故
第八章单片机串行通信第九章单片机串行扩展9.1单片机串行扩展概述9.2I2C总线9.3单片机8×C552的I2C总线9.4单片机8×C552的串行扩展9.5单片机80C51的串行扩展118单片机串行扩展实现方法专用串行标准总线方法串行通信口UART方法软件模拟方式I2C总线的结构和数据传输方式(主发送方式、主接收方式、从发送方式、从接收方式)119第九章单片机串行扩展单片机串行扩展实现方法120专用串行标准总线方法SPI总线(Motorola)USB总线(Intel)ACCESS总线(DEC)I2C总线(Philips)串行通信口UART方法串行通信口UART的工作方式0软件模拟方式通过对并行口线的软件模拟第九章单片机串行扩展I2C总线结构121I2C总线是一种具有自动寻址、高低速设备同步和仲裁等功能的高性能串行总线由串行时钟线(SerialClockLine,SCL)和串行数据线(SerialDataLine,SDA)构成的双向数据传输通路第九章单片机串行扩展122基本数据传输格式(高位在前,低位在后)I2C总线数据传输方式总线空闲主控器件发出启动信号启动数据传输寻址字节:7位从地址(SLA)+1位方向位(R/W)其他各器件比较从地址,若相同,则返回应答信号数据传输:8位数据+1个应答主控器件发出停止信号第九章单片机串行扩展123主发送方式主发送方式是指主控器件向被控的从器件发送数据。主发送方式的数据传输格式如下图所示:第九章单片机串行扩展124主接收方式主接收方式是指主控器件接收被控从器件发送来的数据,其数据传输格式如下图所示:第九章单片机串行扩展第十章单片机A/D及D/A转换接口10.1单片机测控系统与模拟输入通道10.2A/D转换器接口10.3D/A转换器接口10.4A/D与D/A转换器芯片的串行接口125单片机测控系统的组成A/D转换原理ADC0809的内部结构及管脚、转换数据传送方式及对应接口图和程序DAC0832内部结构、管脚、3种数据输入形式(双锁存、单级锁存、直接输入)126第十章单片机A/D及D/A转换接口单片机测控系统12710.1单片机测控系统与模拟输入通道“测”:实时采集被控对象的物理参量(温度、压力、流量、速度和转速等)“控”:把采集的数据经单片机计算、比较等处理后得出结论,以对被控对象实施校正控制模拟输入通道12810.1单片机测控系统与模拟输入通道信号流程:采集信号放大采样/保持滤波传感器、放大器、采样/保持电路、滤波器和多路开关的功能A/D转换芯片类型(按转换原理分)12910.2A/D转换器接口积分型A/D转换器(双斜率或多斜率A/D转换器)精度高、抗干扰能力强应用场合:转换速度要求不高,环境恶劣逐次逼近型A/D转换器原理简单、便于实现,不存在时间延迟问题应用场合:中等速度,分辨率要求较高闪烁型A/D转换器速度快、功耗大、电路复杂、芯片尺寸较大∑-△型A/D转换器(过采样A/D转换器)分辨率高、价格便宜、抗干扰能力强输入电压信号形式13010.2A/D转换器接口单极性电压信号允许电压变化范围:0~+5V或0~+10V或0~+20V双极性电压信号输入电压可正可负差分信号(VIN+和VIN-)电压变化范围:±2V、±4V、±5V、±10V等A/D转换器分辨率定义:对输入电压信号变化的分辨能力影响因素:A/D转换器位数越多,分辨率越小,分辨能力越强输出二进制代码形式13110.2A/D转换器接口二进制码A/D转换芯片位数:8位、10位、12位、14位、16位、20位、24位等BCD码A/D转换芯片典型应用:数字电压表位数:3位半()、4位半()和5位半()等3位半的含义4组BCD码(每组4位)分别表示十进制的千位、百位、十位和个位(百/十/个位能表示0~9)千位只用最低位二进制数表示数字(0或1),剩余的高3位用来表示正负或欠量程/过量程等标志转换结束和数据读取13210.2A/D转换器接口定时等待方式某A/D转换芯片,其转换时间是已知且固定的用延时方法等待转换结束查询方式A/D转换芯片提供表明转换完成的状态信号中断方式表明转换是否完成的状态信号都可作为中断请求信号使用8位A/D转换芯片与80C51接口13310.2A/D转换器接口ADC0809逐次逼近型A/D转换芯片内部逻辑结构134ADC0809与80C51接口10.2A/D转换器接口ADC0809与80C51的连接8路模拟通道选择模拟通道选择信号A、B、C分别接最低三位地址A0~A2(P0.0~P0.2),地址锁存允许信号ALE由P2.0控制;8路模拟通道地址为FEF8H~FEFFH;通道地址选择以WR作写选通信号。13510.2A/D转换器接口ADC0809信号的时间配合ADC0809信号的时间配合执行一条“MOVX@DPTR,A”指令,产生WR信号;ALE信号与START信号连接在一起,前沿写入(锁存)通道地址,后沿就启动转换。转换数据的传送方式1)定时传送方式
2)查询方式(查询转换结束信号EOC的状态)
3)中断方式:以EOC作为中断请求信号
汪霖西北大学信息学院Email:wanglin@单片机原理与应用复习第一章计算机基础知识第二章80C51单片机的硬件结构第三章80C51单片机指令系统第四章80C51单片机汇编语言程序设计第五章80C51单片机的中断和定时1复习第六章单片机并行存储器扩展第七章单片机并行IO扩展第八章单片机串行通信第九章单片机串行扩展第十章单片机A/D及D/A转换接口2第一章计算机基础知识1.1二进制数及其在计算机中的使用1.2二进制数的算术运算和逻辑运算1.3供程序设计使用的其他进制数1.4
计算机中使用的编码1.5
微型计算机概述3常用数制(十进制/二进制/十六进制)及其相互转换符号数/无符号数,原码/反码/补码二进制的算术运算(加/减/乘/除)和逻辑运算(或/与/非/异或)计算机中使用的编码:BCD码/ASCII码第一章计算机基础知识4常用的进位计数制第一章计算机基础知识进制符号集基数及规则一般表达式十进制ND{0,1,2,3,4,5,6,7,8,9}10(逢十进一)二进制NB{0,1}2(逢二进一)十六进制NH{0~9,A,B,C,D,E,F}16(逢十六进一)5不同数制间的转换6
二进制/十六进制→十进制规则:先按权展开后,再按照十进制运算法则求和
二进制→十六进制(十六进制→二进制)规则:24=16,4位二进制数对应1位十六进制数第一章计算机基础知识7十进制→二进制/十六进制(1)整数转换法:“除基取余”,将十进制整数不断除以转换进制基数(2或16),直至商为0。每除一次取一个余数,从低位排向高位。25=11001B将25转换为二进制数将156转换为十六进制数156=9CH第一章计算机基础知识8十进制→二进制/十六进制(2)小数转换法:“乘基取整”:用转换进制的基数(2或16)乘以小数部分,直至小数为0或达到转换精度要求的位数。每乘一次取一次整数,从最高位排到最低位。将0.625转换为二进制数将0.359375转换为十六进制数0.625=0.101B0.359375=0.5CH第一章计算机基础知识带符号数的表示方法9
机器中,数的符号用“0”、“1”表示。最高位作符号位,“0”表示“+”,“1”表示“-”。在计算机中,所有有符号数都是以补码形式存放的。第一章计算机基础知识
无符号的8位二进制数没有符号位,从D7~D0皆为数值位,所以8位无符号二进制数的表示范围是0~+255。无符号数的表示方法原码、反码和补码第一章计算机基础知识表示方法符号数(最高位)数值位表示范围(8位)正数负数正数负数原码01与真值数值位相同与真值数值位相同-127~+127反码原码数值位逐位求反-127~+127补码原码数值求反加1-128~+12710二进制算术运算
加法、减法、乘法、除法
11第一章计算机基础知识二进制逻辑运算
逻辑“或”运算
逻辑“与”运算
逻辑“非”运算
逻辑“异或”运算上述二进制逻辑运算均可按位进行,不同位之间不发生任何联系。BCD码(二-十进制编码)12
BCD(BinaryCodedDecimal)码是一种二进制形式的十进制码,它用4位二进制数表示1位十进制数,最常用的是8421BCD码。第一章计算机基础知识ASCII码美国信息交换标准代码(ASCII码)由7位二进制数码构成,共有128个字符,它主要用于微机与外设通信。“A”=41H“0”=30H“a”=61H第二章80C51单片机的硬件结构2.1单片机的概念2.280C51单片机的逻辑结构及信号引脚2.380C51单片机的内部存储器2.480C51单片机的并行I/O口2.580C51单片机的时钟与定时2.6
80C51单片机的系统复位2.7
单片机
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二四年度广告拍摄合同标的创意方向2篇
- 绿化工程绿化养护与管理情况
- 大家电行业发展趋势
- AIGC行业目标市场分析
- 2024年前台接待岗位协议规范3篇
- 2024年物业管理和服务合同3篇
- 2024年度供应链管理合同:原材料采购与销售3篇
- 2024年度国际品牌授权与合作合同3篇
- 2024年版:人防工程质量保证协议2篇
- 湖州学院《护理整合案例》2022-2023学年第一学期期末试卷
- 2024-2030年中国铼行业供需趋势及发展规模分析报告
- 2024-2030年中国铍行业供需状况发展策略研究报告
- 2024-2030年中国浮法玻璃行业发展前景与投资动态分析报告
- 2024-2030年中国智能建筑行业发展分析及投资经营模式研究报告
- 2024年秋新人教版7年级上册语文教学课件 第5单元19《大雁归来》
- 北京市丰台区怡海中学2024-2025学年高三上学期11月期中英语试题(含解析)
- 慢性肾衰竭病人的护理查房
- 三级入场教育培训
- 电子商务运营流程详解作业指导书
- 心肺复苏培训课件
- 小学劳动教育一年级下册第二单元第3课《削果皮》课件
评论
0/150
提交评论