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

51單片機(jī)學(xué)習(xí)--串口通信

這篇具有很好參考價(jià)值的文章主要介紹了51單片機(jī)學(xué)習(xí)--串口通信。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

51單片機(jī)學(xué)習(xí)--串口通信,51單片機(jī),51單片機(jī),學(xué)習(xí),單片機(jī),嵌入式硬件
首先需要配置寄存器:
51單片機(jī)學(xué)習(xí)--串口通信,51單片機(jī),51單片機(jī),學(xué)習(xí),單片機(jī),嵌入式硬件
下面這里SCON配0x40和0x50都可以,因?yàn)闀簳r(shí)還不需要接受信息,所以REN置1置0都可

void Uart_Init(void)		//4800bps@11.0592MHz
{
	PCON |= 0x80;		//使能波特率倍速位SMOD
	SCON = 0x50;		//8位數(shù)據(jù),可變波特率
	TMOD &= 0x0F;		//清除定時(shí)器1模式位
	TMOD |= 0x20;		//設(shè)定定時(shí)器1為8位自動(dòng)重裝方式
	TL1 = 0xF4;		//設(shè)定定時(shí)初值
	TH1 = 0xF4;		//設(shè)定定時(shí)器重裝值
	ET1 = 0;		//禁止定時(shí)器1中斷
	TR1 = 1;		//啟動(dòng)定時(shí)器1
}

51單片機(jī)學(xué)習(xí)--串口通信,51單片機(jī),51單片機(jī),學(xué)習(xí),單片機(jī),嵌入式硬件
在main中調(diào)用SendByte函數(shù),每按下一次復(fù)位鍵,接收緩沖區(qū)就會(huì)收到一個(gè)11
這就是單向發(fā)送的一個(gè)簡(jiǎn)單實(shí)例,接下來(lái)實(shí)現(xiàn)每隔一秒發(fā)送一個(gè)遞增的數(shù)據(jù),只需要添加一個(gè)全局變量Sec,再把SendByte放到循環(huán)中即可

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

unsigned char Sec;

void Uart_Init(void)		//4800bps@11.0592MHz
{
	PCON |= 0x80;		//使能波特率倍速位SMOD
	SCON = 0x50;		//8位數(shù)據(jù),可變波特率
	TMOD &= 0x0F;		//清除定時(shí)器1模式位
	TMOD |= 0x20;		//設(shè)定定時(shí)器1為8位自動(dòng)重裝方式
	TL1 = 0xF4;		//設(shè)定定時(shí)初值
	TH1 = 0xF4;		//設(shè)定定時(shí)器重裝值
	ET1 = 0;		//禁止定時(shí)器1中斷
	TR1 = 1;		//啟動(dòng)定時(shí)器1
}

void Uart_SendByte(unsigned char Byte)
{
	SBUF = Byte; //寫入
	while(TI == 0); //直到發(fā)送成功,TI變成1,跳出循環(huán)
	TI = 0; //復(fù)位
}


void main()
{
	Uart_Init();
	while(1)
	{
		Uart_SendByte(Sec);
		Sec ++;
		Delay(1000);
	}
}

最后需要做的是把這個(gè)串口模塊化,方便以后直接使用
下面實(shí)現(xiàn)電腦端向單片機(jī)發(fā)送數(shù)據(jù),單片機(jī)需要利用中斷來(lái)檢測(cè)是否有數(shù)據(jù)發(fā)送過(guò)來(lái),在中斷函數(shù)里面來(lái)進(jìn)行數(shù)據(jù)處理,接收功能需要把SCON的REN給置1,所以SCON = 0x50,中斷系統(tǒng)需要重新配置
51單片機(jī)學(xué)習(xí)--串口通信,51單片機(jī),51單片機(jī),學(xué)習(xí),單片機(jī),嵌入式硬件

所以ES = 1;
EA = 1;
最后一個(gè)優(yōu)先級(jí)開關(guān)可以先不管
寫在Uart串口控制的初始化函數(shù)里
最后還要在main.c寫中斷函數(shù) 函數(shù)名后面要跟上interrupt 4代表串口接收/發(fā)送中斷

51單片機(jī)學(xué)習(xí)--串口通信,51單片機(jī),51單片機(jī),學(xué)習(xí),單片機(jī),嵌入式硬件
在接收到信息之后RI會(huì)置1,此時(shí)進(jìn)行處理,結(jié)束之后記得手動(dòng)清零

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

unsigned char Sec;

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

void Uart_Routine() interrupt 4
{
	if(RI == 1) //串口接收到數(shù)據(jù)后會(huì)自動(dòng)將RI置1
	{
		P2 = SBUF; //讀取緩沖區(qū)
		RI = 0;
	}
}

此時(shí)在輸入?yún)^(qū)發(fā)送0f,左邊全滅右邊全亮啦
51單片機(jī)學(xué)習(xí)--串口通信,51單片機(jī),51單片機(jī),學(xué)習(xí),單片機(jī),嵌入式硬件
插入一條提醒:一個(gè)函數(shù)不能即在主函數(shù)中調(diào)用又在中斷函數(shù)中調(diào)用!

在中斷函數(shù)中調(diào)用SendByte即可讓單片機(jī)在讀取電腦發(fā)來(lái)的數(shù)據(jù)的同時(shí),還能將這個(gè)數(shù)據(jù)Send回來(lái)

void Uart_Routine() interrupt 4
{
	if(RI == 1) //串口接收到數(shù)據(jù)后會(huì)自動(dòng)將RI置1
	{
		P2 = SBUF; //讀取緩沖區(qū)
		Uart_SendByte(SBUF);
		RI = 0;
	}
}

最后把串口中斷函數(shù)放到之前的Uart模塊里面,方便以后使用。。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-622056.html

到了這里,關(guān)于51單片機(jī)學(xué)習(xí)--串口通信的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 51單片機(jī)-串口通信

    51單片機(jī)-串口通信

    目錄 1.什么是通信 1.1.通信的概念 1.2.傳送方式 1.3.同步方式 1.4.傳送方向 1.5.校驗(yàn)方式 2.單片機(jī)串口介紹 2.1.硬件電路 2.2.電平標(biāo)準(zhǔn) 2.3.常見接口 2.4.內(nèi)部結(jié)構(gòu) 2.5.相關(guān)寄存器 2.6.工作模式(模式1) 2.7.如何配置串口中斷 3.實(shí)際應(yīng)用 3.1.單片機(jī)向電腦發(fā)送數(shù)據(jù) 3.2.電腦向單片機(jī)發(fā)送

    2024年02月01日
    瀏覽(24)
  • 嵌入式硬件與51單片機(jī):演變、挑戰(zhàn)與未來(lái)

    嵌入式硬件與51單片機(jī):演變、挑戰(zhàn)與未來(lái)

    導(dǎo)言: ????????嵌入式硬件及其代表之一的51單片機(jī)在電子領(lǐng)域扮演著至關(guān)重要的角色。本文將深入剖析這一領(lǐng)域的發(fā)展歷程,包括初期的崛起、面臨的挑戰(zhàn)、重大公關(guān)危機(jī)、核心業(yè)務(wù)、當(dāng)前研究方向、采用的技術(shù)、實(shí)際應(yīng)用場(chǎng)景、未來(lái)展望,并提供相關(guān)鏈接,為讀者呈現(xiàn)

    2024年01月24日
    瀏覽(31)
  • 51單片機(jī)(串口通信、藍(lán)牙)

    51單片機(jī)(串口通信、藍(lán)牙)

    串行接口簡(jiǎn)稱串口,也稱 串行通信接口 或串行通訊接口(通常指COM接口),是采用串行通信方 式的擴(kuò)展接口。串行接口(Serial Interface)是指 數(shù)據(jù)一位一位地順序傳送。 其特點(diǎn)是通信線路簡(jiǎn) 單,只要一對(duì)傳輸線就可以實(shí)現(xiàn) 雙向通信( 可以直接利用電話線作為傳輸線),從

    2024年02月15日
    瀏覽(24)
  • 51單片機(jī) | 串口通信實(shí)驗(yàn)

    51單片機(jī) | 串口通信實(shí)驗(yàn)

    ??這一節(jié)我們就來(lái)學(xué)習(xí) 51 單片機(jī)的串口通信。開發(fā)板上集成了 1 個(gè)串口通信電路,是 USB 轉(zhuǎn)串口模塊,它既可下載程序也可實(shí)現(xiàn)串口通信功能。本節(jié)要實(shí)現(xiàn)的功能是: 51 單片機(jī)通過(guò)串口( UART )實(shí)現(xiàn)與 PC 機(jī)對(duì)話, 51 單片機(jī)的串口收到 PC 機(jī)發(fā)來(lái)的數(shù)據(jù)后原封不動(dòng)的返回給

    2024年02月04日
    瀏覽(27)
  • 51單片機(jī)(八)串口通信

    51單片機(jī)(八)串口通信

    ?? 專欄簡(jiǎn)介:本專欄記錄了從零學(xué)習(xí)單片機(jī)的過(guò)程,其中包括51單片機(jī)和STM32單片機(jī)兩部分;建議先學(xué)習(xí)51單片機(jī),其是STM32等高級(jí)單片機(jī)的基礎(chǔ);這樣再學(xué)習(xí)STM32時(shí)才能融會(huì)貫通。 ?? 專欄適用人群 :適用于想要從零基礎(chǔ)開始學(xué)習(xí)入門單片機(jī),且有一定C語(yǔ)言基礎(chǔ)的的童鞋

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

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

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

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

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

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

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

    【PROTEUS-51單片機(jī)串口通信仿真】

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

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

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

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

    2024年02月13日
    瀏覽(106)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包