单片机原理及应用2.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机原理及应用2 51单片机并口及并口应用 51单片机晶振和复位 51单片机指令集 编者:康戈文 51单片机的并行接口 51单片机I/O具有4组,每组8位,共32位并行接口,按“第二功能”不同,结构也稍有不同。 P0口:并口/数据地址总线 P1口:并行接口 P2口:并口/地址高8位 P3口:并口,每个引脚还有不同功能:RXD;TXD;INT0;INT1;T0;T1;WR;RD 标准并行接口电路框图 51单片机P1口 51单片机P0口 51单片机P2口 51单片机P3口 51单片机并口应用小结 并口基本功能:只要写“1”到锁存器,就可以读取引脚数据。 并口第二功能随指令变化: 使用MOVX/MOVC指令时,P0/P2口自动切换到“地址、数据”方式 P3口第二功能是“直通”的,可以直接输出:WR、RD、TXD,直接输入:INT0、INT1、T0、T1、RXD。由程序和电路直接相应(预先设定功能,采用相应指令) 并口输出应用举例 单片机连接光耦合器件 89C51晶振电路 指令时序 时序要点: 一个指令周期=1,2或者4个机器周期 一个机器周期=12个晶振周期 一个机器周期输出两个ALE脉冲 即: ALE的输出频率fALE=(1/6)fOSC 如果使用晶振频率为12MHZ,则fALE =2MHZ,指令执行时间=1,2,4微秒。 复位电路 上电复位时序 复位后寄存器状态 PC=0000 程序从0000开始执行,ROM的这个地址也称为“复位地址” PSW=0 其中RS1,RS1=0,默认主程序使用寄存器组0 SP=07 堆栈从RAM的07地址开始,一般需要更改堆栈栈底值 P0~P3=FFH 引脚输出高电平 IE=0X000000B 所有中断被关闭 IP=0X000000B 所有中断无优先级 TMOD=00 定时器T0,T1模式0…… TCON=00 定时器不工作……. SCON=00 串行口默认使用方式0 PCON=0XXX0000B 无电源管理,无波特率2倍设置…… 其他如ACC;DPTR;TH0;TL0;TH1;TL1;SBUF等可以不关心。 地址数据扩展电路 扩展后的地址数据时序 51单片机(汇编)指令集 任何CPU的指令都使用“二进制”机器码! 用数字(代码)表达需要CPU执行的功能显然是极不方便的! 采用“助记符”表达“二进制机器码”,便于编写程序。 “助记符”也称为“助记符指令”。 用“助记符”编写的程序,称为“汇编语言程序” “助记符→二进制机器码”过程称为“汇编” “二进制机器码 →助记符”过程称为“反汇编” 常用的指令表达方式为: [标号:]助记符 操作对象1(结果),操作对象2 寻址方式 Addressing 地址(动名词),翻译为“寻址” 一般意义:可以访问的所有地址空间的“地址表达式” 指令中的意义:“地址”的表达形式: 直接用“地址码”表达——称为“直接寻址” 用“寄存器内容”表达——称为“寄存器间接寻址” 寄存器作为访问对象——称为“寄存器寻址” 直接使用常数(立即数)——称为“立即寻址” 固定地址+偏移——称为“变址寻址”,也称:基址+变址 当前程序地址±相对偏移——相对寻址 操作数是位寄存器或者位变量——位寻址 不同CPU还有其它表达方式(寻址方式) 51单片机指令通用符号 Rn 代表R0,R1~R7中任意一个,即:n=0,1~7 Ri 代表R0或R1,即:i=0.1 #data 代表8位立即数(常数) #data16 代表16位立即数(常数) Direct 代表直接地址:8位地址码(变量名)或寄存器 名:寄存器除A,Rn外) rel 带符号的8位相对偏移地址 Addr 11 addr16 11位或者16位地址 @Ri 用Ri的内容表达地址(8位地址) @DPTR 用DPTR的内容表达地址(16位地址) LABEL 程序入口的名称 BIT 位变量、位寄存器,如:P1.0, C, ACC.7等 51单片机寻址表达式1 直接寻址:操作对象是地址、变量名、SFR中的寄存器名。例如: MOV 20H,A MOV SP,#30H PUSH ACC (寄存器)间接寻址:通过寄存器指出访问地址,寄存器只能使用R0,R1或DPTR,在寄存器前面冠以符号@。例如: MOV @R1,A MOVX @DPTR,A 此表达方法可以方便地用于循环程序 51单片机寻址表达式2 寄存器寻址:对寄存器操作。寄存器指:Rn和A,其余“寄存器”不算

文档评论(0)

ranfand + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档