第二章 单片机基本结构_第1页
第二章 单片机基本结构_第2页
第二章 单片机基本结构_第3页
第二章 单片机基本结构_第4页
第二章 单片机基本结构_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第二章单片机的基本结构和工作原理2.1.单片机的基本组成1.中央处理器2.存储器普林斯顿结构:将程序和数据合用一个存储器空间。哈佛结构:将程序和数据截然分开,分别寻址的结构。程序存储器(ROM)片内只读存储器片外只读存储器数据存储器(RAM)3.并行I/0口4.串行I/0口5.定时器/计数器6.定时电路及元件2.2.单片机的引脚功能和结构框图40引脚双列直插(DIP)封装图逻辑图符号引脚的复用功能引脚复用功能P1.0T2(定时/计数器2的外部输入)P1.1T2EX(定时器2的捕捉/重装触发引脚)P3.0RXD(串行口输入)P3.1TXD(串行口输出)P3.2INT0(外部中断0请求)P3.3INT1(外部中断1请求)P3.4T0(定时/计数器0的外部输入)P3.5T1(定时/计数器1的外部输入)P3.6WR(片外数据存储器写选通信号输出)P3.7RD(片外数据存储器读选通信号输出)2.380C51的内部结构和组成内部结构算术逻辑部件ALU类加器ACC(或A)只读存储器ROM随机存取存储器RAM指令寄存器IR程序地址寄存器程序计数器PC地址指针DPTR定时器/计数器并行I/O口P0–P3串行口程序状态标志寄存器PSW定时控制逻辑电路专用寄存器SFR累加器A寄存器B程序状态字寄存器PSW堆栈指针SP程序计数器PC和数据指针DPTR端口0~3的锁存器P0、P1、P2、P3串行口数据缓存器SBUF(99H)定时器寄存器捕捉寄存器控制寄存器一.专用寄存器1.累加器A作用:累加器A是ALU单元的输入之一,因而是处理数据源之一。同时它又是ALU运算结果的存放单元。CPU中的数据传送大多都通过累加器,故又相当于一个数据的中转站。2.B寄存器B寄存器在乘法和除法指令中作为ALU的输入之一。作用:其他情况下,B寄存器可以作为内部RAM中的一个单元来使用。3.程序状态字PSW程序状态字PSW是一个逐位定义的8位寄存器,其内容的主要部分是算术逻辑运算单元(ALU)的输出。RS1RS0选中通用寄存器组R0–R7的地址00第0组00H–07H01第1组08H–0FH10第2组10H–17H11第3组18H–1FHOV——溢出标志位。表示运算结果超出了目的寄存器A所能表示的带符号数的范围(-128-+127)ADD加法:若表示i向位i+1位有进位,则当位6向位7有进位而位7不向CY进位时,或当位7向C进位而位6不向位7进位时,OV=1;否则OV=0。SUBB加法:若表示i向位i+1位有借位,则当位6向位7有借位而位7无借位时,或当位7向CY借位而位6不向位7借位时,OV=1;否则OV=0。MUL乘法:当A、B两个乘数的积超过255时,OV=1,否则OV=0。因此,若OV=0时,只需从A寄存器中取积;若OV=1时,则需从B、A寄存器对中取积。DIV除法:若除数为0时,OV=1;否则,OV=0。PC是中央控制器中最基本的寄存器,是一个独立的计数器,存放着下一条将要从程序存储器中取出的指令地址。4.地址寄存器PC基本工作过程:读指令时,程序计数器将其中的数作为所取指令的地址输出给程序存储器,然后程序存储器按此地址输出指令字节,同时程序计数器本身自动加1,指向下一条指令地址。程序计数器PC变化的轨迹决定程序的流程程序计数器PC的宽度决定了程序存储器可以直接寻址的范围。在80C51中,PC是一个16位的计数器,所以,可对64KB()程序存储器进行寻址。程序存储器PC的基本工作方式有:程序计数器PC自动加1;执行条件或无条件转移指令时,程序计数器将被置入新的数值,程序的流向发生变化;在执行调用指令或响应中断时:

PC的现行值,即下一条将要执行的指令的地址,送入堆栈,加以保护。

将子程序的入口地址或者中断矢量地址送入PC,程序流发生变化,执行子程序或中断服务程序。子程序或中断服务执行完毕,遇到返回指令RET或RETI时,将栈顶的内容送到PC中,程序流程又返回到原来的地方,继续执行。5.数据指针DPTRDPTR是一个16位的特殊功能寄存器,主要功能是作为片外数据存储器寻址用的地址寄存器(间接寻址),访问片外数据存储器的指令为:MOVX A,@DPTR读MOVX@DPTR,A写二.算术逻辑运算单元ALU算是逻辑运算单元主要是对数据进行算术/逻辑运算。从结构上,该单元实质是一个全加器。通过暂存器1的输入;通过暂存器2或累加器ACC的输入;两个输入:两个输出:累加器;程序状态字PSW;算术/逻辑运算可完成的操作:带进位和不带进位的加法、减法及8位的乘、除法运算;逻辑运算AND、OR和XOR;增量或减量;位操作有位置位、位复位和位取反;左移位、右移位;半字节交换;BCD码运算修正;三.时钟电路及CPU的工作时序1.时钟电路振荡器定时控制元件时钟发生器地址所存允许信号ALE振荡器ALE机器周期P1P2状态时钟XTAL1XTAL2时钟发生器2.时序定时单位节拍与状态:一个状态包含两个节拍,其前半周期对应的节拍叫P1,后半周期对应的节拍叫P2。;机器周期:80C51规定一个机器周期的宽度为6个状态,并依次表示为

S1–S6,分别记为S1P1,S1P2,S2P1,S2P2,…S6P2;指令周期:执行一条指令所需要的时间称为指令周期。3.80C51指令时序80C51共有111条指令,全部指令按其长度可分为单字节指令、双字节指令和三字节指令。单字节单机器周期指令单字节双机器周期指令双字节单机器周期指令双字节双机器周期指令三字节双机器周期指令ALE信号是为地址锁存而定义的,该信号煤有效一次对应单片机进行的一次读指令操作。ALE信号以振荡脉冲六分之一的频率出现,因此在一个机器周期中,ALE信号两次有效,有效宽度为一个状态。单字节单机器周期指令由于是单字节指令,因此只需进行一次读指令操作。当第二个ALE有效时,由于PC没有加1,所以读出的还是原指令,属于一次无效的操作。双字节单机器周期指令这种情况下,对应于ALE的两次读操作都是有效的,第一次是读指令操作码,第二次是读指令第二字节。单字节双机器周期指令(例如:INCDPTR)两个机器周期共进行四次读指令的操作,但其中后三次的读操作全是无效的。单字节双机器周期指令(例如:MOVX类指令)先在ROM读取指令,然后对外部RAM进行读/写操作。第一机器周期时,与其它指令一样,第一次读指令(操作码)有效,第二次读指令操作无效。第二机器周期时,进行外部RAM访问,此时与ALE信号无关,因此不产生读指令操作。2.4存储器结构和地址空间80C51单片机系列的存储器采用的是哈拂结构,即将程序存储器和数据存储器截然分开,它们各有自己的寻址方式、寻址空间和控制系统。寻址范围分别达到64KB。80HFFH00H7FH0000HFFFFH片内数据存储器片外数据存储器数据存储器RAMSFR片内RAM(80C52)片内RAM0000H0FFFH0000H0FFFH1000HFFFFH片内程序存储器片外程序存储器程序存储器ROMEA=1EA=01.程序存储器80C51单片机的程序存储器用于存放经调试正确的应用程序和表格之类的固定常数。寻址空间为64KB。

80C51单片机程序存储器的某些单元被保留于特定的程序入口地址。复位或非屏蔽中断0000H外部中断00003H定时器T0溢出000BH外部中断10013H定时器T1溢出001BH串行口中断0023H定时器T2/T2EX下降沿002BH00H1FH20H2FH30H7FH80HFFH低128字节RAM区高128字节RAM区00H08H10H18H1FH工作寄存器区一组二组三组四组R0R1R2R3R4R5R6R700H07H位寻址区20H00H07H01H特殊功能寄存器区内部数据存储区结构外部数据存储区结构0000HFFFFH2.数据存储器根据不同的寻址方式,片内数据RAM区可分为以下几个区域:(1).片内数据RAM区工作寄存器区:这是一个用寄存器寻址的区域,指令的数量最多,均为单周期指令,执行速度最快。位寻址区:片内数据RAM区的20H–2FH的16个字节单元,既可进行字节寻址,又可实现位寻址。字节寻址区:片内数据RAM区的30H–7FH的80个字节单元,可采用直接字节寻址访问。堆栈区及堆栈指示器:堆栈是在片内数据RAM区中,数据先进后出或后进先出的区域。堆栈指示器在80C51中存放当前的堆栈栈顶所指存储单元地址的一个8位寄存器。(2).特殊功能寄存器SFR区特殊功能寄存器是80C51单片机中各功能部件所对应的寄存器,用以存放相应功能部件的控制命令、状态或数据区域。80C51中共定义了21个特殊功能寄存器,其名称和字节地址列于下表中:序号标识符名称字节地址位地址1ACC累加器E0H0E0H–0E7H2BB寄存器0F0H0F0H–0F7H3PSW程序状态字0D0H0D0H–0D7H4SP堆栈指针81H5DPTR数据指针(DPH,DPL)83H,82H6P0P0口80H80H–87H7P1P1口90H90H–97H序号标识符名称字节地址位地址8P2P2口0A0H0A0H–0A7H9P3P3口0B0H0B0H–0B7H10IP中断优先级控制0B8H0B8H–0BFH11IE中断允许控制0A8H0A8H–0AFH12TOMD定时器/计数器方式控制89H13TCON定时器/计数器控制88H88H–8FH14T2CON定时器/计数器2控制0C8HOC8H–0CFH15TH0,TL0定时器/计数器08CH,8AH16TH1,TL1定时器/计数器18DH,8BH17TH2,TL2定时器/计数器20CDH,0CCH18RLDH定时器/计数器2自动重装载(高字节)0CBH19RLDL定时器/计数器2自动重装载(低字节)0CAH20SCON串行口控制98H98H–9FH21SBUF串行数据缓冲器99H22PCON电源控制97H(3).片外数据RAM区片外数据存储器是在外部存放数据的区域,这一区域用寄存器间接寻址的方法访问,所用的寄存器为DPTR、R1或R0。

当用R1、R0寻址时,由于R1、R0为8位寄存器,因此最大寻址范围为256B;当用DPTR寻址时,由于DPTR是16位寄存器,因此,最大寻址范围为64KB。数据传送类指令示意图ACC程序存储区TABLEPC01H04H09H01H04H09H0000H0030H30H56HFFFFH外部数据存储区FFH30H30H56H00H内部数据存储区F0HMOVCMOVXMOV2.580C51单片机的工作方式80C51单片机的工作方式复位程序执行低功耗编程校验1.复位操作复位操作是单片机的初始化操作,其主要功能是把PC初始化为0000H,使单片机从0000H单元开始执行程序。

复位操作对单片机的个别引脚信号有影响。例如在复位期间,ALE和PSEN信号变为无效状态,即ALE=1,PSEN=1。一.复位方式寄存器复位时内容寄存器复位时内容PC0000HTCON00HACC00HTL000HB00HTH000HPSW00HTL100HSP07HTH100HDPTR000

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论