百科生活 投稿
关于【魑魅魍魉是哪四种妖怪】,魑魅魍魉是哪四种鬼,今天小编给您分享一下,如果对您有所帮助别忘了关注本站哦。
- 内容导航:
- 1、基于proteus的51单片机开发实例27-I2C总线的读写
- 2、魑魅魍魉是哪四种妖怪:魑魅魍魉是哪四种鬼
1、基于proteus的51单片机开发实例27-I2C总线的读写
本实例意在了解I2C总线的接口电路设计,IC总线数据的写入和读出。由于51单片机没有内置I2C模块,所以本实例中我们使用51单片机的I/O口模拟I2C总线的读写。
1.2. 设计思路
在单片机系统设计中,完成一个功能的前提是首先了解该功能的实现原理,其次要知道完成该功能的电路设计,第三是能够实现编程控制。所以本例中我们要首先了解I2C器件的基础知识,以此进行电路设计,最后编程实现预期的功能。
1.3. 基础知识
I2C总线是一种双向二进制总线,用于连接单片机和外围设备,是单片机应用系统中应用较多的串行总线之一。
目前有很多外围器件都是IC2总线,例如常见的EEPROM存储器AT24系列,日历时钟芯片PCF8563,DS1302,LCD驱动器PCF8576,AD转换器PCF8591等。
1.3.1. I2C总线接口
I2C只有两根信号线:SDA-双向数据/地址线;SCL-串行时钟线。I2C总线上可以连接多个I2C器件,如下图所示。
图2 I2C总线连接示意图
需要说明的是,I2C总线的接口是开漏型的,其目的就是为了能够连接多个相同器件。所以进行I2C总线的电路设计时,需要加上拉电阻,如图所示。
既然I2C总线上可以挂多个器件,那么这些器件怎么一一识别呢?我们以AT24C02为例来说明。如下图所示。
A0,A1,A2作为地址设置端口,可以将这三个端口分别连接不同的电平,这样就能区别了。
前面我们学习的RS-232串口通信的数据发送和接收分别用不同的线,一根专门用来发送数据,另一根专门用来接收数据。而I2C总线的数据发送和接收都使用同一根线。I2C总线通信时,有主器件和从器件的区别。当某个器件向总线上发送数据时,这个器件就是主器件,而当这个器件从总线上接收数据时,它又变成了从器件。因此对于参与I2C通信的器件,主器件和从器件是相对的。
1.3.2. I2C总线器件的地址
前面我们已经说过,I2C总线上可以挂接多个器件,每个器件都必须有唯一的地址,这样才能确保总线通信的正确性。I2C总线上所以期间的地址都按照一定的规范来设定。器件地址由7位二进制位组成,然后与一位读写控制位(方向位)合成一个字节的寻址字节(对于存储容量大的,寻址字节之外还要有高地址字节)。
寻址字节
1.3.3. I2C总线上的时钟信号
I2C总线上的数据传输必须在时钟信号的驱动下进行。
1.3.4. I2C总线的传输协议
1.3.4.1. 起始和结束条件
如下图所示。在数据传送时,必须确认数据传送的开始和结束。
I2C总线的开始和停止
开始条件
SCL为高电平时,SDA由高电平向低电平跳变。开始传送数据。
结束条件
SCL为高电平时,SDA由低电平向高电平跳变。结束传送数据。
1.3.4.2. 数据格式
开始信号发出后,主器件送出的第一个字节是用来发送从器件地址的。数据的发送是按照字节数据高位在前,低位在后的原则发送的。前7位是地址码,第8位是方向位(通俗来说就是读写控制位,对于主器件来说,读数据是从从器件获得数据,写数据是向从器件发送数据)。I2C总线上的所以器件在收到开始信号后,将收到的第一个字节的数据与自己的地址比较,如果地址一致,则该器件被选定,然后该器件根据方向位进行数据的接收还是发送操作。
I2C总线数据传送采用时钟脉冲逐位串行传送方式。时序图如下。在SCL的低电平期间,SDA线上的数据可以变化。SCL高电平器件,SDA线上的数据必须保持不变。因为此时SDA状态的改变已被用来表示起始和结束条件。
I2C器件的数据交互
1.3.4.3. 响应
I2C总线协议规定,每传送一个字节数据(包括地址和命令)完毕,都要有一个应答信号ACK,以确定数据传送是否正确。应答位的时钟脉冲由主器件产生,主器件需要在应答脉冲的高电平期间释放数据线SDA,转由从器件控制。通常的做法是从器件在这个时钟期间必须向SDA发送一个低电平,以产生有效的应答信号。表示接受正常,若接收不正常或不能产生应答信号,则保持SDA为高电平,此时,主器件产生一个停止信号,使传送异常结束。
1.4. 电路设计
本实例使用常见的EEPROM存储器AT24C02。该芯片引脚图如下所示。
其中SCL-时钟线;SDA-数据线;WP-写保护,当该引脚接高电平,不允许写入数据,接地,不允许写入数据;A2A1A0-地址输入端,可通过接高电平或低电平确定芯片地址。
AT24C02引脚图
本实例的电路如图1所示。电路中单片机的P3.4和P3.4连接I2C器件AT24C02。P0口和P2口分别连接两个LED排,用于指示将要写入和读出的数据。
1.5. 程序设计
本实例程序代码如下。
本程序实现的功能是,讲一个数据写入到I2C器件AT24C02的相应地址,同时将要写入的数据通过连接在P0口的8个发光二极管显示,然后读出该位置的数据,并通过连接P2口的8个发光二极管显示。
编写程序代码,编译生成HEX文件,将HEX文件装载到proteus电路的单片机中,开始仿真,连接在P0口和P2口的两组发光二极管,看看他们显示的是否一致。 视频加载中... 通过本例,我们学习了I2C总线的原理、电路设计、编程方法。 “魑魅魍魉”中的“魑”指的是山怪,“魅”指的是一种精怪,“魍魉”都指的是水怪。魑魅魍魉的说法在远古时代就已经存在,在古代特指传说中害人的鬼怪的统称,现指形形色色的坏人。 魑魅魍魉是中国神话传说中害人的四种妖怪,也被称为魑魅魍魉四小鬼。关于这四个字,最出名的一副对联就是“琵琶琴瑟八大王,王王在上;魑魅魍魉四小鬼,鬼鬼靠边”。因为这幅对联,所以不少人都误以为“魑魅魍魉”是指的四个不同类型的小鬼,其实不是的。主要是为了对联能够上下工整,所以才用了“四”,真实情况“魑魅魍魉”指的是三种鬼怪。 第一种 “魑”,关于“魑”有两种说法,其一认为它是个好动物,古代建筑物房顶的四角或者一些器皿上,我们都能看到一种叫做“螭龙”的装饰物,螭龙是古神话中龙的儿子之一,特点就是头顶没有龙角。而“螭”和“魑”可以说是兄弟关系,没有很大差别,所以大家才认为“魑”是好动物的象征。 第二种“魅”喜欢看小说应该都知道一些,“魅”在古代指的是木质妖怪,类似于树精,或者是一些老古董经常长时间的变化后成了妖怪。而魅的形象大多是外貌妖艳。这种推断主要是来自于诗鬼李贺的《神弦曲》,其中一句“百年老鸮成木魅”,就是说古代一种有百年年龄的害人之鸟变成了木质妖怪。 第三种“魍魉”在《搜神记》中有写到“一居若水为魍魉鬼”,意思就是魑魅为水怪,但也有人认为水怪指的是“魍”,而“魉”是山川木石之类的妖怪。不多大多数古书中“魍魉”都指向了水怪。 本文关键词:魑魅魍魉是哪四种鬼魂,魑魅魍魉是几种鬼,魑魅魍魉是几种,魑魅魍魉五鬼是哪几种,魑魅魍魉的鬼的区别。这就是关于《魑魅魍魉是哪四种妖怪,魑魅魍魉是哪四种鬼(基于proteus的51单片机开发实例27-I2C总线的读写)》的所有内容,希望对您能有所帮助!#include1.6. 实例仿真
1.7. 总结
2、魑魅魍魉是哪四种妖怪:魑魅魍魉是哪四种鬼
- 最近发表