8XC51系列單片機(jī)是Intel公司生產(chǎn)的8位增強(qiáng)型單片機(jī),它是以80C51為核心的一種8位微控制器,也是一種面向事件控制應(yīng)用的優(yōu)選芯片,它與現(xiàn)有MCS 51系列單片機(jī)的指令系統(tǒng)兼容,下面以8XC51GB為代表對(duì)8XC51系列單片機(jī)作一簡(jiǎn)要闡述。
開(kāi)關(guān)量輸入/輸出通道和模擬量輸入/輸出通道,都是干擾竄入的渠道,要切斷這些渠道,就要去掉外部與輸入/輸出通道之間的公共地線,實(shí)現(xiàn)彼此電氣隔離以抑制干擾脈沖。最常用的隔離器是光電耦合器,其內(nèi)部結(jié)構(gòu) 圖 9.5(a), 圖 9.5(b) 為接入光電耦合器的數(shù)字電路。
從事單片機(jī)應(yīng)用的開(kāi)發(fā)人員都有過(guò)這樣的經(jīng)歷:將調(diào)試好的樣機(jī)投入現(xiàn)場(chǎng)進(jìn)行實(shí)際運(yùn)行時(shí),總會(huì)出現(xiàn)這樣或那樣的問(wèn)題。有的一開(kāi)機(jī)就失靈,有的時(shí)好時(shí)壞,讓人不知所措。為什么實(shí)驗(yàn)室能正常工作,到了現(xiàn)場(chǎng)就有問(wèn)題呢? 主要原因是系統(tǒng)沒(méi)有采取抗干擾措施,或措施不力。為此,本文專門介紹單片機(jī)應(yīng)用系統(tǒng)的抗干擾技術(shù),以增強(qiáng)產(chǎn)品在實(shí)際環(huán)境中的生存能力。
單片機(jī)以其體積小、重量輕、價(jià)格低及功能強(qiáng)等特點(diǎn)得到了廣泛的應(yīng)用,但單片機(jī)上一般僅集成 CPU 、RAM 和 I/O 接口,而無(wú)用戶接口 (鍵盤和顯示器) 及監(jiān)控程序,因而單片機(jī)自身無(wú)編程功能,必須依賴單片機(jī)開(kāi)發(fā)工具(又稱單片機(jī)仿真器)。單片機(jī)開(kāi)發(fā)工具有輸入程序、編輯程序和調(diào)試程序的功能,目前國(guó)內(nèi)使用較多的有 WAVE 、KeilC、MedWin 等,在此就 WAVE 仿真器作一簡(jiǎn)介。
共模干擾指的是干擾電壓在信號(hào)線及其回線(一般稱為信號(hào)地線)上的幅度相同,這里的電壓以附近任何一個(gè)物體(大地、金屬機(jī)箱、參考地線板等)為參考電位,干擾電流回路則是在導(dǎo)線與參考物體構(gòu)成的回路中流動(dòng)。
單片機(jī)應(yīng)用系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā)主要包括五部分內(nèi)容:方案論證,硬件系統(tǒng)的設(shè)計(jì),系統(tǒng)軟件的設(shè)計(jì),系統(tǒng)仿真調(diào)試和脫機(jī)運(yùn)行。各部分詳細(xì)內(nèi)容如圖 8.1 所示。
D/A 轉(zhuǎn)換器的輸入為數(shù)字量,經(jīng)轉(zhuǎn)換后輸出為模擬量。有關(guān) D/A 轉(zhuǎn)換器的技術(shù)性能指標(biāo)很多,如絕對(duì)精度、相對(duì)精度、線性度、輸出電壓范圍、輸入數(shù)字代碼種類等等。本節(jié)僅對(duì)幾個(gè)與接口有關(guān)的指標(biāo)作一簡(jiǎn)介。
由于單片機(jī)只能處理數(shù)字量,因而應(yīng)用系統(tǒng)中凡遇到有模擬量的地方,就要進(jìn)行模擬量向數(shù)字量或數(shù)字量向模擬量的轉(zhuǎn)換,這就需要解決單片機(jī)與 A/D 和 D/A 的接口問(wèn)題。
在單片機(jī)應(yīng)用系統(tǒng)中,常常需要人機(jī)對(duì)話,因而功能開(kāi)關(guān)、撥碼器、鍵盤、顯示器和打印機(jī)等輸入/輸出設(shè)備就必不可少,本文將介紹一些外部設(shè)備及它們與單片機(jī)的接口技術(shù)。
MCS 51 系列單片機(jī)具有 64KB 的程序存儲(chǔ)空間,其中 8051 、8071 片內(nèi)有 4KB 的程序存儲(chǔ)器,8031 片內(nèi)無(wú)程序存儲(chǔ)器 。當(dāng)采用 8051 、8071 型單片機(jī)而程序超過(guò) 4KB,或采用 8031 單片機(jī)時(shí),就需對(duì)程序存儲(chǔ)器進(jìn)行外部擴(kuò)展。
其一,是把系統(tǒng)所需的外設(shè)和單片機(jī)連接起來(lái),使單片機(jī)系統(tǒng)能與外界進(jìn)行信息交換。如通過(guò)鍵盤、A/D 轉(zhuǎn)換器等外部設(shè)備向單片機(jī)送入數(shù)據(jù)、命令等有關(guān)信息,去控制單片機(jī)運(yùn)行;通過(guò)顯示器、發(fā)光二極管、打印機(jī)等設(shè)備把單片機(jī)處理的結(jié)果送出來(lái),向人們提供各種信息或?qū)ν饨缭O(shè)備提供控制信號(hào),這項(xiàng)任務(wù)實(shí)際上就是單片機(jī)接口設(shè)計(jì)。
TMOD 的地址是 89H ,它不能位尋址 ,它里面的內(nèi)容被稱為方式字,設(shè)置時(shí)一次寫入,其各位的定義如圖 6.2 所示。高 4 位用于定時(shí)器 T1 ,低 4 位用于定時(shí)器 T0 。
單片機(jī)定時(shí)器其實(shí)跟我們平時(shí)常說(shuō)的計(jì)數(shù)器,是同一個(gè)電子元件,只不過(guò)計(jì)數(shù)器記錄的是單片機(jī)外部情況,所接收的也是外部脈沖,而定時(shí)器則是由單片機(jī)自身提供的一個(gè)非常穩(wěn)定的計(jì)數(shù)器,這個(gè)穩(wěn)定的計(jì)數(shù)器就是單片機(jī)上連接的晶振部件。
MCS 51 單片機(jī)有 5 個(gè)(8052 有 6 個(gè)) 中斷源,為了使每個(gè)中斷源都能獨(dú)立地被允許 或禁止 ,以便用戶能靈活使用,它在每個(gè)中斷信號(hào)的通道中設(shè)置了一個(gè)中斷屏蔽觸發(fā)器。只有該觸發(fā)器無(wú)效,它所對(duì)應(yīng)的中斷請(qǐng)求信號(hào)才能進(jìn)入 CPU ,即此類型中斷開(kāi)放。否則,即使其對(duì)應(yīng)的中斷標(biāo)志位置 1 ,CPU 也不會(huì)響應(yīng)中斷 ,即此類型中斷被屏蔽了。同時(shí) CPU 內(nèi)還設(shè)置了一個(gè)中斷允許觸發(fā)器,它控制 CPU 能否響應(yīng)中斷。
在單片機(jī)系統(tǒng)設(shè)計(jì)中,程序設(shè)計(jì)是重要的一環(huán),它的質(zhì)量直接影響到整個(gè)系統(tǒng)的功能。用匯編語(yǔ)言進(jìn)行程序設(shè)計(jì)的過(guò)程和用高級(jí)語(yǔ)言設(shè)計(jì)程序有相似之處,其設(shè)計(jì)過(guò)程大致可以分為以下幾個(gè)步驟:
匯編語(yǔ)言(Assembly Language)是任何一種用于電子計(jì)算機(jī)、微處理器、微控制器或其他可編程器件的低級(jí)語(yǔ)言,亦稱為符號(hào)語(yǔ)言。在匯編語(yǔ)言中,用助記符代替機(jī)器指令的操作碼,用地址符號(hào)或標(biāo)號(hào)代替指令或操作數(shù)的地址。在不同的設(shè)備中,匯編語(yǔ)言對(duì)應(yīng)著不同的機(jī)器語(yǔ)言指令集,通過(guò)匯編過(guò)程轉(zhuǎn)換成機(jī)器指令。特定的匯編語(yǔ)言和特定的機(jī)器語(yǔ)言指令集是一一對(duì)應(yīng)的,不同平臺(tái)之間不可直接移植。
出于種種原因,光環(huán)效應(yīng)之下,相比高端大牌,中小品牌在客戶或大眾眼里留下的印象通常很淡,與其真正實(shí)力完全不匹配,其間的差距比起最抽象的后現(xiàn)代派畫還要夸張扭曲。
從各個(gè)方面來(lái)看,臺(tái)灣與大陸廠商確實(shí)距離歐美大廠有相當(dāng)一段距離。但捫心自問(wèn),它們是否真那么不堪?又有幾個(gè)人去認(rèn)真研究,甚至花時(shí)間對(duì)這些產(chǎn)品進(jìn)行過(guò)仔仔細(xì)細(xì)的測(cè)試?說(shuō)到底,通常不過(guò)就是是心態(tài)和情緒作怪,而這都源于我們的不了解,所謂信心也就更加無(wú)從談起
早在十幾年前,市場(chǎng)上就一直有不少配置、引腳,乃至價(jià)格都和STM8S003F3P6相當(dāng)?shù)牡蛢r(jià)單片機(jī),其中一些價(jià)格甚至可以低至一塊以下,基本上都是國(guó)產(chǎn)廠商,當(dāng)然也有一部分日系,比如曾經(jīng)的NEC。但對(duì)這些國(guó)產(chǎn)單片機(jī),我們的評(píng)價(jià)一直都不高。這款單片機(jī)最早大概在2012年前后面世——現(xiàn)在我能找到關(guān)于它的最早討論是2012年6月。意法當(dāng)時(shí)推出這款單片機(jī)意圖非常明顯:進(jìn)一步蠶食STM32還不能完全覆蓋的低端市場(chǎng)——還有人認(rèn)為,意法最終的目標(biāo)其實(shí)是,進(jìn)一步把這些開(kāi)發(fā)者引向STM32。赤裸裸的,簡(jiǎn)直司馬昭之心路人皆知。
也許,uC這個(gè)詞從來(lái)沒(méi)有正式出現(xiàn)過(guò),但它所代表的那些6腳、8腳單片機(jī)正變地越來(lái)越常見(jiàn),正在逐漸模糊核心處理器和外圍分立元件之間的界線,并有逐步替代基礎(chǔ)數(shù)字邏輯功能、小型數(shù)字模擬混合芯片的趨勢(shì)。因?yàn)樗?、低成本、功能精干…?duì)于這個(gè)越來(lái)越智能化的世界,這個(gè)單片機(jī)里的小不點(diǎn)也許會(huì)成為物聯(lián)網(wǎng)這張網(wǎng)上的最后一粒“塵?!薄?/p>