51微控制器主從序列通訊,微控制器主從機之間通訊

2023-01-29 09:35:52 字數 3658 閱讀 2436

1樓:喬熠暉

我沒寫過485的,我寫過多個微控制器之間主從通訊的,用485和232不就是為了提高傳輸距離吧,其實就是用串列埠主從機通訊吧,如果要的話我有

2樓:匿名使用者

你要是不著急,就留個郵箱,我週一到單位寫一個發給你。

很久不寫了,有些東西記不清,單位的電腦上還有以前寫好的程式,改一改就行了。

另外,你說的0x05 0x56是哪個空間的?

程式整體結構如下,從機也類似。

定義資料結構;

main()

interrupt x vector x()串列埠用485還是232,對程式沒有影響。

微控制器主從機之間通訊

3樓:藝嵌科技

可以使用串列埠通訊,你看一下資料就知道了,微控制器一般至少都有一個串列埠的,每個串列埠至少有一個tx(傳送)和一個rx(接收)引腳,用來在通訊中接收和傳送,兩個微控制器的rx和tx交叉相接通過程式設計就可以完成通訊了(可以使中中斷接收模式來提高接收響應時間)

4樓:匿名使用者

擴充套件io口用io擴充套件晶片就可以了,完全不需要額外再加一塊微控制器,比如直接使用pca9554.82c55等等!!

5樓:匿名使用者

你好!!

微控制器通訊的例子有

51微控制器中的序列介面和全雙工的uart分別是指什麼

6樓:我是_羅東

序列介面是指資料一位位地順序傳送,常用的有rs232和rs485;

uart是非同步序列介面,即是主從機時脈頻率不同步,通訊是通過設定波特率實現的。

uart其實就是序列介面中的一種。

通訊有序列、並行之分,而序列通訊又有同步、非同步之分。

同步常用協議是spi、iic。非同步就上面說的。

兩片51微控制器之間的串列埠通訊

7樓:匿名使用者

1、不要忘了把兩個單bai片機的地也連du上,因為zhi這是單端訊號,必須連地。dao同時訊號線專不要超過1

米(如果你使用

屬3v的電壓,還要短些)。

2、首先,你要設定一個主機,可以主動傳送訊號,比如傳送『?』,然後從機接到訊號後返回'>',便可實現握手,隨後可以實現通訊。這種握手模式是很多微控制器在序列程式設計中使用了,可以拿來參考。

最後,不要忘了使能scon中的 ren位,主機和從機的波特率和格式一定要一致。實驗時候先從較低的波特率試驗,比如2400-9600。

8樓:匿名使用者

兩片微控制器可以直接交叉連上就行吧,但是傳輸距離會很近,實踐檢驗一下吧

握手就像暗號,在對應的位置收到對應的資訊再返回相應的資訊,否則返回另一資訊

9樓:做而論道

可參考:

再找找,還有很多同類回的題目。答

10樓:匿名使用者

交叉連就行,2片微控制器電源要共地,傳送和接收通過判斷ti,ri標誌位,去書上看看序列口的工作方式吧

mcs—51微控制器的序列口有哪幾種工作方式

11樓:東京沒***

1、立即定址:運算元就寫在指令中,和操作碼一起放在程式存貯器中。把「#」號放在立即數前面,以表示該定址方式為立即定址,如mova,#20h。

2、暫存器定址:運算元放在暫存器中,在指令中直接以暫存器的名來表示運算元地址。如mova,r0就屬於暫存器定址,即r0暫存器的內容送到累加器a中。

3、直接定址:運算元放在微控制器的內部ram某單元中,在指令中直接寫出該單元的地址。如前例的adda,70h中的70h。

4、暫存器間接定址:運算元放在ram某個單元中,該單元的地址又放在暫存器r0或r1中。如果ram的地址大於256,則該地址存放在16位暫存器dptr(資料指標)中,此時在暫存器名前加@符號來表示這種間接定址。

如mova,@r0。

5、變址定址:指定的變址暫存器的內容與指令中給出的偏移量相加,所得的結果作為運算元的地址。如movca,@a+dptr。

6、相對定址:由程式計數器中的基地址與指令中提供的偏移量相加,得到的為運算元的地址。如sjmprel。

7、位定址:運算元是二進位制中的某一位,其位地址出現在指令中。如setbbit。

12樓:際風

在通訊中 按傳送方式可分為三種:單工,半雙工,全雙工。

按通訊方式可分為兩種:非同步通訊,同步通訊。

13樓:匿名使用者

有4種方式:

方式 0 :同步移位暫存器輸出方式

方式1:8位資料非同步通訊方式

方式 2 :可接收或傳送 11 位資料

方式 3 :方式 3 與方式 2 完全類似,唯一的區別是方式 3 的小組特率是可變的。

14樓:匿名使用者

全雙工的,可以同時收發!

設計2個微控制器實現主從式串列埠通訊需要的元器件?

15樓:吸血鬼_媛

所需要的器件很簡單的,就是兩片微控制器、鍵盤和數碼管,當然也可以用液晶顯示。

兩塊微控制器之間的通訊可以直接連線序列輸入輸出口。

16樓:匿名使用者

單個系統需要的東西。51 或者52微控制器一塊,微控制器的晶振1個,配合晶振的電容2個。微控制器的復位電路,電阻,開關,電容,數碼管若干,max232一塊 串列埠插槽一個 串列埠線一根 當然基本的工具你不能少。

會看原理圖,按著上面的東西照做就行了。

17樓:貢浩僪涵柳

2套微控制器最小系統的器件,加上led,矩陣按鍵或普通按鍵。串列埠通訊可以用2跟導線,遠距離傳輸的話可以用485晶片。

微控制器與微控制器之間如何進行序列通訊?

18樓:匿名使用者

1、將兩個微控制器的rxd與txd相連

2、根據需要傳輸的資料編寫傳輸協議

3、編寫序列通訊程式,將自己需要傳送的資料按照協議進行傳送4、編寫接收程式,按照協議進行接收

5、將兩個程式分別寫入兩個微控制器,執行。

mcs-51微控制器的序列通訊介面有4種工作方式,它們都是實現串列埠通訊功能的嗎

19樓:墨明棋妙

這個不全是,串列埠方式0是作為同步以為暫存器使用的,你用它可以模擬spi 作為主機。

其他三個是串列埠,只是每次通訊的資料位數或波特率不同而已

51微控制器的序列口按工作方式1進行序列資料通訊,假定波特率為2400b/s編寫程式

20樓:zgr_我要**

#include

void inituart(void)

void sendonebyte(unsigned char c)//傳送函式來

源void main(void)

void uartinterrupt(void) interrupt 4 //接收中斷

else

ti = 0;}

51微控制器URAT中斷接收資料,51微控制器串列埠接收多個字元 假如是4位元組 ,是分4次中斷傳輸的,還是一次中斷完成的?

t1定時器的初始化程式 void init1 main void main tmod 0x01 th0 th0 tl0 tl0 es 1 允許uart串列埠的中斷ri 0 ea 1 et0 1 tr0 1 init1 main tmod,被初始化了兩次不同的數值,只有最後一次,才是有效的。應該統一使...

微控制器之間如何實現通訊,微控制器與微控制器之間如何進行序列通訊?

兩個單抄片機之間串列埠襲通訊,如果是用proteus 最簡單 bai了,兩個微控制器的rxd,txd交叉連線就行了。du要是實物最zhi好用rs232連線通訊,距離可以達到幾十米。再遠點距離,用rs485連線通訊。總之,方法很多的,dao也很靈活的。1 微控制器的通訊 有抄序列襲通訊和並行通bai信...

51微控制器通訊問題,串列埠除錯助手能接受微控制器傳送的資料,但是微控制器卻不能接受串列埠除錯助手傳送的資料

delay 延時短一點,其他沒看出有問題 在除錯rs232串列埠通訊時,微控制器往pc機上發資料,串列埠除錯助手可以接收,但是pc往微控制器發資料,接收不到。如果用的是51微控制器,除了確認電纜沒問題外,可以查一下又沒有可能不小心把對應rxd的sfr給賦值0了,查這個不一定要看程式,可以拔掉微控制器...