如果說(shuō)初學(xué)計(jì)算機(jī)編程,最簡(jiǎn)單的入門(mén)程序是在屏幕上顯示“Hello world!”的話,那么學(xué)習(xí)單片機(jī)最簡(jiǎn)單的入門(mén)實(shí)驗(yàn)就是控制發(fā)光二極管(led)閃爍發(fā)光。
P89LPC900系列單片機(jī)是近幾年出現(xiàn)的新一代80C51內(nèi)核單片機(jī),許多人都想學(xué)習(xí),并希望應(yīng)用到自己的產(chǎn)品設(shè)計(jì)中。下面我就以控制led閃爍發(fā)光這個(gè)最簡(jiǎn)單的實(shí)驗(yàn)為例,帶領(lǐng)大家入門(mén)。
●LPC900系列單片機(jī)簡(jiǎn)介
LPC900系列單片機(jī)是國(guó)際著名半導(dǎo)體廠商Philips公司(http://www.scn.semiconductors.philips.com/)推出的新一代80C51內(nèi)核單片機(jī)。LPC900兼容標(biāo)準(zhǔn)80C51的指令系統(tǒng)和特殊功能寄存器(SFR),如果學(xué)過(guò)80C51單片機(jī),則很容易入門(mén)。LPC900對(duì)80C51原有的CPU內(nèi)核進(jìn)行了重新設(shè)計(jì),在相同的時(shí)鐘頻率下,指令執(zhí)行速度達(dá)到標(biāo)準(zhǔn)80C51的6倍。LPC900內(nèi)部集成有多種外圍功能部件,如I2C總線、SPI接口、增強(qiáng)型UART、實(shí)時(shí)時(shí)鐘、模擬比較器、A/D和D/A轉(zhuǎn)換、EEPROM、CCU等等。這些功能部件都可以通過(guò)SFR寄存器方便地進(jìn)行操控。片內(nèi)Flash容量有1KB到16KB,可以進(jìn)行ISP/IAP操作。LPC900系列單片機(jī)可謂是功能強(qiáng)大,性?xún)r(jià)比極高。
●電路原理圖及電路說(shuō)明
電路原理圖比較簡(jiǎn)單,請(qǐng)參見(jiàn)附圖。
在電路中是以28引腳的P89LPC932A1單片機(jī)為例的,但是類(lèi)似的電路還可以應(yīng)用于其它型號(hào)上。
LPC900系列單片機(jī)屬于低電壓器件,正常的電源電壓范圍通常是2.4~3.6V。在這里,電源部分省略不畫(huà)了,直接取VCC=3.3V。
按照一般的電路設(shè)計(jì)常識(shí),芯片的電源引腳對(duì)地要加上10~100nF的電容(見(jiàn)圖中的C1),以消除可能通過(guò)電源線串進(jìn)來(lái)的高頻干擾。
LPC900系列單片機(jī)具有“內(nèi)部復(fù)位”功能。因此可以不使用額外的復(fù)位電路。如果選擇了內(nèi)部復(fù)位(在燒寫(xiě)程序時(shí)設(shè)置)功能,那么“P1.5/RST”引腳可以作為一個(gè)I/O口使用,但是只能用作輸入,不能用作輸出。
LPC900系列單片機(jī)片內(nèi)都有一個(gè)高精度的RC振蕩器。RC振蕩器的頻率標(biāo)稱(chēng)是7.3728MHz,這是適合于UART通信的頻率點(diǎn),在整個(gè)工作溫度范圍內(nèi)精度可達(dá)±2.5%。LPC900系列單片機(jī)同時(shí)也支持外部晶振。外部晶振可以是低頻、中頻或高頻晶振。低頻晶振中常見(jiàn)的是32.768KHz的手表晶振。高頻晶振可以支持到12MHz,部分型號(hào)可以支持到18MHz。用編程器燒寫(xiě)程序時(shí)可以選擇使用哪種類(lèi)型的振蕩器。在這里,我們選用片內(nèi)RC振蕩器,所以在圖中是沒(méi)有晶振電路的。
發(fā)光二極管電路由1只LED和1只電阻串聯(lián)而成。當(dāng)P0.4引腳輸出低電平時(shí),點(diǎn)亮LED。在LPC900系列單片機(jī)中所有型號(hào)都擁有P0.4口。
●LPC900系列單片機(jī)I/O口特性說(shuō)明
LPC900系列單片機(jī)仍然使用P0、P1、P2、P3這4組I/O口,它們的SFR地址仍然與標(biāo)準(zhǔn)80C51相同。目前LPC900系列單片機(jī)已有數(shù)十種不同的型號(hào),引腳從8個(gè)到28個(gè),將來(lái)還會(huì)有更多引腳的產(chǎn)品。每種型號(hào)配置的I/O數(shù)目有多有少,但都是P0~P3口的一部分。
從I/O口的特性上看,標(biāo)準(zhǔn)80C51的P0口在作為I/O口使用時(shí),是開(kāi)漏結(jié)構(gòu),在實(shí)際應(yīng)用中通常要添加上拉電阻;P1、P2、P3都是準(zhǔn)雙向I/O,內(nèi)部有上拉電阻,既可作為輸入又可以作為輸出。而LPC900系列單片機(jī)的I/O口特性有一定的不同,它們可以被配置成4種不同的工作模式:準(zhǔn)雙向I/O、推挽輸出、高阻輸入、開(kāi)漏。
準(zhǔn)雙向I/O模式與標(biāo)準(zhǔn)80C51相比,雖然在內(nèi)部結(jié)構(gòu)上是不同的,但在用法上類(lèi)同,比如要作為輸入時(shí)都必須先寫(xiě)“1”置成高電平,然后才能去讀引腳的電平狀態(tài)。推挽輸出的特點(diǎn)是不論輸出高電平還是低電平都能驅(qū)動(dòng)較大的電流,比如輸出高電平時(shí)可以直接點(diǎn)亮LED(要串聯(lián)幾百歐限流電阻),而在準(zhǔn)雙向I/O模式下很難辦到。高阻輸入模式的特點(diǎn)是只能作為輸入使用,但是可以獲得比較高的輸入阻抗,這在模擬比較器和ADC應(yīng)用中是必需的。開(kāi)漏模式與準(zhǔn)雙向模式相似,但是沒(méi)有內(nèi)部上拉電阻。開(kāi)漏模式的優(yōu)點(diǎn)是電氣兼容性好,外部上拉電阻接3V電源,就能和3V邏輯器件接口,如果上拉電阻接5V電源,又可以與5V邏輯器件接口。此外,開(kāi)漏模式還可以方便地實(shí)現(xiàn)“線與”邏輯功能。
I/O口配置寄存器共有8個(gè),P0口的配置寄存器是P0M1和P0M2,P1口是P1M1和P1M2,P2口是P2M1和P2M2,P3口是P3M1和P3M2。他們決定每根I/O口線的工作模式。具體的配置方法,請(qǐng)參考相關(guān)的數(shù)據(jù)資料。例外情況是P1.5/RST、P1.2/SCL/T0、P1.3/SDA/INT0這3個(gè)I/O引腳。P1.5只能被配置成高阻輸入,P1.2和P1.3引腳只能被配置成高阻輸入或開(kāi)漏方式。
●程序設(shè)計(jì)
從電路圖中可以知道,當(dāng)P0.4輸出低電平時(shí)可以點(diǎn)亮LED,輸出高電平時(shí),LED不亮。在程序中要設(shè)置一個(gè)定時(shí)器,這樣就能方便地交替點(diǎn)亮和熄滅LED。在LPC900系列單片機(jī)中,定時(shí)器T0的用法與標(biāo)準(zhǔn)80C51中的T0是相兼容的。程序比





