1【8051单片机的基本组成】(1)8位的8051微处理器(CPU=运算器+控制器)、寄存器(2)片内256字节数据存储器RAM/SFR,存放可读写的数据(3)片内4KB程序存储器FlashROM,存放程序和原始数据表格(4)4个8位并行I/O端口P0~P3,可作输入输出(5)2个16为定时器/计数器,都可设计成计数或定时方式(6)5个中断源,2个中断优先级的中断控制系统(7)1个全双工UART(通用异步接受发送器)的串行I/O口,实现单片机和单片机或PC机之间的串行通信(8)片内振荡器和时钟产生电路,最高震荡频率24MHz。能画出最小系统电路图。(9)CPU+ROM/RAM+I/O接口+实时控制器件=单片机【控制信号引脚RST、ALE、和】(1)RST复位信号输入端,高电平有效。当输入端保持两个机器周高电平时完成复位操作。复位后,SP=07HP0~P3=FFH,其他寄存器一般为0(2)ALE/地址锁存信号端。8051上电正常工作后,ALE引脚不断向外输出正脉冲信号,此频率为振荡器频率fOSC的1/6。CPU访问片外存储器时,ALE输出信号作为锁存低8位地址的控制信号。如果想确认8051芯片的好坏,可用示波器查看ALE端是否有脉冲信号输出。(3)程序存储允许输出信号端。(4)/VPP外部程序存储器地址允许输入端/固化编程电压输入端【8051单片机的存储器配置】51单片机内部采用哈佛结构,与冯·诺依曼结构(又叫普林斯顿结构如8086芯片)的区别四个物理存储器(片内ROM/RAM、片外ROM/RAM)地址空间:(1)片内片外统一编址0000H~FFFFH的64KB程序存储器地址空间(用16位地址)(2)64KB片外数据存储器地址空间,地址也从0000H~FFFFH(用16位地址)编址(3)256字节数据存储器地址空间(用8位地址),低128字节空间按功能划分为,工作寄存器区、位寻址区、数据缓冲区3个区域,它们的地址范围分别为00H-1FH、20H-2FH、30H-7FH【RS0、RS1的组合关系】RS1RS0寄存器组片内RAM地址00第0组R0~R700H~07H01第1组R0~R708H~0FH10第2组R0~R710H~17H11第3组R0~R718H~1FH【访问片外ROM(RAM)的连接方法与地址计算】【两个16位寄存器】8051P1P3P0P2EA——ALEPSEN—————OE———地址指令片外程序存储器74HC373提示:该技术正淡出中…地址计算题在早期试卷中才能见到了要求:会计算某组Rx的实际字节地址,或者一个实际地址对应的Rx,或者超界2DPTR是唯一的用户可访问修改的16位特殊功能寄存器,其高位字节寄存器用DPH表示(83H)低位字节寄存器用DPL表示(82H)。DPTR既可作为16位寄存器来处理,也可作两个独立的8位寄存器DPH和DPL使用。主要用于存放16位地址,以便对64KB片外RAM作间接寻址。PC是16位程序计数器。PC实际上是程序的字节地址计数器,即PC中的内容是将要执行的下一条指令的地址,通过转移指令可改变PC的内容,就能改变程序执行方向。用户不能直接对PC赋值或修改。【基本时序定时单位】提示:fOSC=12MHz对应1µs机器周期]振荡周期:晶振的振荡周期,为最小的时序单位。等于1/fOSC状态周期:震荡频率经单片机内的二分频器分频后提供给片内CPU的时钟周期机器周期:计算机执行一种基本操作的时间单位。1个机器周期=6个状态周期=12个振荡周期指令周期:执行一条指令所需的时间,可以查询指令表得知,介于1~4个机器周期之中。【访问片内片外RAM的不同】指令MOVX读写片外RAM地址,MOV读写片内RAM地址,所以片内片外RAM地址重叠也不会导致分不清片内外RAM。指令举例:MOVXA,@DPTRMOVX@DPTR,AMOVA,@R0MOV30H,A【复位操作】RST引脚上有一个高电平并维持2个机器周期,则CPU就可以响应并将系统复位。复位的主要功能是把PC初始化为0000H。RST引脚是复位信号的输入端,复位信号高电平有效,其有效时间应持续24个振荡周期以上。复位电路有上电自动复位和手动复位。【简述输入输出端口P0~P3】这4个口既可以并行输入或输出8位数据,又可以按位使用,即每1位均能独立作输入或输出用。P0口是一个三态双向口,是地址/数据分时复用口,也是通用I/O接口。P0口作为通用I/O口使用时,是准双向口。输入数据时,应先人为地把口置1(写1,使场效应管V1和V2截止),才可作高阻输入P1口为准双向口,只有通用I/O接口一种功能。P2口也是准双向口,它具有通用I/O接口或高8位地址总线输出两种功能。P3口除了可作为通用准双向I/O接口外,每一根口线还具有第二功能。【指令系统】51系列单片机有7种寻址方式:立即寻址、寄存器寻址、寄存器间接寻址、直接寻址、基址寄存器加变址寄存器间接寻址、相对寻址和位寻址。例题:写出单片机所有寻址方式并各举一个例子。部分指令的英文含义帮助记忆:增量INC-Incremect减量DEC-Decrement空操作NOP-Nooperation短转移SJMP-Shortjump长转移LJMP-Longjump绝对转移AJMP-Absolutejump比较转移CJNE-Comparejumpnotequality条件转移JNZ-JumpNoZero自减一不为零转移DJNZ-DecrementJumpNoZero位转移JNC-JumpNoCyJNB-JumpNobit左环移RL-Rotateleft进位左环移RLC-Rotateleftcarry交换XCH-Exchange右环移RR-Rotateright进位右环移RRC-Rotaterightcarry;加法ADD-Addition乘法MUL-Multiplication除法DIV-Division记住MULAB与DIVAB结果的存放位置【伪指令】:不要求计算机做任何操作,也没有对应的机器码,不产生目标程序,仅存在于源程序中,不影响程序的执行,仅仅是一些能够帮助进行汇编的指令。它主要用来指定程序或数据的起始位置,给出一些连续存放数据的地址,为中间运算结果保留一部分存储空间,以及表示源程序结束等。能识别能写出几个。【ASCII码】记住“0”=30H,“A”=41H,“a”=61H,例题:字符“G”的ASCII码是()。【BCD码】就是十进制数,BCD码调整指令DAA。知道BCD码与十六进制数的区别。概念解释:【中断】【中断源】【中断优先级】【保护现场恢复现场】。【外部中断】51单片机外部中断请求信号有电平方式和脉冲方式,在电平方式下,当采集到INT0(P3.2)、3INT1(P3.3)的有效信号为低电平时,激活外部中断。【中断矢量地址表】中断源中断服务程序入口地址外部中断0()0003H定时器/计数器0溢出000BH外部中断1()0013H定时器/计数器1溢出001BH串行口0023H【中断允许寄存器IE各位含义】(1)EA:中断允许总控制位。EA=0,屏蔽所有中断请求;EA=1,CPU开放中断。对各中断源的中断请求是否允许,还要取决于各中断源的中断允许控制位的状态。(2)ES:串行口中断允许位。ES=0禁止串行口中断;ES=1,允许串行口中断。(3)ET1:定时器/计数器T1的溢出中断允许位。ET1=0,禁止T1中断;ET1=1,允许T1中断。(4)EX1外部中断1中断允许位。EX1=0,禁止外部中断1中断;EX1=1,允许外部中断1中断。(5)ET0:定时器/计数器T0的溢出中断允许位。ET0=0,禁止T0中断;ET0=1,允许T0中断。(6)EX0外部中断0中断允许位。EX0=0,禁止外部中断0中断;EX0=1,允许外部中断0中断。【中断的自然优先级顺序,提高某一中断源的优先级别】中断源(控制位)自然优先级:注意是PX0,不是EX0在IP中若设置某几个控制位为1,则相应的中断源就规定为高级中断;反之,若某几个控制位为0,则相应的中断源就规定为低级中断。当同时接收到几个同一优先级的中断请求时,响应哪个中断源则取决于内部硬件查询顺序(即自然优先级)。设置IE和IP可以开放指定中断及设置响应顺序。【如何实现中断嵌套】当CPU正在处理一个中断请求时,又出现了另一个优先级比它高的中断请求,这时CPU就暂时中止执行对原来优先级较低的中断源的服务程序,保护当前断点,转去响应优先级更高的中断请求,并为其服务。待服务结束,再继续执行原来较低级的中断服务程序。【中断响应条件】(1)有中断源发出中断请求(2)中断总允许位EA=1,即CPU开中断(3)申请中断的中断源的中断允许位为1,即中断没有被屏蔽(4)无同级或更高级中断正在被服务(5)当前的指令周期已经结束(6)若现行指令为RETI或者是访问IE或IP指令,则该指令以及紧接着的另一条指令已经执行完【中断主程序的起始地址】8051系列单片机复位后,(PC)=0000H,而0003H~002BH分别为各中断源的入口地址。所以,编程时应在0000H处写一跳转指令,使CPU在执行程序时,从0000H跳过各中断源的入口地址。主程序则是以跳转的目标地址作为起始地址开始编写的,一般从0030H开始。见下面中断程序格式题例子。简答题例子:(1)为什么ROM开头要放一条跳转指令。(2)为什么要把主程序放在ROM30H之后。【定时/计数】【定时器中工作模式寄存器TMOD各位功能】(1)M1和M0操作模式控制位。形成4种代码。例题:解释定时器/计算器四种工作模式的特点。最高外部中断0(PX0)|定时器/计数器0溢出中断(PT0)|外部中断1(PX1)↓定时器/计数器1溢出中断(PT1)最低串行口中断(PS)4M1M0工作模式功能描述00模式013位计数器01模式116位计数器10模式2自动再装入8位计数器11模式3定时器0:分成2个8位计数器。定时器1:停止计数(2)C/:定时器/计数器方式选择位C/=0,设置为定时方式。定时器计数8051片内脉冲,即对机器周期(振荡周期12倍)计数。C/=1,设置为计数方式。计数器的输入是来自T0(P3.4)或T1(P3.5)端的外部脉冲。(3)GATE:门控位。GATE=0时,只要用软件使TR0(或TR1)置1,就可以启动定时器,而不管(或)的电平是高还是低。GATE=1时,只有(或)引脚为高电平且由软件使TR0(或TR1)置1时,才能启动定时器工作。请查定时器工作原理图。【定时/计数初值X的计算】【务必掌握】定时器初值X=定时器的工作方式模值M-定时时间t/机器周期数T。在方式1时M为2^16=65536;在方式2和方式3时M为2^8=256;M在方式0时M为2^13【定时器在何种设置下可提供3个8位定时器/计数器】当T0为模式3,T1为模式2时,可提供3个8位定时器【串口通信】【异步通信的信息格式及每位含义】单片机8051具有并行通信和串行通信两种通信方式。串行通信有同步通信和异步通信两种通信方式。异步通信的特点是以字符为单位进行传输,异步串行通信有单工、半双工和全双工共三种传送方向形式。在异步通信中,数据的帧格式定义一个字符由4部分组成,即:起始位、数据位、奇偶校验位和停止位。停止位是高电位,提高抗干扰能力。【串行口控制寄存器SCON】可以设置串行口的4种工作方式,方式0和方式2的波特率是固定的,方式0不用于通信,而方式1和方式3的波特率是可变的,常用于通信。例题:解释串口四种工作方式的特点。【定时器模式与串口方式的关系】8051的T1的模式2常作为串行口方式1和方式3的波特率发生器。例题:解释定时器/计数器四种工作模式与串口四种工作方式的联系。【波特率】数据传送速率,每秒传送二进制代码的位数,用bps表示。解释【SBUF】【略】【波特率计算】【务必掌握】串行口方式1和方式3的波特率=(1+SMOD)*fosc/[384*(256-TH1)]下图不要求背,但是各位的含义要记得住:【三道计算题:延时时间、定时初值、串口波特率务必掌握】【例题见本站