亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Proteus仿真的單片機和計算機串行通信技術(shù)研究

        2025-04-26 00:00:00胡娜田小明
        中國新技術(shù)新產(chǎn)品 2025年7期
        關(guān)鍵詞:單片機

        摘 要:隨著工業(yè)4.0時代到來,智能工廠已成為制造業(yè)轉(zhuǎn)型升級的重要方向。在智能工廠中,環(huán)境監(jiān)測是保障生產(chǎn)安全、提高能效和保障產(chǎn)品質(zhì)量的重要環(huán)節(jié)。針對無線通信在智能工廠環(huán)境監(jiān)測應用中存在的信號干擾、傳輸延遲以及安全性不足等缺陷,本文提出了一種采用有線通信方式的解決方案。方案設(shè)計硬件電路,采用Proteus仿真與Keil軟件編程相結(jié)合的方式,驗證了單片機與計算機之間串行通信技術(shù)在智能工廠環(huán)境監(jiān)測領(lǐng)域應用的可行性。

        關(guān)鍵詞:單片機;串行通信;Proteus仿真;Keil

        中圖分類號:TN 92" " " " " " " " " " 文獻標志碼:A

        智能工廠環(huán)境監(jiān)測系統(tǒng)需要實時、準確地收集溫度、濕度和氣體濃度等環(huán)境數(shù)據(jù)來預防事故、優(yōu)化生產(chǎn)流程。在環(huán)境數(shù)據(jù)與電腦的通信過程中,雖然無線通信能夠提供便捷的組網(wǎng)方式,但是在工業(yè)現(xiàn)場,電磁干擾、多徑效應等問題可能導致數(shù)據(jù)傳輸不穩(wěn)定,甚至丟失關(guān)鍵數(shù)據(jù)。因此,研究有線通信技術(shù)在智能工廠環(huán)境監(jiān)測中的應用具有重要意義。在智能工廠中,單片機作為下位機,其數(shù)據(jù)處理能力高,編程接口靈活,能夠與采集環(huán)境數(shù)據(jù)的各類傳感器連接,實時采集環(huán)境數(shù)據(jù)。將計算機作為上位機進行數(shù)據(jù)管理,采用串行通信方式與單片機建立穩(wěn)定的數(shù)據(jù)傳輸鏈路,完成數(shù)據(jù)的有線通信傳輸。本文利用Proteus仿真平臺驗證了單片機與計算機串行通信的可行性與有效性,為提升智能工廠環(huán)境監(jiān)測系統(tǒng)的穩(wěn)定性和可靠性提供了技術(shù)支持。

        1 串行通信原理

        串行通信和并行通信是設(shè)備之間信息交換和傳輸?shù)穆窂椒绞?。并行通信?shù)據(jù)字節(jié)的各位用多條傳輸線同時傳送,其特點是傳輸速度快,效率高,控制簡單,但是不適用于長距離傳輸。串行通信將數(shù)據(jù)字節(jié)的各位逐個在一條傳輸線上進行傳送,其特點是傳輸線少,成本低,但是控制比較復雜。隨著計算機技術(shù)、通信技術(shù)和電子技術(shù)的發(fā)展,結(jié)合智能工廠對傳輸距離和成本的要求,本文使用串行通信[1]。

        1.1 串行通信傳輸方式

        在串行通信中,數(shù)據(jù)的發(fā)送和接收有3種傳輸方式,分別為單工、半雙工和全雙工,如圖1所示。單工方式(Simplex)表示發(fā)送器利用1條傳輸線與接收器進行連接,數(shù)據(jù)單向傳輸。半雙工方式(Half-duplex)雙向傳輸數(shù)據(jù),只有1條傳輸線,不能同時收發(fā)數(shù)據(jù)。全雙工方式(Full-duplex)需要2條傳輸線,向2個不同方向進行數(shù)據(jù)傳送,可以同時進行數(shù)據(jù)輸入和輸出[2]。

        1.2 串行異步通信格式

        按照串行數(shù)據(jù)時鐘控制方式,串行通信可以分為同步通信和異步通信。同步通信建立發(fā)送方時鐘對接收方時鐘的直接控制,使雙方達到完全同步。異步通信是通信的發(fā)送與接收設(shè)備使用各自的時鐘,兩者時鐘盡可能一致[3]。本文采用異步通信方式進行上位機與下位機通信。

        發(fā)送器發(fā)送的字符數(shù)據(jù)只能由“0”或者“1”這2種邏輯組成。數(shù)據(jù)的第一部分為起始位,當空閑狀態(tài)為“1”時,發(fā)送器發(fā)送“0”,表示一個字節(jié)數(shù)據(jù)傳輸開始,即由高電平跳變到低電平。第二部分為數(shù)據(jù)位,依次從第0位到第7位。第三部分為奇偶校驗位,如果采用奇校驗,那么字符數(shù)據(jù)位中邏輯“1”的數(shù)目為奇數(shù),校驗位為“0”,字符數(shù)據(jù)位中邏輯“1”的數(shù)目為偶數(shù),校驗位為“1”;如果采用偶檢驗,那么相反。第四部分為停止位,表示一個字節(jié)數(shù)據(jù)傳送結(jié)束,如果不需要發(fā)送數(shù)據(jù),那么傳輸線維持邏輯“1”的狀態(tài)。從開始位到停止位的時間稱為一幀,也稱幀格式,如圖2所示。

        1.3 串行口相關(guān)寄存器設(shè)置

        1.3.1 數(shù)據(jù)緩沖器(SBUF)

        數(shù)據(jù)緩沖器(Serial Data Buffer,SBUF)是片機內(nèi)部特殊功能寄存器,包括發(fā)送(輸出)和接收2個寄存器。發(fā)送SBUF由TXD(P3.1)引腳接出,只能寫入,不能讀出,寫操作格式為SBUF=str[j]。接收SBUF由RXD(P3.0)引腳接出,只能讀出外設(shè)傳輸至寄存器的數(shù)據(jù),不能寫入,讀操作格式為buf=SBUF。

        1.3.2 電源控制寄存器(PCON)

        電源控制寄存器(Power Control Register,PCON)的作用是管理單片機的電源,包括進入掉電模式、進入空閑模式以及進行上電復位檢測。當單片機復位時,PCON的8位清零,其位符號定義見表1。串口設(shè)置只涉及SMOD位,當SMOD=1時,串行通信方式一、方式二和方式三的波特率加倍,當SMOD=0時,波特率不加倍。

        1.3.3 串行口控制寄存器(SCON)

        串行口控制寄存器(Serial Control Register,SCON)定義串行口工作方式和收發(fā)使能控制,其位符號定義見表2。

        REN為接收允許使能端,由軟件置位或清零,當其值為1時允許接收,當其值為0時禁止接收。TI為發(fā)送中斷標志位,一幀數(shù)據(jù)發(fā)送結(jié)束后由硬件置位,可以采用軟件查詢方式獲得置位信息,也可以采用中斷方式發(fā)送下一個數(shù)據(jù),但是必須由軟件清零。RI為接收中斷標志位,一幀數(shù)據(jù)接收完成后由硬件置位,可以采用查詢或中斷方式獲得置位信息,但是也必須由軟件清零。SM0、SM1為工作方式選擇位,串行口工作方式見表3。

        方式0為8位同步移位寄存器輸入/輸出方式,不用于通信,只用來擴展I/O口,波特率固定為fosc/12。

        方式一為波特率可調(diào)的10位異步通信,能夠用于單片機與單片機或單片機與計算機之間進行通信,本文采用該方式進行單片機與計算機之間的串行異步通信。當串口工作在發(fā)送狀態(tài)時,數(shù)據(jù)由TXD端輸出,接入MAX487的DI輸入端,一幀數(shù)據(jù)由10位組成,包括1個起始位、8個數(shù)據(jù)位和1個停止位,先發(fā)送D0位,再發(fā)送D7位,當單片機執(zhí)行寫操作時,啟動發(fā)送;當串口工作在接收狀態(tài)時,REN=1,允許接收,RXD接入MAX487的RO輸出端,單片機采樣RXD引腳數(shù)據(jù),執(zhí)行讀操作,當包括停止位的一幀數(shù)據(jù)接收完成后,RI=1由硬件置位,等待下一幀數(shù)據(jù)。

        1.4 RS485總線標準

        智能工廠使用單片機作為下位機對外部環(huán)境進行數(shù)據(jù)采集,根據(jù)RS485總線標準與計算機(上位機)之間進行半雙工異步通信,設(shè)通信距離為1 200 m,最大傳輸速率為10 Mbit/s。利用差動信號進行傳輸,當邏輯為“1”時,A端與B端差分電壓為+2 V~+6 V;當邏輯為“0”時,A端與B端差分電壓為-6 V~-2 V。485總線電平與單片機的TTL電平不兼容,如果要進行總線通信,那么需要電平轉(zhuǎn)換芯片,本文采用MAX487芯片實現(xiàn)該功能。MAX487芯片是一款低功耗收發(fā)器,內(nèi)部有接收器和發(fā)送器。由于采用半雙工通信,在同一個時刻只能接收或發(fā)送,因此將RE和DE接單片機的一個引腳作為使能端,當引腳電平為0時,MAX487為接收器;當引腳電平為1時,MAX487為發(fā)送器。RO為MAX487芯片作為接收器的輸出端,與單片機的RXD相連,此時單片機讀取PC發(fā)送的信息。DI為MAX487芯片作為發(fā)送器的輸入端,與單片機的TXD相連,此時單片機寫入信息至PC機。單片機與MAX487芯片連接如圖3所示。

        2 系統(tǒng)設(shè)計

        2.1 系統(tǒng)架構(gòu)

        本文設(shè)計一個以單片機為核心,集成多種環(huán)境檢測傳感器的智能工廠環(huán)境監(jiān)控系統(tǒng),能夠?qū)崟r監(jiān)測并傳輸關(guān)鍵環(huán)境參數(shù)至計算機,進行進一步分析與管理。系統(tǒng)框架包括STC89C52RC單片機控制模塊、傳感器數(shù)據(jù)采集模塊以及RS485通信模塊。在仿真過程中,傳感器使用矩陣鍵盤按鍵的鍵值代替檢測,模擬智能工廠環(huán)境檢測與上位機進行RS485通信。智能工廠環(huán)境檢測系統(tǒng)框如圖4所示。

        2.2 程序編寫

        2.2.1 波特率設(shè)置

        在串行通信中,波特率為收發(fā)雙方傳送數(shù)據(jù)的速度,即串行端口每秒傳輸?shù)牟ㄌ匚粩?shù)。在串行口4種工作方式中,方式0和方式二波特率固定,方式一和方式三的波特率是可變的,將定時器T1作為波特率的發(fā)生器,其值由SMOD和T1的溢出速率決定,計算過程如公式(1)所示。

        (1)

        本文設(shè)T1的溢出速率為(fosc/12)/(256-X),晶振為11.059 2 MHz,SMOD為0,波特率為9 600 B。T1的初值X為253,轉(zhuǎn)換為十六進制即0xFD,T1的初值為0xFD。

        2.2.2 串行口初始化程序

        當進行串行操作時,須對單片機的串行口進行一些必要的初始化設(shè)置。具體操作步驟如下。1)確定定時器的工作方式,設(shè)置TMOD寄存器,TMOD為0x20,T1的工作方式為方式二。TL1為計算值,TH1為自動重裝值,當定時器溢出時,TH1的值會自動裝載至TL1,再重新計數(shù)。2)計算T1的初值,裝載TH1和TL1,得到TH1=0xFD,TL1=0xFD。3)啟動定時器T1,設(shè)置TCON的TR1位,此時,TR1=1為啟動定時器。4)確定串行口,設(shè)置SCON寄存器,REN=1,允許接收,SM0=0,SM1=1,串行口的工作方式為方式一。5)采用查詢或中斷方式查看串行口工作過程,如果使用中斷方式,那么需要設(shè)置IE或IP寄存器。

        串行口初始化函數(shù)為uart_int( ),具體設(shè)置如下。

        void uart_int( )

        {

        TMOD=0x20;

        TH1=0xFD;

        TL1=0xFD;

        TR1=1;

        REN=1;

        SM0=0;

        SM1=1;

        EA=1;

        ES=1;

        }

        2.2.3 發(fā)送和接收程序

        通常采用查詢和中斷方式設(shè)計串行口發(fā)送和接收工作過程程序。本文采用查詢方式查詢SCON的TI位是否為1。在串行口中斷程序中進行數(shù)據(jù)接收,接收完成后,軟件將RI清零。接收和發(fā)送程序如下[4]。

        void UART_SendString(unsigned char * j)

        {

        unsigned char j=0;

        while(str[j] != '\0')

        {

        UART_SendByte(str[j]);

        j++;

        }

        }

        void UART_Routine(void) interrupt 4

        {

        if(RI==1)

        {

        RI=0;

        buf=SBUF;

        LED=0;

        P20=1;

        P21=0;

        }

        }

        3 系統(tǒng)驗證

        3.1 仿真電路搭建

        智能工廠環(huán)境監(jiān)控系統(tǒng)的Proteus軟件仿真包括STC89C52RC

        單片機、矩陣鍵盤、COMPIM組件以及MAX487芯片。使用虛擬終端查看發(fā)送的數(shù)據(jù),智能工廠環(huán)境檢測仿真如圖5所示。

        3.2 建立串口通信

        利用VSPD軟件建立com1和com2虛擬串口對,com1為Proteus仿真軟件中COMPIM模塊的串口,com2為串口調(diào)試助手的串口號,將單片機和計算機進行串行通信。按照本文的程序設(shè)計要求以及串行通信的格式要求,設(shè)置COMPIM模塊和串口調(diào)試助手的參數(shù):波特率為9 600 B,無奇偶校驗位,數(shù)據(jù)位8位,停止位1位[5]。

        3.3 仿真結(jié)果分析

        開啟仿真,LED小燈熄滅,在串口調(diào)試助手的發(fā)送區(qū)發(fā)送“系統(tǒng)開始檢測”,LED小燈點亮,說明計算機向單片機發(fā)送數(shù)據(jù)成功,同時虛擬終端顯示發(fā)送的數(shù)據(jù)。當按下矩陣鍵盤時,在串口調(diào)試助手的接收區(qū)顯示鍵值代表傳感器檢測數(shù)據(jù),說明單片機向計算機發(fā)送數(shù)據(jù)成功。仿真結(jié)果表明,系統(tǒng)可以在計算機和單片機之間進行RS485串行通信。

        4 結(jié)語

        本文利用Proteus軟件進行仿真,完成上位機與下位機的RS485通信。上位機開啟系統(tǒng)檢測,下位機利用傳感器檢測環(huán)境并上傳至上位機,顯示在上位機的接收緩沖區(qū)。雙機之間完成串行異步通信,驗證了單片機與計算機之間的RS485通信的可行性。

        參考文獻

        [1]楊敬娜,董軍剛,陳亮.單片機技術(shù)應用與實踐[M].北京:中國人民大學出版社,2022.

        [2]周正鼎.單片機應用與調(diào)試項目教程(C語言版)[M].北京:機械工業(yè)出版社,2011.

        [3]聶章龍.STC系列單片機項目實踐[M].北京:機械工業(yè)出版社,2017.

        [4]程建國,葉勁龍,李輝,等.基于單片機的串口模擬設(shè)計與實現(xiàn)[J].電工技術(shù),2024(10):164-165,169.

        [5]王向玲,石曉玲.單片機實踐教學中串行通信電路的設(shè)計及仿真[J].呂梁學院學報,2022,12(2):30-33.

        猜你喜歡
        單片機
        基于單片機的SPWM控制逆變器的設(shè)計與實現(xiàn)
        電子制作(2019年13期)2020-01-14 03:15:28
        基于單片機的層次漸變暖燈的研究
        電子制作(2019年15期)2019-08-27 01:12:10
        基于單片機的多功能智能插排
        電子制作(2019年11期)2019-07-04 00:34:48
        基于單片機的便捷式LCF測量儀
        電子制作(2019年9期)2019-05-30 09:42:02
        小議PLC與單片機之間的串行通信及應用
        電子制作(2018年12期)2018-08-01 00:48:04
        MSP430單片機在仿真中要注意的幾點問題
        電子制作(2017年9期)2017-04-17 03:00:53
        基于單片機的平衡控制系統(tǒng)設(shè)計
        電子制作(2017年19期)2017-02-02 07:08:27
        基于單片機的三維LED點陣設(shè)計
        電子制作(2016年21期)2016-05-17 03:52:51
        Microchip推出兩個全新PIC單片機系列
        基于Proteus的單片機控制系統(tǒng)的仿真設(shè)計
        青青草激情视频在线播放| 四川发廊丰满老熟妇| 日出水了特别黄的视频| 久精品国产欧美亚洲色aⅴ大片| 一本一本久久久久a久久综合激情| 极品视频一区二区三区在线观看| 人妻熟女翘屁股中文字幕| 免费高清av一区二区三区| 久久99精品久久久久久久清纯| 久久久精品国产视频在线| 久久久国产精品黄毛片| 精品无码av一区二区三区| 色综合久久久久久久久五月| 人妻丰满熟妇av一区二区| 青青草小视频在线观看| 一二三四日本中文在线| 91精品手机国产在线能| 91青青草免费在线视频| 天堂网av一区二区三区在线观看| 国产成人涩涩涩视频在线观看| 最新无码国产在线播放| 免费看黄在线永久观看| 日本饥渴人妻欲求不满| 内射无码专区久久亚洲 | 亚洲人成电影在线无码| 国产精品白浆免费观看| 日韩一区二区av极品| 国产精品毛片完整版视频| 欧美一级人与嘼视频免费播放| 国产网红一区二区三区| 亚洲熟女精品中文字幕| 精品亚洲成a人片在线观看| 香蕉视频毛片| av免费在线观看在线观看| 久久国产劲爆∧v内射| 国产在线无码制服丝袜无码| 久久99精品久久久久久国产人妖| 日本九州不卡久久精品一区| 粗大猛烈进出白浆视频| 人妻久久999精品1024| 亚洲国产成人久久精品美女av|