數(shù)據(jù)元(Data Element),也稱為數(shù)據(jù)元素,是用一組屬性描述其定義、標(biāo)識(shí)、表示和允許值的數(shù)據(jù)單元,在一定語境下,通常用于構(gòu)建一個(gè)語義正確、獨(dú)立且無歧義的特定概念語義的信息單元。數(shù)據(jù)元可以理解為數(shù)據(jù)的基本單元,將若干具有相關(guān)性的數(shù)據(jù)元按一定的次序組成一個(gè)整體結(jié)構(gòu)即為數(shù)據(jù)模型。
C語言是一門面向過程的、抽象化的通用程序設(shè)計(jì)語言,廣泛應(yīng)用于底層開發(fā)。C語言能以簡(jiǎn)易的方式編譯、處理低級(jí)存儲(chǔ)器。C語言是僅產(chǎn)生少量的機(jī)器語言以及不需要任何運(yùn)行環(huán)境支持便能運(yùn)行的高效率程序設(shè)計(jì)語言。盡管C語言提供了許多低級(jí)處理的功能,但仍然保持著跨平臺(tái)的特性,以一個(gè)標(biāo)準(zhǔn)規(guī)格寫出的C語言程序可在包括類似嵌入式處理器以及超級(jí)計(jì)算機(jī)等作業(yè)平臺(tái)的許多計(jì)算機(jī)平臺(tái)上進(jìn)行編譯。
圖1.2.1至圖1.2.6三組圖是51單片機(jī)芯片不同封裝的引腳圖和實(shí)物圖,其中標(biāo)有NC的是不連接(No Connect)的意思。當(dāng)大家首次看見這些引腳時(shí),一定會(huì)有又多又亂的感覺,而且難以記憶。千萬不要著急,對(duì)于初學(xué)者來說,單純地記憶引腳標(biāo)號(hào)沒有任何意義,最好的方法就是邊學(xué)邊記。
二進(jìn)制(binary),是在數(shù)學(xué)和數(shù)字電路中以2為基數(shù)的記數(shù)系統(tǒng),是以2為基數(shù)代表系統(tǒng)的二進(jìn)位制。這一系統(tǒng)中,通常用兩個(gè)不同的符號(hào)0(代表零)和1(代表一)來表示。發(fā)現(xiàn)者是萊布尼茨。數(shù)字電子電路中,邏輯門的實(shí)現(xiàn)直接應(yīng)用了二進(jìn)制,現(xiàn)代的計(jì)算機(jī)和依賴計(jì)算機(jī)的設(shè)備里都使用二進(jìn)制。每個(gè)數(shù)字稱為一個(gè)比特(Bit,Binary digit的縮寫)。
單片機(jī)又稱單片微控制器,它不是完成某一個(gè)邏輯功能的芯片,而是把一個(gè)計(jì)算機(jī)系統(tǒng)集成到一個(gè)芯片上。相當(dāng)于一個(gè)微型的計(jì)算機(jī),和計(jì)算機(jī)相比,單片機(jī)只缺少了I/O設(shè)備。概括的講:一塊芯片就成了一臺(tái)計(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ī)的,如何開始上手,又如何開始熟練等話題與大家分享。
介紹接觸式溫度測(cè)量及相關(guān)器件
Proteus虛擬仿真軟件由英國(guó)Labcenter公司開發(fā),集電路原理圖設(shè)計(jì)、印制電路板設(shè)計(jì)和實(shí)物仿真等功能于一體,可以利用軟件模擬各種硬件(如:電阻、電容等模擬器件,單片機(jī)、微處理器等數(shù)字器件,示波器、萬用表等儀器設(shè)備),并支持對(duì)模擬硬件的軟件編程和虛擬仿真調(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ī)交互功能,該軟件啟動(dòng)后將自動(dòng)進(jìn)入ISIS功能界面(見圖9-1),其中多數(shù)工具欄的位置可以通過鼠標(biāo)拖動(dòng)來調(diào)整。本節(jié)將以AT89C52單片機(jī)最小系統(tǒng)原理圖繪制為例,介紹ISIS的使用方法。
C語言是一種計(jì)算機(jī)程序設(shè)計(jì)語言,它既具有高級(jí)語言的特點(diǎn),又具有匯編語言的特點(diǎn)。它由美國(guó)貝爾研究所的D.M.Ritchie于1972年推出,1978年后,C語言已先后被移植到大、中、小及微型機(jī)上,它可以作為工作系統(tǒng)設(shè)計(jì)語言,編寫系統(tǒng)應(yīng)用程序,也可以作為應(yīng)用程序設(shè)計(jì)語言,編寫不依賴計(jì)算機(jī)硬件的應(yīng)用程序。
C語言是一種高級(jí)程序設(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ù)。對(duì)于一個(gè)較大的程序,可將整個(gè)程序按功能分成若干個(gè)模塊,不同的模塊完成不同的功能。對(duì)于不同的功能模塊,分別指定相應(yīng)的入口參數(shù)和出口參數(shù),而經(jīng)常使用的一些程序最好編成函數(shù),這樣既不會(huì)引起整個(gè)程序管理的混亂,還可增強(qiáng)可讀性,移植性也好。
單片機(jī)C51語言兼?zhèn)涓呒?jí)語言與低級(jí)語言的優(yōu)點(diǎn)。語法結(jié)構(gòu)和標(biāo)準(zhǔn)C語言基本一致,語言簡(jiǎn)潔,便于學(xué)習(xí)。運(yùn)行于單片機(jī)平臺(tái),支持的微處理器種類繁多,可移植性好。對(duì)于兼容的8051系列單片機(jī),只要將一個(gè)硬件型號(hào)下的程序稍加修改,甚至不加改變,就可移植到另一個(gè)不同型號(hào)的單片機(jī)中運(yùn)行。具有高級(jí)語言的特點(diǎn),盡量減少底層硬件寄存器的操作。單片機(jī)C51語言提供了完備的數(shù)據(jù)類型、運(yùn)算符及函數(shù)供使用。C51語言是一種結(jié)構(gòu)化程序設(shè)計(jì)語言,可以使用一對(duì)花括號(hào)“{}”將一系列語句組合成一個(gè)復(fù)合語句,程序結(jié)構(gòu)清晰明了。C51語言代碼執(zhí)行的效率方面十分接近匯編語言,且比匯編語言的程序易于理解,便于代碼共享。
程序設(shè)計(jì)語言是用于書寫計(jì)算機(jī)程序的語言。語言的基礎(chǔ)是一組記號(hào)和一組規(guī)則。根據(jù)規(guī)則由記號(hào)構(gòu)成的記號(hào)串的總體就是語言。在程序設(shè)計(jì)語言中,這些記號(hào)串就是程序。程序設(shè)計(jì)語言有3個(gè)方面的因素,即語法、語義和語用。語法表示程序的結(jié)構(gòu)或形式,亦即表示構(gòu)成語言的各個(gè)記號(hào)之間的組合規(guī)律,但不涉及這些記號(hào)的特定含義,也不涉及使用者。語義表示程序的含義,亦即表示按照各種方法所表示的各個(gè)記號(hào)的特定含義,但不涉及使用者。
當(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)大。