您当前的位置:首页 > 美文欣赏 > 内容

前世姻缘未尽,前世夫妻缘未尽(基于proteus的51单片机开发实例27-I2C总线的读写)

关于【前世姻缘未尽】,前世夫妻缘未尽,今天犇犇小编给您分享一下,如果对您有所帮助别忘了关注本站哦。

内容导航: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器件,如下图所示。

前世姻缘未尽,前世夫妻缘未尽(基于proteus的51单片机开发实例27-I2C总线的读写)

图2 I2C总线连接示意图

需要说明的是,I2C总线的接口是开漏型的,其目的就是为了能够连接多个相同器件。所以进行I2C总线的电路设计时,需要加上拉电阻,如图所示。

既然I2C总线上可以挂多个器件,那么这些器件怎么一一识别呢?我们以AT24C02为例来说明。如下图所示。

A0,A1,A2作为地址设置端口,可以将这三个端口分别连接不同的电平,这样就能区别了。

前面我们学习的RS-232串口通信的数据发送和接收分别用不同的线,一根专门用来发送数据,另一根专门用来接收数据。而I2C总线的数据发送和接收都使用同一根线。I2C总线通信时,有主器件和从器件的区别。当某个器件向总线上发送数据时,这个器件就是主器件,而当这个器件从总线上接收数据时,它又变成了从器件。因此对于参与I2C通信的器件,主器件和从器件是相对的。

1.3.2. I2C总线器件的地址

前面我们已经说过,I2C总线上可以挂接多个器件,每个器件都必须有唯一的地址,这样才能确保总线通信的正确性。I2C总线上所以期间的地址都按照一定的规范来设定。器件地址由7位二进制位组成,然后与一位读写控制位(方向位)合成一个字节的寻址字节(对于存储容量大的,寻址字节之外还要有高地址字节)。

前世姻缘未尽,前世夫妻缘未尽(基于proteus的51单片机开发实例27-I2C总线的读写)

寻址字节

1.3.3. I2C总线上的时钟信号

I2C总线上的数据传输必须在时钟信号的驱动下进行。

1.3.4. I2C总线的传输协议

1.3.4.1. 起始和结束条件

如下图所示。在数据传送时,必须确认数据传送的开始和结束。

前世姻缘未尽,前世夫妻缘未尽(基于proteus的51单片机开发实例27-I2C总线的读写)

I2C总线的开始和停止

开始条件

SCL为高电平时,SDA由高电平向低电平跳变。开始传送数据。

结束条件

SCL为高电平时,SDA由低电平向高电平跳变。结束传送数据。

1.3.4.2. 数据格式

开始信号发出后,主器件送出的第一个字节是用来发送从器件地址的。数据的发送是按照字节数据高位在前,低位在后的原则发送的。前7位是地址码,第8位是方向位(通俗来说就是读写控制位,对于主器件来说,读数据是从从器件获得数据,写数据是向从器件发送数据)。I2C总线上的所以器件在收到开始信号后,将收到的第一个字节的数据与自己的地址比较,如果地址一致,则该器件被选定,然后该器件根据方向位进行数据的接收还是发送操作。

I2C总线数据传送采用时钟脉冲逐位串行传送方式。时序图如下。在SCL的低电平期间,SDA线上的数据可以变化。SCL高电平器件,SDA线上的数据必须保持不变。因为此时SDA状态的改变已被用来表示起始和结束条件。

前世姻缘未尽,前世夫妻缘未尽(基于proteus的51单片机开发实例27-I2C总线的读写)

I2C器件的数据交互

1.3.4.3. 响应

I2C总线协议规定,每传送一个字节数据(包括地址和命令)完毕,都要有一个应答信号ACK,以确定数据传送是否正确。应答位的时钟脉冲由主器件产生,主器件需要在应答脉冲的高电平期间释放数据线SDA,转由从器件控制。通常的做法是从器件在这个时钟期间必须向SDA发送一个低电平,以产生有效的应答信号。表示接受正常,若接收不正常或不能产生应答信号,则保持SDA为高电平,此时,主器件产生一个停止信号,使传送异常结束。

1.4. 电路设计

本实例使用常见的EEPROM存储器AT24C02。该芯片引脚图如下所示。

其中SCL-时钟线;SDA-数据线;WP-写保护,当该引脚接高电平,不允许写入数据,接地,不允许写入数据;A2A1A0-地址输入端,可通过接高电平或低电平确定芯片地址。

前世姻缘未尽,前世夫妻缘未尽(基于proteus的51单片机开发实例27-I2C总线的读写)

AT24C02引脚图

本实例的电路如图1所示。电路中单片机的P3.4和P3.4连接I2C器件AT24C02。P0口和P2口分别连接两个LED排,用于指示将要写入和读出的数据。

1.5. 程序设计

本实例程序代码如下。

本程序实现的功能是,讲一个数据写入到I2C器件AT24C02的相应地址,同时将要写入的数据通过连接在P0口的8个发光二极管显示,然后读出该位置的数据,并通过连接P2口的8个发光二极管显示。

#include<AT89x51.h> //#include<intrins.h> //#defineOP_READ0xa1// #defineOP_WRITE 0xa0// Æ÷¼þµØÖ·ÒÔ¼°Ð´Èë²Ù×÷,0xa1¼´Îª1010 0000Bsbit SDA=P3^4; //½«´®ÐÐÊý¾Ý×ÜÏßSDA붨ÒåÔÚΪP3.4Òý½Åsbit SCL=P3^3; //½«´®ÐÐʱÖÓ×ÜÏßSDA붨ÒåÔÚΪP3.3Òý½Å/*****************************************************º¯Êý¹¦ÄÜ£ºÑÓʱ1ms(3j+2)*i=(3¡Á33+2)¡Á10=1010(΢Ãë)£¬¿ÉÒÔÈÏΪÊÇ1ºÁÃë***************************************************/void delay1ms();/*****************************************************º¯Êý¹¦ÄÜ£ºÑÓʱÈô¸ÉºÁÃëÈë¿Ú²ÎÊý£ºn***************************************************/ void delaynms(unsigned int n);//ÒÔÏÂÊǶÔAT24C02µÄ¶Áд²Ù×÷³ÌÐòvoid start();void stop();unsigned char ReadData();bit WriteCurrent(unsigned char y);void WriteSet(unsigned char add, unsigned char dat);unsigned char ReadCurrent();unsigned char ReadSet(unsigned char set_add);/*********************************************************************º¯Êý¹¦ÄÜ£ºÖ÷º¯Êý***********************************************************************/ void main(void) { unsigned char sum=0x01; //´¢´æ¼ÆÊýÖµ unsigned char x=0; //´¢´æ´ÓAT24C02¶Á³öµÄÖµ P0=0xff; while(1) //ÎÞÏÞÑ­»·{ P0=sum; WriteSet(0x01,sum); //½«¼Æ¼þֵдÈëAT24C02ÖеÄÖ¸¶¨µØÖ·"0x01" x=ReadSet(0x01); //´ÓAT24C02ÖжÁ³ö¼Æ¼þÖµP2=x; delaynms(300); sum++;P0=sum; WriteSet(0x01,sum); //½«¼Æ¼þֵдÈëAT24C02ÖеÄÖ¸¶¨µØÖ·"0x01" x=ReadSet(0x01); //´ÓAT24C02ÖжÁ³ö¼Æ¼þÖµP2=x; delaynms(300); }}/*****************************************************º¯Êý¹¦ÄÜ£ºÑÓʱ1ms(3j+2)*i=(3¡Á33+2)¡Á10=1010(΢Ãë)£¬¿ÉÒÔÈÏΪÊÇ1ºÁÃë***************************************************/void delay1ms(){ unsigned char i,j; for(i=0;i<10;i++) for(j=0;j<33;j++) ; }/*****************************************************º¯Êý¹¦ÄÜ£ºÑÓʱÈô¸ÉºÁÃëÈë¿Ú²ÎÊý£ºn***************************************************/ void delaynms(unsigned int n) { unsigned int i;for(i=0;i<n;i++) delay1ms(); }/*******************************************************************************ÒÔÏÂÊǶÔAT24C02µÄ¶Áд²Ù×÷³ÌÐò********************************************************************************//***************************************************º¯Êý¹¦ÄÜ£º¿ªÊ¼Êý¾Ý´«ËÍ***************************************************/void start()// ¿ªÊ¼Î»{SDA = 1; //SDA³õʼ»¯Îª¸ßµçƽ¡°1¡±SCL = 1; //¿ªÊ¼Êý¾Ý´«ËÍʱ£¬ÒªÇóSCLΪ¸ßµçƽ¡°1¡±_nop_(); //µÈ´ýÒ»¸ö»úÆ÷ÖÜÆÚ_nop_(); //µÈ´ýÒ»¸ö»úÆ÷ÖÜÆÚSDA = 0; //SDAµÄϽµÑر»ÈÏΪÊÇ¿ªÊ¼ÐźÅ_nop_(); //µÈ´ýÒ»¸ö»úÆ÷ÖÜÆÚ_nop_(); //µÈ´ýÒ»¸ö»úÆ÷ÖÜÆÚ_nop_(); //µÈ´ýÒ»¸ö»úÆ÷ÖÜÆÚ_nop_(); //µÈ´ýÒ»¸ö»úÆ÷ÖÜÆÚSCL = 0; //SCLΪµÍµçƽʱ£¬SDAÉÏÊý¾Ý²ÅÔÊÐí±ä»¯(¼´ÔÊÐíÒÔºóµÄÊý¾Ý´«µÝ£©}/***************************************************º¯Êý¹¦ÄÜ£º½áÊøÊý¾Ý´«ËÍ***************************************************/void stop()// ֹͣλ{SDA = 0; //SDA³õʼ»¯ÎªµÍµçƽ¡°0¡±_nop_(); //µÈ´ýÒ»¸ö»úÆ÷ÖÜÆÚ_nop_(); //µÈ´ýÒ»¸ö»úÆ÷ÖÜÆÚSCL = 1; //½áÊøÊý¾Ý´«ËÍʱ£¬ÒªÇóSCLΪ¸ßµçƽ¡°1¡±_nop_(); //µÈ´ýÒ»¸ö»úÆ÷ÖÜÆÚ_nop_(); //µÈ´ýÒ»¸ö»úÆ÷ÖÜÆÚ_nop_(); //µÈ´ýÒ»¸ö»úÆ÷ÖÜÆÚ_nop_(); //µÈ´ýÒ»¸ö»úÆ÷ÖÜÆÚSDA = 1; //SDAµÄÉÏÉýÑر»ÈÏΪÊǽáÊøÐźÅ}/***************************************************º¯Êý¹¦ÄÜ£º´ÓAT24Cxx¶ÁÈ¡Êý¾Ý³ö¿Ú²ÎÊý£ºx***************************************************/unsigned char ReadData()// ´ÓAT24CxxÒÆÈëÊý¾Ýµ½MCU{unsigned char i;unsigned char x; //´¢´æ´ÓAT24CxxÖжÁ³öµÄÊý¾Ýfor(i = 0; i < 8; i++){SCL = 1; //SCLÖÃΪ¸ßµçƽx<<=1; //½«xÖеĸ÷¶þ½øλÏò×óÒÆһλx|=(unsigned char)SDA; //½«SDAÉϵÄÊý¾Ýͨ¹ý°´Î»¡°»ò¡°ÔËËã´æÈëxÖÐSCL = 0; //ÔÚSCLµÄϽµÑضÁ³öÊý¾Ý}return(x); //½«¶ÁÈ¡µÄÊý¾Ý·µ»Ø}/***************************************************º¯Êý¹¦ÄÜ£ºÏòAT24CxxµÄµ±Ç°µØַдÈëÊý¾ÝÈë¿Ú²ÎÊý£ºy (´¢´æ´ýдÈëµÄÊý¾Ý£©***************************************************///ÔÚµ÷ÓôËÊý¾ÝдÈ뺯ÊýÇ°ÐèÊ×Ïȵ÷ÓÿªÊ¼º¯Êýstart(),ËùÒÔSCL=0bit WriteCurrent(unsigned char y){unsigned char i;bit ack_bit; //´¢´æÓ¦´ðλfor(i = 0; i < 8; i++)// Ñ­»·ÒÆÈë8¸öλ{ SDA = (bit)(y&0x80); //ͨ¹ý°´Î»¡°Ó롱ÔËË㽫×î¸ßλÊý¾ÝË͵½S //ÒòΪ´«ËÍʱ¸ßλÔÚÇ°£¬µÍλÔÚºó_nop_(); //µÈ´ýÒ»¸ö»úÆ÷ÖÜÆÚ SCL = 1; //ÔÚSCLµÄÉÏÉýÑؽ«Êý¾ÝдÈëAT24Cxx _nop_(); //µÈ´ýÒ»¸ö»úÆ÷ÖÜÆÚ _nop_(); //µÈ´ýÒ»¸ö»úÆ÷ÖÜÆÚ SCL = 0; //½«SCLÖØÐÂÖÃΪµÍµçƽ£¬ÒÔÔÚSC£ÌÏßÐγɴ«ËÍÊý¾ÝËùÐèµÄ£¸¸öÂö³åy <<= 1; //½«yÖеĸ÷¶þ½øλÏò×óÒÆһλ}SDA = 1; // ·¢ËÍÉ豸£¨Ö÷»ú£©Ó¦ÔÚʱÖÓÂö³åµÄ¸ßµçƽÆÚ¼ä(SCL=1)ÊÍ·ÅSDAÏߣ¬ //ÒÔÈÃSDAÏßתÓɽÓÊÕÉ豸(AT24Cxx)¿ØÖÆ_nop_(); //µÈ´ýÒ»¸ö»úÆ÷ÖÜÆÚ _nop_(); //µÈ´ýÒ»¸ö»úÆ÷ÖÜÆÚ SCL = 1; //¸ù¾ÝÉÏÊö¹æ¶¨£¬SCLӦΪ¸ßµçƽ_nop_(); //µÈ´ýÒ»¸ö»úÆ÷ÖÜÆÚ _nop_(); //µÈ´ýÒ»¸ö»úÆ÷ÖÜÆÚ _nop_(); //µÈ´ýÒ»¸ö»úÆ÷ÖÜÆÚ _nop_(); //µÈ´ýÒ»¸ö»úÆ÷ÖÜÆÚ ack_bit = SDA; //½ÓÊÜÉ豸£¨AT24Cxx)ÏòSDAË͵͵çƽ£¬±íʾÒѾ­½ÓÊÕµ½Ò»¸ö×Ö½Ú //ÈôË͸ߵçƽ£¬±íʾûÓнÓÊÕµ½£¬´«ËÍÒì³£SCL = 0; //SCLΪµÍµçƽʱ£¬SDAÉÏÊý¾Ý²ÅÔÊÐí±ä»¯(¼´ÔÊÐíÒÔºóµÄÊý¾Ý´«µÝ£©return ack_bit;// ·µ»ØAT24CxxÓ¦´ðλ}/***************************************************º¯Êý¹¦ÄÜ£ºÏòAT24CxxÖеÄÖ¸¶¨µØַдÈëÊý¾ÝÈë¿Ú²ÎÊý£ºadd (´¢´æÖ¸¶¨µÄµØÖ·£©£»dat(´¢´æ´ýдÈëµÄÊý¾Ý£©***************************************************/void WriteSet(unsigned char add, unsigned char dat)// ÔÚÖ¸¶¨µØÖ·addr´¦Ð´ÈëÊý¾ÝWriteCurrent{start(); //¿ªÊ¼Êý¾Ý´«µÝWriteCurrent(OP_WRITE); //Ñ¡ÔñÒª²Ù×÷µÄAT24CxxоƬ£¬²¢¸æÖªÒª¶ÔÆäдÈëÊý¾ÝWriteCurrent(add); //дÈëÖ¸¶¨µØÖ·WriteCurrent(dat); //Ïòµ±Ç°µØÖ·£¨ÉÏÃæÖ¸¶¨µÄµØÖ·£©Ð´ÈëÊý¾Ýstop(); //Í£Ö¹Êý¾Ý´«µÝdelaynms(4); //1¸ö×Ö½ÚµÄдÈëÖÜÆÚΪ1ms, ×îºÃÑÓʱ1msÒÔÉÏ}/***************************************************º¯Êý¹¦ÄÜ£º´ÓAT24CxxÖеĵ±Ç°µØÖ·¶ÁÈ¡Êý¾Ý³ö¿Ú²ÎÊý£ºx (´¢´æ¶Á³öµÄÊý¾Ý£© ***************************************************/unsigned char ReadCurrent(){unsigned char x;start(); //¿ªÊ¼Êý¾Ý´«µÝWriteCurrent(OP_READ); //Ñ¡ÔñÒª²Ù×÷µÄAT24CxxоƬ£¬²¢¸æÖªÒª¶ÁÆäÊý¾Ýx=ReadData(); //½«¶ÁÈ¡µÄÊý¾Ý´æÈëxstop(); //Í£Ö¹Êý¾Ý´«µÝreturn x; //·µ»Ø¶ÁÈ¡µÄÊý¾Ý}/***************************************************º¯Êý¹¦ÄÜ£º´ÓAT24CxxÖеÄÖ¸¶¨µØÖ·¶ÁÈ¡Êý¾ÝÈë¿Ú²ÎÊý£ºset_add³ö¿Ú²ÎÊý£ºx ***************************************************/unsigned char ReadSet(unsigned char set_add)// ÔÚÖ¸¶¨µØÖ·¶ÁÈ¡{start(); //¿ªÊ¼Êý¾Ý´«µÝWriteCurrent(OP_WRITE); //Ñ¡ÔñÒª²Ù×÷µÄAT24CxxоƬ£¬²¢¸æÖªÒª¶ÔÆäдÈëÊý¾ÝWriteCurrent(set_add); //дÈëÖ¸¶¨µØÖ·return(ReadCurrent()); //´ÓÖ¸¶¨µØÖ·¶Á³öÊý¾Ý²¢·µ»Ø}

1.6. 实例仿真

编写程序代码,编译生成HEX文件,将HEX文件装载到proteus电路的单片机中,开始仿真,连接在P0口和P2口的两组发光二极管,看看他们显示的是否一致。

视频加载中...

1.7. 总结

通过本例,我们学习了I2C总线的原理、电路设计、编程方法。

2、前世姻缘未尽

前世姻缘未尽

一、“前世”指的是过去的一切

有人说,“前世”指的是人的上一世。

这当然是一种误解。

言外之意,古人讲“前世”,其实想表达的是过去之一切,而不是讲人真有“上一世”。进一步的说,如果这一概念没有搞清楚,就很容易误入迷信,甚至浮想联翩,误认为真的有另一个世界存在。

那么,古人为什么需要用“前世”来表达过去呢?

因为在这一概念当中,“前世”并不单纯指过去这么简单,而是强调过去所有一切的内容。所以,古人才用“前世”来诠释过去。

二、“因缘”强调的是人为

在很多人看来,“因缘”是注定好的,不可更改的。这其实也是一种误解。

因为“因缘”强调的是人为,而不是早就注定好的,进一步的说,人为的东西,从过去到现在以及未来,都会一直在不断的变化。因此,从这个角度来说,“因缘”本身也是处于不断变化之中,根本不可能固定不变。而这就是古人讲“前世因缘”所包含的第二层意思。

三、“前世因缘”不能从文字上理解,而是需要透过文字的表象,去探寻文字背后的深意

古人有一句话讲:不要依文解义。为什么如此说呢?

因为文字虽然是思想的载体,但是文字本身却具许多局限性。正因为如此,古之大德,往往喜欢用比喻的方法,来诠释一些内容。因此,如果我们仅从文字上去理解的话,就很容易出错,至少不会很全面。而“前世因缘”这一说法亦是如此——不能从文字上理解,而是需要透过文字的表象,去探寻文字背后的深意。

所以,综上所述这些内容,正是“前世因缘”这一说法,所包含的三种意思,读完就不再迷信了。

前世姻缘未尽

前世姻缘的几个特征

一、报恩的姻缘。某一世,一方有恩于对方,或者是救命之恩,或者是其他恩德,感恩的一方许愿来世偿还,这种婚姻往往都会比较幸福稳定,

因为报恩的一方潜意识中会无怨无悔的付出,对方不管怎么对她都不会影响报恩的心。当然在相处的过程中肯定也会有摩擦和争执,但是不影响报恩的过程。

二、索债的姻缘。某一世,一方欠了另一方或者是财物,或者是感情,或者是其他。索债的发誓将来不管怎样都要取回来,这种婚姻往往整个过程伴随着不平静,但是欠债的一方如果能够认命,也有机会相处的平和。

三、互欠的姻缘。彼此于对方既是债主又是恩人,那么两个人就会互相偿还彼此欠下的或感情或财物,结果两个人就恩恩爱爱一辈子,白头偕老,幸福一生,甚至下一世相约再结良缘,这是世俗中最好的一种姻缘。

好姻缘也好,坏姻缘也罢,总有了结的时候,那么如何判断缘分是否终结了呢?不管是生死两隔还是离婚分手,双方或者其中一方内心有痛苦不舍的情绪,或者怨恨不满的情绪,那么说明恩惠和债务未清。如果分手的时候,自然而然,就像老朋友分开一样,虽然也有几分不舍,但是不至于痛苦悲啼,那就说明这段缘分暂时告一段落了。

从修行解脱的角度来讲,不管是善缘还是恶缘都不应该执着。遇到善缘,我们感恩,在顺境中好好修行;遇到恶缘,我们也不要抱怨,而要视为这是帮助我们消业和修出离心的逆增上缘;暂时没有缘分更好,可以把更多的精力用在修行上。我们只有不被世俗谛的有为法束缚的时候才能真正走向解脱。

在我们的一生中,往往会有这样的感受:有的人与我们萍水相逢,过后便相忘于时光的流逝;而有的人一生都与我们缠绕,或成为两肋插刀的友人,或成为摆脱不了的对手,甚至成为相濡以沫的爱侣。

宿世姻缘的特征

一、求占姻缘时,男测妻财临螣蛇,或女占官鬼临螣蛇,往往都是前世纠缠不清、此事又来痴缠一生的标志,这种情况,往往是历经劫数也不会分散的,无论外界条件如何艰险,却一直相缠相守。

二、宿世姻缘,多是还债的、报怨的,但一般来说,还债的居多,比如贾宝玉、林黛玉的“木石前盟”;反映在易学语言上,一方生另合另一方,对另一方不计回报地付出,无怨无悔,此生若还不完,也许来世还要纠缠——业力/轮回,不止不休……

前世姻缘未尽

一、“前世”指的是过去的一切

有人说,“前世”指的是人的上一世。

这当然是一种误解。

言外之意,古人讲“前世”,其实想表达的是过去之一切,而不是讲人真有“上一世”。进一步的说,如果这一概念没有搞清楚,就很容易误入迷信,甚至浮想联翩,误认为真的有另一个世界存在。

那么,古人为什么需要用“前世”来表达过去呢?

因为在这一概念当中,“前世”并不单纯指过去这么简单,而是强调过去所有一切的内容。所以,古人才用“前世”来诠释过去。

二、“因缘”强调的是人为

在很多人看来,“因缘”是注定好的,不可更改的。这其实也是一种误解。

因为“因缘”强调的是人为,而不是早就注定好的,进一步的说,人为的东西,从过去到现在以及未来,都会一直在不断的变化。因此,从这个角度来说,“因缘”本身也是处于不断变化之中,根本不可能固定不变。而这就是古人讲“前世因缘”所包含的第二层意思。

三、“前世因缘”不能从文字上理解,而是需要透过文字的表象,去探寻文字背后的深意

古人有一句话讲:不要依文解义。为什么如此说呢?

因为文字虽然是思想的载体,但是文字本身却具许多局限性。正因为如此,古之大德,往往喜欢用比喻的方法,来诠释一些内容。因此,如果我们仅从文字上去理解的话,就很容易出错,至少不会很全面。而“前世因缘”这一说法亦是如此——不能从文字上理解,而是需要透过文字的表象,去探寻文字背后的深意。

所以,综上所述这些内容,正是“前世因缘”这一说法,所包含的三种意思,读完就不再迷信了。

本文关键词:前世姻缘未尽今生怎么找到他,前世姻缘未尽今生续有份无缘,前世夫妻缘分未尽是什么意思,前世姻缘未尽今生会怎样,前世姻缘未尽是什么意思。这就是关于《前世姻缘未尽,前世夫妻缘未尽(基于proteus的51单片机开发实例27-I2C总线的读写)》的所有内容,希望对您能有所帮助!


声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,谢谢。

上一篇: 我国三大咸水湖是什么,我国3大咸水湖(夏日清凉之旅走起)

下一篇: 客厅酒柜款式,客厅酒柜款式 隔断(如何选购客厅装饰酒柜及客厅装饰酒柜的摆放有什么讲究吗)



推荐阅读

网站内容来自网络,如有侵权请联系我们,立即删除! | 软文发布 | 粤ICP备2021106084号