日韩一区二区三区精品,欧美疯狂xxxxbbbb牲交,热99re久久免费视精品频,人妻互换 综合,欧美激情肉欲高潮视频

. 串行通訊與并行通信

數(shù)字信號是八位二進制數(shù),可以使用信號線傳輸,一種方案是使用一條數(shù)據(jù)線按照次序一位一位的傳送,每傳送完8位為一個字節(jié),這就是串行通信。還有一種方法是使用八條數(shù)據(jù)線同時傳送8個位的數(shù)據(jù),一次傳送一個字節(jié),這就是并行通信。


倆種通信方式圖示如下:


并行通信

特點為傳輸速度快,控制簡單,但遠距離傳輸時成本較高且接收方同時接收各位比較難

在這里插入圖片描述

串行通信

特點為傳輸線少,遠距離傳輸時成本低,但數(shù)據(jù)傳輸比并行通信復(fù)雜

在這里插入圖片描述

同步通信與異步通信

串行通信分為同步通信與異步通信


1.同步通信

顧名思義,同步通信就是對發(fā)送方和接收方的時鐘實行直接控制,使雙方的數(shù)據(jù)傳輸達到完全同步。數(shù)據(jù)以位的形式連續(xù)發(fā)送,且傳送的字符之間不留間隙,即保持位同步和字符同步。雙方的同步可以通過外同步和自同步倆種方式實現(xiàn)。

在這里插入圖片阿瑟東

(前者為外同步,后者為自同步)


2.異步通信

和同步通信不同,異步通信的發(fā)送方和接收方使用各自的時鐘控制數(shù)據(jù)的發(fā)射接收。異步通信是一種很常見的通訊方式,其發(fā)送端可以在任意時候發(fā)送字符,但與同步通信不同的是異步通信是以幀的形式發(fā)送數(shù)據(jù)的(異步通信中一個幀數(shù)據(jù)有十位:分別是一個起始位、八個數(shù)據(jù)位、一個停止位)

這樣理解倆種通信方式:下課了,二狗喊鐵蛋一起吃飯。同步通信就是:如果鐵蛋聽到了二狗叫他就馬上和他去吃飯,如果一次沒聽到二狗就繼續(xù)喊,直到鐵蛋聽到他的話并且和他去吃飯為止。異步通信就是:二狗喊了鐵蛋一聲然后就自己去吃飯了,鐵蛋收到消息后可能立即去吃飯,也可能等一會去吃飯。(讀者自行腦補hhh*.*)

圖示如下:

在這里插入圖片描述

- 實現(xiàn)51單片機串口通信的知識儲備

目的:用異步通信實現(xiàn)單片機與計算機之間的數(shù)據(jù)交流

1.波特率

波特率可以衡量數(shù)字信號傳輸?shù)乃俾剩浯笮槊棵雮鬏敹M制數(shù)的位數(shù),單位為:bps。比如:每秒傳輸300幀數(shù)據(jù),一幀數(shù)據(jù)是十個二進制數(shù),則傳輸速率就是300x10=3000(bps)。單片機和計算機的傳輸速率要一致。


2.波特率的設(shè)置

計算機的波特率可以在界面上直接調(diào)整,那單片機的波特率要怎么設(shè)置呢?

我們一般是把T1(定時中斷1)作為波特率的發(fā)生器,而且利用的是T1的工作方式2。

此時波特率的計算公式為:

在這里插入圖片描述

解釋一下公式內(nèi)容:

一.SMOD

SMOD屬于PCON寄存器,不可位尋址,大家可以把其理解為波特率加倍標志,置0的時候不加倍,置1的時候波特率加倍。

在這里插入圖片描述

二. fosc

fosc就是單片機的晶振頻率,一般是11.0529MHz(還有一種情況是12MHz,但其誤差相對較大,一般不予采用)1M=1000,000


三.(256-T初)

T1的工作方式2是八位數(shù)據(jù)自動裝填(八位二進制數(shù)的范圍是0~255,共256個數(shù)),初始值在開始時裝入TH1和TL1,工作時只有TH1計數(shù),當TH1溢出時把TL1中的初始值重新賦值給TH1,這樣就實現(xiàn)了自動裝填。


(256-T初)代表著每次定時器計數(shù)的次數(shù)。


3.如何設(shè)置波特率(假如設(shè)置波特率為9600bps)

首先-設(shè)置定時器T1的工作方式:編輯TMOD寄存器為TMOD=0X20;使定時器T1處于工作方式2;

然后-計算T1的初始值并裝載TH1和TL1,波特率為9600bps時TH1=0XFD、TL1=0XFD;

最后-啟動T1:編輯TCON寄存器中的TR1,使TR1=1(打開T1定時器)。通過設(shè)置PCON寄存器PCON=0X00設(shè)置SMOD=0。


4.如何確定串行口控制

通過編輯SCON寄存器控制串行口

在這里插入圖片描述
在這里插入圖片描述在這里插入圖片描述在這里插入圖片描述

其實主要是控制串行口的工作方式:SM0=0、SM1=1,和打開串行口的允許接收位:REN=1。


5.打開中斷

打開總中斷和串口通信中斷:EA=1、ES=1。


6.SBUF寄存器

前面講了一大堆鋪墊,相信大家都有一個疑問:單片機是怎么發(fā)送數(shù)據(jù)呢?它又是如何接收數(shù)據(jù)呢? 如果要細講這其中的傳輸原理,那會是復(fù)雜難懂的,好在單片機的內(nèi)部硬件自帶發(fā)送和接收數(shù)據(jù)的功能,它是通過SBUF寄存器實現(xiàn)的。


SBUF寄存器有倆個,一個是發(fā)送寄存器,另一個是接收寄存器(名字都一樣),但在邏輯上SBUF只有一個(地址都為99H),物理結(jié)構(gòu)上,這是倆個完全獨立的寄存器。如果CPU寫SBUF,數(shù)據(jù)就會被送入發(fā)送寄存器準備發(fā)送;如果CPU讀SBUF,則讀入的數(shù)據(jù)一定來自接收寄存器。


簡單來講:a=SBUF,代表單片機從計算機接收到了數(shù)據(jù)(接收到的數(shù)據(jù)自動存在接收寄存器SBUF中)并且從接收寄存器SBUF讀取數(shù)據(jù)并賦給a。SBUF=a,代表單片機要給計算機發(fā)送a數(shù)據(jù),只需將a賦給發(fā)送寄存器SBUF就行,發(fā)送寄存器SBUF會自動給計算機發(fā)送SBUF中的數(shù)據(jù)。


下面是其工作圖:

在這里插入圖片描述(RXD是接收引腳,

(RXD是接收引腳,TXD是發(fā)送引腳)


7.TI與RI

TI和RI都在SCON寄存器中。

TI是發(fā)送中斷標志位,當數(shù)據(jù)發(fā)送完成后,TI由硬件置1,TI置1后向CPU提出中斷申請,進入中斷函數(shù)后需要軟件置0(TI=0;)

RI是接收中斷標志位,當數(shù)據(jù)接收完成后,RI由硬件置1,RI置1后向CPU提出中斷申請,進入中斷函數(shù)后需要軟件置0(RI=0;)


8.串口中斷

串口中斷函數(shù)是


void (函數(shù)名無所謂) interrupt 4

{

中斷程序;

}


一旦TI或者RI為1就執(zhí)行中斷函數(shù),并且需要在中斷函數(shù)中將TI、RI重新置0。


- 話不多說,上代碼!

#include"reg52.h"

#define uint unsigned int

#define uchar unsigned char

uchar num;


void init()  //初始化函數(shù)

{

TMOD=0x20;//設(shè)置定時器1的工作方式2---8位自動裝填

TH1=0xfd;//設(shè)置初始值:使比特率為9600bps

TL1=0xfd;

PCON=0x00;//SMOD=0,不加倍

TR1=1;//打開定時器中斷開關(guān)

REN=1;//打開允許串行接收位

SM0=0;//設(shè)置串行口通訊方式為方式1

SM1=1;

EA=1; //打開總中斷

ES=1; //打開串口通訊中斷

}


void hhh() interrupt 4 //中斷函數(shù)

{

num=SBUF; //從計算機接收數(shù)據(jù),賦給num

RI=0;  //數(shù)據(jù)接收完畢后將RI軟件置0

SBUF=num;//向計算機發(fā)送數(shù)據(jù)num

while(!TI); //TI=0時陷入死循環(huán),直至數(shù)據(jù)發(fā)送完畢

TI=0; //數(shù)據(jù)發(fā)送完畢后軟件將TI置0

}


void main()//主函數(shù)就這么簡單

{

init();

while(1);

}


接下來的事情就交給串口調(diào)試助手了

關(guān)鍵字:51單片機  串口通信  數(shù)據(jù)線 引用地址:51單片機—串口通信

上一篇:51單片機—紅外遙控
下一篇:C51—模擬IIC總線實現(xiàn)EEPROM存取數(shù)據(jù)

推薦閱讀

最近,在做基于stm32f401串口的ModBus協(xié)議通信,遇到了stm32串口發(fā)送數(shù)據(jù)的問題?;艘徽烊ゲ檎覇栴},從ModBus協(xié)議格式、調(diào)度算法到串口配置,最終終于把問題解決,記錄下來。 問題描述: ModBus協(xié)議中配置stm32f401串口為奇校驗,8位數(shù)據(jù)位,1位停止位,程序如下:void uart_init( u32 bound ){ //GPIO端口...
如今隨著節(jié)能環(huán)保要求的不斷提高,對于電源待機功耗也有著更進一步的要求。Power Integration(PI)最新推出的CapZero 3系列產(chǎn)品可以通過降低開關(guān)電源中與X電容放電電阻相關(guān)的功耗,從而實現(xiàn)待機功耗滿足安規(guī)要求。什么是X電容X電容是跨接在電力線兩線之間,即“L-N”之間,X電容器能夠抑制差模干擾,通常采取金屬化薄膜電容器,電容容量是uF級。X電容多...
新浪數(shù)碼訊 9月1日上午消息,根據(jù)日本網(wǎng)站Mac Otakara的一份報告稱,蘋果公司計劃在10月中下旬舉行一次活動,屆時將發(fā)布iPhone 12機型,Apple Watch Series 6和傳聞已久的AirTags。  這個時間其實并不意外,因為很多媒體或分析師都認為蘋果今年的9月發(fā)布會將延期,只是再次見到AirTags的消息有點意外,這個產(chǎn)品在上半年已經(jīng)傳聞許久。據(jù)...
2021年9月1日,致力于亞太地區(qū)市場的領(lǐng)先半導(dǎo)體元器件分銷商---大聯(lián)大控股宣布,其旗下世平推出基于恩智浦(NXP)NCJ29D5的數(shù)字汽車鑰匙解決方案。 圖示1-大聯(lián)大世平基于NXP產(chǎn)品的數(shù)字汽車鑰匙解決方案的展示板圖汽車時代的到來讓無線接入技術(shù)進入了大眾的視野。傳統(tǒng)采用PKE/RKE技術(shù)的電子汽車鑰匙,雖然給汽車的使用帶來了極大便利,但也存在著容易受到中...

史海拾趣

小廣播
設(shè)計資源 培訓(xùn) 開發(fā)板 精華推薦

最新單片機文章

 
EEWorld訂閱號

 
EEWorld服務(wù)號

 
汽車開發(fā)圈

 
機器人開發(fā)圈

電子工程世界版權(quán)所有 京ICP證060456號 京ICP備10001474號-1 電信業(yè)務(wù)審批[2006]字第258號函 京公網(wǎng)安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved