Ⅰ 最近刚学单片机一直搞不明白请单片机的I2C总线是什么怎么实现,需要单独的芯片来实现吗
它是一条总线,包括两条导线:一条数据线SDA,一条时钟线SCL。
单片机通过这条总线,和外接的各个芯片进行通信。
想传送一字节数据,就必须在数据线SDA上一位一位的传输;
每传送一位,在时钟线SCL上要输出一个脉冲。
另外还有“起始”、“终止”和“应答”位,这些看时序图即可理解。
总线上,可以挂接多个器件,这就有了“从地址”的问题;
在某个器件内部,可能有多个存储单元,这就有了“字地址”的问题。
I2C总线,确实是很罗嗦的。
Ⅱ 如何构建AT89系列单片机扩展的系统总线
扩展系统总线是在需要扩展外部数据存储器RAM的情况下才这么做的,但不要用于扩展外部程序存储器ROM,如果ROM是用来存放字库是可以的。因为现在的单片机片内的程序存储器的容量很大,不需要在外部扩展,更主要是不便于程序加密。如果仅仅是为了完成老师的作业那就这样做:P0口8条线直接接出来就是8条数据线D0-D7,P0口再接一片74LS373,做低8位地址锁存器,单片机的ALE接到373的CLK端,这样373输出端就是低8位地址总线A0-A7了。P2口直接接就是高8位地址总线A8-A15。P3.6是写数据存储器的写信号WR,P3.7是读信号RD,这两条即是控制总线。
Ⅲ 单片机总线的用法
只要硬件做好了,
用指令:
MOVX DPTR,A
就可以了,数据会出现在锁存器上。
Ⅳ 关于单片机地址总线的操作方法
很多初学者都这么问呢,实际上这是你的老师重点强调的内容。
你说的是51单片机把?对于总线工作方式,读写外部存储器或者IO的数据时,只要执行MOVX指令就可以了,WR、RD、ALE这些信号都是硬件自动产生的,不需要你自己写程序去控相应信号线的电平,或者简单说一点,你无法控制ALE的信号变化!就这样,只要你执行了MOVX指令就自动将数据读取或者写入了。
Ⅳ 什么是单片机的扩展总线
很多并行接口器件,如ROM,RAM,I/O等都是采用地址总线,数据总线,控制总线的三总线结构与CPU通讯,当扩展这些器件时,单片机就相当于一只CPU,需要用单片机的I/O口来扩展出来三总线,而单片机在设计时考虑到了这样的情况,对51单片机来说,P2P0合起来是16位地址总线(寻址64K),P0口分时当数据总线来用(8位),P3口相当于控制总线。
Ⅵ 单片机扩展地址总线和数据总线分别如何实现
那首先要芯片本身就具有总线功能的并有相应的I/O口,如除了数据,地址口外还要有相应的读,写口,对“冯”总线模式还需外有低位地址锁存器及相应的地址锁存信号。有了这条件后再选用有要对应规定用的器件。如I和M的总线规范就不一样,器件就不好换用。这时再一一联上,OK!
Ⅶ intel8051单片机进外部扩展时,如何形成总线控制总线有哪些信号
外部扩展时,P0口作为数据总线以及通过373作为地址总线的低八位,P2作为地址总线的高八位。P3.6/P3.7作为读写控制信号。
Ⅷ 多个STC12C5A60S2单片机如何连入CAN总线
这个问题比较复杂,首先STC12C5A60S2是一款不带CAN总线的单片机,需要外接CAN总线控制器,例如SJA1000,好像是飞利浦的芯片,与单片机并行通讯,协议很复杂,所以我建议用带CAN总线的单片机,例如STM8系列,C8051系列,这样外接一个CAN总线收发器就行了,简单方便
Ⅸ 80c51单片机如何扩展外部总线
用锁存器74LS375,74HC573扩展,用8255也可以扩展,其中一个8255可以把单片机的P0口扩展为三个8位I/O口。
Ⅹ PROTUES 时钟芯片12C877的ad[0..7]总线, 怎么和单片机的P1口连接呀
是DS12C887呀。那是总线接口,首先也要画一条总线,然后给总线加网络标号D[0..7],注意,[ ]括号内是两个小数点。再与单片机用8条线也P1口连接,再分别给每条导线加网络标号。见下图。