国产精品婷婷久久久久久,国产精品美女久久久浪潮av,草草国产,人妻精品久久无码专区精东影业

protous實(shí)驗(yàn)報告兩個單片機(jī)之間的串行通信.pdf

約4頁PDF格式手機(jī)打開展開

protous實(shí)驗(yàn)報告兩個單片機(jī)之間的串行通信,兩個單片機(jī)之間的串行通信 一、設(shè)計要求 在某個控制系統(tǒng)中有u1、u2這兩個單片機(jī)?u1單片機(jī)首先將p1端口指撥開關(guān)數(shù)據(jù)載入sbuf?然后經(jīng)由txd將數(shù)據(jù)傳送給u?單片機(jī)?u?單片機(jī)將接收數(shù)據(jù)存入sbuf?再由sbuf載入累加器?并輸出至p?端口?點(diǎn)亮相應(yīng)端口的led。 二、實(shí)驗(yàn)所需元器件 單片機(jī)at89c51 瓷片電容...
編號:5-252994大小:572.15K
分類: CAD圖紙

內(nèi)容介紹

此文檔由會員 dingpeng52 發(fā)布

兩個單片機(jī)之間的串行通信



一、設(shè)計要求

在某個控制系統(tǒng)中有U1、U2這兩個單片機(jī)?U1單片機(jī)首先將P1端口指撥開關(guān)數(shù)據(jù)載入SBUF?

然后經(jīng)由TXD將數(shù)據(jù)傳送給U?單片機(jī)?U?單片機(jī)將接收數(shù)據(jù)存入SBUF?再由SBUF載入累

加器?并輸出至P?端口?點(diǎn)亮相應(yīng)端口的LED。











二、實(shí)驗(yàn)所需元器件

單片機(jī)AT89C51 瓷片電容CAP-22pF 晶振CRYSTAL 電解電容CAP-ELEC

電阻RES 按扭BUTTON 發(fā)光二極管

LED-YELLOW

發(fā)光二極管LED?

RED

開關(guān)SWITCH 撥碼開關(guān)DIPSW?S 發(fā)光二極管LED?

GREEN

發(fā)光二極管LED?

RED











三、電路原理圖?



兩個單片機(jī)之間的串行通信電路圖









四、程序設(shè)計

這兩個單片機(jī)均工作在半工狀態(tài)?U?將P?端口的狀態(tài)通過TXD發(fā)半空給U??而U?接收

U?的數(shù)據(jù)?然后控制P1端口的LED顯示。因此?需編寫兩個不同的程序?其程序流程圖如

下所示?





































Y



N









N



























單片機(jī)1開始

設(shè)置波特率

串行寄存器設(shè)置

啟動TR

讀撥入鍵值

載入SBUF發(fā)送

鍵值是否與前次相同

單片機(jī)2開始

串行寄存器設(shè)置

清除RI

啟動TR

載入SBUF發(fā)送

數(shù)據(jù)暫存

數(shù)據(jù)輸出到P1

結(jié)束

結(jié)束

設(shè)置波特率

是否接收到數(shù)據(jù)?

是否發(fā)送完畢? 五、C語言程序?



U1的C語言程序?

#include "reg51.h"

#define uint unsigned int

#define uchar unsigned char



void send(uchar state)

{

SBUF=state;

while(TI==0);

TI=0;

}

void SCON_init(void)

{

SCON=0x50;

TMOD=0x20;

PCON=0x00;

TH1=0xfd;

TL1=0xfd;

TI=0;

TR1=1;

ES=1;



}



void main()

{

P1=0xff;

SCON_init();

while(1)

{

send(P1);

}

}

U2的C語言程序?

#include "reg51.h"

#define uint unsigned int

#define uchar unsigned char

uchar state;

void receive()

{

while(RI==0)

state=SBUF;

RI=0;

}



void SCON_init(void)

{

SCON=0x50;

TMOD=0x20;

PCON=0x00;

TH1=0xfd;

TL1=0xfd;

RI=0;

TR1=1;



}



void main()

{

SCON_init();

while(1)

{

receive();

P1=state;

}

}