操屁眼的视频在线免费看,日本在线综合一区二区,久久在线观看免费视频,欧美日韩精品久久综

新聞資訊

    1單片機是對所有兼容Intel 8031指令系統的單片機的統稱。該系列單片機的始祖是Intel的8004單片機,后來隨著Flash rom技術的發展,8004單片機取得了長足的進展,成為應用最廣泛的8位單片機之一,其代表型號是ATMEL公司的AT89系列,它廣泛應用于工業測控系統之中。很多公司都有51系列的兼容機型推出,今后很長的一段時間內將占有大量市場。51單片機是基礎入門的一個單片機,還是應用最廣泛的一種。需要注意的是51系列的單片機一般不具備自編程能力。

    UART是一種通用串行數據總線,用于異步通信。該總線雙向通信,可以實現全雙工傳輸和接收。在嵌入式設計中,UART用于主機與輔助設備通信,如汽車音響與外接AP之間的通信,與PC機通信包括與監控調試器和其它器件,如EEPROM通信。

    計算機內部采用并行數據,不能直接把數據發到Modem,必須經過UART整理才能進行異步傳輸,其過程為:CPU先把準備寫入串行設備的數據放到UART的寄存器(臨時內存塊)中,再通過FIFO(First Input First Output,先入先出隊列)傳送到串行設備,若是沒有FIFO,信息將變得雜亂無章,不可能傳送到Modem。它是用于控制計算機與串行設備的芯片。有一點要注意的是,它提供了RS-232C數據終端設備接口,這樣計算機就可以和調制解調器或其它使用RS-232C接口的串行設備通信了。

    作為接口的一部分,UART還提供以下功能:將由計算機內部傳送過來的并行數據轉換為輸出的串行數據流。將計算機外部來的串行數據轉換為字節,供計算機內部并行數據的器件使用。在輸出的串行數據流中加入奇偶校驗位,并對從外部接收的數據流進行奇偶校驗。在輸出數據流中加入啟停標記,并從接收數據流中刪除啟停標記。處理由鍵盤或鼠標發出的中斷信號(鍵盤和鼠標也是串行設備)。

    可以處理計算機與外部串行設備的同步管理問題。有一些比較高檔的UART還提供輸入輸出數據的緩沖區,比較新的UART是16550,它可以在計算機需要處理數據前在其緩沖區內存儲16字節數據,而通常的UART是8250。如果您購買一個內置的調制解調器,此調制解調器內部通常就會有16550 UART。接下來我們一起了解一下基于51單片機的UART串口通信。

    51單片機的UART串行通信是基于其串行口的可編程硬件結構,只要用正確的程序代碼通過初始化串行口對應寄存器的形式將其串行硬件結構初始化,再編寫符合此串行口通信的程序代碼便能夠實現串行通信,其硬件結構決定了編程機制( 當然還要靠51芯片內CPU等機制 )。

    此結構具有UART( 通用異步收發器 )的全部功能,能同時進行數據的發送和接收,也可作為同步移位寄存器使用。此結構集成于單片機內部。

    、實驗思路

    連接兩個STM32單片機的串口引腳,單片機A進行發送,單片機B進行接收。單片機B根據接收到單片機A的指令來點亮或熄滅板載LED燈,通過實驗現象來驗證是否通訊成功。

    二、實驗器材

    兩套STM32F103C8T6單片機開發板、ST-Link下載器、杜邦線。

    三、實驗步驟

    3.1 配置單片機基本參數

    使用STM32CubeIDE進行配置兩個單片機的時鐘信息、引腳狀態、串口信息、中斷等基本參數。兩單片機均采用串口1進行通訊,對應串口引腳均為PA9(發送引腳)、PA10(接收引腳);單片機B的GPIOC 13引腳設置為輸出狀態,以控制開發板LED的亮滅。具體配置如下圖:

    單片機A引腳配置信息

    單片機B的引腳配置信息

    串口配置信息

    3.2 編寫代碼

    計劃單片機B接收到單片機A發送的“1”后點亮LED,接收到單片機A發送的“2”后熄滅LED。現設計單片機A的主程序中循環發送“1”和“2”,期間間隔1s,故單片機主程序如下:

    間隔1s循環發送“1”、“2”

    單片機B采用中斷接收的方式,當接收到串口數據時進入接收中斷回調函數。在回調函數中判別接收到的數值,如果數值為1,則點亮LED,數值為2,則熄滅LED,其它數值則沒反應。編寫回調函數如下:

    接收中斷回調函數

    3.3 將程序進行編譯燒錄單片機,可點擊以下鏈接觀察實驗現象。

    實驗視頻

    口的接口主要分為RS232,RS485,對于電腦端,驅動程序軟件幾乎是通用的,硬件設計上我們常常面對兩種情況:DB9串口的電平與單片機不同,或者電腦干脆沒有串口。那么該如何設計單片機端的電路,才能實現正常的串口通訊呢?

    電腦和單片機串口通信

    1串口電平轉換電路

    DB9串口的電平為正負12V左右,單片機的電平一般為5V或者3.3V,直接跟DB9的收發信號線連接很容易出問題。因此我們需要做一下電平轉換。通常的做法是采用轉換芯片,例如MAX232。這個芯片很好用,外圍只需要幾個電容配合即可,也不需要安裝驅動程序。

    MAX232外圍電路

    其中TX_MCU和RX_MCU 是單片機的串口發送和接收。

    2USB轉TTL串口

    很多新的電腦主板尤其是筆記本電腦上沒有DB9接口,那么該如何使用串口通信呢?這就要利用USB轉TTL芯片了。常用的芯片有CH340系列、CP2102、PL2303、FT232RL等等。每種芯片要安裝對應的驅動芯片。下面給出ch340g的原理圖:

    USB轉TTL電路

    圖中TX_C和RX_C相當于電腦的串口發送和接收線,要跟單片機的串口交叉連接。

    3RS485轉換芯片

    單片機的串口一般只有收和發兩根線,如果要設計成RS485總線方式,就要加專門的轉換芯片,常用的芯片有max485,SP3485等等。示例電路圖如下:

    RS485電路

    其中TX_MCU和RX_MCU是單片機的發送和接收,EN_MCU是使能信號,當使能信號為高電平時,只允許發送,反之只能接收。R26為總線終端電阻,當通訊距離較遠時就需要在總線的兩端接上終端電阻,保證通信的可靠性。注意是總線兩端,而不是總線上的每個設備。

    上面就是我們在做串口通信系統時常用的的基本應用電路,希望我的分享給大家帶來幫助,歡迎大家多留言,多交流。

網站首頁   |    關于我們   |    公司新聞   |    產品方案   |    用戶案例   |    售后服務   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區    電話:010-     郵箱:@126.com

備案號:冀ICP備2024067069號-3 北京科技有限公司版權所有