傻大方


首页 > 知识库 > >

单片机|单片机(汇编)课件-第8章( 二 )


按关键词阅读: 汇编 单片机 课件


设虚拟串行接 。

【单片机|单片机(汇编)课件-第8章】8、口归一化子程序已存在ROM中,解: ORG 0000H ;
复位地址 LJMP STAT ;
转初始化程序 ORG 000BH ;
T0中断入口地址 LJMP IT0 ;
转T0中断服务子程序 VRXD BIT P1.0 ;
P1.0虚拟RXD VTXD BIT P1.1 ;
P1.1虚拟TXD PIOX2 BIT P1.2 ;
P1.2虚拟PIOX2 ORG 0100H ;
初始化程序首地址 STAT: MOV TMOD,#01H ;
置T0定时器方式1 MOV TH0,#0D8H ;
置T0定时初值10ms MOV TL0,#0F0H ;
SETB TR0 ;
启动T0 SETB ET0 ;
T0开中 SETB。

9、EA ;
CPU开中 LJMP WORK ;
转主程序并等待T0中断 ORG 1000H ;
T0中断服务子程序首地址 IT0: MOV TH0,#0D8H ;
重置T0定时初值10ms MOV TL0,#0F0H ;
PUSH Acc ;
保护现场 PUSH PSW ;
INPUT: LCALL VUARTI ;
调用虚拟串行输入子程序 MOV 2FH,A ;
存键K0K7状态数据 POP PSW ;
恢复现场 POP Acc ;
RETI,8-3 I2C总线串行扩展技术 一、I2C总线串行扩展概述 1、扩展连接方式,具有I2C总线结构的器件 , 不论SRAM、E2PROM、 ADC/DAC、I/O口或MCU ,。

10、均可通过SDA、SCL连接 (同名端相连) 。
无I2C 总线结构的器件 , 如LED/LCD显示器、键 盘、码盘、打印机等也可通过具有I2C总线结构的I/O 接口电路成为串行扩展器件,2、器件寻址方式 具有I2C总线结构的器件在器件出厂时已经给定了器件的地址编码 。
I2C总线器件地址SLA格式如下: DA3DA0 4位器件地址是I2C总线器件固有的地址编码 , 器件出厂时就已给定 , 用户不能自行设置 。
A2A1A0 3位引脚地址用于相同地址器件的识别 。
若I2C总线 上挂有相同地址的器件 , 或同时挂有多片相同器件时 , 可用硬 件连接方式对3位引脚A2A1A0接Vcc或接地 , 形成地址数据 。
R/W 数据传送方向 。

11、 。
R/W=1时 , 主机接收(读); R/W=0时 , 主机发送(写,3、接口电气结构 I2C总线端口输出为开漏结构 , 总线上必须 外接上拉电阻Rp , 其阻值通常可选510K 。
4、总线驱动能力 由于I2C总线器件均为CMOS器件 , 总线具有 足够的电流驱动能力 。
I2C总线的电容负载能力为400 pF(通过驱 动扩展可达4000pF) 。
I2C总线传输速率为100Kb/s(改进后的规 范为400 Kb/s,5、I2C总线时序,一次完整的数据传送过程应包括:起始(S)、发送寻址字节(SLA R/W)、应答、发送数据、应答、发送数据、应答、终止(P,三、80C51单主系统虚拟I2C总线软件包 80C51只能采 。

12、用虚拟I2C总线方式 , 并且只能用 于单主系统 , 虚拟I2C总线接口可用通用I/O口中任一端线充任 , 数据线定义为VSDA , 时钟线定义为VSCL 。
80C51单主系统虚拟I2C总线软件包VIIC可由二 大类共9个归一化子程序组成 。
二大类程序分别为典型信号模拟子程序和数据传送通用子程序,1、典型信号模拟子程序 对于虚拟I2C总线 , 有几个重复应用的典型信号 , 可 根据I2C总线时序要求 , 编制这些典型信号子程序: 启动信号STAT 终止信号STOP 发送应答位(A)MACK 发送应答非位(A)NACK 检查应答位CACK 2、数据传送通用子程序 数据传送通用子程序是应用典型信号模拟子程序(起 始、终止、应答 。

13、和检查应答)并按I2C总线数据传送时序 要求编制的子程序 。
发送一字节数据子程序WR1B 接收一字节数据子程序RD1B 发送N个字节数据子程序WRNB 接收N个字节数据子程序RDNB,发送N个字节数据子程序WRNB 按照I2C总线数据传送时序要求 , 一次完整的数据 发送过程应包括起始(S)、发送寻址字节(SLA R/W)、应答、发送数据、应答、发送数据、应答、终止(P) , 其格式如下: 其中 , 红色部分由主器件发送 , 从器件接收;黑色部分 由从器件发送 , 主器件接收 。
入口条件: 伪指令定义NUMB、SLA、MTD单元地址; 发送数据字节数存内RAM NUMB单元; 发送寻址字节存内RAM SLA单元; 。

14、 发送数据依次存放在首址为MTD的内RAM中 。
占用资源:Acc、R1、R2、R3、Cy、F0,WRNB: MOV R3,NUMB ;
取发送数据字节数N(存在内RAM NUMB单元) WRNB0:LCALL STAT ;
启动I2C总线 MOV A,SLA ;
读发送寻址字节(存在内RAM SLA单元) LCALL WR1B ;
发送寻址字节 LCALL CACK ;
检查应答位 JB F0,WRNB0 ;
应答不正常,返回重发 MOV R1,#MTD ;
应答(A)正常,取发送数据存储区首址 WRDA: MOV A,R1 ;
读一个字节发送数据 LCALL WR1B ;
发送一个字节 LCALL CACK。

15、;
检查应答位 JB F0,WRNB ;
应答不正常,返回重发 INC R1 ;
应答(A)正常,指向发送数据下一字节 DJNZ R3,WRDA ;
判N个数据发送完毕否?未完继续 LCALL STOP ;


来源:(未知)

【学习资料】网址:/a/2021/0321/0021737716.html

标题:单片机|单片机(汇编)课件-第8章( 二 )


上一篇:城市|城市轨道交通信号概论

下一篇:2021|2021年开发区管理工作打算