• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      單片機(jī)多機(jī)串行通信設(shè)計(jì)方法分析

      2013-04-29 02:25:13孫慧湯宇
      職業(yè)·中旬 2013年9期
      關(guān)鍵詞:單片機(jī)

      孫慧 湯宇

      摘 要:本文從多機(jī)通信協(xié)議入手,重點(diǎn)研究了如何利用查詢法和中斷法實(shí)現(xiàn)主從式通信,并通過(guò)Proteus仿真軟件對(duì)兩種通信方法進(jìn)行了仿真驗(yàn)證。查詢法通信易于實(shí)現(xiàn),但占用單片機(jī)內(nèi)部資源較多。中斷法通信更穩(wěn)定可靠,可以大大提高單片機(jī)的工作效率。

      關(guān)鍵詞:?jiǎn)纹瑱C(jī) 多機(jī)通信 查詢法 中斷法 Proteus仿真

      單片機(jī)目前已廣泛應(yīng)用于家用電器、航空航天、儀器儀表及專用設(shè)備的智能化管理和過(guò)程控制等領(lǐng)域。隨著計(jì)算機(jī)技術(shù)的發(fā)展及工業(yè)自動(dòng)化水平的提高,在許多場(chǎng)合單機(jī)控制已不能滿足現(xiàn)場(chǎng)要求,多機(jī)串行通信構(gòu)成的主從式通信方式,因其通信編程靈活、硬件簡(jiǎn)潔,并遵循統(tǒng)一的標(biāo)準(zhǔn),在工業(yè)控制領(lǐng)域應(yīng)用前景廣闊,非常具有研究意義。

      一、多機(jī)通信原理

      51系列單片機(jī)的多機(jī)通信一般采用主從式通信方式。在這種方式中,只有一臺(tái)主機(jī),可以有多臺(tái)從機(jī)。主機(jī)發(fā)送的信息可以傳到各個(gè)從機(jī)或指定的從機(jī),各個(gè)從機(jī)發(fā)送的信息只能被主機(jī)接收,從機(jī)之間不能進(jìn)行通信。單片機(jī)多機(jī)通信示意圖如圖1所示。

      圖1 單片機(jī)多機(jī)通信示意圖

      二、多機(jī)通信過(guò)程

      在多機(jī)通信時(shí)串口必須工作在方式2或方式3,根據(jù)通信要求設(shè)置單片機(jī)通信控制寄存器SCON中的每一位。

      多機(jī)通信的過(guò)程如下。

      第一,所有從機(jī)處于地址幀接收狀態(tài)(SM2=1)。

      第二,主機(jī)先發(fā)送一個(gè)地址幀,其中前8位數(shù)據(jù)表示要尋址的從機(jī)地址,第9位為1(TB8=1)表示該幀為地址幀。

      第三,所有從機(jī)接收到地址幀后,把接收到的地址與本機(jī)地址相比較。地址相符時(shí)將SM2清0,并發(fā)回從機(jī)地址作為應(yīng)答信號(hào),由主機(jī)進(jìn)行確認(rèn)。地址不相符的從機(jī)不作任何處理,仍保持SM2=1。

      第四,在主機(jī)確認(rèn)地址正確時(shí),向?qū)ぶ返膹臋C(jī)發(fā)送相應(yīng)的數(shù)據(jù)信息。當(dāng)確認(rèn)地址錯(cuò)誤時(shí),不發(fā)送數(shù)據(jù)信息。

      第五,地址相符的從機(jī)(SM2=0),可以接收到主機(jī)發(fā)來(lái)的數(shù)據(jù)信息。而對(duì)于地址不符的從機(jī)SM2=1,則不予理睬,這樣就實(shí)現(xiàn)了主機(jī)與地址相符的從機(jī)之間的雙機(jī)通信;

      第六,被尋址的從機(jī)通信結(jié)束后,恢復(fù)為多機(jī)通信狀態(tài)(SM2=1)。

      三、多機(jī)通信協(xié)議設(shè)計(jì)

      本次設(shè)計(jì)為了驗(yàn)證多機(jī)通信的協(xié)議是否正確,在Proteus軟件中繪制了一個(gè)由1主機(jī)2從機(jī)構(gòu)成的多機(jī)通信系統(tǒng)。主機(jī)和從機(jī)芯片均采用AT89S51單片機(jī),主機(jī)通過(guò)按鍵發(fā)送信號(hào),從機(jī)接收信號(hào),通過(guò)從機(jī)連接的數(shù)碼管顯示變化,來(lái)表明一個(gè)主機(jī)和兩個(gè)及兩個(gè)以上從機(jī)通信的正確性,軟件部分主要包括通信模塊、按鍵掃描模塊、數(shù)碼管顯示模塊和中斷服務(wù)程序等,使用的通信模式主要是查詢法和中斷法兩種。

      1.查詢法通信協(xié)議算法設(shè)計(jì)

      查詢法即通過(guò)單片機(jī)程序的不斷掃描,循環(huán)查詢通信標(biāo)志位來(lái)判斷是否進(jìn)行通信以及和哪個(gè)從機(jī)通信的方式,從而完成主從式多機(jī)之間的數(shù)據(jù)交換任務(wù)。主機(jī)主要完成尋址及數(shù)據(jù)發(fā)送,查詢法通信主機(jī)設(shè)計(jì)流程圖如圖2所示。

      圖2 主機(jī)通信設(shè)計(jì)流程圖

      從機(jī)主要完成地址校驗(yàn)、數(shù)據(jù)接收和顯示任務(wù)。所有從機(jī)的通信程序相似,只是從機(jī)定義的通信地址不可相同,從機(jī)通信設(shè)計(jì)流程圖如圖3所示。

      圖3 從機(jī)通信設(shè)計(jì)流程圖

      2.中斷法通信協(xié)議算法設(shè)計(jì)

      所有從機(jī)初始時(shí)均處于聽(tīng)命狀態(tài),即SM2=1,以便接收主機(jī)發(fā)來(lái)的地址,當(dāng)接收到一幀信息的RB8為“1”時(shí),表示主機(jī)發(fā)送來(lái)的是地址信息,所有的從機(jī)均發(fā)生接收中斷,進(jìn)入相應(yīng)的中斷服務(wù)程序,把接收到的地址和本機(jī)地址進(jìn)行比較。如果相符合就令其SM2=0,并向主機(jī)發(fā)回本機(jī)地址以作應(yīng)答,主機(jī)得到應(yīng)答信號(hào)并校驗(yàn)成功后,就與該從機(jī)聯(lián)通實(shí)現(xiàn)雙機(jī)通信,準(zhǔn)備接收主機(jī)發(fā)來(lái)的命令或數(shù)據(jù)信息,順利實(shí)現(xiàn)地址幀和數(shù)據(jù)幀的分離。而其他的未被尋址從機(jī)保持SM2=1并退出各自的中斷服務(wù)程序。被尋址從機(jī)在通信完成后重新使SM2=1,并退出中斷服務(wù)程序,等待下次通信。

      主機(jī)的程序設(shè)計(jì)可分為兩部分:一是主程序,主要用于完成按鍵掃描;二是中斷服務(wù)程序,用于完成通信及數(shù)據(jù)的收發(fā)功能。中斷法通信實(shí)際是將圖2中的虛線框部分的掃描程序替換為如圖4所示的中斷服務(wù)程序去執(zhí)行。

      圖4 主機(jī)中斷服務(wù)程序設(shè)計(jì)流程圖

      從機(jī)程序設(shè)計(jì)主要分為兩部分,一是主程序,完成數(shù)碼管的顯示任務(wù);二是中斷服務(wù)程序,完成主機(jī)發(fā)送過(guò)來(lái)的地址校驗(yàn)和數(shù)據(jù)接收等任務(wù)。從機(jī)的中斷服務(wù)程序設(shè)計(jì)流程圖如圖5所示。

      圖5 從機(jī)中斷服務(wù)程序設(shè)計(jì)流程圖

      四、多機(jī)通信在Proteus中的仿真

      按照上述兩種通訊協(xié)議算法的設(shè)計(jì)思路,使用單片機(jī)C語(yǔ)言進(jìn)行編程,采用Keil C51 uVesion3作為調(diào)試工具,用Proteus 作為仿真工具,與Keil C51 uVesion3聯(lián)合調(diào)試,最終成功實(shí)現(xiàn)了1主機(jī)2從機(jī)之間的通信,仿真運(yùn)行圖如圖6所示。

      按下K1鍵,對(duì)1號(hào)從機(jī)的數(shù)碼管顯示值加1,按下K2鍵,對(duì)2號(hào)從機(jī)的數(shù)碼管顯示值加1。若主機(jī)尋址從機(jī)時(shí)發(fā)現(xiàn)地址錯(cuò)誤,將不進(jìn)行任何操作,此時(shí)不會(huì)影響其他通信地址正確的從機(jī)的正常通信。

      五、結(jié)束語(yǔ)

      本設(shè)計(jì)的兩種通信方案,均通過(guò)了Proteus成功仿真,并在實(shí)際電路中也得到了驗(yàn)證,1臺(tái)主機(jī)最多可以同時(shí)與255臺(tái)從機(jī)進(jìn)行通信。中斷法通信方式因其程序結(jié)構(gòu)簡(jiǎn)潔明了、運(yùn)行可靠、占用單片機(jī)內(nèi)部資源較小,因此較查詢法通信方式的應(yīng)用更為廣泛。

      猜你喜歡
      單片機(jī)
      基于單片機(jī)的SPWM控制逆變器的設(shè)計(jì)與實(shí)現(xiàn)
      電子制作(2019年13期)2020-01-14 03:15:28
      基于單片機(jī)的層次漸變暖燈的研究
      電子制作(2019年15期)2019-08-27 01:12:10
      基于單片機(jī)的多功能智能插排
      電子制作(2019年11期)2019-07-04 00:34:48
      基于單片機(jī)的便捷式LCF測(cè)量?jī)x
      電子制作(2019年9期)2019-05-30 09:42:02
      小議PLC與單片機(jī)之間的串行通信及應(yīng)用
      電子制作(2018年12期)2018-08-01 00:48:04
      MSP430單片機(jī)在仿真中要注意的幾點(diǎn)問(wèn)題
      電子制作(2017年9期)2017-04-17 03:00:53
      基于單片機(jī)的平衡控制系統(tǒng)設(shè)計(jì)
      電子制作(2017年19期)2017-02-02 07:08:27
      基于單片機(jī)的三維LED點(diǎn)陣設(shè)計(jì)
      電子制作(2016年21期)2016-05-17 03:52:51
      Microchip推出兩個(gè)全新PIC單片機(jī)系列
      基于Proteus的單片機(jī)控制系統(tǒng)的仿真設(shè)計(jì)
      平湖市| 惠东县| 巴青县| 吉木乃县| 全南县| 荆州市| 五台县| 宁安市| 台前县| 临夏县| 双桥区| 无锡市| 宁津县| 垫江县| 务川| 秭归县| 大兴区| 勐海县| 金坛市| 乐东| 南木林县| 凤山市| 朔州市| 永寿县| 阳春市| 临洮县| 麻江县| 怀集县| 绥阳县| 乐业县| 丰原市| 静海县| 宜州市| 边坝县| 萨嘎县| 青河县| 长垣县| 盐津县| 故城县| 西盟| 海盐县|