仿真圖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)行講解和代碼講解。
3. 仿真
打開仿真工程,雙擊proteus中的單片機(jī),選擇hex文件路徑,然后開始仿真。
按下主機(jī)的從機(jī)1按鍵,從機(jī)1接收到數(shù)據(jù)燈光閃爍,其他從機(jī)燈光熄滅。
按下主機(jī)的從機(jī)2按鍵,從機(jī)2接收到數(shù)據(jù)燈光閃爍,其他從機(jī)燈光熄滅。
按下主機(jī)的從機(jī)3按鍵,從機(jī)3接收到數(shù)據(jù)燈光閃爍,其他從機(jī)燈光熄滅。
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é)論等
在現(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簡(jiǎn)易使用教程
單片機(jī)學(xué)習(xí)資料
相關(guān)數(shù)據(jù)手冊(cè)
答辯技巧
設(shè)計(jì)報(bào)告常用描述
鼠標(biāo)雙擊打開查找嘉盛單片機(jī)51 STM32單片機(jī)課程畢業(yè)設(shè)計(jì).url
資料下載鏈接:
https://docs.qq.com/doc/DS2REbFJkWlZvc0dR