- 1、本文档共74页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工程科技]第2章 MCS-51单片机组成与工作原理
1. 单片机组成: 单片机管脚及片外总线结构; 单片机片内结构。 2. 单片机工作原理: 时钟电路及CPU时序; 单片机复位; 节电方式。 程序存储器 (ROM 4KB) 存储器 特殊功能寄存器SFR (片内) 数据存储器 (RAM 256B) 工作寄存器和堆栈 128B 配置说明:3个独立存储空间 4K 片内程序存储器(0000~ 0FFFH) 64K 片外程序存储器(0000~0FFFFH) 128B 片内数据存储器(00~7FH) 128B 片内特殊功能寄存器(80~0FFH) 64K 片外数据存储器(0000~0FFFFH) 位寻址区内的地址是位地址。共有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为位地址。有关详细内容将在指令系统中描述。 1) 特殊用途寄存器的集合 用来设定单片机内部各个功能模块的工作方式(控制 字),存放相关模块的状态、中断标志等。 2)不能作为普通的RAM存储单元来使用 1)程序计数器PC: 独立于SFR,用来存放下一条将要执行的指令地址。长度为16位,所以寻址范围为0-65535(64K)。 2)累加器A: 最常用的寄存器, 大多数指令操作数都来自累加器A。 3)B寄存器: 乘除法指令使用的专用寄存器。 5)程序状态字PSW: 8位寄存器, 表征程序执行的状态信息。 CY (PSW.7)进位标志: 加减法运算中,累加器A最高位A7有进位,则CY=1,否则CY=0.同理,在减法运算中,如果A7有借位,则CY=1。 AC (PSW .6):辅助进位位: 用来判断加减法运算时,低四位是否向高四位进位或借位(既A3的进位或借位)。 6)SP 堆栈指针: 指示堆栈的位置,可由软件修改。在MC S-51单片机的设计中,片内RAM区为堆栈的可用空间。上电或复位时,SP初始化为07H,即堆栈底部被确定在RAM的07H单元。 堆栈操作过程: 进栈: PUSH ACC(设SP = 07H) 1. SP+1送SP,此时SP=08H; 2. ACC送RAM的08H单元; 出栈: POP ACC (设SP=08H) 1. 将RAM 中08H单元内容送A; 2. SP-1送SP ,此时SP=07H。 7)并行端口P0-P3: SFR中的P0-P3实际上就是I/O端口的数据锁存器。与RAM中的任意一个单元一样,P0-P3都有自己的RAM地址:80H、90H、A0H、B0H。所以,在51单片机中输入、输出操作实际上就是普通的RAM单元操作:如 输出指令 MOV 80H,A ; 将累加器中的数据送到P0口输出. 输入指令 MOV A,90H ; 将P1口的数据输入到累加器A中. MCS-51指令系统中没有专用输入、输出(IN、OUT)指令,而是把P0-P3作为普通的内存单元来使用。上面两个例子实际上就是MCS-51的输出、输出指令。 8)串行数据缓冲器SBUF: 专门用于存放发送或接收的数据,实际上它是两个独立的寄存器。尽管RAM地址只是99H,但根据指令“发送”或“接收”两种不同的操作,硬件会自动的区分,将数据送如对应的缓冲单元。 0000H单元:上电时,程序计数器PC所指向的单元。 0003H单元:外部中断/INT0的入口地址; 000BH单元:定时器T0的溢出中断入口地址; 0
文档评论(0)