国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

51單片機編程應用(C語言):串口通信

這篇具有很好參考價值的文章主要介紹了51單片機編程應用(C語言):串口通信。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

目錄

通信的基本概念和種類

? ?1.1串行通信與并行通信

?編輯

1.2同步通信與異步通信

1.3單工,半雙工,全雙工??

1.4通信速率?

二、波特率和比特率的關系

串口通信簡介:

1.接口標準

RS-232

2、D型9針接口定義

3.通信協(xié)議:

2.串口內(nèi)部結構?

51單片機串口相關寄存器?

?1.80c51串行口的控制寄存器

2.串口的使用方法?

串口實驗?

1.單片機向電腦發(fā)送數(shù)據(jù)。

?2.電腦通過串口控制LED(且把數(shù)據(jù)傳回電腦串口顯示)


通信的基本概念和種類

? ?1.1串行通信與并行通信

什么是數(shù)據(jù)通信:數(shù)據(jù)通信就是指單片機與單片機之間或者單片機和其他設備之間的信息交換

而數(shù)據(jù)通信又分為串行通信并行通信

1.串行通信:

  • 串行通信:一位一位的按順序的進行發(fā)送或接收的通信方式。優(yōu)點是需要的傳輸線少,成本低。缺點是傳輸?shù)乃俾事m合遠距離的數(shù)據(jù)通信。

51單片機編程應用(C語言):串口通信,51單片機編程應用,51單片機,c語言,嵌入式硬件

  • 并行通信:數(shù)據(jù)的各位同時進行發(fā)送或接收的通信方式。優(yōu)點是速率高。缺點是需要的傳輸線多,成本高,只適合近距離的數(shù)據(jù)通信。

51單片機編程應用(C語言):串口通信,51單片機編程應用,51單片機,c語言,嵌入式硬件

1.2同步通信與異步通信

同步通信與異步通信:簡單來說就是發(fā)送方和接收方按照同一個時鐘節(jié)拍工作就叫同步,發(fā)送方和接收方?jīng)]有統(tǒng)一的時鐘節(jié)拍,而各自按照自己的節(jié)拍工作就叫異步。

比如? 烽火臺? ? ? 和? ? ? ? ? ? 狼煙

(同步)

烽火臺按照規(guī)定的時間發(fā),比如7:00發(fā)一次,7:30發(fā)一次。

看狼煙的人也按規(guī)定的時間去接收,7:00看一次有沒有狼煙,7:30看一次有沒有狼煙。

7;05分敵人進攻了,烽火臺也不會發(fā)生狼煙??蠢菬煹娜艘膊粫邮盏?。

(異步)

烽火臺按照規(guī)定的時間發(fā),比如7:00發(fā)一次,7:05發(fā)一次。5分鐘一次發(fā)

比如7:04分敵人進攻了,烽火臺要到7:05發(fā)烽火,不會7:04發(fā)烽火

看狼煙的人2分鐘看一下有沒有狼煙。7:04看了沒有狼煙,7:06才會去看

所以看狼煙的人7:06分才接受到有敵人進攻的消息。

同步通信中,通信雙方按照同一節(jié)拍工作,配合很好:一般需要發(fā)送方給接收方發(fā)送信息同時發(fā)送時鐘信息。接收方根據(jù)發(fā)送方給自己的時鐘信號來安排自己的節(jié)奏。下圖所示,時鐘就是節(jié)拍。規(guī)定好的時間,計算機乙接收了節(jié)拍,就知道多少分鐘拿一次數(shù)據(jù)。

同步通信用在雙方信息交換頻率固定,或者經(jīng)常通信時。

優(yōu)點:配合十分好? ? ? ?劣勢:多了一個通訊線,專門發(fā)時鐘的。

51單片機編程應用(C語言):串口通信,51單片機編程應用,51單片機,c語言,嵌入式硬件

異步通信: 又叫異步通知,在雙方通信頻率不固定時適合,(有時3ms收發(fā)一次,有時3天才發(fā)一次),這樣就不適合使用同步通信而適合異步通信。

因為另外一個CPU要眼盯著你發(fā)送,有時長時間一個都不發(fā),有時發(fā)一堆,沒有規(guī)律,這樣就浪費了接收方自己的很多時間。比如,看狼煙的人不可能一直盯著天空看,有沒有狼煙,這樣浪費了他很多時間。他自己也是有活干的。

再舉個例子,兩個人聊天,一個人說,你陪我說句話吧,那個人說,好,結果,你看到QQ有消息,回QQ消息回了3小時,那個人眼盯著你回消息回三個小時,一直等你說那句話,這樣他肯定會很生氣。自己3小時啥都沒干,所以這就是異步通信的好處。如果是異步通信,你就會說,兄弟,我現(xiàn)在有點忙,你先忙你的,等我忙忘了,再來找你。

異步通信時接收方不必一直在意接收方,發(fā)送方需要發(fā)送信息時會首先給接收方一個信息開始的起始信號,接收方接收到起始信號后。就認為后面緊跟著的是有效信息。才會開始注意接收信息,直到收到發(fā)送方發(fā)來的結束標志。

舉例子,還是你跟一個人說一句話,這是你來電話了,你跟那個人說,你先忙你的,等你打完電話,這是你拍了拍他(發(fā)生起始信號),那個人就會轉(zhuǎn)頭,讓你把那句話說完,你說,OK,沒事了(發(fā)送結束標志),那個人就繼續(xù)干自己的事。

?異步通信特點:??不要求收發(fā)雙方時鐘的嚴格一致,實現(xiàn)容易,設備開銷較小,但每個字符要附加2~3位用于起止位,各幀之間還有間隔,因此傳輸效率不高。

51單片機編程應用(C語言):串口通信,51單片機編程應用,51單片機,c語言,嵌入式硬件

1.3單工,半雙工,全雙工??

單工:只能單個方向傳輸。(相當于廣播)單工是指數(shù)據(jù)傳輸僅能沿一個方向,不能實現(xiàn)反向傳輸。

51單片機編程應用(C語言):串口通信,51單片機編程應用,51單片機,c語言,嵌入式硬件

?半雙工(分時)(相當于對講機)半雙工是指數(shù)據(jù)傳輸可以沿兩個方向,但是需要分時進行。

51單片機編程應用(C語言):串口通信,51單片機編程應用,51單片機,c語言,嵌入式硬件

?全雙工?(可以同時)(相當于電話)?全雙工是指數(shù)據(jù)可以同時進行雙向傳輸。

51單片機編程應用(C語言):串口通信,51單片機編程應用,51單片機,c語言,嵌入式硬件

所以每一個通信方式在這三種都要進行選擇,當然每一個芯片都有自己的設定方式。

1.4通信速率?

?也叫比特率:衡量通信速度的快慢。

? 比特率是每秒鐘傳輸二進制代碼的位數(shù),單位是:位 / 秒(bps)。比如每秒鐘傳送240個字符,而每個字符格式包括10位(1個起始位,1個停止位,8個數(shù)據(jù)位),這時的比特率為:

10位 x 240個/秒 = 2400 bps

波特率:可以看成比特率。是每秒鐘傳輸多少個碼元,

?碼元:在通信系統(tǒng)中,攜帶數(shù)據(jù)信息的信號單元稱為碼元,也稱為符號(symbol)

比如0V,同二進制0,5V同二進制1,所以一個碼元等于二進制的比特位,可以存儲0或1.

此時波特率等于比特率

0V,2V,4V,6V,分別用二進制00 01 10 11 表示的話,8個比特,4個碼元,所以波特率等于比特率一半。

?舉例說明:日常生活中乘坐公共交通工具出行,每個人就是一個比特,公共交通工具就是碼元,單位時間的發(fā)車數(shù)量就是波特率,單位時間運輸?shù)娜藬?shù)就是比特率?。

在串口通信中,每秒發(fā)送的比特(0或1)是波特率,每秒鐘發(fā)送的bit數(shù)為比特率。 所以,通常情況下,波特率等于比特率

二、波特率和比特率的關系

51單片機編程應用(C語言):串口通信,51單片機編程應用,51單片機,c語言,嵌入式硬件

由此可以得出,假設碼元狀態(tài)為N,則此碼元所需要的比特位數(shù)如下:

51單片機編程應用(C語言):串口通信,51單片機編程應用,51單片機,c語言,嵌入式硬件

頻譜帶寬:頻譜帶寬其實是通信信號的最高頻率和最低頻率的差值。信號的波特率越高,在通信信道中傳輸此信號時,占用的通信信道頻譜寬度就越大。比如在運輸系統(tǒng)中,車型越大,行車占用的道路寬度就越大。

受硬件芯片處理速度的限制,為提升比特率,可通過提升波特率以及單個碼元比特位數(shù),進而提升比特率。此外,通信系統(tǒng)還要求設備芯片波特率≥信號波特率 ,通常芯片波特率有45GB、 69GB、 96GB、 128GB。如果所設計的信號波特率大于設備芯片波特率,則說明此信號是無法實現(xiàn)的,因為沒芯片可以支持此信號的產(chǎn)生。

同時根據(jù)香農(nóng)定理和經(jīng)驗,信號所需的頻譜寬度數(shù)值應大于信號波特率的1.2倍,才能保證信號可以被高質(zhì)量傳輸。在不考慮其它影響傳輸?shù)囊蛩?,我們可以根?jù)香農(nóng)定理和經(jīng)驗,粗略算出波特率與所需頻譜帶寬的關系。

在主機和從機傳輸信號的過程中,主機和從機需要設置相同的波特率,否則會出現(xiàn)數(shù)據(jù)傳輸亂碼現(xiàn)象或者數(shù)據(jù)傳輸失敗現(xiàn)象。

串口通信簡介:

1.接口標準

什么是串口:串口,全稱為串行接口(Serial Port),是一種計算機通信接口,主要用于連接計算機和其他外部設備,如鍵盤、鼠標、打印機等。串口通過串行通信的方式工作,這意味著數(shù)據(jù)是以位(bit)為單位依次發(fā)送的。這種通信方式的一個顯著特點是可以使用簡單的雙絞線實現(xiàn)雙向通信,這在成本降低方面非常有用,尤其適合于長距離通信。盡管串口的速度相對較慢,但它提供了可靠的數(shù)據(jù)傳輸和低成本的解決方案,因此在許多應用中仍然被廣泛使用。

串口是一種接線標準,他的接口一定要一致,如下圖:

51單片機編程應用(C語言):串口通信,51單片機編程應用,51單片機,c語言,嵌入式硬件

串口通信遵循特定的通信協(xié)議,這些協(xié)議定義了數(shù)據(jù)位的位數(shù)、波特率、校驗位和停止位等參數(shù)。不同的串口技術,如通用異步收發(fā)器(UART)、TTL電平轉(zhuǎn)換和RS-232/RS-485,雖然它們的電氣特性可能有所不同,但它們都遵循相似的通信時序協(xié)議,因此都可以統(tǒng)稱為串口。

總結來說,串口是一種使用串行通信技術的物理接口,提供了一種低成本且易于使用的數(shù)據(jù)傳輸方法,廣泛應用于各種外設產(chǎn)品和數(shù)據(jù)采集系統(tǒng)中。

我們舉個例子:

RS-232

RS-232接口符合美國電子工業(yè)聯(lián)盟(EIA)制定的串行數(shù)據(jù)通信的接口標準,全雙工,其中 RS 為英文 “Recomend Standard” 的縮寫,中文翻譯為“推薦標準”,232為標識號。原始編號全稱是EIA-RS-232(簡稱232,RS232)。它被廣泛用于計算機串行接口外設連接,連接電纜和機械、電氣特性、信號功能及傳送過程,其輸出的電平稱為 RS232 電平。

1、RS-232電平邏輯
RS-232不同于TTL的電平邏輯,為負邏輯,最簡單的RS232通信由三條數(shù)據(jù)線組成,即 TxD、RxD 和GND。負12V代表高電平,即-15V ~ -3V為邏輯1,正12V代表低電平,即+3V ~ +15V為邏輯0,電壓也有標準范圍。這里的電平,是TXD線(或者RXD線)相對于 GND 的電壓。

2、D型9針接口定義

記住一點,這種接口的協(xié)議只有兩種:RS-232和RS-485。不會是TTL電平的(除非特殊應用)。

一般用的最多的是RXD、TXD、GND,三個信號。9針如上圖右所示。

引腳功能圖如下:

51單片機編程應用(C語言):串口通信,51單片機編程應用,51單片機,c語言,嵌入式硬件

通常我們在串口通信只會用2 3 7腳D25模式下?

3.通信協(xié)議:

串行通信是一種概念,是指一個bit一個bit的收發(fā)數(shù)據(jù),相對于并行通信可一次性可以同時收發(fā)n個bit而言。包括普通的串口通信,包括IIC,包括SPI等等。串口通信是一種通信手段/方式,是相對于以太網(wǎng)方式、紅外方式、藍牙方式、usb方式(usb廣義也算串行通信)等而言,是一種比較低級的通信手段。

51單片機編程應用(C語言):串口通信,51單片機編程應用,51單片機,c語言,嵌入式硬件

了解各種通信還需要多去實驗,后面我會主要介紹幾種常用的通信協(xié)議。

2.串口內(nèi)部結構?

51單片機編程應用(C語言):串口通信,51單片機編程應用,51單片機,c語言,嵌入式硬件

51單片機串口相關寄存器?

51單片機編程應用(C語言):串口通信,51單片機編程應用,51單片機,c語言,嵌入式硬件

51單片機編程應用(C語言):串口通信,51單片機編程應用,51單片機,c語言,嵌入式硬件

?1.80c51串行口的控制寄存器

51單片機編程應用(C語言):串口通信,51單片機編程應用,51單片機,c語言,嵌入式硬件

? ? △ SM2,多機通信控制位,主要用于方式2和方式3。當接收機的SM2=1時可以利用收到的RB8來控制是否激活RI(RB8=0時不激活RI,收到的信息丟棄;RB8=1時收到的數(shù)據(jù)進入SBUF,并激活RI,進而在中斷服務中將數(shù)據(jù)從SBUF讀走)。當SM2=0時,不論收到的RB8為0和1,均可以使收到的數(shù)據(jù)進入SBUF,并激活RI(即此時RB8不具有控制RI激活的功能)。通過控制SM2,可以實現(xiàn)多機通信。 在方式0時,SM2必須是0。在方式1時,如果SM2=1,則只有接收到有效停止位時,RI才置1。

?△?REN,允許串行接收位。由軟件置REN=1,則啟動串行口接收數(shù)據(jù);若軟件置REN=0,則禁止接收

? ? △?TB8,在方式2或方式3中,是發(fā)送數(shù)據(jù)的第九位,可以用軟件規(guī)定其作用。可以用作數(shù)據(jù)的奇偶校驗位,或在多機通信中,作為地址幀/數(shù)據(jù)幀的標志位。在方式0和方式1中,該位未用。

?△?RB8, 在方式2或者方式3中,是接收到數(shù)據(jù)的第九位,作為奇偶校驗位或地址幀/數(shù)據(jù)幀的標志位。在方式1時,若SM2=0,則RB8是接收到的停止位。

? △?TI,發(fā)送中斷標志位。在方式0時,當串行發(fā)送第8位數(shù)據(jù)結束時,或在其它方式,串行發(fā)送停止位的開始時,由內(nèi)部硬件使TI置1,向CPU發(fā)中斷申請。在中斷服務程序中,必須用軟件將其清0,取消此中斷申請。

? △?RI,接收中斷標志位。在方式0時,當串行接收第8位數(shù)據(jù)結束時,或在其它方式,串行接收停止位的中間時,由內(nèi)部硬件使RI置1,向CPU發(fā)中斷申請。也必須在中斷服務程序中,用軟件將其清0,取消此中斷申請。

51單片機編程應用(C語言):串口通信,51單片機編程應用,51單片機,c語言,嵌入式硬件

51單片機編程應用(C語言):串口通信,51單片機編程應用,51單片機,c語言,嵌入式硬件

2.串口的使用方法?

51單片機編程應用(C語言):串口通信,51單片機編程應用,51單片機,c語言,嵌入式硬件

51單片機編程應用(C語言):串口通信,51單片機編程應用,51單片機,c語言,嵌入式硬件

51單片機編程應用(C語言):串口通信,51單片機編程應用,51單片機,c語言,嵌入式硬件?

根據(jù)自己需要按步驟來設置。?

串口實驗?

發(fā)送和接收都“可以”觸發(fā)中斷,只是在發(fā)送的時候中斷允許沒有打開,所以“不會”發(fā)生中斷。至于為什么發(fā)送的時候為什么不打開中斷允許,看個人需要。(個人理解,錯了指正)

為什么串口發(fā)電腦不要中斷,串口接收電腦要中斷

因為發(fā)送之后不需要單片機做什么,接受的時候需要單片機來記錄下數(shù)據(jù)

4.只要RI>=1或者TI>=1就會觸發(fā)串口中斷。前提是程序打開了總中斷和串口中斷。

此時發(fā)送和接受都觸發(fā)了中斷,而且我們打開了中斷,所以我們要區(qū)分(串口發(fā)電腦我們沒有打開總的中斷)

1.首先和內(nèi)部結構有關,要結合串口通信內(nèi)部結構來理解。

2.有數(shù)據(jù)發(fā)送過來,RI和TI會由硬件自動置1.

1.單片機向電腦發(fā)送數(shù)據(jù)。

51單片機編程應用(C語言):串口通信,51單片機編程應用,51單片機,c語言,嵌入式硬件

寫在while循環(huán)外面就要按復位鍵,不然一直停止while循環(huán)里面

下面是代碼:完成單片機每次向電腦發(fā)送遞增的數(shù)據(jù)(16進制)

這里沒有用中斷,定時器一只是可以計數(shù),這樣有溢出來產(chǎn)生波特率

#include <REGX52.H>
#include "Delay.h"

unsigned char  Sec;

void UART_Init(void)		//4800bps@11.0592MHz
{
	PCON |= 0x80;		//使能波特率倍速位SMOD
	SCON = 0x40;		//8位數(shù)據(jù),可變波特率   REN接收使能沒打開
	TMOD &= 0x0F;		//設置定時器模式
	TMOD |= 0x20;		//設置定時器模式
	TL1 = 0xF4;		//設置定時初始值
	TH1 = 0xF4;		//設置定時重載值
	ET1 = 0;		//禁止定時器%d中斷
	TR1 = 1;		//定時器1開始計時
}

void UART_sendByte(unsigned char Byte)
{
	SBUF=Byte;
	while(TI==0);
	TI=0;
}


void  main()
{
	UART_Init();
	//UART_sendByte(0x11);
	while (1)
    {
		UART_sendByte(Sec);
		Sec++;
		Delay(1000);
    }
}

?2.電腦通過串口控制LED(且把數(shù)據(jù)傳回電腦串口顯示)

用的是串口中斷。無法知道電腦什么時候發(fā)送,如果電腦發(fā)送數(shù)據(jù)了,觸發(fā)串口中斷,在中斷中處理數(shù)據(jù)

main.c

#include <REGX52.H>
#include "Delay.h"
#include "UART.h"

void  main()
{
	UART_Init();
	while (1)
    {
		
    }
}

void UART_Routine()  interrupt 4
{
	if(RI==1)
	{
		P2=~SBUF;
	    UART_sendByte(SBUF);
		RI=0;
	}
}

UART.c

#include <REGX52.H>

/**
  * @brief  串口初始化    4800bps@11.0592MHz
  * @param  無
  * @retval 無
  */
void UART_Init(void)		
{
	PCON |= 0x80;		//使能波特率倍速位SMOD
	SCON = 0x50;		//8位數(shù)據(jù),可變波特率
	TMOD &= 0x0F;		//設置定時器模式
	TMOD |= 0x20;		//設置定時器模式
	TL1 = 0xF4;		//設置定時初始值
	TH1 = 0xF4;		//設置定時重載值
	ET1 = 0;		//禁止定時器%d中斷
	TR1 = 1;		//定時器1開始計時
	EA=1;           //使用打開中斷
	ES=1;           //表示使用串口中斷
}
/**
  * @brief  串口發(fā)送一個字節(jié)數(shù)據(jù)
  * @param  Byte  要發(fā)送一個字節(jié)數(shù)據(jù)
  * @retval 
  */
void UART_sendByte(unsigned char Byte)
{
	SBUF=Byte;
	while(TI==0);
	TI=0;
}

?UART.h

#ifndef __UART_H__
#define __UART_H__
 
void UART_Init(void);
void UART_sendByte(unsigned char Byte);
 
#endif

波特率計算方式,hex模式和文本模式區(qū)別聽P20 47分鐘后面?。

?文章來源地址http://www.zghlxwxcb.cn/news/detail-825160.html

到了這里,關于51單片機編程應用(C語言):串口通信的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 51單片機(八)串口通信

    51單片機(八)串口通信

    ?? 專欄簡介:本專欄記錄了從零學習單片機的過程,其中包括51單片機和STM32單片機兩部分;建議先學習51單片機,其是STM32等高級單片機的基礎;這樣再學習STM32時才能融會貫通。 ?? 專欄適用人群 :適用于想要從零基礎開始學習入門單片機,且有一定C語言基礎的的童鞋

    2024年02月05日
    瀏覽(29)
  • 51單片機學習--串口通信

    51單片機學習--串口通信

    首先需要配置寄存器: 下面這里SCON配0x40和0x50都可以,因為暫時還不需要接受信息,所以REN置1置0都可 在main中調(diào)用SendByte函數(shù),每按下一次復位鍵,接收緩沖區(qū)就會收到一個11 這就是單向發(fā)送的一個簡單實例,接下來實現(xiàn)每隔一秒發(fā)送一個遞增的數(shù)據(jù),只需要添加一個全局變

    2024年02月14日
    瀏覽(26)
  • 【51單片機】串口通信&&使用串口通信控制LED燈

    【51單片機】串口通信&&使用串口通信控制LED燈

    ??專欄【51單片機】 ??喜歡的詩句:更喜岷山千里雪 三軍過后盡開顏。 ??音樂分享【Promise】 ??大一同學小吉,歡迎并且感謝大家指出我的問題?? 目錄 ??串口通信 ??代碼? ???串口初始化 ?分析? ??????確定T1的工作方式 ??TMOD=0X20;? ??????確定T1的初值 ??

    2024年02月17日
    瀏覽(58)
  • 【51單片機系列】proteus仿真單片機的串口通信

    【51單片機系列】proteus仿真單片機的串口通信

    本文參考:https://zhuanlan.zhihu.com/p/425809292。 在proteus之外使用串口軟件和單片機通信。通過在proteus設計一個單片機接收PC發(fā)送的數(shù)據(jù),并將接收的數(shù)據(jù)發(fā)送出去,利用軟件【Configure Virtual Serial Port Driver】創(chuàng)建一對虛擬串口,利用軟件【串口助手】向單片機發(fā)送數(shù)據(jù)。 proteus仿真

    2024年01月17日
    瀏覽(29)
  • 【PROTEUS-51單片機串口通信仿真】

    【PROTEUS-51單片機串口通信仿真】

    本次實驗對51單片機的串口進行了雙機通信的仿真,實現(xiàn)了51單片機的簡單雙機通信;現(xiàn)對本次仿真的結構及實現(xiàn)的功能做簡要的介紹, 本次仿真主要構成:主機U1-MASTER、從機U2-SLAVE、以及LED顯示部分(第一部分顯示主機接收到的信息、第二部分顯示從機接收到的信號); 實

    2024年01月15日
    瀏覽(29)
  • c51單片機串口通信(中斷方式接收數(shù)據(jù))(單片機--單片機通信)示例代碼 附proteus圖

    c51單片機串口通信(中斷方式接收數(shù)據(jù))(單片機--單片機通信)示例代碼 附proteus圖

    ? ? ?單片機一般采用中斷方式接受數(shù)據(jù),這樣便于及時處理 其中發(fā)送數(shù)據(jù)段采用的是查詢方式,接收端采用了中斷方式, 要注意的地方有: 在中斷處理函數(shù)int_0()內(nèi),處理數(shù)據(jù)前要先關閉中斷,否則中斷可能會不斷傳過來, EA=0; 然后退出中斷處理函數(shù)前恢復中斷處理能力:

    2024年02月13日
    瀏覽(106)
  • 51單片機:中斷系統(tǒng)(外部中斷,定時器中斷,串口通信)

    51單片機:中斷系統(tǒng)(外部中斷,定時器中斷,串口通信)

    目錄 中斷系統(tǒng)簡介: 中斷的優(yōu)先級和嵌套: 8個中斷請求源及其優(yōu)先級: 中斷的分別介紹: 1、外部中斷0:INT0?? 2、外部中斷1? 3、T0和 T1:定時計數(shù)器的功能 4、串口中斷(串口為什么使用定時器后面講) 中斷寄存器 (1)中斷允許控制(IE) (2)中斷請求標志(TCON) (

    2024年01月25日
    瀏覽(20)
  • 51單片機串口通信原理、相關寄存器配置與簡單串口收發(fā)程序代碼

    51單片機串口通信原理、相關寄存器配置與簡單串口收發(fā)程序代碼

    目錄 1. 串口通信原理 2. 51單片機串口通信 ?2.1 串口簡要模式圖 ?2.2 相關寄存器 (1)PCON、SCON、SBUF (2)IE、IPH、IP (3)配置T1定時器 2.3 波特率和系統(tǒng)時鐘和TH1和TL1計算 ?3.串口通信簡單收發(fā)使用代碼 ? 3.1 在STC-isp使用端口助手,從單片機發(fā)送字節(jié) ?3.2 通過端口助手利用主

    2024年02月05日
    瀏覽(30)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包