- 1、本文档共34页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机与接口技术;1. 51单片机的中央处理器; (1)累加器A(ACC)(8位,E0H)
功能:暂存操作数及保存运算结果;
A是MCS-51单片机中最繁忙的寄存器;
(2)寄存器B(8位,F0H)
功能:用于乘法、除法运算,对于其它指令可作为一个寄存器使用;
(3)程序状态字寄存器PSW(8位,DOH)
功能:存放累加器A在运算过程标志位(P,OV,AC,Cy)的状态;指出CPU所使用的当前工作寄存器组。;;PSW.7;;
(4) TMP1和TMP2为8位暂存寄存器存放参与预算的操作数。
(5)布尔处理器Cy
实现各种位逻辑运算和传送;MCS-51具有一个位寻址空间。
;控制器 ;控制器示意图;(1)程序计数器PC(16位)
程序计数器PC用来存放即要执行的指令地址,共16位,低8位经P0 口输出,高8位经P2口输出。
CPU每取一次机器码,PC内容自动加一, CPU执行一条指令,PC内容自动增加该指令的长度。CPU复位后,PC内容为0000H,它标志着程序从头开始执行。
PC的内容变化决定程序的流向。
(2)指令寄存器(8位)
指令寄存器中存放将要执行的指令代码,通过指令译码器,将指令代码转化为电信号——控制信号ALE等。 ;(3)数据指针DPTR(82H 83H:16位)
用于访问外部RAM或外部I/O口,提供十六位地址。用于程序存储器的查表和程序散转指令,作为基地址寄存器,提供十六位基地址。;2. 51单片机的存储组织; 输入输出口;(1)芯片内部含有程序存储器的单片机( 8051 )
当 =1(接高电平)时,8051的程序存储器结构如图: ;;; 在单片机的程序存储器中,有5个特殊的单元地址被定义为中断入口地址:
外部中断0入口地址:0003H
外部中断1入口地址:0013H
定时/计数器T0入口地址:000BH
定时/计数器T1入口地址:001BH
串行口中断入口地址:0023H; MCS-51单片机的片内RAM按照功能可分为3个区域:
00~1FH:32个单元为工作寄存器区
20~2FH:16个单元为位寻址区
30~7FH:80个单元为数据缓冲区
;工作寄存器区(Register Bank)(00-1FH) ; 表工作寄存器组的工作寄存器R0~R7与内RAM单元的对应关系;位寻址区(Bit Addressable Area)(20~2FH)
MCS-51单片机的片内RAM中, 20~2FH单元被开辟为位寻址区;
这些单元的每一位都具有一个自己的位地址,共16?8=128位。
位寻址区位地址范围为00~7FH,CPU可以对每一位直接操作。
;单元地址;数据缓冲区(Data Buffer Area)(30~7FH)
(1)数据缓冲区的作用
作为数据缓冲、数据暂存、作为堆栈区使用;
这些单元只能按单元(字节)访问。
(2)堆栈
堆栈是为了保护CPU执行程序的现场,在存储器中开辟了一个“先进后出”(后进先出)的区域;
堆栈的操作:入栈,出栈;操作规则:先进后出;
堆栈由堆栈指针SP管理,它始终指向栈顶位置,一般情况下,将堆栈设在30H单元之后。程序设计时,最好设在片内RAM的末端,如 MOV SP, #60H, 以避免堆栈向上生成时覆盖所存储的数据。;特殊功能寄存器(SFR) ;特殊功能寄存器(SFR)的位地址空间
凡是SFR的地址能被8整除的SFR(单元地址的末位是0或8)都具有位寻址功能,MCS-51单片机共有11个SFR具有位寻址功能,这些寄存器(单元)的每一位都有一个位地址。位地址空间:80~FFH。
特殊功能寄存器(SFR)的位地址空间的特点:
(1)SFR对应的单元地址为该SFR最低位的位地址。
(2)SFR的位寻址区地址是不连续的。
;MCS-51单片机SFR的使用:
(1)对于SFR以单元形式访问时,只能采用直接寻址方式。 如:
MOV SBUF, A
MOV 99H, A
二者是等价的。
(2)对于80~FFH区间未定义的单元,用户不得使用。同样,对于未定义位地址所对应的位操作也是无效的。
(3)在编程时,最好不要采用SFR作为中间寄存器暂存中间结果。因为复位时,多数SFR被清0.;*
文档评论(0)