加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長(zhǎng)期合作伙伴
立即加入

基于51單片機(jī)多機(jī)串口通信仿真( proteus仿真+程序+設(shè)計(jì)報(bào)告+講解視頻)

11/15 09:44
3029
服務(wù)支持:
技術(shù)交流群

完成交易后在“購(gòu)買成功”頁(yè)面掃碼入群,即可與技術(shù)大咖們分享疑惑和經(jīng)驗(yàn)、收獲成長(zhǎng)和認(rèn)同、領(lǐng)取優(yōu)惠和紅包等。

虛擬商品不可退

當(dāng)前內(nèi)容為數(shù)字版權(quán)作品,購(gòu)買后不支持退換且無法轉(zhuǎn)移使用。

加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論
放大
實(shí)物圖
相關(guān)方案
  • 方案介紹
    • 1. 主要功能:
    • 2. 講解視頻:
    • 3. 仿真
    • 4. 程序代碼
    • 5. 設(shè)計(jì)報(bào)告
    • 6. 設(shè)計(jì)資料內(nèi)容清單&&下載鏈接
  • 相關(guān)文件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

仿真圖proteus7.8及以上

程序編譯器:keil 4/keil 5

編程語(yǔ)言:C語(yǔ)言

設(shè)計(jì)編號(hào):S0074

1. 主要功能:

基于51單片機(jī)的多機(jī)串行通信仿真設(shè)計(jì)

1.實(shí)現(xiàn)主單片機(jī)分別與3個(gè)從單片機(jī)的串行通信;

2.通過分別按下按鍵從機(jī)1,從機(jī)2,從機(jī)3來選擇主機(jī)與對(duì)應(yīng)的從機(jī)進(jìn)行串行通信;

3.當(dāng)從機(jī)黃色LED點(diǎn)亮,表示主機(jī)與相應(yīng)的從機(jī)連接成功;該從機(jī)的8個(gè)綠色LED閃亮,表示主機(jī)與從機(jī)在進(jìn)行串行數(shù)據(jù)通信;

4.如果斷開按鍵,則主機(jī)與相應(yīng)從機(jī)的串行通信中斷。

需注意仿真中51單片機(jī)芯片是兼容的,AT89C51,AT89C52是51單片機(jī)的具體型號(hào),內(nèi)核是一樣的。相同的原理圖里,無論stc還是at都一樣,引腳功能都是一樣的,程序是兼容的,芯片可以替換為STC89C52/STC89C51/AT89C52/AT89C51等51單片機(jī)芯片。

以下為本設(shè)計(jì)資料展示圖:

2. 講解視頻:

講解視頻包含仿真運(yùn)行講解和代碼講解。


基于51單片機(jī)多機(jī)串口通信仿真proteus仿真+程序+設(shè)計(jì)報(bào)告+講解視頻

3. 仿真

打開仿真工程,雙擊proteus中的單片機(jī),選擇hex文件路徑,然后開始仿真。
圖片演示

按下主機(jī)的從機(jī)1按鍵,從機(jī)1接收到數(shù)據(jù)燈光閃爍,其他從機(jī)燈光熄滅。

img

按下主機(jī)的從機(jī)2按鍵,從機(jī)2接收到數(shù)據(jù)燈光閃爍,其他從機(jī)燈光熄滅。

img

按下主機(jī)的從機(jī)3按鍵,從機(jī)3接收到數(shù)據(jù)燈光閃爍,其他從機(jī)燈光熄滅。

img

4. 程序代碼

使用keil4或者keil5編譯,代碼有注釋,可以結(jié)合視頻理解代碼含義。

主機(jī)代碼:

#include <reg51.h>
#include <math.h>
sbit switch1=P0^0;
sbit switch2=P0^1;
sbit switch3=P0^2;

void delay_ms(unsigned int i)
{
unsigned char j;
for(;i>0;i--)			
	for(j=0;j<125;j++)		
	;
}

void main()
{
	EA=1;		//總中斷打開
	TMOD=0x20;	//定時(shí)器1 工作方式2 自動(dòng)裝載 用于串口設(shè)置波特率
	TL1=0xfd;	
	TH1=0xfd;	//波特率設(shè)為9600
	PCON=0x00;	//不加倍  0x80 為加倍
	SCON=0xd0;	//SM2設(shè)為0, TB8設(shè)為0
	TR1=1;		//定時(shí)器1 打開
	ES=1;
	SBUF=0xff;
	while(TI==0);
	TI=0;
 	while(1)
	{	
		delay_ms(100);
		if(switch1==1)
		{
			TB8=1;//將發(fā)送寄存器的第九數(shù)據(jù)位(TB8)設(shè)置為1。這在9位UART通信模式中使用。
			SBUF=0x01;//將串行緩沖寄存器(SBUF)加載值0x01(二進(jìn)制00000001),一旦開始傳輸,這個(gè)字節(jié)將作為串行數(shù)據(jù)發(fā)出。
			while(TI==0);
			//在循環(huán)中等待,直至發(fā)送中斷標(biāo)志(TI)置位。當(dāng)SBUF中的整個(gè)數(shù)據(jù)字節(jié)被完全發(fā)送出去后,硬件會(huì)自動(dòng)置位TI。
			TI=0;//清除發(fā)送中斷標(biāo)志(TI),準(zhǔn)備下一次的數(shù)據(jù)發(fā)送。
			TB8=0;//重置第九數(shù)據(jù)位(TB8)為0,以便發(fā)送下一個(gè)字節(jié)。
			SBUF=0x00;//向SBUF加載下一個(gè)數(shù)據(jù)字節(jié),在本例中是0x00(二進(jìn)制00000000)。
			while(TI==0);//再次等待前一個(gè)字節(jié)的傳輸完成,并清除TI標(biāo)志以準(zhǔn)備后續(xù)的傳輸操作。
			TI=0;
			//led=1;

		}
		if(switch2==1)
		{
			TB8=1;//將發(fā)送寄存器的第九數(shù)據(jù)位(TB8)設(shè)置為1。這在9位UART通信模式中使用。
			SBUF=0x02;//將串行緩沖寄存器(SBUF)加載值0x02(二進(jìn)制00000010),一旦開始傳輸,這個(gè)字節(jié)將作為串行數(shù)據(jù)發(fā)出。
			while(TI==0);
			//在循環(huán)中等待,直至發(fā)送中斷標(biāo)志(TI)置位。當(dāng)SBUF中的整個(gè)數(shù)據(jù)字節(jié)被完全發(fā)送出去后,硬件會(huì)自動(dòng)置位TI。
			TI=0;//清除發(fā)送中斷標(biāo)志(TI),準(zhǔn)備下一次的數(shù)據(jù)發(fā)送。
			TB8=0;//重置第九數(shù)據(jù)位(TB8)為0,以便發(fā)送下一個(gè)字節(jié)。
			SBUF=0x00;//向SBUF加載下一個(gè)數(shù)據(jù)字節(jié),在本例中是0x00(二進(jìn)制00000000)。
			while(TI==0);//再次等待前一個(gè)字節(jié)的傳輸完成,并清除TI標(biāo)志以準(zhǔn)備后續(xù)的傳輸操作。
			TI=0;
			//led=1;

		}
		if(switch3==1)
		{
			TB8=1;//將發(fā)送寄存器的第九數(shù)據(jù)位(TB8)設(shè)置為1。這在9位UART通信模式中使用。
			SBUF=0x03;//將串行緩沖寄存器(SBUF)加載值0x03(二進(jìn)制00000011),一旦開始傳輸,這個(gè)字節(jié)將作為串行數(shù)據(jù)發(fā)出。
			while(TI==0);
			//在循環(huán)中等待,直至發(fā)送中斷標(biāo)志(TI)置位。當(dāng)SBUF中的整個(gè)數(shù)據(jù)字節(jié)被完全發(fā)送出去后,硬件會(huì)自動(dòng)置位TI。
			TI=0;//清除發(fā)送中斷標(biāo)志(TI),準(zhǔn)備下一次的數(shù)據(jù)發(fā)送。
			TB8=0;//重置第九數(shù)據(jù)位(TB8)為0,以便發(fā)送下一個(gè)字節(jié)。
			SBUF=0x00;//向SBUF加載下一個(gè)數(shù)據(jù)字節(jié),在本例中是0x00(二進(jìn)制00000000)。
			while(TI==0);//再次等待前一個(gè)字節(jié)的傳輸完成,并清除TI標(biāo)志以準(zhǔn)備后續(xù)的傳輸操作。
			TI=0;
			//led=1;

		}
	}
}

5. 設(shè)計(jì)報(bào)告

5229字設(shè)計(jì)報(bào)告,內(nèi)容包括硬件設(shè)計(jì)、軟件設(shè)計(jì)、軟硬件框圖、調(diào)試、結(jié)論等

img

在現(xiàn)代工業(yè)生產(chǎn)線上,單片機(jī)被廣泛應(yīng)用到各種控制器中,通過精確調(diào)控設(shè)備運(yùn)行參數(shù),確保生產(chǎn)線高效穩(wěn)定運(yùn)作;在智能家居場(chǎng)景中,單片機(jī)集成于家電產(chǎn)品內(nèi)部,使得家居設(shè)備能夠?qū)崿F(xiàn)遠(yuǎn)程操控、聯(lián)動(dòng)協(xié)同等功能,極大提升了生活便利性與舒適度;而在物聯(lián)網(wǎng)領(lǐng)域,無數(shù)搭載單片機(jī)的智能終端形成龐大的信息交互網(wǎng)絡(luò),實(shí)現(xiàn)了對(duì)環(huán)境狀態(tài)、設(shè)備性能等海量數(shù)據(jù)的實(shí)時(shí)采集與傳輸。

多機(jī)之間的串行通信則是連接這些智能化單元的核心紐帶之一,它為分散的單片機(jī)設(shè)備提供了高效便捷的信息交換途徑。這種通信方式允許多個(gè)設(shè)備通過一條共享的數(shù)據(jù)通道進(jìn)行有序的數(shù)據(jù)傳遞,有效節(jié)約了物理接口資源,簡(jiǎn)化了系統(tǒng)布線,降低了設(shè)計(jì)復(fù)雜度,并且保證了數(shù)據(jù)傳輸的可靠性。

6. 設(shè)計(jì)資料內(nèi)容清單&&下載鏈接

資料設(shè)計(jì)資料包括仿真,程序代碼、講解視頻、功能要求、設(shè)計(jì)報(bào)告、軟硬件設(shè)計(jì)框圖等。

0、常見使用問題及解決方法–必讀?。。?!

1、程序

2、proteus仿真

3、功能要求

4、軟硬件流程圖

5、開題報(bào)告

6、設(shè)計(jì)報(bào)告

7、講解視頻

Altium Designer 安裝破解

KEIL+proteus 單片機(jī)仿真設(shè)計(jì)教程

KEIL安裝破解

Proteus元器件查找

Proteus安裝

Proteus簡(jiǎn)易使用教程

單片機(jī)學(xué)習(xí)資料

相關(guān)數(shù)據(jù)手冊(cè)

答辯技巧

設(shè)計(jì)報(bào)告常用描述

鼠標(biāo)雙擊打開查找嘉盛單片機(jī)51 STM32單片機(jī)課程畢業(yè)設(shè)計(jì).url

img

資料下載鏈接:

https://docs.qq.com/doc/DS2REbFJkWlZvc0dR

  • 設(shè)計(jì)資料獲取聯(lián)系方式.doc

相關(guān)推薦

電子產(chǎn)業(yè)圖譜