版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
項目一初識單片機
1.1項目基本技能
1.2項目基本知識1.3技能拓展1.4互動環(huán)節(jié)1.5習(xí)題1.1項目基本技能任務(wù)1初識單片機1.認(rèn)識單片機單片機實際上就是一臺沒有電源的主機,它將CPU、主板、內(nèi)存、硬盤等集成到一個很小的芯片之中,通常稱它為單片微型計算機,簡稱為單片機。單片機就是一塊集成芯片,但這塊芯片能夠?qū)崿F(xiàn)一些復(fù)雜的功能,而這些功能要依靠編程來靈活實現(xiàn)。單片機的用處很多,種類也很多,世界上很多公司都在做單片機,但型號都不相同,功能也不盡相同。有些單片機功能單一,專門用來實現(xiàn)某一功能,如遙控器使用的單片機;而有些單片機可以通過編寫不同的程序來實現(xiàn)不同的功能,如常見的AVR單片機、PIC單片機、MSP430系列單片機和MCS-51系列單片機。
MCS-51系列單片機是在20世紀(jì)80年代發(fā)展起來的,距今已有幾十年的歷史。相對于ARM等32位的高性能微處理器,MCS-51系列單片機只是8位的微處理器,因其豐富的技術(shù)資源、很低的學(xué)習(xí)門檻和很高的性價比仍有著廣泛的應(yīng)用前景。
MCS-51系列單片機是指由美國Intel公司生產(chǎn)的一系列單片機的總稱,現(xiàn)在一般指51內(nèi)核單片機的總稱,簡稱51單片機。全世界有很多公司生產(chǎn)51內(nèi)核單片機,盡管功能強弱不同,都稱為51派生產(chǎn)品,本書介紹的單片機就是以MCS-51為內(nèi)核的單片機。下面簡要介紹幾種51單片機的主流產(chǎn)品。
1)?Intel公司80系列單片機
51單片機的創(chuàng)始者Intel公司生產(chǎn)的80系列單片機主要包括51和52兩個子系列,其中,51子系列是基本型,52子系列屬增強型。80系列單片機中,帶字母C的為CHMOS工藝,如80C51、80C52;不帶C的為HMOS工藝,如8051、8052。
Intel公司80系列單片機系列芯片的技術(shù)指標(biāo)如表1-1所示。
80系列單片機是51單片機的早期產(chǎn)品,目前市場上已經(jīng)很難見到它們的蹤跡。表1-1Intel公司80系列單片機系列芯片的技術(shù)指標(biāo)
2)?Atmel公司AT89系列單片機
Atmel公司主要推出了AT89C和AT89S兩大系列產(chǎn)品,其中,AT89C系列為早期產(chǎn)品,常用型號及其主要技術(shù)指標(biāo)如表1-2所示;AT89S系列為新型產(chǎn)品,常用型號及其主要技術(shù)指標(biāo)如表1-3所示。表1-2常用AT89C系列單片機的型號及其主要技術(shù)指標(biāo)表1-3常用AT89S系列單片機的型號及其主要技術(shù)指標(biāo)
AT89C系列單片機屬常規(guī)類型,只能用通用編程器進行編輯,不能進行下載編程;AT89S系列單片機是Atmel公司的新型產(chǎn)品,其主要特點是具有ISP功能,也就是說,對AT89S芯片進行編程時,不需要將芯片從目標(biāo)板上取下,只需用一根下載線即可對AT89S單片機進行下載編程。
3)?STC公司STC89系列單片機
STC公司生產(chǎn)的STC89系列單片機是51單片機的派生產(chǎn)品,它在指令系統(tǒng)、硬件結(jié)構(gòu)和片內(nèi)資源上與標(biāo)準(zhǔn)51單片機完全兼容。STC89系列單片機具有高速度、低功耗的優(yōu)點,在系統(tǒng)編程(ISP)、應(yīng)用編程(IAP)等方面功能優(yōu)異,大大提高了51單片機的性能,性價比極高。常用的STC89系列單片機型號及其主要技術(shù)指標(biāo)如表1-4所示。表1-4STC89系列單片機型號及其主要技術(shù)指標(biāo)
STC89系列單片機具有ISP/IAP功能,無需專用編程器,也無需將單片機從目標(biāo)板取下,即可通過PC串口對單片機進行編程。
2.51單片機應(yīng)用
51單片機廣泛應(yīng)用于儀器儀表、家用電器、醫(yī)用設(shè)備、航空航天、專用設(shè)備的智能化管理及過程控制等領(lǐng)域,大致可分如下幾個范疇。
1)在智能儀器儀表上的應(yīng)用單片機具有體積小、功耗低、控制功能強、擴展靈活、微型化和使用方便等優(yōu)點,廣泛應(yīng)用于儀器儀表中。它結(jié)合不同類型的傳感器,可實現(xiàn)諸如電壓、功率、頻率、濕度、溫度、流量、速度、厚度、角度、長度、硬度、元素、壓力等物理量的測量。采用單片機控制使得儀器儀表數(shù)字化、智能化、微型化,例如精密的測量設(shè)備(功率計、示波器、各種分析儀等)。
2)在工業(yè)控制中的應(yīng)用用單片機可以構(gòu)成形式多樣的控制系統(tǒng)和數(shù)據(jù)采集系統(tǒng)。例如工廠流水線的智能化管理、電梯智能化控制、各種報警系統(tǒng),以及與計算機聯(lián)網(wǎng)構(gòu)成二級控制系統(tǒng)等。
3)在家用電器中的應(yīng)用現(xiàn)在的家用電器基本上都采用單片機控制,從電飯煲到洗衣機、電冰箱、空調(diào)、彩電、音響視頻器材、電子秤量設(shè)備,無所不在。
4)在計算機網(wǎng)絡(luò)和通信領(lǐng)域中的應(yīng)用現(xiàn)代單片機普遍具備通信接口,可以很方便地與計算機進行數(shù)據(jù)通信,為計算機網(wǎng)絡(luò)和通信設(shè)備間的應(yīng)用提供了極好的物質(zhì)條件。現(xiàn)在的通信設(shè)備基本上都實現(xiàn)了單片機智能控制,從手機、電話機、小型程控交換機、樓宇自動通信呼叫系統(tǒng)、列車無線通信,再到日常工作中隨處可見的移動電話、集群移動通信、無線電對講機等。
5)在醫(yī)用設(shè)備領(lǐng)域中的應(yīng)用單片機在醫(yī)用設(shè)備中的用途亦相當(dāng)廣泛,例如醫(yī)用呼吸機、各種分析儀、監(jiān)護儀、超聲診斷設(shè)備及病床呼叫系統(tǒng)等。
6)在各種大型電路中的模塊化應(yīng)用某些專用單片機用于實現(xiàn)特定功能,以便在各種電路中進行模塊化應(yīng)用。如音樂集成單片機可將音樂信號以數(shù)字的形式存于存儲器中(類似于ROM),由微控制器讀出,轉(zhuǎn)化為模擬音樂電信號(類似于聲卡)。
在大型電路中,這種模塊化應(yīng)用極大地縮小了體積,簡化了電路,降低了損壞、錯誤率,也方便更換。
7)在汽車設(shè)備領(lǐng)域中的應(yīng)用單片機在汽車電子中的應(yīng)用也非常廣泛,例如汽車發(fā)動機控制器、基于CAN總線的汽車發(fā)動機智能電子控制器、GPS導(dǎo)航系統(tǒng)、ABS防抱死系統(tǒng)、制動系統(tǒng)等。此外,單片機在工商、金融、科研、教育、國防航空航天等領(lǐng)域都有著十分廣泛的用途。
任務(wù)2了解單片機開發(fā)系統(tǒng)單片機是指把一個計算機系統(tǒng)集成到一個芯片上。其應(yīng)用系統(tǒng)必須由硬件和軟件兩部分組成,二者相互依賴,缺一不可。硬件是應(yīng)用系統(tǒng)的基礎(chǔ),軟件在硬件的基礎(chǔ)上,對其資源進行合理調(diào)配和使用,使其按一定順序完成各種時序、運算或動作,從而實現(xiàn)應(yīng)用系統(tǒng)所要求的任務(wù)。單片機應(yīng)用系統(tǒng)設(shè)計人員必須從硬件結(jié)構(gòu)和軟件設(shè)計兩個角度來深入了解單片機,將二者有機結(jié)合起來,才能開發(fā)出具有特定功能的單片機應(yīng)用系統(tǒng)。
典型的單片機系統(tǒng)開發(fā)環(huán)境如圖1-1所示,一般先由計算機、通信電纜、仿真器、仿真電纜以及用戶目標(biāo)系統(tǒng)進行仿真調(diào)試,調(diào)試成功之后,通過專用的編程器把程序下載到目標(biāo)系統(tǒng)的CPU,然后再進行脫機調(diào)試。單片機在執(zhí)行程序時人工是無法控制的,為了能調(diào)試程序,檢查硬件及軟件的運行狀態(tài),需借助單片機仿真器模擬用戶實際的單片機,并且能隨時觀察運行的中間過程,而不改變性能和結(jié)果,從而模擬現(xiàn)場的真實情況;因此需要配備仿真器和專用的編程器,花費比較高。在教學(xué)上,多采用此開發(fā)環(huán)境。圖1-1典型的單片機系統(tǒng)開發(fā)環(huán)境
1.認(rèn)識仿真器、編程器和KeilC51開發(fā)環(huán)境
1)仿真器硬件仿真器是比較專業(yè)的單片機開發(fā)調(diào)試工具,如圖1-2所示,用于開發(fā)調(diào)試單片機程序。比如某程序有100行,代表了10個驅(qū)動硬件的動作,可以將仿真器連接到目標(biāo)板(實驗板),讓仿真器代替單片機芯片,然后讓編寫的源程序在仿真器內(nèi)部運行,讓這10個動作一個個地執(zhí)行,此時不但能夠看到程序驅(qū)動硬件的直接效果,同時還能在電腦上直接觀察到在執(zhí)行這10個動作的過程中,單片機內(nèi)部的各單元的狀態(tài),即可以細(xì)致地分析一下整個程序在硬件中的具體工作過程。這樣就可以了解程序中是否有問題存在,能夠幫助開發(fā)人員快速發(fā)現(xiàn)程序的錯誤之處,所以叫做硬件仿真。硬件仿真功能非常強大,能夠極大地提高單片機開發(fā)效率,縮短系統(tǒng)的開發(fā)調(diào)試時間等。圖1-2仿真器
2)編程器編程器也稱燒錄器,實際上是在可編程的集成電路上寫數(shù)據(jù)的工具,如圖1-3所示。編程器主要用于單片機(含嵌入式)/存儲器(含BIOS)之類芯片的編程(或稱刷寫),在功能上可分專用編程器和通用編程器。專用編程器價格低,適用芯片種類較少,適合于某一種或者某一類專用芯片編程的需要,例如僅適用于51系列單片機的編程器。全功能通用編程器適合多種芯片的編程,但由于設(shè)計麻煩,成本較高,限制了銷量,最終售價極高。圖1-3編程器
3)?KeilC51軟件開發(fā)環(huán)境
KeilC51軟件開發(fā)環(huán)境是目前功能最強、應(yīng)用最廣泛的51單片機集成開發(fā)環(huán)境(IDE)之一,該系統(tǒng)支持C51、ASM及混合編程,適合每個階段的開發(fā)人員,不管是專業(yè)的應(yīng)用工程師,還是剛學(xué)習(xí)嵌入式軟件開發(fā)的學(xué)生。
2.單片機開發(fā)過程單片機的開發(fā)大致有以下幾個步驟。第一步,通過軟件編譯平臺開始編寫試驗程序(源程序)。這就好比寫文章要有筆和紙一樣,最常用的單片機開發(fā)軟件是Keil集成開發(fā)軟件平臺,開發(fā)人員可以在Keil開發(fā)軟件中編寫源程序,比如點亮一個發(fā)光二極管、流水燈控制、驅(qū)動繼電器、數(shù)碼管顯示、DS18B20測溫程序等。源程序既可以用51匯編語言編寫,也可以用C語言編寫,完成源程序編輯后,就可利用Keil將源程序編譯成能夠在單片機內(nèi)部運行的目標(biāo)程序*.HEX(即由0和1構(gòu)成的機器碼)。開發(fā)人員能看懂編寫的*.ASM(或*.C)源程序,但是單片機不能讀懂,單片機只懂由0和1構(gòu)成的機器碼,因此需要把源程序通過Keil編譯器編譯成單片機能運行的*.HEX格式,即單片機目標(biāo)程序文件(機器碼)。
第二步,利用仿真器對源程序進行仿真調(diào)試。仿真的目的是檢查源程序是否有錯誤,看是否能實現(xiàn)預(yù)定的開發(fā)實驗?zāi)繕?biāo),以幫助快速調(diào)試程序。其實仿真是單片機的一個綜合開發(fā)過程,其中穿插了編輯、編譯、仿真調(diào)試等各項工作,是一個非常重要的過程,使用單片機仿真器,有助于了解單片機的開發(fā)過程。
單片機在體系結(jié)構(gòu)上與PC機是完全相同的,也包括中央處理器,輸入、輸出接口,存儲器等基本單元。它與PC機等設(shè)備的軟件結(jié)構(gòu)也是類似的,因而單片機在軟件開發(fā)的過程中也需要對軟件進行調(diào)試,觀察其中間結(jié)果,排除軟件中存在的問題。但是由于單片機的應(yīng)用場合問題,它不具備標(biāo)準(zhǔn)的輸入輸出裝置,同時受存儲空間限制,也難以容納用于調(diào)試程序的專用軟件,因此要對單片機軟件進行調(diào)試,可以使用單片機仿真器。單片機仿真器具有基本的輸入輸出裝置和支持程序調(diào)試的軟件,使得單片機開發(fā)人員可以通過單片機仿真器輸入和修改程序,觀察程序運行結(jié)果與中間值,同時對與單片機配套的硬件進行檢測與觀察,提高單片機的編程效率和效果。第三步,自制或購買一個單片機編程器(單片機程序燒寫器),將目標(biāo)程序文件(機器碼)寫入單片機內(nèi)部。編程器的作用是把編譯好的*.HEX格式單片機目標(biāo)文件(機器碼)寫入到單片機內(nèi)部的程序存儲器中,這個設(shè)備的作用就好比給一個沒有記憶的人灌輸記憶。當(dāng)源程序經(jīng)過仿真調(diào)試沒有錯誤后,就可以用編程器將*.HEX目標(biāo)程序燒寫到單片機內(nèi)部。通過程序的寫入,單片機就被灌輸了設(shè)計思想或者是某種控制流程,比如流水燈程序、溫度測試程序、數(shù)據(jù)采集程序等。編程器只是一種寫入工具,而源程序還是要由開發(fā)人員來編寫和創(chuàng)造。
第四步,將燒寫好的單片機插到實驗板上,通電后讓單片機在實驗板上運行程序,就可以看到最終的程序效果。單片機實驗板可以自制或者購買成品,它的作用是驗證最終的硬件驅(qū)動效果,這就好比把一個已經(jīng)灌輸了設(shè)計思想的單片機連上軀體和四肢,檢查這個完整的、已經(jīng)具備了“頭腦?+?思想?+?四肢”的設(shè)備是不是能真的動起來,是否與設(shè)計的程序完全一致?如果不一致就說明給它設(shè)計的“思想”可能存在問題,此時就需要用編程器中的“擦除”操作給單片機“洗腦”,修改程序后再次寫入并查看實驗結(jié)果。如編寫了一個單片機流水燈程序,用什么來驗證它是否可以真正地驅(qū)動發(fā)光二極管“流”起來呢?答案就是使用單片機實驗板。
1.2項目基本知識
知識點1了解51單片機外部引腳
51單片機常用的封裝有DIP-40雙列直插式封裝和PQFP-44貼片封裝,如圖1-4和圖1-5所示,芯片的實物圖如圖1-6和圖1-7所示。圖1-4DIP-40雙列直插式封裝圖1-5PQFP-44貼片封裝
圖1-651單片機DIP-40實物圖圖1-751單片機PQFP-44實物圖
1.信號引腳介紹(以DIP-40雙列直插式封裝為例)
8051引腳介紹如表1-5所示。表1-58051引腳介紹
對控制引腳進行如下說明:
(1)?ALE:系統(tǒng)擴展時,P0口是8位數(shù)據(jù)線和低8位地址線復(fù)用引腳,ALE用于把P0口輸出的低8位地址鎖存起來,以實現(xiàn)低8位地址和數(shù)據(jù)的隔離。由于ALE引腳以晶振1/6固定頻率輸出正脈沖,因此它可作為外部時鐘或外部定時脈沖使用。
(2)?:有效(低電平)時,可實現(xiàn)對外部ROM單元的讀操作。
(3)?:當(dāng)信號為低電平時,對ROM的讀操作限定在外部程序存儲器;而當(dāng)信號為高電平時,對ROM的讀操作是從內(nèi)部程序存儲器開始,并可延至外部程序存儲器。若不擴展外部程序存儲器,只使用內(nèi)部程序存儲器,該引腳與+5V連接。
(4)?RST:當(dāng)輸入的復(fù)位信號延續(xù)兩個機器周期以上的高電平時即為有效,用以完成單片機的復(fù)位初始化操作。
(5)?XTAL1和XTAL2:外接晶體引線端。當(dāng)使用芯片內(nèi)部時鐘時,兩引腳用于外接石英晶體和微調(diào)電容;當(dāng)使用外部時鐘時,用于連接外部時鐘脈沖信號。在進行單片機應(yīng)用系統(tǒng)設(shè)計時,除電源和地引腳外,以下引腳信號必須連接相應(yīng)電路:
(1)單片機最小系統(tǒng)電路。復(fù)位信號RST一定要連接復(fù)位電路,外接晶體引線端XTAL1和XTAL2必須連接時鐘電路,這兩部分是單片機能夠工作所必需的電路。
(2)引腳。隨著技術(shù)的發(fā)展,單片機芯片內(nèi)部的程序存儲器空間越來越大,因此,用戶程序一般都固化在單片機內(nèi)部程序存儲器中,此時引腳應(yīng)接高電平。
2.信號引腳的第二功能由于工藝及標(biāo)準(zhǔn)化等原因,芯片的引腳數(shù)目是有限的,為了滿足實際需要,部分信號引腳被賦以雙重功能,即第一功能和第二功能。最常用的是8條P3口線所提供的第二功能,如表1-6所示。表1-6P3口各引腳與第二功能表
對于51單片機其他型號的芯片,P3口引腳的第一功能是相同的,所不同的是引腳的第二功能。需要注意的是,P3口的第二功能信號都是單片機的重要控制信號。因此,在實際使用時,一般先選用第二功能,剩下的才作輸入輸出使用。知識點251單片機內(nèi)部組成
單片機的內(nèi)部組成如圖1-8所示。圖1-8單片機的內(nèi)部組成
51系列單片機芯片除了程序存儲器結(jié)構(gòu)不同外,其內(nèi)部結(jié)構(gòu)完全相同,引腳完全兼容。這里以8051為例介紹51系列單片機的內(nèi)部組成及信號引腳。8051單片機的內(nèi)部組成框圖如圖1-9所示。圖1-951單片機的內(nèi)部組成框圖
1.中央處理器CPU(CentralProcessingUnit)中央處理器是單片機的控制核心,完成運算和控制功能,由運算器和控制器組成。運算器包括一個8位算術(shù)邏輯單元(ArithmeticLogicalUnit,簡稱ALU)、8位累加器(Accumulator,簡稱ACC)、8位暫存器、寄存器B和程序狀態(tài)寄存器(ProgramStatusWord,簡稱PSW)等??刂破靼ǔ绦蛴嫈?shù)器(ProgramCounter,簡稱PC)、指令寄存器(InstructionRegister,簡稱IR)、指令譯碼器(InstructionDecoder,簡稱ID)和控制電路等。2.內(nèi)部數(shù)據(jù)存儲器RAM(RandomAccessMemory)
8051內(nèi)部共有256個RAM單元,其中高128單元被專用寄存器占用,低128單元供用戶使用,可讀可寫,掉電后數(shù)據(jù)丟失,用于暫存中間數(shù)據(jù)。通常所說的內(nèi)部數(shù)據(jù)存儲器就是指低128單元。
3.內(nèi)部程序存儲器ROM(ReadOnlyMemory)
8051內(nèi)部共有4KB掩膜ROM,只能讀不能寫,掉電后數(shù)據(jù)不會丟失,用于存放程序或程序運行過程中不會改變的原始數(shù)據(jù),通常稱為程序存儲器。
4.并行I/O(Input/Output)口
8051內(nèi)部有四個8位并行I/O接口(稱為P0、P1、P2和P3),可以實現(xiàn)數(shù)據(jù)的并行輸入輸出。
5.串行口
8051內(nèi)部有一個全雙工異步串行口,可以實現(xiàn)單片機與其他設(shè)備之間的串行數(shù)據(jù)通信。該串行口既可作為全雙工異步通信收發(fā)器使用,也可作為同步移位器使用,擴展外部I/O口。
6.定時/計數(shù)器
8051內(nèi)部有兩個16位的定時/計數(shù)器,可實現(xiàn)定時或計數(shù)功能,并以其定時或計數(shù)結(jié)果對計算機進行控制。
7.中斷系統(tǒng)
8051內(nèi)部共有五個中斷源,分為高級和低級兩個優(yōu)先級別。
8.時鐘電路
8051內(nèi)部有時鐘電路,只需外接石英晶體和微調(diào)電容即可。晶振頻率通常選擇6MHz、12MHz或11.0592MHz。
單片機在一個芯片內(nèi)包含了微型計算機應(yīng)該具有的基本部件,因此它本身就是一個簡單的微型計算機系統(tǒng)。知識點351單片機的存儲器介紹本知識點以8051為代表來說明51系列單片機存儲器的結(jié)構(gòu)。8051存儲器主要有四個物理存儲空間,即片內(nèi)數(shù)據(jù)存儲器、片外數(shù)據(jù)存儲器、片內(nèi)程序存儲器和片外程序存儲器(程序存儲器合稱為CODE區(qū)),如圖1-10所示。圖1-1051系列單片機存儲器的結(jié)構(gòu)
1.片內(nèi)數(shù)據(jù)存儲器
8051的內(nèi)部RAM共有256個單元,通常把這256個單元按其功能劃分為兩部分:低128單元(單元地址為00H~7FH)和高128單元(單元地址為80H~FFH)。
1)內(nèi)部數(shù)據(jù)存儲器低128單元片內(nèi)RAM的低128單元用于存放程序執(zhí)行過程中的各種變量和臨時數(shù)據(jù),稱為DATA區(qū),表1-7給出了低128單元的配置情況。表1-7片內(nèi)RAM的低128單元的配置
如表1-7所示,片內(nèi)RAM的低128單元是單片機真正的RAM存儲器,按其用途劃分為工作寄存器區(qū)、位尋址區(qū)和用戶RAM區(qū)三個區(qū)域。
(1)工作寄存器區(qū)。8051共有4組、每組包括8個(編號為R0~R7)共計32個寄存器,用來存放操作數(shù)及中間結(jié)果等,稱為通用寄存器或工作寄存器,4組通用寄存器占據(jù)內(nèi)部RAM的00H~1FH單元地址。
在任一時刻,CPU只能使用其中的一組寄存器,并且把正在使用的那組寄存器稱為當(dāng)前寄存器組。當(dāng)前工作寄存器到底是哪一組,由程序狀態(tài)字寄存器PSW中RS1和RS0位的狀態(tài)組合來決定。
(2)位尋址區(qū)。內(nèi)部RAM的20H~2FH單元,既可作為一般RAM單元使用,進行字節(jié)操作,也可以對單元中每一位進行位操作,因此把該區(qū)稱為位尋址區(qū)。位尋址區(qū)共有16個RAM單元,共計128位,相應(yīng)的位地址為00H~7FH。表1-8為片內(nèi)RAM位尋址區(qū)的位地址表,其中MSB表示高位,LSB表示低位。表1-8片內(nèi)RAM位尋址區(qū)的位地址表
(3)用戶RAM區(qū)。在內(nèi)部RAM的低128單元中,除了工作寄存器區(qū)(占32個單元)和位尋址區(qū)(占16個單元),還剩下的80個單元(單元地址為30H~7FH)是供用戶使用的一般RAM區(qū)。對用戶RAM區(qū)的使用沒有任何規(guī)定或限制,但在一般應(yīng)用中常把堆棧開辟在此區(qū)中。
2)內(nèi)部數(shù)據(jù)存儲器高128單元內(nèi)部RAM的高128單元地址為80H~FFH,是供給專用寄存器SFR(SpecialFunctionRegister,也稱為特殊功能寄存器)使用的。表1-9給出了專用寄存器地址表。表1-9專用寄存器地址表
下面對幾個常用的專用寄存器功能進行簡單說明。
(1)程序計數(shù)器PC—ProgramCounter。PC是一個16位的計數(shù)器,其內(nèi)容為下一條將要執(zhí)行指令的地址,尋址范圍為64KB。PC有自動加1功能,從而控制程序的執(zhí)行順序。PC沒有地址,是不可尋址的,因此用戶無法對它進行讀寫操作,但可以通過轉(zhuǎn)移、調(diào)用、返回等指令改變其內(nèi)容,以實現(xiàn)程序的轉(zhuǎn)移。
(2)累加器ACC—Accumulator。累加器為8位寄存器,是最常用的專用寄存器。它既可用于存放操作數(shù),也可用來存放運算的中間結(jié)果。
(3)程序狀態(tài)字PSW—ProgramStatusWord。程序狀態(tài)字是一個8位寄存器,用于存放程序運行中的各種狀態(tài)信息,其中有些位的狀態(tài)是根據(jù)程序執(zhí)行結(jié)果,由硬件自動設(shè)置的;有些位的狀態(tài)則用軟件方法設(shè)定。PSW的各位定義如表1-10所示。表1-10PSW位定義①?CY(PSW.7):進位標(biāo)志位。存放算術(shù)運算的進位標(biāo)志,在進行加或減運算時,如果操作結(jié)果最高位有進位或借位,則CY由硬件置“1”,否則被清“0”。②?AC(PSW.6):輔助進位標(biāo)志位。在進行加或減運算中,若低4位向高4位進位或借位,AC由硬件置“1”,否則被清“0”。
③?F0(PSW.5):用戶標(biāo)志位。供用戶定義的標(biāo)志位,需要利用軟件方法置位或復(fù)位。④?RS1和RS0(PSW.4和PSW.3):工作寄存器組選擇位,用于選擇CPU當(dāng)前使用的工作寄存器組。工作寄存器共有四組,其對應(yīng)關(guān)系如表1-11所示。單片機上電或復(fù)位后,RS1RS0=00。表1-11工作寄存器組對應(yīng)關(guān)系
⑤?OV(PSW.2):溢出標(biāo)志位。在帶符號數(shù)的加減運算中,OV=1表示加減運算超出了累加器A所能表示的帶符號數(shù)的有效范圍(-128~+127),即產(chǎn)生了溢出,因此運算結(jié)果是錯誤的;OV=0表示運算正確,即無溢出產(chǎn)生。⑥?F1(PSW.1):保留未使用。⑦?P(PSW.0):奇偶標(biāo)志位。P標(biāo)志位表明累加器ACC中內(nèi)容的奇偶性,如果ACC中有奇數(shù)個“1”,則P置“1”,否則清“0”。
(4)堆棧指針寄存器SP—StackPointer。先來理解堆棧的含義,就像倉庫里堆貨物,一般是先進去的后出來,而后進去的先出來,這種符合“先進后出,后進先出”存放規(guī)則的現(xiàn)象稱為“堆?!薄T趩纹瑱C內(nèi)部RAM中構(gòu)造出這樣一個區(qū)域,這個區(qū)域存放數(shù)據(jù)的規(guī)則就符合堆棧中“先進后出,后進先出”的原則。
堆棧共有兩種操作:進棧和出棧。堆棧指針SP為8位特殊功能寄存器,SP的內(nèi)容可指向單片機片內(nèi)00H~7FHRAM的任何單元。系統(tǒng)復(fù)位后,SP的內(nèi)容為07H,即指向片內(nèi)RAM07H單元。以上簡單介紹了四個專用寄存器,其余的專用寄存器(如TCON、TMOD、IE、IP、SCON、PCON、SBUF等)將在以后章節(jié)中陸續(xù)介紹。
2.片外數(shù)據(jù)存儲器
8051單片機最多可擴充64KB的片外數(shù)據(jù)存儲器(片外RAM)。片外數(shù)據(jù)存儲器可以根據(jù)需要進行擴展。當(dāng)需要擴展存儲器時,低8位地址A7~A0和8位數(shù)據(jù)D7~D0由P0口分時傳送,高8位地址A15~A8由P2口傳送。因此,只有在沒有擴展片外存儲器的系統(tǒng)中,P0口和P2口的每一位才可作為雙向I/O端口使用。
3.程序存儲器
51系列單片機的程序存儲器用來存放編好的程序和程序執(zhí)行過程中不會改變的原始數(shù)據(jù),其結(jié)構(gòu)如圖1-11所示。圖1-118051程序存儲器結(jié)構(gòu)
8051片內(nèi)有4KB的FEPROM。
51系列單片機片外最多能擴展64KB程序存儲器,片內(nèi)外的ROM是統(tǒng)一編址的。如保持高電平,8051的程序計數(shù)器PC在0000H~0FFFH地址范圍內(nèi)(即前4KB地址),則執(zhí)行片內(nèi)ROM中的程序;如PC在1000H~FFFFH地址范圍時,則自動執(zhí)行片外程序存儲器中的程序;如保持低電平時,則只能尋址外部程序存儲器,片外存儲器可以從0000H開始編址。
程序存儲器中有一組特殊單元0000H~0002H。系統(tǒng)復(fù)位后,PC=0000H,表示單片機從0000H單元開始執(zhí)行程序。還有一組特殊單元0003H~002AH,共40個單元。這40個單元被均勻地分為五段,作為五個中斷源的中斷程序入口地址區(qū)。其中,
0003H~000AH:外部中斷0中斷地址區(qū);
000BH~0012H:定時器/計數(shù)器0中斷地址區(qū);
0013H~001AH:外部中斷1中斷地址區(qū);
001BH~0022H:定時器/計數(shù)器1中斷地址區(qū);
0023H~002AH:串行中斷地址區(qū)。1.3技能拓展
任務(wù)3自制單片機程序下載工具隨著單片機的小型化、貼片化和具有ISP、IAP等功能的單片機的廣泛應(yīng)用,傳統(tǒng)單片機仿真器和編程器的應(yīng)用范圍已有所縮小,具有在線燒寫功能的單片機成為首選,比如國產(chǎn)的宏晶STC系列51單片機,大部分具有在系統(tǒng)可編程(ISP)特性。ISP的好處是不用購買通用編程器,單片機在用戶系統(tǒng)上即可下載/燒錄用戶程序,且無需將單片機從已生產(chǎn)好的產(chǎn)品上拆下,再用通用編程器將程序代碼燒錄進單片機內(nèi)部。有些程序尚未定型的產(chǎn)品可以一邊生產(chǎn),一邊完善,加快了產(chǎn)品進入市場的速度,減小了新產(chǎn)品由于軟件缺陷帶來的風(fēng)險。由于可以將程序直接下載到單片機并查看運行結(jié)果,故也可以不用仿真器。
大部分STC系列單片機內(nèi)部固化有ISP系統(tǒng)引導(dǎo)程序,配合PC端的控制程序即可將用戶的程序代碼下載進單片機內(nèi)部,故無需編程器(速度比通用編程器快)。不要用通用編程器編程,否則有可能將單片機內(nèi)部已固化的ISP系統(tǒng)引導(dǎo)程序擦除,造成無法使用STC軟件下載用戶的程序代碼的后果。
下面介紹兩種下載電路,用戶可以按照此電路搭建應(yīng)用電路。第一種普通串口方式:電路中的MAX232電平轉(zhuǎn)換芯片外接四個電容,有電壓泵的作用,可以將輸出電位差拉高,與接口RS232電平相符合。雙機通信也可通過此接口,加長連接距離,如圖1-12所示。制作的下載器(RS-232轉(zhuǎn)換器)如圖1-13所示。圖1-12STC單片機普通串口程序燒寫電路圖1-13RS-232轉(zhuǎn)換器
第二種USB轉(zhuǎn)串口方式:目前的新款電腦基本上去掉了普通串口,采用USB轉(zhuǎn)串口方式,可以很好地解決這個問題,具體可選用性價比很高的PL2303HX芯片實現(xiàn)USB到串口的轉(zhuǎn)換。使用方法是:模塊的一端接電腦的USB接口,另一端TTLTX、RX輸出直接接單片機的P3.0、P3.1接口,安裝芯片的驅(qū)動程序,在電腦上虛擬出一個串口,這個串口跟普通串口一樣使用,如圖1-14所示,下載STC單片機USB轉(zhuǎn)串口程序燒寫,其電路如圖1-15所示。圖1-14USB轉(zhuǎn)串口對應(yīng)的串口號圖1-15STC單片機USB轉(zhuǎn)串口程序燒寫電路
獲得STC提供的ISP下載工具(軟件)的方法是:登錄
網(wǎng)站,從STC半導(dǎo)體專欄下載PC(電腦)端的ISP程序,然后將其自解壓,再安裝即可(執(zhí)行setup.exe),注意隨時更新軟件;也可以用本書光盤里提供的軟件。
問1:單片機的應(yīng)用方面應(yīng)注重哪幾個方面的學(xué)習(xí)?答:學(xué)習(xí)的過程基本上可分三個階段:第一階段是瀏覽教科書里的硬件部分,了解單片機的硬件結(jié)構(gòu);第二階段是了解二進制數(shù)、十六進制數(shù)和軟件方面的內(nèi)容;第三階段是做實驗,學(xué)習(xí)掌握單片機的匯編語言指令系統(tǒng)和簡單編程。1.4互動環(huán)節(jié)
問2:為什么說單片機在應(yīng)用方面是一般計算機無法替代的?答:僅從體積方面來說,單片機要比一般計算機小許多,因此,單片機可以做成非常小的、功能比較完善的單片機系統(tǒng)置入其中,以實現(xiàn)各種方式的檢測、監(jiān)視、計算或控制。
問3:單片機在工業(yè)方面有哪些主要應(yīng)用?答:單片機在工業(yè)方面的主要應(yīng)用有工業(yè)過程控制、集散控制、智能控制、智能儀表、智能管理、集中管理、企業(yè)管理、設(shè)備控制、數(shù)據(jù)采集、數(shù)據(jù)傳輸、局域網(wǎng)絡(luò)、網(wǎng)絡(luò)控制、信息管理、無紙化辦公、無人操作、辦公自動化、機器人、機械手、測試、測量、監(jiān)視、監(jiān)控、分析、判斷、運算等。
問4:什么是ISP和IAP?答:ISP是InSystemProgramming的縮寫,意思是在系統(tǒng)編程,指在電路板上編程并寫入最終用戶代碼,而不需要從電路上取下元器件,已經(jīng)編程的器件也可以用ISP方式擦除或再編程,這樣,可以減小頻繁插拔芯片所帶來的不便。比如,通過計算機給STC89C51單片機下載程序,或者給AT89S51單片機下載程序,就是利用了ISP技術(shù)。
IAP是InApplicationProgramming的縮寫,意思是在應(yīng)用編程,指單片機可以在系統(tǒng)中獲取新代碼,并對自己重新編程,即可用程序來改變程序。IAP的實現(xiàn)相對要復(fù)雜一些,在實現(xiàn)IAP功能時,單片機的程序存儲器分為兩塊存儲區(qū),其中一塊被稱為BootROM區(qū),另一塊稱為用戶程序存儲區(qū)。單片機上電時運行在BootROM區(qū),如果滿足外部改寫程序的條件,則對用戶
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版環(huán)保能源項目授權(quán)委托合同樣本3篇
- 微機原理廣告牌課程設(shè)計
- 電子生詞庫課程設(shè)計
- 礦山通風(fēng)除塵課程設(shè)計
- 直擊核心課程設(shè)計
- 自動線小車課程設(shè)計
- 2025版礦產(chǎn)產(chǎn)品供應(yīng)鏈金融服務(wù)合作協(xié)議3篇
- 2025版果園租賃與農(nóng)業(yè)生態(tài)環(huán)境保護合同
- 二零二五年度企業(yè)信用擔(dān)保借款續(xù)借合同模板3篇
- 2025版珠寶行業(yè)電子商務(wù)平臺建設(shè)合同2篇
- 熱電公司入廠煤的驗收、采、制、封存送遞企業(yè)標(biāo)準(zhǔn)
- 2023年泰安市泰山城建集團有限公司招聘筆試題庫及答案解析
- 分布式光伏發(fā)電項目建議書
- 高中化學(xué)必修1思維導(dǎo)圖(Word版zj)
- 2022年體育老師個人年終工作總結(jié)
- GB 18613-2020 電動機能效限定值及能效等級
- 指導(dǎo)小學(xué)生課外閱讀案例
- 全國婦聯(lián)統(tǒng)計軟件
- 【高中化學(xué)校本課程】《生活中的化學(xué)》校本教材
- 水資源管理培訓(xùn)材料課件
- 促銷活動方案(共29頁).ppt
評論
0/150
提交評論