第1章 基本结构及工作原理.ppt

  1. 1、本文档共85页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第1章 基本结构及工作原理

* 地址全译码方式 注意访问外部RAM时用WR信号;访问外部ROM时用PSEN信号 * X:external * Mov Rn,#data(1个机器周期,2个字节);Mov direct,#data(2个机器周期,3个字节) * Mov r0,#33h(2字节1周期) Mov 00h,#33h(3字节2周期) * 13+1+7=21个(dptr占两个) DPTR: Data pointer SP: stack pointer * PC在物理结构上是独立的,它不属于内部RAM的SFR范围,它没有地址,是不可寻址的。因此用户无法对其进行读写,但可以通过转移、调用和返回等指令改变其内容,以实现程序转移。 * Cy: CJNE Rn,#Data等指令也影响进位位 * 关于溢出:1、溢出是针对有符号数运算(机器无法区分有符号数还是无符号数,靠程序员区分:有符号数溢出看标志OV;无符号数的溢出看CY标志) 2、运算结果正确称为自然丢失,运算结果错误则称之为溢出 3、两个异号数相加不会产生溢出 4、两个同号数相加可能产生溢出 (1)两个负数相加产生溢出的情况一定是:低位往最高位(D15或D7)无进位,但最高位往前有进位,此时最高位变为零,即两个负数相加结果变为正数,显然不对; (2)两个正数相加产生溢出的情况一定是:低位往最高位产生进位,而最高位往前无进位,此时最高位变为1,即两个正数相加结果为负,显然不对。 综上,OV=CP异或CS Overflow * * 栈:客栈 注意:栈的生长方向与8086相反,即8086是先SP-1->SP,再把高字节压入,然后又SP-1->SP,压入低字节;8051为上推堆栈,8086为下推堆栈 注意必须是直接地址,如push Acc,但不能用PUSH A * * 如12M晶振,经过12分频后作为计数脉冲,则周期为1us,要定时1s,则计数100万个脉冲即可 两个计数器均为加法计数器 * 地址范围:0000H-1FFFH * 外部时钟信号直接送到内部时钟发生器 * 注:ALE信号为时钟信号的6分频(在不访问外部存储器期间) Instruction Registor(IR) 单字节单周期指令有INC A,MOV A,Rn等 * 该指令是单字节双周期指令(注意常数是从S6P2和下个周期的S1P1期间送出的),OP=93H 373为8D锁存器,高电平触发 /psen变低电平时,外部程序ROM被选中, 该指令是单字节双周期指令 提问:为什么P2口不用锁存器而P0口必须用? 该指令是 字节 周期指令? * 单字节双周期指令 注:在读片外RAM时,/PSEN被封锁为高电平,/RD有效,用作片外RAM的选通信号 设外部RAM3000H单元中有一个数x,且DPTR中已存有该数地址3000H.则CPU 执行外部RAM中的指令(设存放在片外ROM中): * 备课用、上课时不用 * 只讲P0口,其余简介(强调这只是8位中的1位) 组成:1,一个输出锁存器(D型触发器);2,二个三态门(控制读引脚或读锁存器);3,与门和MUX等元件组成的输出控制电路;4,一对场效应晶体管FET构成的输出电路 共有写端口、读端口和读引脚三种操作方式。读端口不是真正的从外部输入数据,而是把端口锁存器中输出数据读到CPU的累加器A中;读引脚才是真正的输入外部数据的操作,是从端口引脚线上读入外部的输入数据. 如外接引脚信号为低电平,从引脚上读入的信号就与从锁存器读入的信号不同。为此,8031单片机在对端口P0一P3的输入操作上,有如下约定:凡属于读-修改-写方式的指令,从锁存器读入信号,其它指令则从端口引脚线上读入信号。 读-修改-写指令的特点是,从端口输入(读)信号,在单片机内加以运算(修改)后,再输出(写)到该端口上。下面是几条读--修改-写指令的例子。 ANL P0,#立即数;P0→立即数P0ORL P0,A;P0→AP0INC P1;P1+1→P1DEC P3;P3-1→P3CPL P2;P2→P2这样安排的原因在于读-修改-写指令需要得到端口原输出的状态,修改后再输出,读锁存器而不是读引脚,可以避免因外部电路的原因而使原端口的状态被读错。 下侧场效应管导通时p0.x引脚电平被箝位在0电平,使得输入的高电平1无法读入。同时,在此时引脚的高电平被强行拉回到低电平,可能产生很大的电流经过该场效管将其烧坏 * 只讲P0口,其余简介 * Multiplexing/多路技术 * 该题为实验例题 在程序开始时,应增加LJMP LOOP指令 74LS244的输出电流可达40mA以上 头两条指令可用MOV P1,#03H一条表示 * 8051也是如此(3.2mA;80uA);PIC(microchip公司生产)可达20mA的灌电流和拉电

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档