www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]GMS972051是韓國LG公司生產(chǎn)的MW內(nèi)部帶2K E2PROM的與MCS-51兼容的單片機(jī)。GMS97C2051省去了MCS-51的P0和P3口,但是多了一個內(nèi)部硬件比較器。由于單片機(jī)的通信信號為TTL電平,如果不采取其它的措施,其在通信速率為960

GMS972051是韓國LG公司生產(chǎn)的MW內(nèi)部帶2K E2PROM的與MCS-51兼容的單片機(jī)。

GMS97C2051省去了MCS-51的P0和P3口,但是多了一個內(nèi)部硬件比較器。由于單片機(jī)的通信信號為TTL電平,如果不采取其它的措施,其在通信速率為9600bps時通信距離不超過5米。一般為了延長單片機(jī)的通信距離,采用RS-232/RS- 485轉(zhuǎn)換器、RS-232/RS-422轉(zhuǎn)換器或光隔遠(yuǎn)程收發(fā)器。本文介紹的方法可將GMS97C2051單片機(jī)之間通信距離延長到1200米以上,而且不需要添加任何硬件措施,完全用軟件來實現(xiàn)。

要用純軟件方法實現(xiàn)GMS97C2051單片機(jī)之間的遠(yuǎn)程通信,首先必須將單片機(jī)的TTL電平的軟件方法轉(zhuǎn)換為差分電平,其次要用普通I/O口線來構(gòu)成軟件串行口,并且在軟件上進(jìn)行正確的配合。

TTL電平轉(zhuǎn)換成差分電平的純軟件方法

GMS97C2051 單片機(jī)的信號均為TTL電平。TTL電平信號傳輸距離非常有限,一般在9600bps傳輸率時傳輸距離不超過5米。而差分電平信號則是取決于兩種信號線之間的電平差值,如果某條信號線的電平高于另一條,則信號為1,否則為0。由于差分電平信號可以避免長距離傳輸導(dǎo)線上的電荷積累,并且具有更寬的電平范圍,所以傳輸距離遠(yuǎn)得多。RS485差分電平信號在9600bps傳輸率時傳輸距離可達(dá)1200米。

為了用純軟件實現(xiàn)差分電平傳輸就不能使用GMS97C2051本身的硬件串行口,而是用普通I/O線來實現(xiàn)串行通信。差分電平要用兩條I/O口線來實現(xiàn),比如P1.2和P1.3兩條線(見圖1)。當(dāng)傳輸信號為1時,P1.2為+5V,而 P1.3為0V。當(dāng)傳輸信號為0時,P1.2為0V為0V,而P1.3為 +5V。注意P1.2和P1.3不得同時置+5V或同時置0V。

GMS97C2051 單片機(jī)的P1.0和P1.1可以分別作為片內(nèi)精密模擬電壓比較器的正輸入端(AIN0)和負(fù)輸入端(AINI),所以正好可以用于接收差分電平信號。內(nèi)部電平比較器的輸出已經(jīng)在芯片內(nèi)部連到P3.6口,所以可以通過讀取P3.6口的值來得到差分電平信號。

軟件串行口的實現(xiàn)方法

由普通I/O口線來實現(xiàn)串行通信,習(xí)慣上稱為軟件串行口。采用差分電平通信的軟件串行口的硬件接線圖如圖2.A、B兩機(jī)均為GMS97C2051單片機(jī)。 P1.2和P1.3用于發(fā)送,P1.0和P1.1口用于接收,P1.0同時接本機(jī)中INI0。軟件串行口一般全用標(biāo)準(zhǔn)的10位異步通信格式:1位起始位(信號0),8位數(shù)據(jù)位,1位停止位(信號1)。接收時均是低位數(shù)據(jù)在前,高位數(shù)據(jù)在后。

軟件串行口接收和發(fā)關(guān)的工作原理和過程如下:單片機(jī)復(fù)位后,執(zhí)行初始化程序時,定義P1口為位控方式,其中P1.0和P1.1定義為輸入,P1.2和P1.3定義為輸出。P1.2初始化為"1", P1.3初始化為"0",這樣發(fā)送信號處于停止位(差分電平"1")。定義INT0為負(fù)沿觸發(fā)。允許中斷且定義成高優(yōu)先級,然后開中斷,兩機(jī)進(jìn)入隨時可開始串行通信的等待狀態(tài)。A、B不通信時,兩機(jī)的收發(fā)均為"1",一旦某機(jī)(假設(shè)為A)需要與對方通信,A機(jī)以約定的波特率(假定為9600bps),通過 P1.2和P1.3發(fā)送。發(fā)關(guān)和接收一個字節(jié)的過程如下:

A 機(jī)發(fā)送端首先發(fā)送起始位("0"電平),B機(jī)INT0引腳產(chǎn)生下跳沿后,產(chǎn)生中斷申請。B機(jī)CPU響應(yīng)此中斷后,執(zhí)行INT0中斷服務(wù)子程序。在中斷服務(wù)子程序開始,用位輸入指令讀入P3.6狀態(tài),如果是"1"電平,則表明此次中斷是受干擾所致,因而取消此次接收過程,中斷返回;如果P3.6狀態(tài)讀入電產(chǎn)是"0",則表明本次中斷確系A(chǔ)機(jī)發(fā)送超始位所引起,經(jīng)精確延時,在A機(jī)發(fā)送各數(shù)據(jù)位中間處進(jìn)行采樣,獲得各數(shù)據(jù)位的狀態(tài),最后生成一個字節(jié),送有關(guān)單元之后中斷返回。雖然送往INT0的信號為TTL電平,但是由于它的傳輸速率非常之低,加上軟件抗干擾措施,所以仍然可以有效地傳輸1200米。

軟件串行中遠(yuǎn)程通信的關(guān)鍵是如何以較高的波特率可靠地實現(xiàn)數(shù)據(jù)的發(fā)送和接收。下面介紹一組以9600bps波特率設(shè)計,用MCS-51匯編語言編寫的具有很強(qiáng)抗干擾能力和很高可靠性的收發(fā)一個字節(jié)的子等等程序。

軟件串行通信的編程

串行通信要實現(xiàn)成功接收必須解決以下關(guān)鍵技術(shù):(1)要準(zhǔn)確、快速檢測出對方發(fā)出的超始位以及起始位負(fù)跳變的時刻;(2)保證在每個數(shù)據(jù)位中間采樣;(3)具有有效的校驗和查錯手段。

我們針對性地采取以下措施:用定義成高級中斷的外中斷引腳下接收線相連,來及時捕捉起始位信息,并在確定采樣時刻的計算中扣除中斷響應(yīng)滯后的延時時間;精心設(shè)計、編寫程序,逐條計算指令實際執(zhí)行時間,排除其他中斷干擾(關(guān)中斷),從而保證在每個數(shù)據(jù)位中間處進(jìn)行采樣;每位重復(fù)采樣多次,確定各數(shù)據(jù)位的狀態(tài),從而可大大減少遠(yuǎn)程通信常見的瞬態(tài)干擾(其特點是幅度大、作用時間短、隨機(jī)性強(qiáng))對通信的不良影響。綜合采用上述技術(shù)措施以中斷方式工作的接收(1 幀)的中斷服務(wù)源程序見程序清單):

以上指令共46個機(jī)器周期(T),加上中斷響應(yīng)平均延時5個機(jī)器周期,所以程序執(zhí)行到此,即A機(jī)發(fā)送起始位(開始變低)到此已經(jīng)歷51T。由于MCS-51指令的1個機(jī)器周期(T)相當(dāng)于12個時鐘周期,所以當(dāng)用12MHz的晶振時,1個機(jī)器周期(1T)相當(dāng)于是1μs。51T相當(dāng)于51μs。

從A機(jī)發(fā)出超始位到此共延時51T+4T+88T=143T,相當(dāng)于143μs。

傳輸率為9600bps時,每位費(fèi)時104μs(即1s/9600)。從起始位開始到D0 位中間1.5位,費(fèi)時1.5×104μs=156μs。下面程序在 156μs及其前后各11μs處對D0位進(jìn)行共3次采樣,記錄D0采樣結(jié)果為0次數(shù)。如果3次采樣結(jié)果為0的次數(shù)小于等于1,則判斷D0=1。如果3次采樣結(jié)果為0的次數(shù)大于等于2,則判斷D0=0。這樣極大地增強(qiáng)了串行通信的可靠性。然后再經(jīng)過延時后對其他各位數(shù)據(jù)進(jìn)行同樣的三次采樣,直到D0~D7共 8位數(shù)據(jù)全部采樣結(jié)束。

以上程序執(zhí)行用去40T,加上前面的143T,共花去183μs。每次返回NEXT3循環(huán)一次,讀入一位數(shù)據(jù)。在程序輸入NEXT3前,給R0賦值02H,就能保證以后各位數(shù)據(jù)位3次采樣的準(zhǔn)確時刻。此中斷服務(wù)子程序段不僅能實現(xiàn)在每位數(shù)據(jù)采樣,而且還在中間時刻前后11μs各采樣1次。以3次數(shù)據(jù)的多數(shù)結(jié)果確定該位的值,可大大降低因干擾出錯的概率,因此在干擾嚴(yán)重的遠(yuǎn)程通信中有很強(qiáng)的適應(yīng)性。

結(jié)語

本文介紹的GMS97C2051單片機(jī)遠(yuǎn)程通信的純軟件方法和程序也適合于ATMEL公司的AT89C2051單片機(jī),對其他單片機(jī)的遠(yuǎn)程通信也具有一定的參考價值。文中提供的軟件接口方法和源程序經(jīng)實際應(yīng)用表明,該方法可延長通信距離至 1200米(9600bps時)。本方法的不足之處在于軟件編程要求比較高,如果要實現(xiàn)即軟件編程簡單、又通用性好的單片機(jī)遠(yuǎn)程通信,還是要使用RS- 232/RS-485/RS-422轉(zhuǎn)換器或光隔遠(yuǎn)程收發(fā)器。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動電源

在工業(yè)自動化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動力設(shè)備,其驅(qū)動電源的性能直接關(guān)系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護(hù)是驅(qū)動電源設(shè)計中至關(guān)重要的兩個環(huán)節(jié),集成化方案的設(shè)計成為提升電機(jī)驅(qū)動性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動電源

LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設(shè)備的使用壽命。然而,在實際應(yīng)用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護(hù)成本,還影響了用戶體驗。要解決這一問題,需從設(shè)計、生...

關(guān)鍵字: 驅(qū)動電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計 驅(qū)動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術(shù)之一是電機(jī)驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動汽車的動力性能和...

關(guān)鍵字: 電動汽車 新能源 驅(qū)動電源

在現(xiàn)代城市建設(shè)中,街道及停車場照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨(dú)特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動電源 LED

LED通用照明設(shè)計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源

關(guān)鍵字: LED 驅(qū)動電源 開關(guān)電源

LED驅(qū)動電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動電源
關(guān)閉