SPI(Serial Peripheral Interface)總線是Motorola公司推出的一種同步串行通信總線。利用SPI總線,單片機(jī)可以與外設(shè)之間進(jìn)行8位數(shù)據(jù)的同步發(fā)送和接收。目前采用SPI總線的芯片較多,如Motorala公司的M68HC08單片機(jī)、TI公司的A-D轉(zhuǎn)換器TLC2543和D-A轉(zhuǎn)換器TLC5615,以及AD公司的溫度傳感器AD7816等。
單片機(jī)是一種數(shù)字器件,只能處理數(shù)字量,在工業(yè)生產(chǎn)和日常生活中,常用于電流、電壓、溫度、濕度和壓力等信號的監(jiān)測或處理。而這些信號都是連續(xù)變化的模擬量,被單片機(jī)處理之前必須轉(zhuǎn)成數(shù)字量,而單片機(jī)處理后得到的數(shù)字量也要根據(jù)需要轉(zhuǎn)換為對應(yīng)的模擬量。
功能單一,僅作為基本的輸入輸出接口使用;P0口和P2口除了作基本輸入輸出接口外,還在單片機(jī)擴(kuò)展外部數(shù)據(jù)存儲器、程序存儲器和I/O接口時用作地址和數(shù)據(jù)總線;P3口除了作基本輸入、輸出接口外,還具有第二功能。因此,通常情況下,留給用戶使用的只有P1口的8個引腳,但這往往是不夠的。
1)外設(shè)與單片機(jī)的信號類型不一致。單片機(jī)能直接處理的信號是數(shù)字信號,而外設(shè)的 信號既可能是數(shù)字的也可能是模擬的,可能是并行傳輸?shù)囊部赡苁谴袀鬏數(shù)摹?/p>
單片機(jī)與片外程序存儲器、數(shù)據(jù)存儲器或I/O接口之間進(jìn)行數(shù)據(jù)交換時所產(chǎn)生的總線操作被稱為總線周期(Bus Cycle)。單片機(jī)向外傳輸數(shù)據(jù)的總線周期是寫總線周期,反之是讀總線周期。在總線周期中,單片機(jī)總線引腳的狀態(tài)將按照一定時間順序發(fā)生特定的變化,這
2)CE是片選信號,低電平有效,6264工作時該引腳必須為低電平。為了降低芯片功耗和防止干擾信號對6264中數(shù)據(jù)的影響,該引腳通常不直接接地,而是連接到單片機(jī)的高位地址總線上。其目的是通過單片機(jī)輸出的地址信號控制6264,僅當(dāng)CE引腳上出現(xiàn)低電平時6264工作,其他情況下6264不工作。
隨著生產(chǎn)工藝的提高,大部分單片機(jī)片內(nèi)都集成了大容量的程序存儲器和數(shù)據(jù)存儲器。因此,存儲器擴(kuò)展的需求正在降低。但是,學(xué)習(xí)存儲器的擴(kuò)展方法,將對更好地掌握單片機(jī)的時序和單片機(jī)系統(tǒng)設(shè)計技巧有很大的幫助。接下來,本節(jié)將首先介紹程序存儲器的擴(kuò)展方法。
與串口工作有關(guān)的特殊功能寄存器包括:串口控制寄存器SCON(圖4-18中的TI和RI均是該寄存器中的位)、串口緩沖區(qū)寄存器SBUF和電源控制寄存器PCON(圖4-18中的SMOD是該寄存器中的位)。
在并行通信中,數(shù)據(jù)的所有二進(jìn)制位在多條并行的傳輸線上同時傳送,如圖4-14a所示。在串行通信中,數(shù)據(jù)的所有二進(jìn)制位在一條傳輸線上一位一位地按順序逐個傳送,如圖4-14b所示。
定時/計數(shù)器實(shí)質(zhì)上是一個加1計數(shù)器。它隨著計數(shù)器的輸入脈沖進(jìn)行自加1,也就是每來一個脈沖,計數(shù)器就自動加1,,當(dāng)加到計數(shù)器為全1時,再輸入一個脈沖就使計數(shù)器回零,且計數(shù)器的溢出使相應(yīng)的中斷標(biāo)志位置1,向CPU發(fā)出中斷請求(定時/計數(shù)器中斷允許時)。如果定時/計數(shù)器工作于定時模式,則表示定時時間已到;如果工作于計數(shù)模式,則表示計數(shù)值已滿。
【例1】利用定時功能產(chǎn)生方波信號。假設(shè):單片機(jī)晶振頻率為fosc=6MHz。要求:利用定時/計數(shù)器T0的工作方式1控制定時,在單片機(jī)P1.1引腳產(chǎn)生頻率f=50Hz的方波。
在家電產(chǎn)品和工業(yè)應(yīng)用系統(tǒng)中,定時和計數(shù)是兩種常用的功能,如:微波爐加熱計時和流水線上產(chǎn)品數(shù)目統(tǒng)計等。MCS-51單片機(jī)內(nèi)部集成的兩個可編程定時/計數(shù)器T0和T1使用靈活、方便,在儀器儀表等工業(yè)產(chǎn)品中應(yīng)用廣泛。
④處理機(jī)執(zhí)行完一條指令后或者這條指令已無法執(zhí)行完,則立即中止現(xiàn)行程序。接著,中斷部件根據(jù)中斷級去指定相應(yīng)的主存單元,并把被中斷的指令地址和處理機(jī)當(dāng)前的主要狀態(tài)信息存放在此單元中。
當(dāng)多個同級別中斷同時發(fā)出中斷請求時,單片機(jī)中斷系統(tǒng)將按照自然優(yōu)先級別進(jìn)行中斷排序,并首先響應(yīng)其中自然優(yōu)先級別最高的中斷。
在單片機(jī)與外部設(shè)備(簡稱外設(shè))的數(shù)據(jù)傳送過程中,單片機(jī)處于核心地位,所謂的數(shù)據(jù)輸入和輸出都是相對單片機(jī)而言。數(shù)據(jù)由外設(shè)傳送至單片機(jī),為“輸入”,反之為“輸出”。通常,單片機(jī)與外設(shè)的數(shù)據(jù)傳送速度差別較大,因此,選擇恰當(dāng)?shù)臄?shù)據(jù)傳送時間和傳送時間間隔,是保證數(shù)據(jù)正確傳送的關(guān)鍵。在單片機(jī)系統(tǒng)中,有三種解決該問題的方法,即程序控制傳送、中斷式傳送和DMA傳送。
邏輯運(yùn)算可以分成字節(jié)邏輯運(yùn)算和位邏輯運(yùn)算兩大類,其指令格式見表3-8。當(dāng)邏輯運(yùn)算指令的目的操作數(shù)是累加器A、程序狀態(tài)字寄存器PSW或進(jìn)位標(biāo)志位CY時,PSW會受到影響,否則PSW不受影響。
(片內(nèi)RAM)傳送指令MOV(Move)把一個字節(jié)、字或雙字的操作數(shù)從源位置傳送到目的位置,源操作數(shù)的內(nèi)容不變??梢詫?shí)現(xiàn)立即數(shù)到通用寄存器或主存的傳送,通用寄存器與通用寄存器、主存或段寄存器之間的傳送,主存與段寄存器之間的傳送。該操作屬于復(fù)制性質(zhì),不屬于搬家性質(zhì)。
在指令“MOV A,#12H”中,立即數(shù)#12H是源操作數(shù),緊隨操作碼74H之后存放在ROM中。該指令執(zhí)行時,單片機(jī)先從ROM中讀取操作碼74H,對操作碼74H解碼后,確定要進(jìn)行的操作是將一個8位立即數(shù)送入累加器A,接下來單片機(jī)從緊鄰操作碼的下一個存儲單元中取得立即數(shù)12H并送入累加器A。另外,該指令的目的操作數(shù)累加器A隱含在操作碼中,沒有明確給出。
單片機(jī)由中央處理器(含部分特殊功能寄存器)、內(nèi)部RAM、程序存儲器、各種外設(shè)(IO端口、定時器、串行接口、中斷處理電路等等)及對應(yīng)控制寄存器、時鐘電路、復(fù)位電路等幾部分組成。
中斷系統(tǒng)是計算機(jī)的重要組成部分。實(shí)時控制、故障自動處理、計算機(jī)與外圍設(shè)備間的數(shù)據(jù)傳送往往采用中斷系統(tǒng)。中斷系統(tǒng)的應(yīng)用大大提高了計算機(jī)效率。