很多單片機初學者問我的第一句話都是:怎樣才能學好單片機?今天,我就結(jié)合我自己是如何開始學習單片機的,如何開始上手,又如何開始熟練等話題與大家分享。
當程序的運行結(jié)果與預(yù)期不同時,需要利用μVision4的調(diào)試功能分析和查找程序中隱藏的邏輯錯誤。下面介紹程序調(diào)試的具體方法。
KeilμVision4是Keil軟件公司為8051系列微控制器及其兼容產(chǎn)品設(shè)計的集成式軟件開發(fā)環(huán)境。μVision4集成了C51編譯器和A51匯編器,其界面類似于Microsoft VS,支持C語言和匯編語言程序的編寫和調(diào)試,功能強大。
KeilμVision4是Keil軟件公司為8051系列微控制器及其兼容產(chǎn)品設(shè)計的集成式軟件開發(fā)環(huán)境。μVision4集成了C51編譯器和A51匯編器,其界面類似于Microsoft VS,支持C語言和匯編語言程序的編寫和調(diào)試,功能強大。
PCF8563 是PHILIPS 公司推出的一款工業(yè)級內(nèi)含I2C 總線接口功能的具有極低功耗的多功能時鐘/日歷芯片。PCF8563 的多種報警功能、定時器功能、時鐘輸出功能以及中斷輸出功能能完成各種復雜的定時服務(wù),甚至可為單片機提供看門狗功能。是一款性價比極高的時鐘芯片,它已被廣泛用于電表、水表、氣表、電話、傳真機、便攜式儀器以及電池供電的儀器儀表等產(chǎn)品領(lǐng)域。
SPI(Serial Peripheral Interface)總線是Motorola公司推出的一種同步串行通信總線。利用SPI總線,單片機可以與外設(shè)之間進行8位數(shù)據(jù)的同步發(fā)送和接收。目前采用SPI總線的芯片較多,如Motorala公司的M68HC08單片機、TI公司的A-D轉(zhuǎn)換器TLC2543和D-A轉(zhuǎn)換器TLC5615,以及AD公司的溫度傳感器AD7816等。
單片機是一種數(shù)字器件,只能處理數(shù)字量,在工業(yè)生產(chǎn)和日常生活中,常用于電流、電壓、溫度、濕度和壓力等信號的監(jiān)測或處理。而這些信號都是連續(xù)變化的模擬量,被單片機處理之前必須轉(zhuǎn)成數(shù)字量,而單片機處理后得到的數(shù)字量也要根據(jù)需要轉(zhuǎn)換為對應(yīng)的模擬量。
功能單一,僅作為基本的輸入輸出接口使用;P0口和P2口除了作基本輸入輸出接口外,還在單片機擴展外部數(shù)據(jù)存儲器、程序存儲器和I/O接口時用作地址和數(shù)據(jù)總線;P3口除了作基本輸入、輸出接口外,還具有第二功能。因此,通常情況下,留給用戶使用的只有P1口的8個引腳,但這往往是不夠的。
1)外設(shè)與單片機的信號類型不一致。單片機能直接處理的信號是數(shù)字信號,而外設(shè)的 信號既可能是數(shù)字的也可能是模擬的,可能是并行傳輸?shù)囊部赡苁谴袀鬏數(shù)摹?/p>
單片機與片外程序存儲器、數(shù)據(jù)存儲器或I/O接口之間進行數(shù)據(jù)交換時所產(chǎn)生的總線操作被稱為總線周期(Bus Cycle)。單片機向外傳輸數(shù)據(jù)的總線周期是寫總線周期,反之是讀總線周期。在總線周期中,單片機總線引腳的狀態(tài)將按照一定時間順序發(fā)生特定的變化,這
2)CE是片選信號,低電平有效,6264工作時該引腳必須為低電平。為了降低芯片功耗和防止干擾信號對6264中數(shù)據(jù)的影響,該引腳通常不直接接地,而是連接到單片機的高位地址總線上。其目的是通過單片機輸出的地址信號控制6264,僅當CE引腳上出現(xiàn)低電平時6264工作,其他情況下6264不工作。
隨著生產(chǎn)工藝的提高,大部分單片機片內(nèi)都集成了大容量的程序存儲器和數(shù)據(jù)存儲器。因此,存儲器擴展的需求正在降低。但是,學習存儲器的擴展方法,將對更好地掌握單片機的時序和單片機系統(tǒng)設(shè)計技巧有很大的幫助。接下來,本節(jié)將首先介紹程序存儲器的擴展方法。
與串口工作有關(guān)的特殊功能寄存器包括:串口控制寄存器SCON(圖4-18中的TI和RI均是該寄存器中的位)、串口緩沖區(qū)寄存器SBUF和電源控制寄存器PCON(圖4-18中的SMOD是該寄存器中的位)。
在并行通信中,數(shù)據(jù)的所有二進制位在多條并行的傳輸線上同時傳送,如圖4-14a所示。在串行通信中,數(shù)據(jù)的所有二進制位在一條傳輸線上一位一位地按順序逐個傳送,如圖4-14b所示。
定時/計數(shù)器實質(zhì)上是一個加1計數(shù)器。它隨著計數(shù)器的輸入脈沖進行自加1,也就是每來一個脈沖,計數(shù)器就自動加1,,當加到計數(shù)器為全1時,再輸入一個脈沖就使計數(shù)器回零,且計數(shù)器的溢出使相應(yīng)的中斷標志位置1,向CPU發(fā)出中斷請求(定時/計數(shù)器中斷允許時)。如果定時/計數(shù)器工作于定時模式,則表示定時時間已到;如果工作于計數(shù)模式,則表示計數(shù)值已滿。
【例1】利用定時功能產(chǎn)生方波信號。假設(shè):單片機晶振頻率為fosc=6MHz。要求:利用定時/計數(shù)器T0的工作方式1控制定時,在單片機P1.1引腳產(chǎn)生頻率f=50Hz的方波。
在家電產(chǎn)品和工業(yè)應(yīng)用系統(tǒng)中,定時和計數(shù)是兩種常用的功能,如:微波爐加熱計時和流水線上產(chǎn)品數(shù)目統(tǒng)計等。MCS-51單片機內(nèi)部集成的兩個可編程定時/計數(shù)器T0和T1使用靈活、方便,在儀器儀表等工業(yè)產(chǎn)品中應(yīng)用廣泛。
④處理機執(zhí)行完一條指令后或者這條指令已無法執(zhí)行完,則立即中止現(xiàn)行程序。接著,中斷部件根據(jù)中斷級去指定相應(yīng)的主存單元,并把被中斷的指令地址和處理機當前的主要狀態(tài)信息存放在此單元中。
當多個同級別中斷同時發(fā)出中斷請求時,單片機中斷系統(tǒng)將按照自然優(yōu)先級別進行中斷排序,并首先響應(yīng)其中自然優(yōu)先級別最高的中斷。
在單片機與外部設(shè)備(簡稱外設(shè))的數(shù)據(jù)傳送過程中,單片機處于核心地位,所謂的數(shù)據(jù)輸入和輸出都是相對單片機而言。數(shù)據(jù)由外設(shè)傳送至單片機,為“輸入”,反之為“輸出”。通常,單片機與外設(shè)的數(shù)據(jù)傳送速度差別較大,因此,選擇恰當?shù)臄?shù)據(jù)傳送時間和傳送時間間隔,是保證數(shù)據(jù)正確傳送的關(guān)鍵。在單片機系統(tǒng)中,有三種解決該問題的方法,即程序控制傳送、中斷式傳送和DMA傳送。