單片機(jī)又稱單片微控制器,它不是完成某一個(gè)邏輯功能的芯片,而是把一個(gè)計(jì)算機(jī)系統(tǒng)集成到一個(gè)芯片上。相當(dāng)于一個(gè)微型的計(jì)算機(jī),和計(jì)算機(jī)相比,單片機(jī)只缺少了I/O設(shè)備。概括的講:一塊芯片就成了一臺計(jì)算機(jī)。它的體積小、質(zhì)量輕、價(jià)格便宜、為學(xué)習(xí)、應(yīng)用和開發(fā)提供了便利條件。同時(shí),學(xué)習(xí)使用單片機(jī)是了解計(jì)算機(jī)原理與結(jié)構(gòu)的最佳選擇。
很多單片機(jī)初學(xué)者問我的第一句話都是:怎樣才能學(xué)好單片機(jī)?今天,我就結(jié)合我自己是如何開始學(xué)習(xí)單片機(jī)的,如何開始上手,又如何開始熟練等話題與大家分享。
介紹接觸式溫度測量及相關(guān)器件
Proteus虛擬仿真軟件由英國Labcenter公司開發(fā),集電路原理圖設(shè)計(jì)、印制電路板設(shè)計(jì)和實(shí)物仿真等功能于一體,可以利用軟件模擬各種硬件(如:電阻、電容等模擬器件,單片機(jī)、微處理器等數(shù)字器件,示波器、萬用表等儀器設(shè)備),并支持對模擬硬件的軟件編程和虛擬仿真調(diào)試。這使得用戶可以在沒有硬件支持的情況下,以電路原理為基礎(chǔ)搭建虛擬模型,進(jìn)行系統(tǒng)統(tǒng)仿真和調(diào)試,并可以看到系統(tǒng)運(yùn)行的模擬效果。由于可節(jié)約成本、提高研發(fā)效率,利用Proteus軟件進(jìn)行單片機(jī)系統(tǒng)輔助設(shè)計(jì)的方式已經(jīng)被很多高校和研發(fā)機(jī)構(gòu)采用。
Proteus軟件具有良好的人機(jī)交互功能,該軟件啟動后將自動進(jìn)入ISIS功能界面(見圖9-1),其中多數(shù)工具欄的位置可以通過鼠標(biāo)拖動來調(diào)整。本節(jié)將以AT89C52單片機(jī)最小系統(tǒng)原理圖繪制為例,介紹ISIS的使用方法。
C語言是一種計(jì)算機(jī)程序設(shè)計(jì)語言,它既具有高級語言的特點(diǎn),又具有匯編語言的特點(diǎn)。它由美國貝爾研究所的D.M.Ritchie于1972年推出,1978年后,C語言已先后被移植到大、中、小及微型機(jī)上,它可以作為工作系統(tǒng)設(shè)計(jì)語言,編寫系統(tǒng)應(yīng)用程序,也可以作為應(yīng)用程序設(shè)計(jì)語言,編寫不依賴計(jì)算機(jī)硬件的應(yīng)用程序。
C語言是一種高級程序設(shè)計(jì)語言,它提供了十分完備的規(guī)范化流程控制結(jié)構(gòu)。因此采用C51語言設(shè)計(jì)單片機(jī)應(yīng)用系統(tǒng)程序時(shí),首先要盡可能地采用結(jié)構(gòu)化的程序設(shè)計(jì)方法,這樣可使整個(gè)應(yīng)用系統(tǒng)程序結(jié)構(gòu)清晰,易于調(diào)試和維護(hù)。對于一個(gè)較大的程序,可將整個(gè)程序按功能分成若干個(gè)模塊,不同的模塊完成不同的功能。對于不同的功能模塊,分別指定相應(yīng)的入口參數(shù)和出口參數(shù),而經(jīng)常使用的一些程序最好編成函數(shù),這樣既不會引起整個(gè)程序管理的混亂,還可增強(qiáng)可讀性,移植性也好。
單片機(jī)C51語言兼?zhèn)涓呒壵Z言與低級語言的優(yōu)點(diǎn)。語法結(jié)構(gòu)和標(biāo)準(zhǔn)C語言基本一致,語言簡潔,便于學(xué)習(xí)。運(yùn)行于單片機(jī)平臺,支持的微處理器種類繁多,可移植性好。對于兼容的8051系列單片機(jī),只要將一個(gè)硬件型號下的程序稍加修改,甚至不加改變,就可移植到另一個(gè)不同型號的單片機(jī)中運(yùn)行。具有高級語言的特點(diǎn),盡量減少底層硬件寄存器的操作。單片機(jī)C51語言提供了完備的數(shù)據(jù)類型、運(yùn)算符及函數(shù)供使用。C51語言是一種結(jié)構(gòu)化程序設(shè)計(jì)語言,可以使用一對花括號“{}”將一系列語句組合成一個(gè)復(fù)合語句,程序結(jié)構(gòu)清晰明了。C51語言代碼執(zhí)行的效率方面十分接近匯編語言,且比匯編語言的程序易于理解,便于代碼共享。
程序設(shè)計(jì)語言是用于書寫計(jì)算機(jī)程序的語言。語言的基礎(chǔ)是一組記號和一組規(guī)則。根據(jù)規(guī)則由記號構(gòu)成的記號串的總體就是語言。在程序設(shè)計(jì)語言中,這些記號串就是程序。程序設(shè)計(jì)語言有3個(gè)方面的因素,即語法、語義和語用。語法表示程序的結(jié)構(gòu)或形式,亦即表示構(gòu)成語言的各個(gè)記號之間的組合規(guī)律,但不涉及這些記號的特定含義,也不涉及使用者。語義表示程序的含義,亦即表示按照各種方法所表示的各個(gè)記號的特定含義,但不涉及使用者。
當(dāng)程序的運(yùn)行結(jié)果與預(yù)期不同時(shí),需要利用μVision4的調(diào)試功能分析和查找程序中隱藏的邏輯錯(cuò)誤。下面介紹程序調(diào)試的具體方法。
KeilμVision4是Keil軟件公司為8051系列微控制器及其兼容產(chǎn)品設(shè)計(jì)的集成式軟件開發(fā)環(huán)境。μVision4集成了C51編譯器和A51匯編器,其界面類似于Microsoft VS,支持C語言和匯編語言程序的編寫和調(diào)試,功能強(qiáng)大。
KeilμVision4是Keil軟件公司為8051系列微控制器及其兼容產(chǎn)品設(shè)計(jì)的集成式軟件開發(fā)環(huán)境。μVision4集成了C51編譯器和A51匯編器,其界面類似于Microsoft VS,支持C語言和匯編語言程序的編寫和調(diào)試,功能強(qiáng)大。
KeilμVision4是Keil軟件公司為8051系列微控制器及其兼容產(chǎn)品設(shè)計(jì)的集成式軟件開發(fā)環(huán)境。μVision4集成了C51編譯器和A51匯編器,其界面類似于Microsoft VS,支持C語言和匯編語言程序的編寫和調(diào)試,功能強(qiáng)大。
DS18B20是常用的數(shù)字溫度傳感器,其輸出的是數(shù)字信號,具有體積小,硬件開銷低,抗干擾能力強(qiáng),精度高的特點(diǎn)。DS18B20數(shù)字溫度傳感器接線方便,封裝成后可應(yīng)用于多種場合,如管道式,螺紋式,磁鐵吸附式,不銹鋼封裝式,型號多種多樣,有LTM8877,LTM8874等等。
單總線(1-Wire)是DALLAS公司推出的一種單線雙向串行總線,僅用一根線即可實(shí)現(xiàn)多個(gè)器件間的數(shù)據(jù)傳輸。目前,常用的單總線接口芯片有數(shù)字溫度傳感器DS18B20、單總線控制器DSIWM和D-A轉(zhuǎn)換器DS2450等。本節(jié)將以單總線溫度傳感器DS18B20為例,介紹單總線接口器件的引腳功能、時(shí)序及使用方法;最后,給出AT89C52單片機(jī)擴(kuò)展DS18B20的例子。