单片微机原理P4:80C51串口与串行总线拓展

发布时间:2024-08-21  

0. 串口通讯


0. 串口通讯的数据传输方式:单工(单向传输数据),半双工(非同时双向传输),全双工(同时,双向传输)

1. 根据通信方式的不同又分为同步通讯和异步通讯。

同步通讯:所有设备都使用同一个时钟,称为同步时钟。在数据传送时,以若干个数据字符(称为数据块)为单位进行传输,每个数据块包括同步字符、数据块和校验字符CRC。

异步通信是指在串行通信中,接收设备和发送设备有各自的时钟信号,异步通信以字符为单位进行数据传送,不过通信中这些时钟频率必须保持一致。

 

2. 波特率和比特率

波特率是每秒传输的信号量(单位波特B),比特率是每秒传输的信号量(单位bps),在单片机中,这两个东西是一样的。

例如,通信双方每秒钟所传送数据的速率是240字符/秒,每一字符包含10位(1个起始位、8个数据位、1个停止位),则波特率为

240 ×10 =2400b/s=2400B

 

3. SCON(98H,可位寻址)

  

 

 

 

 

SM0,SM1是设定串口工作方式的,

SM2是设定在串口工作方式2,3时发送地址or数据。

REN是允许接受位,TB8是在工作方式2,3时的第九位可编程位的数值。

TI是发送标志位。

RI是接收标志位。

4. PCON(87H,不可位寻址)

  

    最高位是可以拿来调整波特率的,低位那些和电源管理相关。

 

80C51串口工作方式:(P3.0是位移输入RxD((低位在前),P3.1是位移输出TxD)

  工作方式0:(同步)8位数据为一帧,没有停止位和起始位,串行口发送的条件是TI = 0;接受条件是RI = 0且REN = 1(允许接受位)。

波特率固定fosc/12。RB8不用。

  工作方式1:(异步)(用于双机通讯)10位数据为一帧,最低位为起始位(0),最高位为停止位(1)。SM2=0,RB8接收的是停止位。实际上工作方式1在发送时是不断把数据右移到TxD端口(最高位已经置1),然后不断在左边补0,发完TI = 1;接受时恰好反过来,首先接受的时候会在接受端口补1,当一旦发现从1-0的跳变(收到起始位了),就开始接受数据,直到收到的停止位为1,则收到的是正确的信息。然后RI = 1。

 

  工作方式2,3:(异步)(多机通讯),11位数据一帧,除了起始位和停止位,还包括一个可编程位, 这个位由SCON的TB8提供,可以做奇偶校验,也可以与SM2结合进行多机通讯,发送时设定TB8,接受时为RB8。

  当SM2 = 0时,接受数据和地址;当SM2 = 1时,只接受地址(体现在接收到的信息的RB8位必须是1(表明是地址))

 

串口波特率计算:

方式0的波特率为晶振频率的1/12。

方式2的波特率为:波特率=(2SMOD/64)×fosc

方式1和方式3的波特率 =(2SMOD /32)×定时器的溢出率(一般选方式2作为方式一和方式三的时钟)

 

常用波特率(熟悉一下):

串口通讯编程例子(注意要自己手动清除TI和RI)

(发送)


MOV R0,#40H ;设定数据块地址指针初值

MOV R7,#10H ;设定数据块长度初值

ALOOP3:MOV SBUF,@R0 ;发送一个数据字节

JNB TI,$ ;等待发送完

CLR TI ;清发送标志位

INC R0 ;地址单元加1

DJNZ R7,ALOOP3 ;整个数据块是否发送完毕


(接收)


MOV R0,#40H ;设定数据块地址指针初值

MOV R7,#10H ;设定数据块长度初值

BLOOP3:JNZ RI,$ ;等待接收信息

CLR RI ;清接收标志位

MOX A,SBUF ;读取接收缓冲区内容

MOX @R0,A ;接收数据转储

INC R0 ;存储单元加1

DJNZ R7,BLOOP3 ;判断数据块是否接收完毕


  在由MCS-51组成的主从式多机通信系统中,主机只有一台,从机最多有256台。

 

1. I^2C总线

  编码内容包括:器件标识,引脚电平,方向位。

  两条线:SCL(时钟线),SDA(数据线),9位数据传输形式(最后一个应答位)。

 

  当SCL为高,SDA下降沿,表明启动。

  当SCL为高,SDA上升沿,表明停止。

 


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    产品开发进程。 教育机构教学实验:由于51单片机开发板在硬件和软件方面都比较简单易懂,广泛应用于教育机构的微机原理和单片机课程的教学实验中,帮助学生理解和掌握嵌入式系统的原理和应用。 爱好者个人项目:单片机......
    确的学习路径都包含哪些基础课程呢? 这个跟我们的定位有关,单片机开发产品一般由2个人协作完成,分别是硬件工程师和单片机软件工程师。 在我以前的文章,我一直强调我们先从单片机软件开始学习,性价比最高。 有了这个定位以后,我们......
    语言了解;2、微机原理与接口技术了解;想要提升开发能力,就必须要不断地实践,建议小白可以在网上(某宝)买一块51单片机开发板,自己参照课程研究研究 下面我把我的经历给大家说一下,希望有志于单片机......
    初学者想自学单片机需要买什么呢?;我刚开始学习单片机的时候一脸懵逼,看了下网上一些扫盲文。 模拟电路、数字电路、微机原理、C语言、寄存器、数据手册、数据结构等等一大堆专业名词… 不知道的还以为单片机......
    统主要结合这两种装置的弊端,应用红外线技术及单片机原理,将照相机应用到了防盗系统中,具有经济、科学、高效等特点,尤其适用于农村畜牧防盗。 红外线具有一定的穿透性,而且......
    的学习, 可以理解单片机、SOC、微机原理相关的硬件知识。 当工作那会,在一家军工企业打工,当时的岗位是嵌入式开发工程师。那时候,我还......
    51单片机编程环境的搭建及代码编写的方法;1. 51单片机概述 51单片机是对所有兼容Intel 8031指令系统的单片机的统称。目前教科书基本都是以早期的MCS-51为原型,讲解微机的原理......
    ,最主要的是实践,在实践中增长经验。在校学生的话,实践机会的确会比较少,但是有机会的话,可以毕业实习选择相关的课题,这样就可以接触到实际的项目。而且如果单片机微机原理是一门主课的话,相信......
    如何学习51单片机;学过51单片机的人,都知道这个学习的过程可能不是那么“美好”,所以,今天给大家介绍一些关于51单片机的学习方法。 1、我从不说51是基础,如果我这么说,也请把这句话理解为微机原理......
    零基础学习单片机不妨来看看大牛咋说吧;  1、学好电子技术基础知识,如电路基础、模拟电路、数字电路和微机原理。这几门课程都是弱电类专业的必修课程,学会这些后能保证你看懂单片机电路、知道电路的设计思路和工作原理......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>