《自动控制》PPT课件

上传人:san****019 文档编号:16137157 上传时间:2020-09-20 格式:PPT 页数:103 大小:2.50MB
返回 下载 相关 举报
《自动控制》PPT课件_第1页
第1页 / 共103页
《自动控制》PPT课件_第2页
第2页 / 共103页
《自动控制》PPT课件_第3页
第3页 / 共103页
点击查看更多>>
资源描述
本章要点: 1) MCS-51单片机的基本结构:CPU(运算器和控制器以及定时控制部件和时序)、输入输出端口结构及负载能力和接口要求 、MCS-5l引脚及功能 。 2) MCS-51的存储器结构 :程序存储器、数据存储器的分布和使用。 3)专用功能寄存器SFR :重点掌握程序状态寄存器的使用。 4) 单片机的工作方式与最小应用系统 :单片机的工作方式(复位方式)、单片机最小应用系统设计,第二章 MCS-51单片机的基本结构及工作原理,MCS-51系列单片机配置一览表,一、MCS-51内部结构,图21 8051的功能部件图,二 CPU,主要功能:产生各种控制信号,去控制存储器、输入输出端口的数据传送、数据的算术运算、逻辑运算以及位操作处理等。,(一)运算器 组成:运算器由算逻运算部件ALU、累加器Acc、暂存器、程序状态字寄存器PSW、BCD码运算调整电路等组成 。实现+、算术运算,与、或、非、异或 逻辑运算、循环移位、位处理。,(二)控制器 组成:由程序计数器PC、指令寄存器、指令译码器、数据指针DPTR、定时控制与条件转移逻辑电路等组成。 功能:对来自存储器中的指令进行译码,通过定时控制电路,在规定的时刻发出各种操作所需的全部内部和外部控制信号,协调各功能元件的工作,完成指令所规定的功能。,它是16位的按机器周期自动增1计数器,一切分支/跳转/调用/中断/复位 等操作的本质就是:改变 PC 值,总指向下一条指令所在首地址(当前PC值),1程序计数器PC(Program Counter) 一个16位的专用寄存器,用来存放下一条指令的地址。它具有自动加1的功能。,特点:,2指令寄存器IR 一个8位的寄存器,用于暂存待执行的指令,等待译码。 3指令译码器 ID 对指令寄存器中的指令进行译码,分析它的功能,并根据功能产生相应的电信号。 4数据指针DPTR 是一个16位的专用地址指针寄存器。它主要用来存放16位地址,作间址寄存器使用。DPTR也可以拆成两个独立8位寄存器,即DPH(高8位字节)和DPL(低8位字节),分别占据83H和82H两个地址。,5.定时控制部件与时序,功能:在规定的时刻发出各种操作所需的全部内部和外部的控制信号,协调各功能元件工作,完成指令所规定的功能。 主要任务:产生一个工作时序,其工作需要时钟电路提供一个工作频率。,单片机的引脚定义,从一片集成电路的角度去认识单片机,认识单片机的引脚,MCS-51单片机40脚 Vcc, GND 2 XTAL1, XTAL2 2 RESET 1 EA/Vpp 1 ALE/PROG 1 PSEN 1,P0.0P0.7 8 P1.0P1.7 8 P2.0P2.7 8 P3.0P3.7 8,单片机的引脚(电源端),Vcc, GND: 正电源端与接地端(+5V/3.3V/2.7V) 不同的单片机可以允许不同的工作电压,不同的单片机表现出的功耗也不同。,单片机的引脚(晶振端),Vcc, GND: 正电源端与接地端(+5V/3.3V/2.7V) 不同的单片机可以允许不同的工作电压,不同的单片机表现出的功耗也不同。,XTAL1, XTAL2: 片内振荡电路输入/输出端 两端跨接晶体或陶瓷谐振器,与单片机内部反相器构成稳定的自激振荡器。发出的脉冲直接送入片内定时控制部件。,单片机的引脚(晶振端),Vcc, GND:正电源端与接地端 (+5V/3.3V/2.7V) XTAL1, XTAL2: 片内振荡电路输入/输出端,112MHz(MCS-51),1030pf,XTAL1,XTAL2,通常外接一个晶振两个电容,XTAL1,XTAL2,外部时钟,VCC,8051,XTAL2,XTAL1,外部时钟,80C51,NC,单片机的引脚(晶振端),Vcc, GND:正电源端与接地端(+5V/3.3V/2.7V) XTAL1, XTAL2: 片内振荡电路输入、输出端,CPU总是按照一定的时钟节拍与时序工作:,振荡周期/时钟周期: 晶振频率fosc(或外加频率)的倒数 状态周期:2个时钟周期(很少用到此概念) 机器周期:6个状态周期=12个振荡周期 指令周期: 执行一条指令所需的机器周期数,牢牢记住: 振荡周期 = 晶振频率fosc的倒数;,1个机器周期 = 12个振荡周期;,1个指令周期 = 1、2、4个机器周期,单片机的引脚(复位端),Vcc, GND: 电源端 (+5V/3.3V/2.7V) XTAL1, XTAL2: 片内振荡电路输入、输出端 RESET: 复位端(正脉冲有效,宽度8 mS),复位使单片机进入某种确定的初始状态: PC值归零(0000H); 各个SFR被赋予初始值(见P.3233): P0P3 = 0FFH,Acc = 0,B = 0,TH0=0,TL0=0,TH1=0,TL1=0,SP=7,PSW=0 退出处于节电工作方式的停顿状态、退出一切程序进程、退出程序的死循环,从头开始。,单片机的引脚(复位端),Vcc, GND: 电源端 (+5V/3.3V/2.7V) XTAL1, XTAL2: 片内振荡电路输入、输出端 RESET: 复位端(正脉冲有效,宽度8 mS),PC与SFR复位状态表,单片机的引脚(复位端),Vcc, GND: 电源端 (+5V/3.3V/2.7V) XTAL1, XTAL2: 片内振荡电路输入、输出端 RESET: 复位端 (正脉冲有效)电容充电过程,程序运行监视复位 程序运行监视复位通常是由各种类型的程序监视定时器WDT(Watchdog Timer)俗称为“看门狗”实现。WDT可保证程序非正常运行(如程序“飞逸”、“死机”)时,能及时进入复位状态,恢复程序正常运行.(如监控芯片MAX813L),图2-11 自动复位电路,原理为:程序运行正常时,单片机通过I/O在A端施加一个按一定周期T变化的信号,两个延时元件均达不到延时时间输出低电平,“或门”输出为“0”,不使单片机复位,当程序出现“飞逸”或“死机”时,加在A端的电平停止变化,不论是高电平还是低电平,均有一个延时元件经一定延时后输出高电平,通过“或门”起动单稳触发器,强迫单片机复位。,Vcc, GND: 电源端 (+5V/3.3V/2.7V) XTAL1, XTAL2: 片内振荡电路输入、输出端 RESET: 复位端 (正脉冲有效,宽度8 mS) EA/Vpp: 寻址外部ROM控制端/编程电源输入端。 低电平有效,片内无ROM时必须接地; 片内有ROM时可以接高电平, 也可以接低电平; 对片内ROM编程时编程正电源加到此端。如:对含有EPROM的8751,在对EPROM编程期间,此引脚用于施加21V的编程电压Vpp。,单片机的引脚(ALE端),Vcc, GND: 电源端 (+5V/3.3V/2.7V) XTAL1, XTAL2: 片内振荡电路输入、输出端 RESET: 复位端 (正脉冲有效,宽度8 mS) EA/Vpp: 寻址外部ROM控制端/编程电源输入端。 ALE/PROG: 地址锁存允许/编程脉冲输入端。 P0口寻址外部低8位地址时接外部锁存器 G端; ALE端平时会输出周期正脉冲:f fosc/6 ; 对片内ROM编程时编程脉冲由此端加入。,单片机的引脚(PSEN端),PSEN:寻址外部程序存储器时,选通外部EPROM的读控制端(OE)低有效。,注意:,CPU从片外ROM取指令期间,每个机器周期PSEN两次有效。而在访问片外RAM时,这两次有效的PSEN信号将不会出现。,对片外RAM读和写控制(即访问控制),由RD(读选通 P3.7)和WR(写选通 P3.6) 来。(第五章系统扩展),单片机,锁存器74LS373,P0.0-P0.7,ALE,PSEN,P2.0-P2.4,8D,8Q,OE,A8-A12,A0-A7,D0-D7,G,EA,OE,CE,EPROM,单片机的引脚(PSEN端),单片机的I/O引脚结构,众多功能各异的I/O引脚源于它结构的不同,单片机的引脚(P1口),P1.0P1.7: 准双向I/O口(内置了上拉电阻) 输出时一切照常,仅在作输入口用时要先对其 写“1”。,2,1,D,Q,CK,/Q,读引脚,读锁存器,写锁存器,内部总线,Vcc,引脚P1.X,内部上拉电阻,2,1,D,Q,CK,/Q,读引脚,读锁存器,写锁存器,内部总线,Vcc,引脚P1.X,内部上拉电阻,输出数据 = 1 时,1,1,0,截止,=1,单片机的引脚(P1口),P1.0P1.7: 准双向I/O口(内置了上拉电阻) 输出时一切照常,仅在作输入口用时要先对其 写“1”。,2,1,D,Q,CK,/Q,读引脚,读锁存器,写锁存器,内部总线,Vcc,引脚P1.X,内部上拉电阻,输出数据 = 0 时,0,0,1,=0,导通,单片机的引脚(P1口),P1.0P1.7: 准双向I/O口(内置了上拉电阻) 输出时一切照常,仅在作输入口用时要先 对其写“1”。,2,1,D,Q,CK,/Q,读引脚 =1,读锁存器,写锁存器,内部总线,Vcc,引脚P1.X,内部上拉电阻,输入数据时,要先对其写“1”,1,1,0,截止,单片机的引脚(P1口),P1.0P1.7: 准双向I/O口(内置了上拉电阻) 输出时一切照常,仅在作输入口用时要先对其 写“1”。,简单测控实例原理图,P1.3作输入端口,光路通畅,R亮2K 光路阻断,R暗 400K ,R亮 250K ,JOB3: CLR P1.1 ;亮绿灯 REDO: SETB P1.3 ;P1.3作输入口必先置1 CHECK:JNB P1.3,CHECK ;检测通道是否被阻断 LOOP: ;有入侵者,报警! AJMP REDO ;再跳回去检测,红外防盗报警,P1.3口用于输入状态检测的语句:,红外线光路通畅时,P1.3端低电平 红外线光路阻断时,P1.3端高电平,单片机的引脚(P0口),P0.0P0.7: 准双向I/O (内置场效应管上拉) 寻址外部存储器时分时作为双向8位数据口和输出低8位地址复用口;不接存储器时可作为8位准双向I/O口使用。,2,1,D,Q,CK,/Q,读引脚,读锁存器,写锁存器,内部总线,地址/数据,控制,引脚P0.X,3,4,Vcc,2,1,D,Q,CK,/Q,读引脚 =1,读锁存器,写锁存器,内部总线,地址/数据,控制,引脚P0.X,3,4,控制=0 时,此脚作输入口(事先必须对它写“1”),0,0,1,0,0,截止,截止,=0,Vcc,单片机的引脚(P0口),P0.0P0.7: 准双向I/O (内置场效应管上拉) 寻址外部存储器时分时作为双向8位数据口和输出低8位地址复用口;不接外部存储器时可作为8位准双向I/O口使用。,2,1,D,Q,CK,/Q,读引脚 =1,读锁存器,写锁存器,内部总线,地址/数据,控制,引脚P0.X,3,4,控制=0 时,此脚作输出口 (不能正确送出“1”,需外接上拉电阻),0,0,1,0,0,截止,截止,=0,Vcc,单片机的引脚(P0口),P0.0P0.7: 准双向I/O (内置场效应管上拉) 寻址外部存储器时分时作为双向8位数据口和输出低8位地址复用口;不接外部存储器时可作为8位准双向I/O口使用。,2,1,D,Q,CK,/Q,读引脚 =0,读锁存器,写锁存器,内部总线,地址/数据,控制=1,引脚P0.X,3,4,控制=1时,此脚作地址/数据复用口:(1)输出地址/数据 =0 时,1,0,1,1,=0,导通,截止,=0,Vcc,2,1,D,Q,CK,/Q,读引脚 =0,读锁存器,写锁存器,内部总线,地址/数据,控制=1,引脚P0.X,3,4,控制=1时,此脚作地址/数据复用口:(2)输出地址/数据 =1 时,1,1,0,0,=1,截止,导通,=1,Vcc,2,1,D,Q,CK,/Q,读引脚 =1,读锁存器,写锁存器,内部总线,地址/数据,控制=1,引脚P0.X,3,4,控制=1时,此脚作地址/数据复用口: (3)输入数据时,输入指令将使引脚与内部总线直通,Vcc,单片机的引脚(P0口),P0.0P0.7: 准双向I/O (内置场效应管上拉) 寻址外部存储器时分时作为双向8位数据口和输出低8位地址复用口;不接外部存储器时可作为8位准双向I/O口使用。,输出操作及注意问题(上拉电阻): 在执行以口为目标的指令时,数据送到锁存器的“D”端,经“/Q”端送场效管应输出极. 若送“1”时,/Q=“0”,使下端的FET截止.这样出现输出极的两个FET全部截止,输出级为漏级开路电路.在这种情况下,若要驱动NMOS或其它拉电流负载时,引脚上应外接上拉电阻。这样在上拉电阻的作用下,使端口为高电平. 同理,若总线向口送“0”时,锁存器的/Q=1,使下端的FET导通(上面的FET仍然截止),这样端口呈现“0”电平.,输入操作及注意问题(先写1): 读引脚, 读外部送到端口引脚的电平,即通常所说的输入操作(如:MOV A,P0).此时,单片机控制“读引脚”的三态门,使引脚处的外部电平经三态门送入内部总线. 注意:输入时应先写“1”:在端口电路中,可以发现一个问题:端口在输入(读引脚)时,原来锁存器的状态可能要影响引脚电平的输入。例如:原来锁存器的状态为“0”态,既输出极的下端FET是饱和状态,这样如果外电路向引脚输入高电平时,电路将不能正确读入.要解决的方法就是让下端的FET截止,即事先向端口写一个“1”. 请注意下面的一段程序: MOV A,#0FFH;0FFH送累加器A MOV P0,A ;向P0口“写1” MOV A,P0 ;从P0口输入数据到A 你能正确的分析出指令的操作吗?,单片机的引脚(P0口),P0.0P0.7: 准双向I/O (内置场效应管上拉) 寻址外部存储器时分时作为双向8位数据口和输出低8位地址复用口;不接外部存储器时可作为8位准双向I/O口使用。,引脚改写操作:(读锁存器) 引脚改写操作实质是修改引脚上的信息: 单片机在结构上这样的安排是为了适应“读修改写”一类指令的需要。这类指令实质是用于输出信号,当P0口的某位是输出状态时,为了改变该端口的内容,避免干扰信号的影响,由于读锁存器中的内容等于端口内容,可直接读锁存器的内容并进行修改,然后重新输出。 在MCS-51的指令系统中这种“读修改写”的操作有: ORL 、XRL 、JBC 、CPL 、INC 、DEC 、DJNZ 、MOV Px,y 、 CLR Px,y和SET Px,y。 如: ORL P0,A ;P0 A P0,1. 做通用数据I/O端口时,输出级上端的FET处于截止状态,为漏级开路电路,若要驱动NMOS或其它拉电流负载时,所以与NMOS器件连接时,必须接“上拉电阻”,否则不能正确的输出高电平; 2.做通用数据I/O端口时,在输入操作前,为了保证输入正确,必须先向端口“写1”; 3. “读锁存器” 为引脚改写操作。凡是“读修改写” 的操作,CPU读的都是端口锁存器中的数据。 4.在总线方式时,P0口不能再做通用的I/O端口。它分时输出地址、数据总线的信息(此时引脚不用外接上拉电阻)。 5.能驱动8个TTL门电路。,P0口特点小结:,2,1,D,Q,CK,/Q,读引脚,读锁存器,写锁存器,内部总线,地址高8位,控制,引脚 P2.X,3,内部上拉电阻,Vcc,2,1,D,Q,CK,/Q,读引脚 =0,读锁存器,写锁存器,内部总线,地址高8位,控制,引脚P2.X,准双向I/O口:控制=0时,此脚作通用输出口: 输出=高电平1时,1,1,0,截止,3,内部上拉电阻,1,1,Vcc,=1,=0,2,1,D,Q,CK,/Q,读引脚 =0,读锁存器,写锁存器,内部总线,地址高8位,控制,引脚P2.X,准双向I/O口:控制=0时,此脚作通用输出口: 输出=低电平0时,0,0,1,导通,3,内部上拉电阻,0,0,Vcc,=0,=0,2,1,D,Q,CK,/Q,读引脚 =0,读锁存器,写锁存器,内部总线,地址高8位,控制=1,引脚P2.X,控制=1 时,此脚作高8位地址A8A15输出口:当输出 =1 时,1,0,截止,3,内部上拉电阻,1,=1,Vcc,=1,2,1,D,Q,CK,/Q,读引脚 =0,读锁存器,写锁存器,内部总线,地址高8位,控制=1,引脚P2.X,0,1,导通,3,内部上拉电阻,0,=0,Vcc,=0,控制=1 时,此脚作高8位地址A8A15输出口:当输出 =0 时,P2口作通用I/O口使用时:,准双向口。MUX倒向左边,输出级与锁存器“Q”端接通,P2口I/O操作完全与P1口相同,P2口作地址总线高8位使用时:,在CPU的控制下, MUX倒向右边,接通内部地址总线,P2口的口线状态取决于片内输出的地址信息,P2口的驱动能力:驱动4个TTL门,P2口在系统使用外部存储器时,做高八位的地址总线。 P2口使用时注意: a) 当应用系统扩展有大于256B而小于64kB的外部存储器,且P2口用于输出高8位地址时,P2口不能再作通用IO口使用。使用如: movx a,dptr ;访问外部数据存储器 movc a,a+dptr ;访问外部程序存储器 这里使用了16位的寄存器DPTR b) 在应用系统扩展片外存储器容量小于256字节的系统中,可以使用“MOVX Ri”类指令访问片外存储器,仅由P0口输出低8位地址,此时P2口可作通用IO口用。 c) 在外部扩充的存储器容量大于256B而小于64kB时,可以采用软件方法利用P1P3中的某几位口线输出高8位地址,而保留P2口中的部分或全部口线作通用IO口用。,P2口特点:,2,1,D,Q,CK,/Q,读引脚,读锁存器,写锁存器,内部总线,第二功能输出,引脚 P3.X,3,内部上拉电阻,Vcc,第二功能输入,4,通用准双向I/O时,第二功能输出自动 =1,2,1,D,Q,CK,/Q,读引脚,读锁存器,写锁存器,内部总线,第二功能输出 (WR,RD,TxD),引脚 P3.X,3,内部上拉电阻,Vcc,4,第二功能输出时,内部自动 D=1,1,1,1,反相器,2,1,D,Q,CK,/Q,读引脚,读锁存器,写锁存器,内部总线,此端自动1,引脚 P3.X,3,内部上拉电阻,Vcc,第二功能输入(RxD,T0,T1,INT0,INT1),4,第二功能输入时,信号经缓冲器4 直接进入内总线,1,1,1,0,截止,P3作第一功能口使用时:,输出控制线为高电平,与非门的输出取决于锁存器“Q”端的状态,P3口的I/O操作和P1口相同。,P3作第二功能口使用时:,相应的口线锁存器必须为“1”,与非门的输出取决于第二功能输出线。,P3的驱动能力:驱动4个TTL门,第二功能输入时,信号取自第一个缓冲器(下右)的输出端; 第二个缓冲器(下左)的输出, 仍是第一功能的读引脚信号缓冲器。,P3口第二功能表(P.27 ),P3口小结,在多用途情况下,P3口分别作为串行口、外中断输入、外部计数输入和系统扩展时使用的WR和RD信号的端口。在这种情况下,锁存器Q端为“1”电平以保证与门是打开的第二功能。 第二功能输出:锁存器为”1”,打开与非门,第二功能端上的内容通过“与非门”和VT送至端口引脚。 第二功能输入:端口第二功能信号通过第一个缓冲器送到第二输入功能线上。 在通用I/O模式下,“第二输出功能”端为“1”电平,以保证与非门打开。 无论P3口是作通用输入口还是作第二输入功能口用,相应的输出锁存器和第二输出端都应置“1”,使VT截止。,51单片机的8个特殊引脚,小结,51单片机的4个8位的I/O口,P0.0P0.7:8位数据口和输出低8位地址复用口 (不复用时是准双向口) P1.0P1.7: 通用I/O口(准双向口),P2.0P2.7: 输出高8位地址 (用于寻址时是输出口;不寻址时是准双向口) P3.0P3.7: 具有特定的第二功能(准双向口),注意:在不外扩ROM/RAM时,P0P3均可作通用I/O口使用,而且都是准双向I/O口!,小结,P3口第二功能表(P.27 表21),存储器,数据存储器RAM(Random Access Memory) 程序存储器ROM(Read Only Memory) EPROM(UV)Erazible Programmable ROM EEPROM/E2PROMElectrical Erasable Programmable ROM 静态存储器 SRAMStatic RAM (动态存储器 DRAMDynamic RAM) 按字节寻址:每个字节(8个位)占一个地址 按位寻址:有的存储空间每一个位就有一个地址,单片机的存储器几个有关的概念:,MCS-51单片机的存储器结构,MCS-51单片机的存储器空间分布,特点: 在MCS-51单片机的内部集成了4K的程序存储器和256B的数据存储器,同时还可以使用片外的程序存储器和数据存储器,其扩展能力都是64K。,单片机存储器,数据存储器,程序存储器,对单片机来讲,ROM和RAM的寻址机构和寻址方式是分开的。,ROM、 EPROM E2ROM或FLASH,RAM,从物理结构的角度讲,51单片机的存储系统可以分为四个存储空间:即片内ROM,RAM和片外ROM、RAM。,片内程序存储器 ROM,片内数据存储器 RAM,片外程序存储器 ROM,片外数据存储器 RAM(I/O),片内固有,需要扩展,从逻辑上讲(既用户编程的角度讲)51单片机的存储系统又可分为三个存储空间。即片内RAM,片外RAM和片内、外的程序存储器ROM。,片内、外统一编址的程序存储器地址空间,256B片内数据存储器地址空间,64KB片外数据存储器或I/O地址空间,需要扩展,从功能上分,MCS-51分为5个地址空间, 程序存储器 ROM, 片内数据存储器 RAM, 特殊功能寄存器区 SFR, 位寻址区, 外部扩展的数据存储器 RAM(I/O)区,51单片机存储器配置,片内RAM 128字节(00H7FH); 片内RAM前32个单元是工作寄存器区(00H1FH) 片内RAM有128个可按位寻址的位,占16个单元。 位地址编号为:00H7FH,分布在20H2FH单元 片内21个特殊功能寄存器(SFR)中: 地址号能被8整除的 SFR中的各位也可按位寻址(P.37-38) 可寻址片外RAM 64K字节 (0000HFFFFH) 可寻址片外ROM 64K字节 (0000HFFFFH),一、数据存储器,数据存储器无论在物理上还是逻辑上都分为两个地址空间,即一个内部和一个外部的数据存储空间。 访问内部数据存储单元时,使用 MOV 指令; 而访问外部数据存储器时,使用 MOVX 指令。 内部数据存储器从功能上又将256B空间分为二个不同的块: 1)低128B的RAM块; 2)高128B的SFR (Special Function Register)块。 在低128B的RAM存储单元中又可划分为:工作寄存器区、可位寻址区、通用寄存器区。 高128B的专用寄存器区中仅仅使用了21寄存器(51系列),其它单元未定义不能使用。,存储器配置(片内RAM),片内RAM 128字节(00H7FH),00H,20H,2FH,7FH,1FH,30H,80H,FFH,普通RAM区,位寻址区,工作寄存器区,SFR分布在80H-FFH,80H,FFH,所有的RAM区(包括位寻址区、工作寄存器区)都可以用于存放数据,故也称为数据缓存寄存器,片内RAM前32个单元是工作寄存器区(00H1FH),00H,20H,2FH,7FH,1FH,30H,80H,FFH,普通RAM区,位寻址区,工作寄存器区,存储器配置(片内RAM),00H,20H,2FH,7FH,1FH,30H,80H,FFH,普通RAM区,位寻址区,工作寄存器区,R0,R2,R1,R3,R4,R5,R6,R7,07H,02H,01H,00H,06H,04H,05H,03H,08H,1FH,工作寄存器区3,工作寄存器区2,工作寄存器区1,工作寄存器区0,0FH,10H,17H,18H,片内RAM前32个单元是工作寄存器区(00H1FH),存储器配置(片内RAM),00H,20H,2FH,7FH,1FH,30H,80H,FFH,普通RAM区,位寻址区,工作寄存器区,片内RAM中有128个可按位寻址的位。 位地址:00H7FH 分布在:20H2FH单元,存储器配置(片内RAM),00H,20H,2FH,7FH,1FH,30H,80H,FFH,普通RAM区,位寻址区,工作寄存器区,27H,22H,21H,20H,26H,24H,25H,23H,28H,2FH,单元地址,07 06 05 04 03 02 01 00,0F 0E 0D 0C 0B 0A 09 08,17 16 15 14 13 12 11 10,1F 1E 1D 1C 1B 1A 19 18,27 26 25 24 23 22 21 20,2F 2E 2D 2C 2B 2A 29 28,37 36 35 34 33 32 31 30,3F 3E 3D 3C 3B 3A 39 38,47 46 45 44 43 42 41 40,7F 7E 7D 7C 7B 7A 79 78,位地址,总共128个可按位寻址的位,片内RAM中有128个可按位寻址的位。 位地址:00H7FH 分布在:20H2FH单元,存储器配置(片内RAM),位寻址区内的地址是位地址。共有00-7FH(共128个位); 要区分字节地址和位地址这两个不同的地址概念: 从物理的角度,每一个字节地址内包含了8个位,即: D7,D6,D5,D4,D3,D2,D1,D0 在一般情况,我们提到的RAM地址都是字节地址。 从逻辑的角度讲,字节地址和位地址是靠不同类型的指令来区分的。如: MOV A, 20h ;将RAM的20单元内容送累加器A; MOV C ,20h ;将RAM位寻址区中20H位送CY中。 在这二个例子中,第一条指令为字节传送指令,所以20H为字节地址;第二个例子中的指令为位操作指令,所以20H为位地址。有关详细内容将在第三章中描述。 字节位数的表示位地址: 如:位地址00H可以表示成20H.0,1AH表示成23H.2,可寻址片外RAM 64K字节 (0000HFFFFH); 可寻址片外ROM 64K字节 (0000HFFFFH);,FFFFH,0000H,可寻址片外RAM,64K字节,FFFFH,0000H,可寻址片外ROM,64K字节,0FFFH,0000H,片内 ROM,4K 字节,7FH,00H,片内 RAM,128字节,FFH,80H,存储器配置,MCS-51内部 RAM配置,直接寻址,内部数据存储器配置图(52系列作了解),地址重叠,256B,384B,间接寻址,仅52 系列有,直接寻址,间接直接皆可,小结,8051 / 8751内部有4KB ROM / EPROM,地址:0000H 0FFFH,8051 / 8751外部的ROM / EPROM,地址:1000H FFFFH,8031 / 8032内部没有ROM / EPROM,地址:0000H FFFFH,52 子系列内部有8KB ROM / EPROM,地址:0000H 1FFFH,52:2000H FFFFH,二、程序存储器,程序存储器(片内与片外),程序存储器是用来存放编好的程序、常数和表格的。 不同型号的机型,片内的程序存储器结构和空间也不同。 MCS-5l的片外最多能扩展64k字节。片内外的ROM是统一编址的。 如果/EA端保持高电平,805l的程序计数器PC在0000H0FFFH地址范围内(即前4kB地址)是执行片内ROM中的程序;当PC在1000HFFFFH地址范围时,即当PC值超过0FFFH(4K),自动执行片外程序存储器中的程序。 如果/EA保持低电平时,只能寻址外部程序存储器,片外存储器可以从0000H开始编址,地址范围为0000HFFFFH(片外存储器)。,MCS-51单片机片内、外程序存储器的使用示意图,4. 无论是使用片内还是使用片外的ROM(即 /EA=1或/EA=0),其起始地址都是从0000H单元开始。,注意: 7个单元被保留用于特定的程序入口地址(中断服务程序入口地址)。编程者是不能随便使用的。 由于系统复位后的PC内容为0000H,故系统从0000H单元开始取指令,执行程序。它是系统的启动地址。一般在该单元设置转移指令,使之转向用户主程序处。因此,0000H0002H单元被保留用于初始化。,从0003H002BH单元被保留用于6个中断源的中断服务程序的入口地址,故以下7个特定地址应被保留。 0000H: 复位或非屏蔽中断 0003H: 外部中断0入口地址 000BH: 定时器0中断入口地址 0013H: 外部中断1入口地址 00lBH: 定时器1中断入口地址 0023H: 串行口中断入口地址 002BH: 定时器2溢出或T2EX(P1.1)端负跳变时的入口地址(仅80328052所特有),特殊功能寄存器(SFR),特殊功能寄存器SFR(专用寄存器) 特殊用途寄存器的集合。专用于控制、选择、管理、存放单片机内部各部分的工作方式、条件、状态、结果的寄存器。,不同的SFR管理不同的硬件模块,负责不同的功能各司其职 换言之:要让单片机实现预订的功能,必须有相应的硬件和软件,而软件中最重要的一项工作就是对SFR写命令(要求)。,尽管特殊功能寄存器与RAM在同一个单元中,但不能作为普通的RAM存储单元来使用。只有在编程中根据需要,进行一些特定功能的设定,或者是从中查寻相关部件的状态时,才能进行读、写操作。如中断方式的设定、定时器工作模式的设定,查询串行口发送或接收是否结束等等。,有21个SFR 已知的P0、P1、P2、P3四个8位I/O口分别由名为P0、P1、P2、P3四个SFR代表。,堆栈指针寄存器 SP(Stack Pointer): 总是指向栈顶,压栈时先 (SP)+1 然后数据进栈;弹栈时数据先出栈 然后(SP)-1。,累加器 ACC:一个被众多指令用得最频繁的特殊功能寄存器(如:运算、数据传输)。一般指令中用“A”表示,在位操作和栈操作指令中用“Acc”,副累加器 B:一个经常与 ACC 配合在一起使用的特殊功能寄存器(如:乘法、除法),此外,它也经常当作普通寄存器使用。,特殊功能寄存器(P0P3,SP,A,B),【举例】:有两个数05H和03H,试将两数相乘 MOV A,#05H ;将立即数05h 送累加器A MOV B,#03H ;将立即数03h 送累加器B MUL AB ; BA AB53 上述程序中,前面两条是传送指令,是进行乘法前 的准备指令。因此,乘法指令执行前累加器A和通用寄存 器B中分别存放了两个乘数,乘法指令执行完后,积的高 八位自动在B中形成,积的低八位自动在A中形成。 即A中为0FH,B中为00H。,特殊功能寄存器(A、B举例),程序状态字寄存器 PSW:,CY,AC,F0,RS0,OV,P,RS1,PSW.7,PSW.0,CY(PSW.7)进位/借位标志位。若在加减运算过程中如果操作结果最高位有进位或借位,则CY=1;否则=0。它也是布尔处理器的位累加器,可用于布尔操作。,AC(PSW.6)半进位/借位标志位。若在加减运算过程中,D3位向D4位发生了进位或借位,则AC=1,否则=0。机器在执行“DA A”指令时自动要判断这一位,我们可以暂时不关心它。,F0 (PSW.5)可由用户定义的标志位。,PSW.6,PSW.5,特殊功能寄存器(PSW),程序状态字寄存器 PSW(续):,CY,AC,F0,RS0,OV,P,RS1,PSW.7,PSW.0,RS1(PSW.4)、RS0 (PSW.3)工作寄存器组选择位,RS1,RS0 = 0 1 则选择了工作寄存器组 1 区 R0R7分别代表08H 0FH单元。,RS1,RS0 = 1 0 则选择了工作寄存器组 2 区 R0R7分别代表10H 17H单元。,RS1,RS0 = 1 1 则选择了工作寄存器组 3 区 R0R7分别代表18H 1FH单元。,PSW.4 PSW.3,RS1,RS0 = 0 0 则选择了工作寄存器组 0 区 R0R7分别代表00H 07H单元。,片内RAM前32个单元(00H1FH)是工作寄存器区 (由PSW中的RS1,RS0决定),00H,20H,2FH,7FH,1FH,30H,80H,FFH,52子系列才有 的RAM区,普通RAM区,位寻址区,工作寄存器区,R0,R2,R1,R3,R4,R5,R6,R7,07H,02H,01H,00H,06H,04H,05H,03H,08H,1FH,工作寄存器区3,工作寄存器区2,工作寄存器区1,工作寄存器区0,程序状态字寄存器 PSW(续):,CY,AC,F0,RS0,OV,P,RS1,PSW.7,PSW.0,OV (PSW.2)溢出标志位。 OV(PSW.2) 溢出标志位: 判断符号数加减法运算时是否有溢出. OV的结果可以用一个算法来表示: OV=C6异或C7其中: C7为D7的进位, C6为D6的进位,OV=1表明有溢出。,PSW.1 未定义。,P (PSW.0)奇偶标志位。 P=1表示累加器中“1”的个数为奇数 P=0表示累加器中“1”的个数为偶数 CPU随时监视ACC中的“1”的个数,并反映在PSW中,PSW.2,PSW.1,0000 1111 运算结果:A=07H,CY=1, + 1111 1000 OV=0(因为C7 =1, C6 =1) Cy1 0000 0111 AC=1,P=1 如何根据PSW来分析运算结果是否正确?是否有溢出? 1、若数据为无符号数。即15+248=263=107H 即CY=1,A=07H 2、若数据为有符号数。即+15加-8=+7=07H,OV=0表明无溢出,【举例】:有两个数0FH和F8H,试将两数相加 MOV A,#0FH ;将立即数0f h 送累加器A ADD A,#0F8H ;A的内容与立即数0f8h相加,结果送A,?,思 考,程序状态字 PSW中 CY,AC,OV,P 的状态是?,D7D6D5D4 D3D2D1D0,0 1 1 1 1 1 1 1 (7FH),0 1 0 0 0 1 1 1 (47H),0,1,1,0,0,0,1,1,(C6H),执行第一条指令后P=1,执行第二条指令后P=0,此时C6=1、 C7=0 则,堆栈: 在片内RAM中,常常要指定一个专门的区域来存放某些特别的数据,它遵循顺序存取和后进先出(LIFO/FILO)的原则,这个RAM区叫堆栈。,功用: 1)子程序调用和中断服务时CPU自动将当前PC 值压栈保存,返回时自动将PC值弹栈。 2)保护现场/恢复现场 3)数据传输,00H,20H,2FH,7FH,1FH,30H,80H,FFH,普通RAM区,位寻址区,工作寄存器区,SP栈顶,下一个进栈的数据将存在此,数据进栈,已经进栈的数据存放在此,初始 SP,复位后 SP=07H,数据进栈时:首先SP+1指向08H单元,第一个放进堆栈的数据将放进08H单元,然后SP再自动增 1,仍指着栈顶,堆栈区由特殊功能寄存器堆栈指针SP管理 堆栈区可以安排在 RAM区任意位置,一般不安排在工作寄存器区和可按位寻址的RAM区,通常放在RAM区的靠后的位置。,SFR,从堆栈取出数据时:取出的数据是最近放进去的一个数据,也就是当前栈顶的数据。然后SP再自动减1,仍指着栈顶,00H,20H,2FH,7FH,1FH,30H,80H,FFH,52子系列才有 的RAM区,普通RAM区,位寻址区,工作寄存器区,SP栈顶,当前要出栈的数据,数据出栈,SP-1指向下一个将要出栈的数据,初始 SP,堆栈区由特殊功能寄存器堆栈指针SP管理 堆栈区可以安排在 RAM区任意位置,一般不安排在工作寄存器区和可按位寻址的RAM区,通常放在RAM区的靠后的位置。,从堆栈取出数据时:取出的数据是最近放进去的一个数据,也就是当前栈顶的数据。然后SP再自动减1,仍指着栈顶,00H,20H,2FH,7FH,1FH,30H,80H,FFH,52子系列才有 的RAM区,普通RAM区,位寻址区,工作寄存器区,SP-1 指向新的栈顶,也就是下一个将要出栈的数据,数据出栈,初始 SP,堆栈区由特殊功能寄存器堆栈指针SP管理 堆栈区可以安排在 RAM区任意位置,一般不安排在工作寄存器区和可按位寻址的RAM区,通常放在RAM区的靠后的位置。,单片机存储器配置,片内RAM 128字节(00H7FH); 片内RAM前32个单元是工作寄存器区(00H1FH) 片内RAM有128个可按位寻址的位,占16个单元。 位地址编号为:00H7FH 分布在:20H2FH单元 片内21个特殊功能寄存器(SFR)中: 地址号能被8整除的 SFR中的各位也可按位寻址 可寻址片外RAM 64K字节 (0000HFFFFH) 可寻址片外ROM 64K字节 (0000HFFFFH),小结,存储器配置(片内RAM),片内RAM 128字节(00H7FH),00H,20H,2FH,7FH,1FH,30H,80H,FFH,普通RAM区,位寻址区,工作寄存器区,SFR分布在80H-FFH,80H,FFH,所有的RAM区(包括位寻址区、工作寄存器区)都可以用于存放数据,故也称为数据缓存寄存器,128字节,小结,单片机存储器配置(片外RAM/ROM),可寻址片外RAM 64K字节 (0000HFFFFH) 可寻址片外ROM 64K字节 (0000HFFFFH),FFFFH,0000H,可寻址片外RAM,64K字节,FFFFH,0000H,可寻址片外ROM,64K字节,0FFFH,0000H,片内 ROM,4K字节,7FH,00H,片内 RAM,128字节,FFH,80H,小结,单片机最小应用系统设计,单片机加上适当的外围器件和应用程序,构成的应用系统称为最小系统。 (一)单片机最小应用系统举例 18751最小应用系统,其应用特点为: (1)有较多的I/O口线。P0、P1、P2、P3均作为用户I/O口使用。 (2)内部存储器容量有限。 (3)应用系统开发具有特殊性。如8051的应用软件须依靠半导体厂家用半导体掩膜技术置入,故8051应用系统一般用作大批量生产的应用系统。另外,P0、P2口的应用与开发环境差别较大。,1、单片机最小应用系统举例,28031最小应用系统,803l是片内无程序存储器的芯片。因此,其最小应用系统必须在片外扩展EPROM。,8031最小应用系统,图为外接容量为4k程序存储器的最小应用系统,4kB单元地址程序存储器要求地址线12根(AB0AB11),它由P0和P2.0P2.3组成。地址锁存器的锁存信号为ALE。程序存储器的取指信号为PSEN。由于程序存储器芯片只有一片,故其片选线直接接地。8031芯片本身的EA必须接地,表明选择外部存储器外。,(二)最小应用系统设计,最小应用系统设计是单片机应用系统的设计基础。它包括单片机的选择,时钟系统设计、复位电路设计、简单I/O口扩展、掉电保护等,对于CHMOS单片机还包括低功耗运行设计。,例1:用MCS-51单片机的定时器和中断功能试制一个“航标灯”。要求:航标灯在黑夜应能定时闪闪发光,设定时间隔为2s,即亮2s,熄灭2s周期循环进行;当白天到来时,航标灯应熄灭,停止定时器工作;fosc=12MHz。该例为简单I/O口的扩展。目的是扩大MCS-51的驱动能力,实现上述功能的具体方案为: (1)航标灯的控制电路见图;8051定时的启停控 制信号/INT0由来控制。 (2)指示灯利用达林堆管驱动,由P1.7控制。 (3)采用T0定时加软件计数的方法实现定时2s钟 (4)白天与黑夜的识别:用图中所示的光敏三极管 来区分白天与黑夜。,单片机设计仿真实例(一),播 放 音 乐 小 系 统,单片机设计仿真实例(二),走 马 灯 设 计,一、单项选择题 1MCS51单片机的CPU主要的组成部分为 。 A运算器、控制器 B加法器、寄存器 C运算器、加法器 D运算器、译码器 2MCS51单片机的数据指针DPTR是一个16位的专用地址指针寄存器,主要用来 。 A存放指令 B存放16位地址,作间址寄存器使用 C存放下一条指令地址 D存放上一条指令地址 3单片机中的程序计数器PC用来 。 A存放指令 B存放正在执行的指令地址 C存放下一条指令地址 D存放上一条指令地址 4单片机上电复位后,PC的内容和SP的内容为 。 A0000H,00H B。0000H,07H C。0003H,07H D。0800H,08H 5单片机8031的ALE引脚是 。 A 。输出高电平 B。输出矩形脉冲,频率为fosc的1/6 C输出低电平 D。输出矩形脉冲,频率为fosc的1/2,6单片机8031的EA引脚 。 A必须接地 B。必须接+5V C。可悬空 D。以上三种视需要而定 7访问外部存贮器或其它接口芯片时,作数据线和低8位地址线的是 。 AP0口 B。P1口 C。P2口 D。P0口 和 P2口 8PSW中的RS1和RS0用来 。 A 选择工作寄存器区号 B。指示复位 C。选择定时器 D。选择工作方式 9上电复位后,PSW的值为 。 A1 B。07H C。FFH D。0 10.INTEL8031的P0口,当使用外部存贮存器时它是一个 。 A传输高8位地址口 A传输低8位地址口 C传输高8位数据口 D传输低8位地址/数据口 11P0口作数据线和低8位地址线时 。 A应外接上拉电阻 B不能作I/O口 C能作I/O口 D应外接高电平,12单片机上电后或复位后,工作寄存器R0是在 。 A0区00H单元 B0区01H单元 C0区09H单元 DSFR 13MCS51复位后,程序计数器PC= 。即程序从 开始执行指令。 A0001H B0000H C0003H D0023H 14单片机的P0、P1口作输入用途之前必须 。 A在相应端口先置1 B在相应端口先置0 C外接高电平 D外接上拉电阻 15. 当程序状态字寄存器PSW状态字中RS1和RS0分别为0和1 时,系统先用的工作寄存器组为 。 A组0 B组1 C组2 D组3 168051单片机中,唯一一个用户可使用的16位寄存器是 。 APSW BACC C SP DDPTR,1、如果单片机晶振频率为12MHz,时钟周期、机器周期 为多少?,2、开机复位后,使用的是哪组工作寄存器组?地址为多 少?如何选择当前工作寄存器组?,3、单片机的控制总线信号有哪些?各信号的作用如何? 4、简述MCS-51单片机的中断入口地址。 5、 MCS-51单片机内部包括哪些主要逻辑功能部件?,二、简答题,
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!