導航:首頁 > 操作系統 > 雙串口單片機

雙串口單片機

發布時間:2022-03-14 02:08:16

A. 單片機硬雙串口有什麼意義

意義很大,比如多CPU單片機系統,還需要與上位機通訊,雙串口就可以發揮作用了。

B. 雙機串口通信(單片機)

試驗的話就將兩個單片機刷同樣的程序,程序裡面都包含了發送和接收部分,我用的是msp430單片機。連線是要注意串口線的連接方式
5---5
2---3
3---2
只有這樣連才能行。下面是源程序:

#include <msp430x44x.h>

void main(void)
{
WDTCTL = WDTPW + WDTHOLD; // Stop WDT
FLL_CTL0 |= XCAP14PF; // Configure load caps
UTCTL0 = SSEL1; // UCLK = SMCLK
UBR00 = 0x6D; // 1MHz 9600
UBR10 = 0x00; // 1MHz 9600
UMCTL0 = 0x00; // no molation
UCTL0 = CHAR; // 8-bit character *SWRST*
ME1 |= UTXE0 + URXE0; // Enable USART0 TXD/RXD
IE1 |= URXIE0; // Enable USART0 RX interrupt
P2SEL |= 0x30; // P2.4,5 = USART0 TXD/RXD
P2DIR |= 0x10; // P2.4 output direction
_EINT(); // Enable interrupts

for (;;)
{
_BIS_SR(CPUOFF); // Enter LPM0
_NOP(); // Required only for C-spy
}
}

interrupt[UART0RX_VECTOR] void usart0_rx (void)
{
while ((IFG1 & UTXIFG0) == 0); // USART0 TX buffer ready?
TXBUF0 = RXBUF0; // RXBUF0 to TXBUF0
}

C. 尋找2個獨立串口的單片機!

STM32的話可以試試STM32F103C8T6,或者STM32F103T6U6,這兩種是STM32裡面個頭最小的,有兩個串口。當然單片機是貼片封裝的,焊接的時候費事了。
DIP封裝的單片機里,除了40腳的會有兩個串口外,其餘20引腳或者28引腳的基本沒有。一般的單片機有一個串口就很不錯了。

D. 求助:STC系列雙串口單片機 同時使用兩個串

STC系列雙串口單片機 可以同時使用兩個串口,
STC系列四串口單片機 同時使用四個串口。

E. 單片機雙機串口通信程序設計

初始化程序:
BTLEQU2FH;波特率放在內部RAM的2FH單元
MOVTMOD,#21H;T0方式1,16位計數器,T1方式2,串口用
SETBTR0;啟動T0
MOVBTL,#0F3H;波特率設定為1200
MOVSCON,#0C0H;串口方式3,9位數據,禁止接收
接收及驗證程序:
NUMEQU2BH;同步符個數值存放在內部RAM的2BH單元
TEMPEQU2CH
ROM-CH:DB55H,55H,55H,55H,55H,55H,55H,55H,55H,55H
DB55H,55H,55H,55H,55H,55H,55H,55H,55H,55H;20位元組同步符
MIMDB'WSC':3位元組密碼「WSC」
SETBP3.5;置電台收狀態
SETBREN;允許串口接收
A1:MOVNUM,#0;記錄連續到同步符55H的個數
A2:JBRI,A2;串口有數據轉A3
A3:CLRRI;清接收中斷標志
MOVA,SBUF;讀串口數據
CJNEA,#55H,A1;不是同步符轉A1
INCNUM;收到的同步符個數加1
MOVA,NUM;取收到的同步符個數
CJNEA,#5,A2;未收夠連續5個55H轉A2
A4:MOVNUM,#0;密碼驗證,記錄收到密碼位元組數
A5:MOVDPTR,#MIM;密碼字元首址
MOVA,NUM
MOVCA,@A+DPTR;查表取密碼
MOVTEMP,A;保存密碼
JBRI,A6;串口收完一個位元組轉A6

A6:CLRRI;清接收中斷標志
MOVA,SBUF;讀串口數據
CJNEA,TEMP,A4;與密碼不符轉A4
INCNUM;收到的密碼個數加1
MOVA,NUM;取已收到的密碼位元組數
CJNEA,#3,A5;密碼未收完轉A5
發送程序:
CLRP3.5;置電台發狀態
MOVB,#23
MOVDPTR,#ROM-CH
B1:CLRA
MOVCA,@A+DPTR;查表發送同步符和密碼共24位元組
INCDPTR
LCALLSEND-CH;調發送單位元組子程序
DJNZB,B1

CLRA
MOVDPTR,#7000H;外部RAM數據首址,發送外部RAM中的數據到電台
B2:CJNER4,#0,B3
CJNER3,#0,B3;R4R3=發送位元組數
B3:MOVXA,@DPTR;取數據
INCDPTR
LCALLSEND-CH
CJNER3,#0,B4
CJNER4,#0,B5
B4:DECR3
LJMPB2
DECR3
DECR4
LJMPB2

SEND-CH:SETBTB8
MOVSBUF,A
DB0,0,0,0,0,0,0,0
JNBTI,$;延時4μs
CLRTI
RET
結語

F. 單片機雙串口通信

看看該晶元的PFD資料吧。
先定義相關寄存器,位,再設置,就可以用了,和第一個串口一樣的用法。
例:
sfr AUXR1 = 0xa2;
sfr S2CON = 0x9a;
sfr S2BUF = 0x9b;
sbit S2_P4 = 0xa6;
...
中斷號:8
void uart2() interrupt 8
{
...
}

G. ATMEL的51系列單片機有雙串口的么

ATMEL沒有雙串口的51單片機,AVR倒是有些雙串口的,比如Atmega162。如果可能,你考慮一下Winbond的W77E058單片機,這就是雙串口的。

H. 雙單片機間串口雙向通信(十萬火急)

一個簡單的模擬實例,改一下就可以了

I. 有一個雙串口單片機,我要把串口1的數據發送到串口2中去,串口1波特率9600,串口2波特率1200。要怎麼做

你可以在單片機內部用數組把信息從串口1串到串口2,
另外你還要考慮在單片機內部傳遞的時間,
由於串口1速度快,口2速度慢,
1:從串口2向串口1傳遞可以按照9600的波特率。
2:從串口1向串口2傳遞速度只能按照串口2的波特率1200進行。
如果對實時性要求不高還是很容易搞定的。

J. 有沒有高手呀!!!求高手!!! 雙串口單片機(STC90C54RD+),串口通信程序編寫,具體要求如下:

#include<reg52.h>
unsigned char flag,a;
void main()
{
TMOD=0x20;//設置定時器1為工作方式2
TH1=0xfd;
TL1=0xfd;
TR1=1;
REN=1;
SM0=0;
SM1=1;
EA=1;
ES=1;
while(1)
{
/* if(RI==1)
{
RI=0;
P1=SBUF;
}*/
if(flag==1)
{
ES=0;
flag=0;
SBUF='1';//28;
while(!TI);
TI=0;
SBUF='2';//28;
while(!TI);
TI=0;
SBUF='3';//28;
while(!TI);
TI=0;
ES=1;
}
}
}
void ser() interrupt 4
{
RI=0;
// P1=SBUF;
a=SBUF;
flag=1;
}
這是串口通訊的程序,由於C語言的良好的訊移性能,你再查詢GPS模塊的就編程,一整合可以了

閱讀全文

與雙串口單片機相關的資料

熱點內容
伺服器怎麼執行sql 瀏覽:974
小孩子命令 瀏覽:706
貸款申請系統源碼 瀏覽:268
windowsxp文件夾打開後怎麼返回 瀏覽:662
怎麼把pdf變成圖片 瀏覽:795
17年程序員事件 瀏覽:494
iishttp壓縮 瀏覽:29
公司文件加密後拷走能打開嗎 瀏覽:186
headfirstjava中文 瀏覽:894
騰訊雲伺服器怎麼放在電腦桌面 瀏覽:8
批量生成圖片的app哪個好 瀏覽:496
小米10電池校準命令 瀏覽:96
移動商城系統app如何開發 瀏覽:692
用安卓手機如何發高清短視頻 瀏覽:339
怎樣運行java程序運行 瀏覽:553
海南根伺服器鏡像雲伺服器 瀏覽:536
weka聚類演算法 瀏覽:452
視頻伺服器修復是什麼意思 瀏覽:498
python跨平台開發 瀏覽:916
音遇app全民k歌從哪裡下載 瀏覽:646