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

Proteus8仿真:51單片機(jī)使用串口進(jìn)行雙機(jī)通訊

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

元器件

元器件 名稱
電阻 RES
51單片機(jī) AT89C51
電容 CAP
晶振 CRYSTAL
BCD數(shù)碼管 7SEG-BCD

原理圖部分

proteus多機(jī)通信,Proteus8,單片機(jī),51單片機(jī),嵌入式硬件

串口初始化:
首先根據(jù)相關(guān)的串口寄存器編寫對(duì)應(yīng)的初始化代碼:
proteus多機(jī)通信,Proteus8,單片機(jī),51單片機(jī),嵌入式硬件
STC89C51單片機(jī)設(shè)有兩個(gè)定時(shí)器/計(jì)數(shù)器,因定時(shí)器1有4種工作方式,而常選用定時(shí)器1的工作方式2(8位自動(dòng)重裝)作為波特率的溢出率。
串口寄存器主要配置SCON寄存器。
proteus多機(jī)通信,Proteus8,單片機(jī),51單片機(jī),嵌入式硬件
proteus多機(jī)通信,Proteus8,單片機(jī),51單片機(jī),嵌入式硬件
本次采用8為可變,所以SM0=1;SM1=0;REN=1;然后通過波特率的計(jì)算,可以計(jì)算出波特率和定時(shí)器初值的關(guān)系,然后編寫定時(shí)器初始化和串口初始化。

void initUart(unsigned int baud)
{
	SM0=1;SM1=0;REN=1;//8位波特率可變,允許串口接受信號(hào)
	TMOD|=0X20;//定時(shí)器1為8位自動(dòng)重裝載
	PCON=0X00;//讓SMOD==0
	TR1=1;//打開定時(shí)器1
	EA=1;ET1=1;//打開串口中斷
	TH1=256-11059200/12/32/baud;//設(shè)置定時(shí)器初值
	TL1=256-11059200/12/32/baud;//設(shè)置定時(shí)器初值
}

代碼

本次實(shí)驗(yàn)由雙機(jī)進(jìn)行串口通訊,來核對(duì)雙方的數(shù)據(jù)是否是一樣的,如果一樣的就顯示在數(shù)碼管。

單片機(jī)1main.c

代碼如下:

#include "reg51.h"

//宏定義
#define uchar unsigned char
#define uint unsigned int
//延時(shí)函數(shù)
void time(uint ucMs);
//串口初始化
void initUart(unsigned int baud);
//參數(shù)定義
uchar ucCounter;

void main(void)
{
	uchar counter=0;
	time(1);
	initUart(9600);//串口進(jìn)行初始化
	while(1)
	{
		SBUF=counter;//將參數(shù)給寄存器
		while(TI==0);//發(fā)送中斷,發(fā)送8位時(shí)為1
		TI=0;//軟件置0
		while(RI==0);//接受中斷,接受8位時(shí)為1
		RI=0;//軟件置0
		if(SBUF==counter)//如果接受到的等于counter
		{
			P2=counter;//數(shù)碼管顯示counter
			if(++counter>15)counter=0;//大于15清零
			time(500);//延時(shí)
		}
	}
}


void initUart(unsigned int baud)
{
	SM0=1;SM1=0;REN=1;//8位波特率可變,允許串口接受信號(hào)
	TMOD|=0X20;//定時(shí)器1為8位自動(dòng)重裝載
	PCON=0X00;//讓SMOD==0
	TR1=1;//打開定時(shí)器1
	EA=1;ET1=1;//打開串口中斷
	TH1=256-11059200/12/32/baud;//設(shè)置定時(shí)器初值
	TL1=256-11059200/12/32/baud;//設(shè)置定時(shí)器初值
}

//延時(shí)函數(shù)
void time(uint ucMs)
{
	while(ucMs!=0)
	{
		for(ucCounter=0;ucCounter<239;ucCounter++);
		ucMs-=1;
	}
}


單片機(jī)2main.c

#include "reg51.h"

//宏定義
#define uchar unsigned char
#define uint unsigned int
//延時(shí)函數(shù)
void time(uint ucMs);
//串口初始化
void initUart(unsigned int baud);
//參數(shù)定義
uchar ucCounter;

void main(void)
{
	uchar receive;
	time(1);
	initUart(9600);//串口初始化
	while(1)
	{
		while(RI==0);//接受8為置1
		RI=0;
		receive=SBUF; //接受信號(hào)
		SBUF=receive;//將接受的發(fā)出去
		while(TI==0);//發(fā)送8位置1
		TI=0;
		P2=receive;//數(shù)碼管顯示信號(hào)
	}
}

//串口初始化
void initUart(unsigned int baud)
{
	SM0=1;SM1=0;REN=1;//8位波特率可變,允許串口接受信號(hào)
	TMOD|=0X20;//定時(shí)器1為8位自動(dòng)重裝載
	PCON=0X00;//讓SMOD==0
	TR1=1;//打開定時(shí)器1
	EA=1;ET1=1;//打開串口中斷
	TH1=256-11059200/12/32/baud;//設(shè)置定時(shí)器初值
	TL1=256-11059200/12/32/baud;//設(shè)置定時(shí)器初值
}

//延時(shí)函數(shù)
void time(uint ucMs)
{
	while(ucMs!=0)
	{
		for(ucCounter=0;ucCounter<239;ucCounter++);
		ucMs-=1;
	}
}

運(yùn)行效果如圖:
proteus多機(jī)通信,Proteus8,單片機(jī),51單片機(jī),嵌入式硬件

工程文件

工程文件文章來源地址http://www.zghlxwxcb.cn/news/detail-757971.html

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

本文來自互聯(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)文章

  • 【MCU】單片機(jī)從 keilC51 編程到 Proteus8.9 仿真再到 STC-ISP 燒錄保姆級(jí)流程

    【MCU】單片機(jī)從 keilC51 編程到 Proteus8.9 仿真再到 STC-ISP 燒錄保姆級(jí)流程

    ① 安裝 USB轉(zhuǎn)串口驅(qū)動(dòng)(CH340) ② 打開文件夾“單片機(jī)軟件開發(fā)板USB轉(zhuǎn)串口CH340驅(qū)動(dòng)” ③ 雙擊安裝程序“CH341SER” ④ “用戶賬戶控制”點(diǎn)擊“是” ⑤ 點(diǎn)擊“安裝” ⑥ 安裝成功點(diǎn)擊“確定”,然后點(diǎn)擊“關(guān)閉” 至此,USB轉(zhuǎn)串口驅(qū)動(dòng)安裝完畢。 ① 啟動(dòng)程序“Keil uVison5” ②

    2024年02月03日
    瀏覽(30)
  • 【51單片機(jī)Keil+Proteus8.9】門鎖控制電路

    【51單片機(jī)Keil+Proteus8.9】門鎖控制電路

    二、設(shè)計(jì)思路 電路設(shè)計(jì) 1.電源部分:使用BATTERY為整個(gè)電路提供電源,可以在電路中加入一個(gè)電 源開關(guān),以便控制電源的開啟和關(guān)閉。 2.處理器部分:使用AT89C51芯片作為主處理器,通過編寫程序?qū)崿F(xiàn)門鎖的 控制。AT89C51芯片具有豐富的I/O端口,可以方便地與外部器件進(jìn)行通信

    2024年01月20日
    瀏覽(25)
  • 【51單片機(jī)Keil+Proteus8.9】溫室盆栽灌溉系統(tǒng)

    【51單片機(jī)Keil+Proteus8.9】溫室盆栽灌溉系統(tǒng)

    實(shí)驗(yàn)五 實(shí)驗(yàn)名稱 溫室盆栽灌溉系統(tǒng) 軟件設(shè)計(jì): 1. 定義對(duì)應(yīng)的引腳和端口的別名。 2. 編寫延時(shí)函數(shù),用于控制程序的執(zhí)行速度。 3. 編寫LCD控制函數(shù),包括發(fā)送命令和發(fā)送數(shù)據(jù)兩種操作。 4. 編寫顯示函數(shù),用于在LCD上顯示字符串。 5. 編寫獲取AD轉(zhuǎn)換結(jié)果的函數(shù),用于測(cè)量環(huán)境

    2024年01月20日
    瀏覽(25)
  • 132、仿真-基于51單片機(jī)主從串口通信家用防盜報(bào)警器設(shè)計(jì)(程序+Proteus仿真+流程圖等)

    132、仿真-基于51單片機(jī)主從串口通信家用防盜報(bào)警器設(shè)計(jì)(程序+Proteus仿真+流程圖等)

    畢設(shè)幫助、開題指導(dǎo)、技術(shù)解答(有償)見文未 目錄 一、設(shè)計(jì)功能 二、Proteus仿真圖?編輯 三、程序源碼 資料包括: 需要完整的資料可以點(diǎn)擊下面的名片加下我,找我要資源壓縮包的百度網(wǎng)盤下載地址及提取碼。 方案選擇 單片機(jī)的選擇 方案一:STM32系列單片機(jī)控制,該型號(hào)

    2024年02月16日
    瀏覽(26)
  • 【51單片機(jī)Keil+Proteus8.9】控制步進(jìn)電機(jī)+LCD1602顯示狀態(tài)

    【51單片機(jī)Keil+Proteus8.9】控制步進(jìn)電機(jī)+LCD1602顯示狀態(tài)

    步進(jìn)電機(jī)控制 設(shè)計(jì)思路 電路設(shè)計(jì): 選用AT89C51單片機(jī)作為電路核心部件,外加LM016L液晶顯示屏作為顯示,顯示步進(jìn)電機(jī)的Fast,Slow,Stop的三個(gè)狀態(tài) 將AT89C51單片機(jī)所選引腳與LM016L控制引腳相連,再將數(shù)據(jù)通過引腳與LCD接收引腳相連。 通過AT89C51單片機(jī)P0^0和P0^2兩個(gè)引腳引出兩個(gè)

    2024年01月20日
    瀏覽(36)
  • 【51單片機(jī)Keil+Proteus8.9+ADC0804】ADC實(shí)驗(yàn) 模擬轉(zhuǎn)數(shù)字實(shí)驗(yàn)

    【51單片機(jī)Keil+Proteus8.9+ADC0804】ADC實(shí)驗(yàn) 模擬轉(zhuǎn)數(shù)字實(shí)驗(yàn)

    一、實(shí)驗(yàn)名稱 ADC實(shí)驗(yàn) 模擬轉(zhuǎn)數(shù)字實(shí)驗(yàn) 二、設(shè)計(jì)思路 電路設(shè)計(jì) 1.選用AT89C51單片機(jī)作為電路核心單元,外接8位單通道AD轉(zhuǎn)換器ADC0804芯片和LM016L顯示器以及滑動(dòng)變阻器等其它常用元器件構(gòu)成電路。 2.將ADC0804芯片的控制引腳RD,WR,INTR接到AT89C51芯片對(duì)應(yīng)引腳,再將ADC0804電壓輸入引腳

    2024年01月20日
    瀏覽(26)
  • 二、51單片機(jī) 使用Proteus仿真掌握矩陣鍵盤(仿真及代碼)

    二、51單片機(jī) 使用Proteus仿真掌握矩陣鍵盤(仿真及代碼)

    學(xué)習(xí)內(nèi)容:通過proteus實(shí)現(xiàn)對(duì)51單片機(jī)矩陣的掌握 1 、鍵盤接口設(shè)計(jì)。鍵盤——向單片機(jī)輸入數(shù)據(jù)、命令等功能,是人機(jī)對(duì)話的主要手段。由若干按鍵按照一定規(guī)則組成。每一個(gè)按鍵實(shí)質(zhì)上是一個(gè)按鍵開關(guān),按構(gòu)造可分為有觸點(diǎn)開關(guān)按鍵和無觸點(diǎn)按鍵。有觸點(diǎn)開關(guān)按鍵常見的有

    2024年02月11日
    瀏覽(23)
  • 三、51單片機(jī) 使用Proteus仿真實(shí)現(xiàn)8位數(shù)碼管滾動(dòng)顯示(仿真及代碼)

    三、51單片機(jī) 使用Proteus仿真實(shí)現(xiàn)8位數(shù)碼管滾動(dòng)顯示(仿真及代碼)

    1,目標(biāo) ? ? ? ? 使用51單片機(jī)控制8位數(shù)碼管,分別滾動(dòng)顯示單個(gè)數(shù)字0~7,程序運(yùn)行之后,單片機(jī)先控制最左邊的第一位數(shù)碼管顯示0,其他的熄滅,延時(shí)一段時(shí)間之后,控制左邊第二個(gè)數(shù)碼管顯示1,其它熄滅,以此類推,反復(fù)循環(huán)上述過程。 2,設(shè)計(jì)方式 ? ? ? ? 使用P0輸出

    2024年02月13日
    瀏覽(29)
  • 記錄在蘋果mac os系統(tǒng)上使用51單片機(jī)仿真軟件Proteus

    記錄在蘋果mac os系統(tǒng)上使用51單片機(jī)仿真軟件Proteus

    1.安裝Wineskin shell 指令 2.安裝Wrapper 點(diǎn)擊update???????? 首先我們需要安裝一個(gè)程序: 可以將在Windows系統(tǒng)上才能運(yùn)行exe文件打包為mac系統(tǒng)可執(zhí)行的文件。 下載后,可以在啟動(dòng)臺(tái)或者下載目錄看到 Wineskin Winery 的圖標(biāo),點(diǎn)擊啟動(dòng)該軟件。? No Wrapper Installed ? 暫時(shí)無法解決

    2024年02月06日
    瀏覽(32)
  • 【Proteus仿真】【51單片機(jī)】貪吃蛇游戲

    【Proteus仿真】【51單片機(jī)】貪吃蛇游戲

    本項(xiàng)目使用Proteus8仿真51單片機(jī)控制器,使用8*8LED點(diǎn)陣、按鍵模塊等。 主要功能: 系統(tǒng)運(yùn)行后,可操作4個(gè)按鍵控制小蛇方向。 B站演示視頻:https://space.bilibili.com/444388619 視頻地址:https://space.bilibili.com/444388619/video 專注于51單片機(jī)、STM32、國產(chǎn)32、DSP、Proteus、arduino、ESP32、物聯(lián)

    2024年02月06日
    瀏覽(27)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包