《单片机应用技术第三周精.ppt》由会员分享,可在线阅读,更多相关《单片机应用技术第三周精.ppt(34页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、单片机应用技术第三周第1页,本讲稿共34页MCS51单片机的存储器配置单片机的存储器配置 MCS51的程序存储器地址配置的程序存储器地址配置FFFFH1000H内部程序存储器(ROM)4KB0FFFH0000HFFFFH0000H (EA=0)外 部 程 序 存 储 器(ROM)64KB外部程序存储器(ROM)60KB EA=1程序存储器配置程序存储器配置第2页,本讲稿共34页位寻址区(位地址位寻址区(位地址00H00H7FH7FH)16B16B工作寄存器区工作寄存器区3 3(R0R0R7R7)8B8B工作寄存器区工作寄存器区2 2(R0R0R7R7)8B8B工作寄存器区工作寄存器区1 1(R
2、0R0R7R7)8B8B工作寄存器区工作寄存器区0 0(R0R0R7R7)8B8B07H00H.OFH08H17H10H1FH18H2FH20H7FH30H 数据缓冲区数据缓冲区 80BFFH80H 特殊功能寄存器区特殊功能寄存器区 128B内部数据存储器(RAM)FFFFH0000H外部数据外部数据 存储器存储器(RAM)特殊功能寄存器 MCS-51系列单片机的数据存储器地址配置系列单片机的数据存储器地址配置第3页,本讲稿共34页 每一个每一个I/OI/O口都能用作输入或输出。口都能用作输入或输出。用作输入时,均须先写入用作输入时,均须先写入“1”1”;用作输出时,用作输出时,P0P0口应外
3、接上拉电阻。口应外接上拉电阻。在并行扩展外存储器或在并行扩展外存储器或I/OI/O口情况下,口情况下,P0P0口用于低口用于低8 8位地址总线和数据总线,分时传送低位地址总线和数据总线,分时传送低 8 8位地址(地址总线)和位地址(地址总线)和8 8位数据信号;位数据信号;P2P2口用于高口用于高8 8位地址总线;位地址总线;P3P3口常用于第二功能,口常用于第二功能,用户能使用的用户能使用的I/OI/O口只有口只有P1P1口和未用作第二功能口和未用作第二功能的部分的部分P3P3口端线。口端线。第4页,本讲稿共34页8051地址地址锁存器锁存器程序程序存储器存储器(60K)数据数据存储器存储器
4、(64K)ALE0EPSENWRRDWR RDP2口口P0口口EAVCC8051同时扩展外同时扩展外ROM和外和外RAM连接图连接图A0A7A8A15D0D774L537327646264第5页,本讲稿共34页1.4 时钟电路与复位电路时钟电路与复位电路1.4.1 单片机的时钟电路与时序单片机的时钟电路与时序1.时钟信号的产生时钟信号的产生在MCS-51芯片内部有一个高增益反相放大器,其输入端为芯片引脚XTAL1,其输出端为引脚XTAL2。而在芯片的外部,XTAL1和XTAL2之间跨接晶体振荡器和微调电容,从而构成一个稳定的自激振荡器,这就是单片机的时钟振荡电路,如图1.13所示。第6页,本讲
5、稿共34页时钟电路产生的振荡脉冲经过触发器进行二分频之后,才成为单片机的时钟脉冲信号。请读者特别注意时钟脉冲与振荡脉冲之间的二分频关系,否则会造成概念上的错误。一般地,电容C1和C2取30 pF左右,晶体的振荡频率范围是1.212 MHz。如果晶体振荡频率高,则系统的时钟频率也高,单片机的运行速度也就快。MCS-51在通常应用情况下,使用的振荡频率为6 MHz或12 MHz。第7页,本讲稿共34页图1.13 时钟振荡电路 第8页,本讲稿共34页2.引入外部脉冲信号引入外部脉冲信号在由多片单片机组成的系统中,为了各单片机之间时钟信号的同步,应当引入惟一的公用外部脉冲信号作为各单片机的振荡脉冲。这
6、时,外部的脉冲信号经XTAL2引脚输入,其连接如图1.14所示。第9页,本讲稿共34页图1.14 外部时钟源接法 第10页,本讲稿共34页3.时序时序1)节拍与状态把振荡脉冲的周期定义为节拍(用P表示)。振荡脉冲经过二分频后,就是单片机的时钟信号的周期,定义其为状态(用S表示)。这样,一个状态就包含两个节拍,其前半周期对应的节拍叫节拍1(P1),后半周期对应的节拍叫节拍2(P2)。第11页,本讲稿共34页2)机器周期MCS-51采用定时控制方式,因此它有固定的机器周期。规定一个机器周期的宽度为6个状态,并依次表示为S1S6,可参见图1.15(a)。由于一个状态又包括两个节拍,因此,一个机器周期
7、总共有12个节拍,分别记作S1P1、S1P2、S6P2。由于一个机器周期共有12个振荡脉冲周期,因此机器周期就是振荡脉冲的十二分频。当振荡脉冲频率为12 MHz时,一个机器周期为1 s;当振荡脉冲频率为6 MHz时,一个机器周期为2 s。第12页,本讲稿共34页3)指令周期指令周期是最大的时序定时单位,执行一条指令所需要的时间称为指令周期。它一般由若干个机器周期组成。不同的指令,所需要的机器周期数也不相同。通常,包含一个机器周期的指令称为单周期指令,包含两个机器周期的指令称为双周期指令,依次类推。指令的运算速度与指令所包含的机器周期有关,机器周期数越少的指令,执行速度越快。MCS-51单片机指
8、令通常可以分为单周期指令、双周期指令和四周期指令。四周期指令只有乘法和除法指令两条,其余均为单周期和双周期指令。单片机执行任何一条指令时都可以分为取指令阶段和执行指令阶段。MCS-51的取指/执行时序如图1.15(a)所示。第13页,本讲稿共34页由图1.15(a)可见,ALE引脚上出现的信号是周期性的,在每个机器周期内出现两次高电平。第一次出现在S1P2和S2P1期间,第二次出现在S4P2和S5P1期间。ALE信号每出现一次高电平,CPU就进行一次取指操作,但由于不同指令的字节数和机器周期数不同,因此取指令操作也随指令的不同而有小的差异。按照指令字节数和机器周期数,8051的111条指令可分
9、为6类,分别是:单字节单周期指令、单字节双周期指令、单字节四周期指令、双字节单周期指令、双字节双周期指令、三字节双周期指令,参见附录2。第14页,本讲稿共34页图1.15(b)、(c)分别给出了单字节单周期和双字节单周期指令的时序。单周期指令的执行始于S1P2,这时操作码被锁存到指令寄存器内。若是双字节指令,则在同一机器周期的S4读第二字节;若是单字节指令,则在S4仍有读操作,但被读入的字节无效,且程序计数器PC并不加1。图1.15(d)给出了单字节双周期指令的时序,两个机器周期内进行了4次读操作码操作。因为是单字节指令,所以后三次读操作都是无效的。第15页,本讲稿共34页图1.15 MCS-
10、51单片机的取指/执行时序(a)单片机的机器周期;(b)单字节单周期指令,如INC A;(c)双字节单周期指令,如ADD A,data;(d)单字节双周期指令,如INC DPTR第16页,本讲稿共34页1.4.2 单片机的复位电路单片机的复位电路单片机复位使CPU和系统中的其它功能部件都处在一个确定的初始状态下,并从这个状态开始工作,例如复位后PC=0000H,使单片机从第一个单元取指令。从实训1已经看出,无论是在单片机刚开始接上电源时,还是断电后或者发生故障后都要复位,所以我们必须弄清楚MCS-51型单片机复位的条件、复位电路和复位后的状态。单片机复位的条件是:必须使RST/VPD或RST引
11、脚(9)加上持续两个机器周期(即24个振荡周期)的高电平。例如,若时钟频率为12 MHz,每个机器周期为1 s,则只需2 s以上时间的高电平,在RST引脚出现高电平后的第二个机器周期执行复位。单片机常见的复位电路如图1.16(a)、(b)所示。第17页,本讲稿共34页图1.16(a)为上电复位电路,它是利用电容充电来实现的。在接电瞬间,RST端的电位与VCC相同,随着充电电流的减少,RST的电位逐渐下降。只要保证RST为高电平的时间大于两个机器周期,便能正常复位。图1.16(b)为按键复位电路。该电路除具有上电复位功能外,若要复位,只需按图1.16(b)中的RESET键,此时电源VCC经电阻R
12、1、R2分压,在RST端产生一个复位高电平。第18页,本讲稿共34页图1.16 单片机常见的复位电路(a)上电复位电路;(b)按键复位电路第19页,本讲稿共34页单片机复位期间不产生ALE和信号,即ALE=1和=1。这表明单片机复位期间不会有任何取指操作。复位后,内部各专用寄存器状态如下:PC:0000H TMOD:00HACC:00H TCON:00HB:00H TH0:00HPSW:00H TL0:00HSP:07H TH1:00HDPTR:0000H TL1:00HP0P3:FFH SCON:00HIP:*00000B SBUF:不定IE:0*00000B PCON:0*0000B第20
13、页,本讲稿共34页其中,*表示无关位。请注意:(1)复位后PC值为0000H,表明复位后程序从0000H开始执行,这一点在实训1中已介绍。(2)SP值为07H,表明堆栈底部在07H。一般需重新设置SP值。(3)P0P3口值为FFH。P0P3口用作输入口时,必须先写入“1”。单片机在复位后,已使P0P3口每一端线为“1”,为这些端线用作输入口做好了准备。第21页,本讲稿共34页1.5 单片机的工作过程单片机的工作过程单片机的工作过程实质上是执行用户编制程序的过程。一般程序的机器码都已固化到存储器中,例如实训1中的步骤(3),因此开机复位后,就可以执行指令。执行指令又是取指令和执行指令的周而复始的
14、过程。例如指令MOV A,#56H表示把立即数56H这个值送入A累加器。该指令对应的机器码是74H、56H,假设它们已存在0000H开始的单元中。下面我们来说明单片机的工作过程。接通电源开机后,PC=0000H,取指令过程如下:(1)PC中的0000H 送到片内的地址寄存器。第22页,本讲稿共34页(2)PC的内容自动加1变为0001H,指向下一个指令字节。(3)地址寄存器中的内容0000H通过地址总线送到存储器,经存储器中的地址译码选中0000H单元。(4)CPU通过控制总线发出读命令。(5)被选中单元的内容74H送内部数据总线,该内容通过内部数据总线送到单片机内部的指令寄存器。至此,取指令
15、过程结束,进入执行指令过程。第23页,本讲稿共34页v微型机的工作过程取指令分析指令执行指令执行程序的过程第24页,本讲稿共34页地址译码器0000H0001H0002H00ff01110100ff单元地址线数据线读控制逻辑CPU 0101011001110100第25页,本讲稿共34页执行指令的过程如下:(1)指令寄存器中的内容经指令译码器译码后,表明这条指令是取数命令,即把一个立即数送A中。(2)PC的内容为0001H,送地址寄存器,译码后选中0001H单元,同时PC的内容自动加1变为0002H。(3)CPU同样通过控制总线发出读命令。(4)将0001H单元的内容56H读出并经内部数据总线
16、送至A。至此,本指令执行结束。PC=0002H,机器又进入下一条指令的取指令过程。机器一直重复上述过程直到程序中的所有指令执行完毕,这就是单片机的基本工作过程。第26页,本讲稿共34页本本 章章 小小 结结 本章通过介绍MCS-51型单片机芯片的硬件结构及工作特性,使我们知道MCS-51单片机是由一个8位CPU,一个片内振荡器及时钟电路,4 KB ROM(8051有4 KB掩膜ROM,8751有4 KB EPROM,8031片内无ROM,89C51有4 KB FPEROM),128B片内RAM,21个特殊功能寄存器,两个16位定时/计数器,4个8位并行I/O口,一个串行输入/输出口和5个中断源
17、等电路组成的。芯片共有40个引脚,除了电源、地、两个时钟输入/输出脚以及32个I/O引脚外,还有4个控制引脚:ALE(低8位地址锁存允许)、(片外ROM读选通)、RST(复位)、(内外ROM选择)。第27页,本讲稿共34页MCS-51单片机片内有256B的数据存储器,它分为低128B的片内RAM区和高128B的特殊功能寄存器区。低128B的片内RAM又可分为工作寄存器区(00H1FH)、位寻址区(20H2FH)和数据缓冲器(30H7FH)。累加器A、程序状态寄存器PSW、堆栈指针SP、数据存储器地址指针DPTR、程序存储器地址指针PC,均有着特殊的用途和功能。MCS-51单片机有4个8位的并行
18、I/O口,它们在结构和特性上基本相同。当需要片外扩展RAM和ROM时,P0口分时传送低8位地址和8位数据,P2口传送高8位地址,P3口常用于第二功能,通常情况下只有P1口用作一般的输入/输出引脚。第28页,本讲稿共34页习习 题题 11.1 单项选择题。单项选择题。(1)MCS-51单片机的CPU主要由 组成。A运算器、控制器 B加法器、寄存器 C运算器、加法器 D运算器、译码器(2)单片机中的程序计数器PC用来 。A存放指令 B存放正在执行的指令地址 C存放下一条指令地址 D存放上一条指令地址(3)单片机AT89C51的引脚 。A必须接地 B必须接+5 V C可悬空 D以上三种视需要而定第2
19、9页,本讲稿共34页(4)访问外部存储器或其它接口芯片时,作数据线和低8位地址线的是 。AP0口 BP1口 CP2口 DP0口和P2口(5)PSW中的RS1和RS0用来 。A选择工作寄存器区号 B指示复位 C选择定时器 D选择工作方式(6)单片机上电复位后,PC的内容和SP的内容为 。A0000H,00H B0000H,07H C0003H,07H D0800H,08H1.2 填空题(1)若MCS-51单片机的晶振频率为fOSC=12 MHz,则一个机器周期等于 s。第30页,本讲稿共34页(2)MCS-51单片机的XTAL1和XTAL2引脚是 引脚。(3)MCS-51单片机的数据指针DPTR
20、是一个16位的专用地址指针寄存器,主要用来 。(4)MCS-51单片机中输入/输出端口中,常用于第二功能的是 。(5)MCS-51单片机内存的堆栈是一个特殊的存储区,用来 ,它是按后进先出的原则存取数据的。(6)单片机应用程序一般存放在 中。1.3 微型计算机系统由哪几部分组成?1.4 什么是单片机?它由哪几部分组成?什么是单片机应用系统?二者是什么关系?第31页,本讲稿共34页1.5 MCS-51单片机的控制线有几根?每一根控制线的作用是什么?1.6 P3口的第二功能是什么?1.7 MCS-51单片机片内RAM的组成是如何划分的,各有什么功能?1.8 MCS-51单片机有多少个特殊功能寄存器
21、?它们分布在何地址范围?1.9 DPTR是什么寄存器?它的作用是什么?它是由哪几个寄存器组成的?1.10 简述程序状态寄存器PSW各位的含义。单片机如何确定和改变当前的工作寄存器区?1.11 什么是堆栈?堆栈指针SP的作用是什么?在堆栈中存取数据时的原则是什么?第32页,本讲稿共34页1.12 在MCS-51单片机ROM空间中,0003H002AH有什么用途?用户应怎样合理安排?1.13 当单片机外部扩展RAM和ROM时,P0口、P1口、P2口、P3口各起何作用?1.14 P0P3口作为输入或输出口时,各有何要求?1.15 画出MCS-51单片机时钟电路,并指出晶振的振荡频率和电容的取值范围。
22、1.16 什么是机器周期?机器周期和晶振的振荡频率有何关系?当晶振的振荡频率为6 MHz时,机器周期是多少时间?1.17 MCS-51单片机常用的复位方法有几种?应注意什么事项?并画电路图说明其工作原理。第33页,本讲稿共34页1.18 修改实训1中的源程序,使8个发光二极管按照下面的形式发光。P1口管脚 P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0 对应灯的状态 注:表示灭,表示亮。1.19 设计一个简单的单片机应用系统:用P1口的任意三个管脚控制发光二极管,模拟交通灯的控制。1.20 单片机应用系统中的硬件与软件是什么关系?软件如何实现对硬件的控制?第34页,本讲稿共34页