D/A 轉(zhuǎn)換器的輸入為數(shù)字量,經(jīng)轉(zhuǎn)換后輸出為模擬量。有關(guān) D/A 轉(zhuǎn)換器的技術(shù)性能指標很多,如絕對精度、相對精度、線性度、輸出電壓范圍、輸入數(shù)字代碼種類等等。本節(jié)僅對幾個與接口有關(guān)的指標作一簡介。
由于單片機只能處理數(shù)字量,因而應用系統(tǒng)中凡遇到有模擬量的地方,就要進行模擬量向數(shù)字量或數(shù)字量向模擬量的轉(zhuǎn)換,這就需要解決單片機與 A/D 和 D/A 的接口問題。
在單片機應用系統(tǒng)中,常常需要人機對話,因而功能開關(guān)、撥碼器、鍵盤、顯示器和打印機等輸入/輸出設備就必不可少,本文將介紹一些外部設備及它們與單片機的接口技術(shù)。
MCS 51 系列單片機具有 64KB 的程序存儲空間,其中 8051 、8071 片內(nèi)有 4KB 的程序存儲器,8031 片內(nèi)無程序存儲器 。當采用 8051 、8071 型單片機而程序超過 4KB,或采用 8031 單片機時,就需對程序存儲器進行外部擴展。
其一,是把系統(tǒng)所需的外設和單片機連接起來,使單片機系統(tǒng)能與外界進行信息交換。如通過鍵盤、A/D 轉(zhuǎn)換器等外部設備向單片機送入數(shù)據(jù)、命令等有關(guān)信息,去控制單片機運行;通過顯示器、發(fā)光二極管、打印機等設備把單片機處理的結(jié)果送出來,向人們提供各種信息或?qū)ν饨缭O備提供控制信號,這項任務實際上就是單片機接口設計。
模式 0 又分為模式 0 輸出和模式 0 輸入兩種工作狀態(tài)。但應注意:在這種模式下,不管輸出還是輸入,通信數(shù)據(jù)總是從 P3.0(RXD) 管腳輸出或輸入,而 P3.1(TXD) 管腳總是用于輸出移位脈沖,每一個移位脈沖將使 RXD 端輸出或者輸入一位二進制碼。在 TXD 端 的移位脈沖即為模式 0 的波特率,其值固定為晶振頻率 fOSC 的 1/12 ,即每個機器周期移動一位數(shù)據(jù)。
CPU 與外部設備交換數(shù)據(jù)有并行和串行通信兩種方式。并行通信是指數(shù)據(jù)的各位同時進行傳送的方式。其特點是傳送速度快、效率高,顯然并行傳送的數(shù)據(jù)有多少位,就需要有多少根傳輸線。當傳送距離較遠時,位數(shù)較多就會導致通信線路成本的大幅度增加,因此它僅適合于短距離傳送。串行通信是指數(shù)據(jù)的各位按順序一位一位地傳送的通信方式。其特點是只要一對傳輸線就可實現(xiàn)通信,對傳輸?shù)臄?shù)據(jù)較多、距離很遠 時 ,它可以大量節(jié)約系統(tǒng)的硬件投資。因此,在遠距離的數(shù)據(jù)通信系統(tǒng)中一般采用串行通信方式。
TMOD 的地址是 89H ,它不能位尋址 ,它里面的內(nèi)容被稱為方式字,設置時一次寫入,其各位的定義如圖 6.2 所示。高 4 位用于定時器 T1 ,低 4 位用于定時器 T0 。
單片機定時器其實跟我們平時常說的計數(shù)器,是同一個電子元件,只不過計數(shù)器記錄的是單片機外部情況,所接收的也是外部脈沖,而定時器則是由單片機自身提供的一個非常穩(wěn)定的計數(shù)器,這個穩(wěn)定的計數(shù)器就是單片機上連接的晶振部件。
MCS 51 單片機有 5 個(8052 有 6 個) 中斷源,為了使每個中斷源都能獨立地被允許 或禁止 ,以便用戶能靈活使用,它在每個中斷信號的通道中設置了一個中斷屏蔽觸發(fā)器。只有該觸發(fā)器無效,它所對應的中斷請求信號才能進入 CPU ,即此類型中斷開放。否則,即使其對應的中斷標志位置 1 ,CPU 也不會響應中斷 ,即此類型中斷被屏蔽了。同時 CPU 內(nèi)還設置了一個中斷允許觸發(fā)器,它控制 CPU 能否響應中斷。
中斷是計算機中一個很重要的概念,中斷技術(shù)的引入使計算機的發(fā)展和應用大大地推進了一步。因此,中斷功能的強弱已成為衡量一臺計算機功能完善與否的重要指標之一。
在單片機系統(tǒng)設計中,程序設計是重要的一環(huán),它的質(zhì)量直接影響到整個系統(tǒng)的功能。用匯編語言進行程序設計的過程和用高級語言設計程序有相似之處,其設計過程大致可以分為以下幾個步驟:
匯編語言(Assembly Language)是任何一種用于電子計算機、微處理器、微控制器或其他可編程器件的低級語言,亦稱為符號語言。在匯編語言中,用助記符代替機器指令的操作碼,用地址符號或標號代替指令或操作數(shù)的地址。在不同的設備中,匯編語言對應著不同的機器語言指令集,通過匯編過程轉(zhuǎn)換成機器指令。特定的匯編語言和特定的機器語言指令集是一一對應的,不同平臺之間不可直接移植。
所謂尋址方式,就是尋找操作數(shù)地址的方式,在用匯編語言編程時,數(shù)據(jù)的存放 、傳送、運算都要通過指令來完成。編程者必須自始至終都要十分清楚操作數(shù)的位置 ,以及如何將它們傳送到適當?shù)募拇嫫魅⑴c運算。每一種計算機都具有多種尋址方式 。尋址方式的多少是反映指令系統(tǒng)優(yōu)劣的主要指標之一。尋址方式是匯編語言程序設計最基本的內(nèi)容之一,必須要十分熟悉。
時序就是 CPU 總線信號在時間上的順序關(guān)系。CPU 的控制器實質(zhì)上是一個復雜的同 步時序電路,所有工作都是在時鐘信號控制下進行的。每執(zhí)行一條指令,CPU 的控制器都要發(fā)出一系列特定的控制信號,這些控制信號在時間上的相互關(guān)系就是 CPU 的時序。