91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

使用單片機實現(xiàn)串口通信的資料詳細(xì)說明

Wildesbeast ? 來源:網(wǎng)絡(luò)整理 ? 作者:佚名 ? 2020-08-09 14:13 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

串口通訊對單片機而言意義重大,不但可以實現(xiàn)將單片機的數(shù)據(jù)傳輸?shù)?a href="http://www.makelele.cn/v/tag/1247/" target="_blank">電腦端,而且也能實現(xiàn)電腦對單片機的控制,比如你可以把寫入單片機的數(shù)據(jù)碼顯示在電腦上,如可以使用一個按鍵,當(dāng)按下它時使某一個字母如:AA,通過單片機的串口將它發(fā)送到電腦上顯示,起到仿真器的某些功效,站長在開發(fā)數(shù)據(jù)采集設(shè)備時就是通過串口來檢查數(shù)據(jù)正確與否的。

MCS-51內(nèi)部含有一個可編程全雙工串行通信接口,具有UART的全部功能。該接口電路不僅能同時進(jìn)行數(shù)據(jù)的發(fā)送和接收,也可作為一個同步移位寄存器使用。

在進(jìn)行異步通信時,數(shù)據(jù)的發(fā)送和接收分別在各自的時鐘(TCLK和RCLK)控制下進(jìn)行的,但都必須與字符位數(shù)的波特率保持一致。MCS-51串行口的發(fā)送和接收時鐘可由兩種方式產(chǎn)生,一種是由主機頻率fosc經(jīng)分頻后產(chǎn)生,另一種方式是由內(nèi)部定時器T1或T2的溢出率經(jīng)16分頻后提供。

51單片機有一個全雙工的串行通訊口,所以單片機和電腦之間可以方便地進(jìn)行串口通訊。進(jìn)行串行通訊時要滿足一定的條件,比如電腦的串口是RS232電平的,而單片機的串口是TTL電平的,兩者之間必須有一個電平轉(zhuǎn)換電路,我們采用了專用芯片MAX232進(jìn)行轉(zhuǎn)換,雖然也可以用幾個三極管進(jìn)行模擬轉(zhuǎn)換,但是還是用專用芯片更簡單可靠。我們采用了三線制連接串口,也就是說和電腦的9針串口只連接其中的3根線:第5腳的GND、第2腳的RXD、第3腳的TXD。這是最簡單的連接方法,但是對我們來說已經(jīng)足夠使用了,電路如下圖所示,MAX232的第10腳和單片機的11腳連接,第9腳和單片機的10腳連接,第15腳和單片機的20腳連接。本網(wǎng)站的提供的實驗板上已經(jīng)裝配好了全部硬件。

串口通訊的硬件電路如上圖所示

為了能夠在電腦端看到單片機發(fā)出的數(shù)據(jù),我們必須借助一個WINDOWS軟件進(jìn)行觀察單片機串口通信,這里我們利用一個免費的電腦串口調(diào)試軟件。

點擊這里可以下載并運行這個串口調(diào)試軟件這是一個綠色的軟件,無需安裝,可以直接在當(dāng)前位置運行這個軟件。軟件界面如上圖,我們先要設(shè)置一下串口通訊的參數(shù),將波特率調(diào)整為4800,勾選十六進(jìn)制顯示。串口選擇為COM1,當(dāng)然將網(wǎng)站提供的51單片機實驗板的串口也要和電腦的COM1連接,將燒寫有以下程序的單片機插入單片機實驗板的萬能插座中,并接通51單片機實驗板的電源,這時只要按下K1一次,在串口調(diào)試助手軟件的接收區(qū)界面中就會增加一個“AF”字符,表示單片機向電腦發(fā)送“AF”字符成功。串口實驗的源程序如下所示:

;這是一個AT89C51單片機實驗開發(fā)板向PC機的串口單向發(fā)送數(shù)據(jù)AF的演示程序

;采用MAX232專用芯片作RS232/TTL電平轉(zhuǎn)換。

;通訊波特率為4800KBPS,只要按下一次K1(就是P3.6引腳變成低電平)

;就發(fā)送一個16進(jìn)制的AF字符

ORG 0000H

MOV SCON,#50H;設(shè)置成串口1方式

MOV TMOD,#20H;波特率發(fā)生器T1工作在模式2上

MOV PCON,#80H;波特率翻倍為2400x2=4800BPS

MOV TH1,#0F3H;預(yù)置初值(按照波特率2400BPS預(yù)置初值)

MOV TL1,#0F3H;預(yù)置初值(按照波特率2400BPS預(yù)置初值)

SETB TR1;啟動定時器T1

;以上完成通訊初始化設(shè)置

WRIT:JB P3.6,$;判斷K1是否按下,如果沒有按下就等待

ACALL DELAY10;延時10毫秒消觸點抖動

JB P3.6,WRIT;去除干擾信號

JNB P3.6,$;等待按鍵松開

MOV A,#0AFH;將16進(jìn)制的字符AF發(fā)送到串口去

MOV SBUF,A;將AF通過串口發(fā)送出去

AJMP WRIT

;10毫秒延時子程序

DELAY10:MOV R4,#20

D2:MOV R5,#248

DJNZ R5,$

DJNZ R4,D2

RET

END

===============單片機串口通信=========================

一、發(fā)送和接收的過程如下:

串行口的發(fā)送過程由指令MOV SBUF,A啟動,即CPU由一條寫發(fā)送緩沖器的指令把數(shù)據(jù)(字符)寫入串行口的發(fā)送緩沖器SBUF(發(fā))中,再由硬件電路自動在字符的始、末加上起始位(低電平)、停止位(高電平)及其它控制位(如奇偶位等),然后在移位脈沖SHIFT的控制下,低位在前,高位在后,從TXD端(方式0除外)一位位地向外發(fā)送。

串行口的接收與否受制于允許接收位REN的狀態(tài),當(dāng)REN被軟件置“1”后,允許接收器接收。接收端RXD一位位地接收數(shù)據(jù),直到收到一個完整的字符數(shù)據(jù)后,控制電路進(jìn)行最后一次移位,自動去掉啟始位,使接收中斷標(biāo)志RI置“1”,并向CPU申請中斷。CPU響應(yīng)中斷,用一條指令(MOV A,SBUF)把接收緩沖器SBUF(收)的內(nèi)容讀入累加器。

TI和RI是由硬件置位的,但需要用軟件復(fù)位。

二、相關(guān)的寄存器

1、SBUF是兩個在物理上獨立的接收、發(fā)送緩沖器,可同時發(fā)送、接收數(shù)據(jù)。兩個緩沖器只用一個字節(jié)地址99H,可通過指令對SBUF的讀寫來區(qū)別是對接收緩沖器的操作還是對發(fā)送緩沖器的操作。串行口對外有兩條獨立的收發(fā)信號線RXD(P3.0)、TXD(P3.1),因此可以同時發(fā)送、接收數(shù)據(jù),實現(xiàn)全雙工。

2、SCON寄存器用來控制串行口的工作方式和狀態(tài),可按位尋址,其字節(jié)地址為98H。

3、PCON中的SMOD用來控制波特率加倍。

4、TMOD設(shè)置定時器1的工作方式,用來產(chǎn)生波特率

5、如果用到中斷,則還需要用到中斷相關(guān)的寄存器IE,IP等

三、四種工作方式:

方式0:

同步移位寄存器方式,其波特率是固定為振蕩頻率fosc的1/12。在這種工作方式下,發(fā)送和接收串行數(shù)據(jù)都通過RXD(P3.0)進(jìn)行,從TXD(P3.1)輸出移位脈沖,控制外部的移位寄存器移位。1幀信息為8位,沒有起始位,停止位。

方式1:

8位UART,1幀信息為10位,其中一位起始位“0”、八位數(shù)據(jù)位(先低位后高位)和一個停止位“1”,波特率可變,根據(jù)定時器1的溢出率計算。

方式2:

9位UART,1幀信息為11位,其中一位起始位“0”、八位數(shù)據(jù)位(先低位后高位),一位控制位(第九位)和一個停止位“1”。波特率為振蕩頻率的1/64或1/32

方式3:

9位UART,幀信息為11位,其中一位起始位“0”、八位數(shù)據(jù)位(先低位后高位),一位控制位(第九位)和一個停止位“1”。波特率可變,根據(jù)定時器1的溢出率計算。

附加的第9位數(shù)據(jù)為SCON中的TB8的值,它由軟件置位或清零,可作為多機通信中地址/數(shù)據(jù)信息的標(biāo)志位,也可作為數(shù)據(jù)的奇偶校驗位。

四、連接

由于串口用的是TTL電平,和RS232電平不同,因此,單片機和PC通信時需要進(jìn)行電平轉(zhuǎn)換,常用的IC是MAX232,連接圖如圖所示,其中MAX232供電腳為+5V,中間連接的電解電容取50V 1UF。

MAX232內(nèi)部框圖

單片機和PC通信連接圖

即所謂的三線連接法。

===================================================

用VC來做個上位機軟件,用單片機來做下位機顯示,數(shù)據(jù)從PC機發(fā)送過來,經(jīng)過單片機處理顯示。

首先你想把它學(xué)好,就一定要下苦功夫,因為這個不是一下子就能學(xué)好的,要經(jīng)過不斷的實踐努力。

學(xué)習(xí)也有一段時間了,用的書是(《Visual C /Turbo C串口通信編程實踐》 龔建偉)但是發(fā)現(xiàn)自己可能毅力不夠,經(jīng)常被一些困難所嚇倒。碰到問題時不能夠想方設(shè)法去解決。可能是可以學(xué)習(xí)例子太少了,網(wǎng)上的資源也不是很多。。。。。。

發(fā)現(xiàn)假如用MSCOMM控件來編的話,就是那個變量VARIANT,這個不好弄懂。學(xué)VC首先要有一定的C語言基礎(chǔ),和C 基礎(chǔ),可能是C 還沒學(xué)完,基礎(chǔ)不扎實,導(dǎo)致繼續(xù)下去有點困難。

先實現(xiàn)一個簡單的功能吧,用VC做個界面,當(dāng)按下相應(yīng)的鍵時,發(fā)送相應(yīng)的數(shù)據(jù)到單片機中,然后將數(shù)據(jù)送到P0口來顯示。

呵呵,一定要把那個變量給弄懂了,這樣一切都好辦了

在后面的學(xué)習(xí)中,我將把學(xué)習(xí)的心得寫出來,與大家交流交流

有在學(xué)VC的朋友可以和我交流交流 ,大家一起進(jìn)步

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 單片機
    +關(guān)注

    關(guān)注

    6076

    文章

    45501

    瀏覽量

    670638
  • uart
    +關(guān)注

    關(guān)注

    22

    文章

    1314

    瀏覽量

    106680
  • 串口通信
    +關(guān)注

    關(guān)注

    34

    文章

    1662

    瀏覽量

    58000
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    單片機中的串口通訊串行同步通信與串行異步通信

    中始終保持精確的同步時鐘,即發(fā)送時鐘和接收時鐘要嚴(yán)格的同步。常用的做法是兩個設(shè)備使用同一個時鐘源。 在串口通信與編程中應(yīng)用最多的是異步通信方式。STM32中串口
    發(fā)表于 01-15 08:06

    MCU單片機串口數(shù)據(jù)記錄儀方案

    在工業(yè)控制、環(huán)境監(jiān)測、物流追蹤等眾多領(lǐng)域,如何可靠、便捷地記錄設(shè)備串口數(shù)據(jù)成為不少工程師關(guān)注的焦點?;贛CU單片機串口數(shù)據(jù)記錄儀方案,正以其高效集成、靈活存儲和簡便操作的特點,成為數(shù)據(jù)采集與記錄場景中的理想選擇。
    的頭像 發(fā)表于 11-27 15:02 ?338次閱讀

    51單片機RS485編程實例資料

    詳細(xì)介紹51單片機RS485通信接線和編程代碼
    發(fā)表于 10-20 14:57 ?4次下載

    單片機燒錄原理是怎樣的?輝芒微單片機燒錄程序詳細(xì)步驟講解

    燒錄(Programming)就是把 .hex/.bin 文件里的機器碼搬運進(jìn)單片機片內(nèi) Flash 的過程。輝芒微(FMD)單片機內(nèi)部有一塊 自舉 BootROM,上電時會先跑這段程序;如果檢測
    的頭像 發(fā)表于 09-17 16:14 ?2365次閱讀
    <b class='flag-5'>單片機</b>燒錄原理是怎樣的?輝芒微<b class='flag-5'>單片機</b>燒錄程序<b class='flag-5'>詳細(xì)</b>步驟講解

    又短又好用:單片機就一個串口,如何和多個從串口通信?串口如何實現(xiàn)一主多從?

    即可實現(xiàn)總線。 但是有時候由于一些原因不得不也想到另一種設(shè)計,即讓串口實現(xiàn)一主多從這種總線設(shè)計。比如板內(nèi)主MCU只有一個串口,但是想使用這一個串口與另外兩個MCU通訊。但是我們知道常規(guī)
    的頭像 發(fā)表于 09-17 11:49 ?1491次閱讀
    又短又好用:<b class='flag-5'>單片機</b>就一個<b class='flag-5'>串口</b>,如何和多個從<b class='flag-5'>機</b><b class='flag-5'>串口</b><b class='flag-5'>通信</b>?<b class='flag-5'>串口</b>如何<b class='flag-5'>實現(xiàn)</b>一主多從?

    單片機怎么驅(qū)動電機?

    在各類自動化設(shè)備和智能裝置中,電機是重要的執(zhí)行部件,而單片機作為控制核心,需要通過特定的方式驅(qū)動電機運轉(zhuǎn)。單片機驅(qū)動電機并非直接連接即可,而是要根據(jù)電機類型和功率,搭配合適的驅(qū)動電路,才能實現(xiàn)穩(wěn)定
    的頭像 發(fā)表于 07-25 09:31 ?938次閱讀

    AT89C51 單片機中文資料

    電子發(fā)燒友網(wǎng)站提供《AT89C51 單片機中文資料.pdf》資料免費下載
    發(fā)表于 06-24 15:29 ?1次下載

    使用USB轉(zhuǎn)TTL串口板和ST-LINK調(diào)試下載器給STM32單片機下載程序

    本文詳細(xì)介紹如何使用ST-LINK/V2和USB轉(zhuǎn)TTL串口板為STM32單片機下載程序,包括STM32啟動模式、JTAG與SWD接口對比、驅(qū)動安裝及官方軟件STM32ST-LINKUtility和FlashLoaderDemo
    的頭像 發(fā)表于 06-20 17:26 ?2784次閱讀
    使用USB轉(zhuǎn)TTL<b class='flag-5'>串口</b>板和ST-LINK調(diào)試下載器給STM32<b class='flag-5'>單片機</b>下載程序

    貼片三極管上的印字與真實名稱的對照表詳細(xì)說明

      本文檔的主要內(nèi)容詳細(xì)介紹的是貼片三極管上的印字與真實名稱的對照表詳細(xì)說明
    發(fā)表于 05-28 09:05 ?110次下載

    瑞芯微rv1106開發(fā)資料 rv1106數(shù)據(jù)手冊 rv1106詳細(xì)說明書免費下載

    瑞芯微rv1106開發(fā)資料 rv1106數(shù)據(jù)手冊 rv1106詳細(xì)說明書免費下載
    的頭像 發(fā)表于 05-19 11:16 ?6171次閱讀
    瑞芯微rv1106開發(fā)<b class='flag-5'>資料</b> rv1106數(shù)據(jù)手冊 rv1106<b class='flag-5'>詳細(xì)說明</b>書免費下載

    英銳恩精選筆記UART串口通信#單片機開發(fā)#單片機芯片#UART串口通信#單片機

    單片機
    英銳恩科技
    發(fā)布于 :2025年05月15日 16:09:05

    瑞薩RA8系列教程 | 基于e2s實現(xiàn)RA8串口輸出配置

    串口是最常見的通信方式之一,也是單片機調(diào)試最常見的通信接口,也是現(xiàn)在的單片機必備的通信接口,目前
    的頭像 發(fā)表于 04-11 20:00 ?1079次閱讀
    瑞薩RA8系列教程 | 基于e2s<b class='flag-5'>實現(xiàn)</b>RA8<b class='flag-5'>串口</b>輸出配置

    STC單片機聲卡PCB和源碼資料

    STC單片機聲卡PCB和源碼資料
    發(fā)表于 04-03 11:14 ?0次下載

    瑞薩Cortext-M85內(nèi)核RA8系列單片機串口輸出實現(xiàn)方法

    串口是最常見的通信方式之一,也是單片機調(diào)試最常見的通信接口,也是現(xiàn)在的單片機必備的通信接口,目前
    的頭像 發(fā)表于 03-21 09:58 ?1879次閱讀
    瑞薩Cortext-M85內(nèi)核RA8系列<b class='flag-5'>單片機</b>的<b class='flag-5'>串口</b>輸出<b class='flag-5'>實現(xiàn)</b>方法

    單片機接口類資料大匯總—50冊大全

    本份資料單片機接口類資料大匯總 總共有50冊,內(nèi)容包括TCP/IP接口,模擬串口,CAN接口、I2C,MODBUS,PCI,USB,RS232等等 獲取完整文檔
    發(fā)表于 03-14 11:08