單片機(jī)項(xiàng)目實(shí)踐教程劉燎原-項(xiàng)目一點(diǎn)亮LED_第1頁
單片機(jī)項(xiàng)目實(shí)踐教程劉燎原-項(xiàng)目一點(diǎn)亮LED_第2頁
單片機(jī)項(xiàng)目實(shí)踐教程劉燎原-項(xiàng)目一點(diǎn)亮LED_第3頁
單片機(jī)項(xiàng)目實(shí)踐教程劉燎原-項(xiàng)目一點(diǎn)亮LED_第4頁
單片機(jī)項(xiàng)目實(shí)踐教程劉燎原-項(xiàng)目一點(diǎn)亮LED_第5頁
已閱讀5頁,還剩123頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、 微控制器系統(tǒng)設(shè)計(jì)與應(yīng)用微控制器系統(tǒng)設(shè)計(jì)與應(yīng)用 (單片機(jī)原理及應(yīng)用)(單片機(jī)原理及應(yīng)用) 劉燎原劉燎原機(jī)電工程學(xué)院機(jī)電工程學(xué)院 江蘇建筑職業(yè)技術(shù)學(xué)院江蘇建筑職業(yè)技術(shù)學(xué)院標(biāo)題標(biāo)題單片機(jī)原理及應(yīng)用單片機(jī)原理及應(yīng)用硬硬件件基基礎(chǔ)礎(chǔ)軟軟件件基基礎(chǔ)礎(chǔ)電路電路模擬電子線路模擬電子線路數(shù)字電路數(shù)字電路匯編語言匯編語言先修課程先修課程智能儀器智能儀器嵌入式系統(tǒng)設(shè)嵌入式系統(tǒng)設(shè)計(jì)計(jì)畢業(yè)設(shè)計(jì)畢業(yè)設(shè)計(jì)后修課程后修課程6一、本課程前后銜接介紹一、本課程前后銜接介紹電路的分析設(shè)計(jì)電路的分析設(shè)計(jì)方法方法單片機(jī)硬件電路單片機(jī)硬件電路設(shè)計(jì)與編程能力設(shè)計(jì)與編程能力相關(guān)軟件手段相關(guān)軟件手段1.1.一種一種C51C51語言語言2.2

2、.單片機(jī)各種接口技術(shù)及單片機(jī)各種接口技術(shù)及編程編程C語言程序設(shè)計(jì)語言程序設(shè)計(jì)二、教學(xué)內(nèi)容(項(xiàng)目教學(xué))二、教學(xué)內(nèi)容(項(xiàng)目教學(xué)) 教學(xué)方法改革教學(xué)方法改革點(diǎn)亮LED1流水燈2手動(dòng)計(jì)數(shù)器3倒計(jì)時(shí)4數(shù)字電壓計(jì)5數(shù)字溫度計(jì)6簡(jiǎn)易波形發(fā)生器7玩具小車調(diào)速(選學(xué))8串行通信9三、本門課教學(xué)目標(biāo)三、本門課教學(xué)目標(biāo) u理論理論 硬件硬件:?jiǎn)纹瑱C(jī)的內(nèi)部結(jié)構(gòu)、定時(shí):?jiǎn)纹瑱C(jī)的內(nèi)部結(jié)構(gòu)、定時(shí)/ /計(jì)數(shù)器、中斷系統(tǒng)、計(jì)數(shù)器、中斷系統(tǒng)、串行通信、輸入輸出及接口技術(shù);串行通信、輸入輸出及接口技術(shù); 軟件軟件:C C語言程序設(shè)計(jì)語言程序設(shè)計(jì)u實(shí)踐實(shí)踐 會(huì)設(shè)計(jì)會(huì)設(shè)計(jì)簡(jiǎn)單單片機(jī)產(chǎn)品的電路簡(jiǎn)單單片機(jī)產(chǎn)品的電路 會(huì)完成會(huì)完成簡(jiǎn)單程序的

3、編寫簡(jiǎn)單程序的編寫 會(huì)使用會(huì)使用KEILC51、PROTEUS軟件軟件 會(huì)制作會(huì)制作產(chǎn)品以及進(jìn)行產(chǎn)品調(diào)試產(chǎn)品以及進(jìn)行產(chǎn)品調(diào)試 類比法類比法單片機(jī)單片機(jī)-人人四、本門課學(xué)習(xí)方法四、本門課學(xué)習(xí)方法良好習(xí)慣良好習(xí)慣多看看多看看多動(dòng)手多動(dòng)手 項(xiàng)目總結(jié)項(xiàng)目總結(jié)、習(xí)題、習(xí)題 任務(wù)描述任務(wù)描述點(diǎn)亮點(diǎn)亮LED 準(zhǔn)備知識(shí)準(zhǔn)備知識(shí) 項(xiàng)目實(shí)現(xiàn)項(xiàng)目實(shí)現(xiàn)(電路、編電路、編程、仿真)程、仿真) 項(xiàng)目一項(xiàng)目一 點(diǎn)亮點(diǎn)亮LEDLEDu項(xiàng)目引入項(xiàng)目引入u 在現(xiàn)代各種常用的電器中都有在現(xiàn)代各種常用的電器中都有LED燈的使用,要求燈的使用,要求LED按照一定按照一定的頻率閃爍,這實(shí)際上就是一個(gè)最簡(jiǎn)單的單片機(jī)控制電路。的頻率閃爍,這

4、實(shí)際上就是一個(gè)最簡(jiǎn)單的單片機(jī)控制電路。u 發(fā)光二極管發(fā)光二極管LED是一種最簡(jiǎn)單和常用的電子器件,如圖是一種最簡(jiǎn)單和常用的電子器件,如圖1-1所示,所示,我們單片機(jī)的學(xué)習(xí)就從點(diǎn)亮我們單片機(jī)的學(xué)習(xí)就從點(diǎn)亮LED燈開始。燈開始。u 本項(xiàng)目任務(wù)就是利用單片機(jī)驅(qū)動(dòng)本項(xiàng)目任務(wù)就是利用單片機(jī)驅(qū)動(dòng)LED電路,設(shè)計(jì)程序使其點(diǎn)亮或閃電路,設(shè)計(jì)程序使其點(diǎn)亮或閃爍。爍。 1.2 1.2 準(zhǔn)備知識(shí)準(zhǔn)備知識(shí) 1.2.1 1.2.1 認(rèn)識(shí)單片機(jī)認(rèn)識(shí)單片機(jī)單片機(jī)是什么?單片機(jī)是什么?u知識(shí)目標(biāo):知識(shí)目標(biāo):1.了解單片機(jī)的基本結(jié)構(gòu)了解單片機(jī)的基本結(jié)構(gòu)2.掌握單片機(jī)的數(shù)制掌握單片機(jī)的數(shù)制3.熟悉單片機(jī)最小系統(tǒng)的組成熟悉單片機(jī)最

5、小系統(tǒng)的組成u技能目標(biāo):技能目標(biāo):1.掌握單片機(jī)外部引腳和功能掌握單片機(jī)外部引腳和功能2.了解單片機(jī)開發(fā)工具了解單片機(jī)開發(fā)工具3.掌握掌握KEIL、PROTEUS的安裝和使用的安裝和使用為回答此問題,先講講什么是微型計(jì)算機(jī)。一、一、 單片機(jī)的基本概念單片機(jī)的基本概念(1 1)微型計(jì)算機(jī))微型計(jì)算機(jī)( (簡(jiǎn)稱微機(jī)簡(jiǎn)稱微機(jī)) ) 中央處理器(CPUCPU)、只讀存儲(chǔ)器(ROMROM)、隨機(jī)存取存儲(chǔ)器(RAMRAM)、輸入/輸出(I/OI/O)接口和其它外設(shè),其它外設(shè),依靠系統(tǒng)總線總線(地址、數(shù)據(jù)、控制)相連而形成的系統(tǒng)。微處理器隨機(jī)存儲(chǔ)器只讀存儲(chǔ)器數(shù)據(jù)總線地址總線控制總線輸入/輸出輸輸入入輸輸出出

6、設(shè)設(shè)備備電源電源(2 2)單片機(jī))單片機(jī): 隨著大規(guī)模集成電路技術(shù)的發(fā)展,構(gòu)成微型計(jì)算機(jī)的CPU、ROM、RAM、I/O接口等主要功能部件及總線都集成在同一塊芯片芯片上,成為單芯片的微型計(jì)算機(jī)(Single Chip MicoroComputer),簡(jiǎn)稱單片機(jī)(單片機(jī)單片機(jī))。 CPURAMROM中斷系統(tǒng)中斷系統(tǒng)串行口串行口并行口并行口定時(shí)計(jì)數(shù)器定時(shí)計(jì)數(shù)器振蕩電路振蕩電路 X1 X2 P0 P1 P2 P3 TXD RXD INT0 INT1T0 T1(3).(3).嵌入式系統(tǒng)嵌入式系統(tǒng)u一般由嵌入式微處理器、外圍硬件設(shè)備、嵌入式操作系統(tǒng)以及一般由嵌入式微處理器、外圍硬件設(shè)備、嵌入式操作系統(tǒng)以

7、及用戶的應(yīng)用程序等四個(gè)部分組成。用戶的應(yīng)用程序等四個(gè)部分組成。 u嵌入式系統(tǒng),其一個(gè)重要特征就是帶有嵌入式操作系統(tǒng),另一嵌入式系統(tǒng),其一個(gè)重要特征就是帶有嵌入式操作系統(tǒng),另一個(gè)就是它是個(gè)就是它是3232位或更高位系統(tǒng),一般的核心為位或更高位系統(tǒng),一般的核心為ARMARM、DSPDSP、FPGAFPGA等等 . .u單片機(jī)系統(tǒng)一般都是不帶操作系統(tǒng)和單片機(jī)系統(tǒng)一般都是不帶操作系統(tǒng)和8/168/16位核心,當(dāng)然也有位核心,當(dāng)然也有3232位或帶操作系統(tǒng)的,不過是少數(shù),其實(shí)位或帶操作系統(tǒng)的,不過是少數(shù),其實(shí)ARMARM就是單片機(jī)的進(jìn)一就是單片機(jī)的進(jìn)一步發(fā)展。步發(fā)展。 u 1975第一塊單片機(jī), 4位

8、u單片機(jī)經(jīng)歷了4位 8 位16位32 位機(jī)的各個(gè)階段。u目前應(yīng)用最廣的還是8位機(jī),占據(jù)單片機(jī)市場(chǎng)半數(shù)以上。u國(guó)內(nèi)應(yīng)用的主要型號(hào)有: INTEL公司:8031,8051 ATMEL公司: AT89系列(AT89S51), AVR單片機(jī)(ATMEGA48) 宏晶公司:STC12C5410AD MICROCHIP公司 : :PIC系列(PIC16F877) MOTOROLA公司:M68HC08系列(MC68HC908GP32)TI公司 :德州儀器,TMS370和MSP430系列,MSP430系列單片機(jī) 二、二、 單片機(jī)的發(fā)展單片機(jī)的發(fā)展(2) ROMROM和和RAMRAM分開分開。RAM只存放運(yùn)行中

9、的臨時(shí)數(shù)據(jù)、變量等。 ROM用來固化調(diào)試好的程序、常數(shù)、數(shù)據(jù)表格等,這樣,可使運(yùn)行可靠。即便掉電,也能確保程序、常數(shù)、數(shù)據(jù)表格等的安全。 除體積小,價(jià)格低,用途廣、靈活性強(qiáng)、可靠性高 等優(yōu)點(diǎn)外,還具有許多特點(diǎn)。(1) 。單片機(jī)是面向?qū)ο罂刂埔髞碓O(shè)計(jì)的。其結(jié)構(gòu)、功能和指令系統(tǒng)都突出了控制功能。故對(duì)外部信息能及時(shí)采集,對(duì)被控制對(duì)象能實(shí)時(shí)控制。三、三、 單片機(jī)的特點(diǎn)單片機(jī)的特點(diǎn)(3) 單片機(jī)資源具有廣泛的通用性單片機(jī)資源具有廣泛的通用性。同一種單片機(jī)可用于不同的應(yīng)用控制系統(tǒng)中。只要固化不同的應(yīng)用程序即可。(4) 易于擴(kuò)展易于擴(kuò)展ROM、RAM、定時(shí)、定時(shí)/計(jì)數(shù)器、中斷源等計(jì)數(shù)器、中斷源等。單片機(jī)的

10、資源(ROM、RAM、定時(shí)/計(jì)數(shù)器、中斷源等)一般能滿足應(yīng)用系統(tǒng)的要求。若應(yīng)用系統(tǒng)較大,單片機(jī)本身的資源可能不夠,就須擴(kuò)展資源。單片機(jī)有便于擴(kuò)展的三總線及其控制引腳。利用它們?nèi)菀讟?gòu)成各種規(guī)模的單片機(jī)系統(tǒng)和單片機(jī)應(yīng)用系統(tǒng)。同一個(gè)單片機(jī)程序1程序n功能系統(tǒng)1功能系統(tǒng)N(1)(1)智能儀器儀表智能儀器儀表 單片機(jī)的應(yīng)用提高了儀器儀表的使用功能和精度,使儀器儀表智能化,從而可以方便地完成儀器儀表產(chǎn)品的升級(jí)換代。如各種智能電氣測(cè)智能電氣測(cè)量?jī)x表、智能傳感器等量?jī)x表、智能傳感器等。單片機(jī)在國(guó)民經(jīng)濟(jì)各個(gè)領(lǐng)域中獲得了越來越廣泛的應(yīng)用?,F(xiàn)列舉以下幾個(gè)方面:四、四、 單片機(jī)的應(yīng)用單片機(jī)的應(yīng)用例如:智能電度表可用于

11、家用電器的功率、用電量及電費(fèi)的測(cè)量計(jì)算。(2)(2) 機(jī)電一體化機(jī)電一體化 機(jī)電一體化產(chǎn)品是集機(jī)械技術(shù)、微電子技術(shù)、自動(dòng)化技術(shù)和計(jì)算機(jī)技術(shù)于一體,具有智能化特征的各種機(jī)電產(chǎn)品。單片機(jī)在機(jī)電一體化產(chǎn)品的開發(fā)中正發(fā)揮巨大的作用。典型產(chǎn)品如機(jī)器人、數(shù)控機(jī)床、自動(dòng)包裝機(jī)、點(diǎn)鈔機(jī)、醫(yī)療設(shè)備、打印機(jī)、傳真機(jī)、復(fù)印機(jī)等。(3)(3) 實(shí)時(shí)工業(yè)控制實(shí)時(shí)工業(yè)控制 單片機(jī)還可以用于各種物理量的采集與控制。電流、電壓、溫度、液位、流量等物理參數(shù)的采集和控制均可以利用單片機(jī)方便地實(shí)現(xiàn)。在這類系統(tǒng)中,利用單片機(jī)作為系統(tǒng)控制器,可以根據(jù)被控對(duì)象的不同特征采用不同的智能算法,實(shí)現(xiàn)期望的控制指標(biāo),從而提高生產(chǎn)效率和產(chǎn)品質(zhì)量。

12、典型應(yīng)用如電機(jī)轉(zhuǎn)速控制、溫度控制、自動(dòng)生產(chǎn)線等控制、溫度控制、自動(dòng)生產(chǎn)線等 。分布式系統(tǒng)的前端模塊分布式系統(tǒng)的前端模塊 在較復(fù)雜的工業(yè)系統(tǒng)中,經(jīng)常要采用分布式測(cè)控系統(tǒng)完成大量的分布參數(shù)的采集。在這類系統(tǒng)中,采用單片機(jī)作為分布式系統(tǒng)的前端采集模塊,系統(tǒng)具有運(yùn)行可靠,數(shù)據(jù)采集方便靈活,成本低廉等一系列優(yōu)點(diǎn)。例如煤礦的溫度、濕度、瓦斯?jié)舛鹊刃畔⒉杉?5)(5) 智能家用電器智能家用電器 家用電器是單片機(jī)的又一重要應(yīng)用領(lǐng)域,前景十分廣闊。如空調(diào)器、電冰箱、洗衣機(jī)、電飯煲、高檔洗浴設(shè)備、高檔玩具等。 (6)(6) 智能軍用電子系統(tǒng)、醫(yī)療設(shè)備智能軍用電子系統(tǒng)、醫(yī)療設(shè)備 另外,在交通領(lǐng)域中,汽車、火車、飛

13、機(jī)、航天器等均有單片機(jī)的廣泛應(yīng)用。如汽車自動(dòng)駕駛系統(tǒng)、航天測(cè)控系統(tǒng)、黑匣子等 。五、五、5151單片機(jī)的分類單片機(jī)的分類 型 號(hào)制造技術(shù)片內(nèi)程序存儲(chǔ)器片內(nèi)數(shù)據(jù)存儲(chǔ)器8051AHH MOSROM (4k)128字節(jié)8031AHAH MOS無128字節(jié)8751HH MOSEPROM(4K)128字節(jié)AT89S52/AT89S51CHMOSFLASHROM (4K)128字節(jié)80C31CHMOS無128字節(jié)8051H MOSROM (8K)256字節(jié)8031H MOS無256字節(jié)MCS-51Atmel公司的公司的AT89系列單片機(jī)系列單片機(jī)u AT89系列單片機(jī)不但具有一般MCS-51單片機(jī)的所有特

14、性,而且其Flash程序存儲(chǔ)器可以用電擦除方式瞬間擦除、改寫, 寫入單片機(jī)內(nèi)的程序還可以進(jìn)行加密。 u Atmel公司的89系列單片機(jī)主要有AT89S52、AT89C2051和AT89C1051等型號(hào)。 AT89S52最為實(shí)用,它不但和最為實(shí)用,它不但和8051指令、管腳完全兼容,而且其指令、管腳完全兼容,而且其片內(nèi)含有片內(nèi)含有4KB Flash型程序存儲(chǔ)器,性價(jià)比遠(yuǎn)高于型程序存儲(chǔ)器,性價(jià)比遠(yuǎn)高于8751。 AT89C2051去掉了去掉了P0口和口和P2口,內(nèi)部的口,內(nèi)部的Flash程序存儲(chǔ)器也只有程序存儲(chǔ)器也只有2K,封裝形式也由,封裝形式也由40腳改為腳改為20腳。腳。AT89C1051在

15、在AT89C2051的基礎(chǔ)上,再次精簡(jiǎn)掉了串口等功能,的基礎(chǔ)上,再次精簡(jiǎn)掉了串口等功能,程序存儲(chǔ)器減小到程序存儲(chǔ)器減小到1KB。數(shù)據(jù)采集系統(tǒng)數(shù)據(jù)采集系統(tǒng)五、五、 學(xué)生的單片機(jī)作品學(xué)生的單片機(jī)作品基基于于AT89S52的的電電子子時(shí)時(shí)鐘鐘 流水燈流水燈計(jì)算器電子琴萬年歷單片機(jī)硬件電路設(shè)計(jì)軟件設(shè)計(jì)單片機(jī)應(yīng)用系統(tǒng)固化,調(diào)試 六、六、 單片機(jī)產(chǎn)品的開發(fā)過程單片機(jī)產(chǎn)品的開發(fā)過程單片機(jī)應(yīng)用系統(tǒng)的開發(fā)過程單片機(jī)應(yīng)用系統(tǒng)的開發(fā)過程 偉福偉福Proteus煒煌煒煌1單片機(jī)應(yīng)用開發(fā)軟件(編程)單片機(jī)應(yīng)用開發(fā)軟件(編程)七、七、 單片機(jī)產(chǎn)品的開發(fā)工具單片機(jī)產(chǎn)品的開發(fā)工具軟件仿真KEILC51KEILC51編程序(編

16、程序(Keil輸入程序) PROTEUSPROTEUSPROTEUS(畫電路原理圖,軟件的綜合仿真)(畫電路原理圖,軟件的綜合仿真)仿真(仿真( Proteus和Keil的聯(lián)調(diào)):):2.2.單片機(jī)硬件電路設(shè)計(jì)的器件及工具單片機(jī)硬件電路設(shè)計(jì)的器件及工具面包板正、反面面包板正、反面PCB板板 剝線鉗、尖嘴鉗、斜口鉗剝線鉗、尖嘴鉗、斜口鉗 烙鐵、鑷子烙鐵、鑷子 WH-500型編程器型編程器芯片鎖緊座通信串口13.3.程序固化燒錄程序固化燒錄, ,調(diào)試調(diào)試第一種方法:用專門的編程器第一種方法:用專門的編程器計(jì)算機(jī)串口電源接口把芯片從電路板拿下把芯片從電路板拿下燒錄程序軟件界面燒錄程序軟件界面第二種方

17、法:利用第二種方法:利用ISP下載線,在線編程下載線,在線編程利用串口和計(jì)算機(jī)相連利用串口和計(jì)算機(jī)相連利用利用USB口和計(jì)算機(jī)相連口和計(jì)算機(jī)相連不需把芯片拿下,但電路板上要焊好不需把芯片拿下,但電路板上要焊好ISP接口接口單片機(jī)仿真器單片機(jī)仿真器仿真頭數(shù)據(jù)線并口通信線電源仿真器2利用獨(dú)立性仿真器利用獨(dú)立性仿真器u學(xué)生分組討論以下問題,:學(xué)生分組討論以下問題,:(1)說出單片機(jī)、)說出單片機(jī)、CPU、計(jì)算機(jī)的區(qū)別、計(jì)算機(jī)的區(qū)別(2)說出你在生活中所見的單片機(jī)的應(yīng)用)說出你在生活中所見的單片機(jī)的應(yīng)用(3)單片機(jī)產(chǎn)品的開發(fā)過程)單片機(jī)產(chǎn)品的開發(fā)過程(4)流水燈是否要用到單片機(jī))流水燈是否要用到單片機(jī)

18、u提出問題:那么單片機(jī)的電路有什么要求,如何提出問題:那么單片機(jī)的電路有什么要求,如何編制程序?編制程序? u總結(jié)總結(jié)u布置作業(yè)布置作業(yè) 1.2.2 單片機(jī)最小系統(tǒng)u知識(shí)回顧知識(shí)回顧 提問、板書u引子引子 通過講解單片機(jī)的功能,用幻燈片展示單片機(jī)的內(nèi)部結(jié)構(gòu),引出問題:?jiǎn)纹瑱C(jī)的外圍是怎樣的呢?u學(xué)習(xí)新知學(xué)習(xí)新知 一、一、AT89S51AT89S51內(nèi)部結(jié)構(gòu)和引腳功能內(nèi)部結(jié)構(gòu)和引腳功能1、AT89S51單片機(jī)內(nèi)部結(jié)構(gòu)框圖CPU時(shí)鐘電路P0P3P2P1TXDRXDINT0INT1并行接口串行接口中斷系統(tǒng)定時(shí)/計(jì)數(shù)器RAMROMT0T12、AT89S51單片機(jī)內(nèi)部結(jié)構(gòu)u 中央處理器中央處理器: 中央處

19、理器中央處理器(CPU)(CPU)是整個(gè)單片機(jī)的核心部件,是是整個(gè)單片機(jī)的核心部件,是8 8位數(shù)據(jù)寬度的位數(shù)據(jù)寬度的處理器,能處理處理器,能處理8 8位二進(jìn)制數(shù)據(jù)或代碼,位二進(jìn)制數(shù)據(jù)或代碼,CPUCPU負(fù)責(zé)控制、指揮和調(diào)度負(fù)責(zé)控制、指揮和調(diào)度整個(gè)單元系統(tǒng)協(xié)調(diào)的工作,完成運(yùn)算和控制輸入輸出功能等操作。整個(gè)單元系統(tǒng)協(xié)調(diào)的工作,完成運(yùn)算和控制輸入輸出功能等操作。u 數(shù)據(jù)存儲(chǔ)器數(shù)據(jù)存儲(chǔ)器(RAM)(RAM): 89S51 89S51內(nèi)部有內(nèi)部有128128字節(jié)數(shù)據(jù)存儲(chǔ)器(字節(jié)數(shù)據(jù)存儲(chǔ)器(RAMRAM)和)和2121個(gè)專用寄存器單元個(gè)專用寄存器單元( (共共256B)256B),它們是統(tǒng)一編址的,專用寄

20、存器有專門的用途,通常用,它們是統(tǒng)一編址的,專用寄存器有專門的用途,通常用于存放控制指令數(shù)據(jù),不能用作用戶數(shù)據(jù)的存放,用戶能使用的于存放控制指令數(shù)據(jù),不能用作用戶數(shù)據(jù)的存放,用戶能使用的RAMRAM只有只有128128個(gè)字節(jié),可存放讀寫的數(shù)據(jù),運(yùn)算的中間結(jié)果或用戶定義的個(gè)字節(jié),可存放讀寫的數(shù)據(jù),運(yùn)算的中間結(jié)果或用戶定義的字型表。字型表。u 程序存儲(chǔ)器程序存儲(chǔ)器(ROM)(ROM): 89S5189S51共有共有4K4K字節(jié)程序存儲(chǔ)器(字節(jié)程序存儲(chǔ)器(FLASH ROMFLASH ROM),用于存放用戶程序和),用于存放用戶程序和數(shù)據(jù)表格。數(shù)據(jù)表格。 u 定時(shí)定時(shí)/計(jì)數(shù)器:計(jì)數(shù)器: 89S51有

21、有2個(gè)個(gè)16位的可編程定時(shí)位的可編程定時(shí)/計(jì)數(shù)器,以實(shí)現(xiàn)定時(shí)或計(jì)計(jì)數(shù)器,以實(shí)現(xiàn)定時(shí)或計(jì)數(shù),當(dāng)定時(shí)數(shù),當(dāng)定時(shí)/計(jì)數(shù)器產(chǎn)生溢出時(shí),可用中斷方式控制程序轉(zhuǎn)向。計(jì)數(shù)器產(chǎn)生溢出時(shí),可用中斷方式控制程序轉(zhuǎn)向。u 并行輸入輸出并行輸入輸出(I/O)口:口: 89S51共有共有4個(gè)個(gè)8位的并行位的并行I/O口口(P0、 P1、P2、P3),用于對(duì)外部數(shù)據(jù)的傳輸。用于對(duì)外部數(shù)據(jù)的傳輸。u 全雙工串行口:全雙工串行口: 89S51內(nèi)置一個(gè)全雙工異步串行通信口,用于與其它設(shè)備間內(nèi)置一個(gè)全雙工異步串行通信口,用于與其它設(shè)備間的串行數(shù)據(jù)傳送,該串行口既可以用作異步通信收發(fā)器,也可以的串行數(shù)據(jù)傳送,該串行口既可以用作異步

22、通信收發(fā)器,也可以當(dāng)同步移位器使用。當(dāng)同步移位器使用。u 中斷系統(tǒng):中斷系統(tǒng): 89S51具備較完善的中斷功能,有具備較完善的中斷功能,有5個(gè)中斷源(兩個(gè)外中斷、個(gè)中斷源(兩個(gè)外中斷、兩個(gè)定時(shí)兩個(gè)定時(shí)/計(jì)數(shù)器中斷和一個(gè)串行中斷),可基本滿足不同的控制計(jì)數(shù)器中斷和一個(gè)串行中斷),可基本滿足不同的控制要求,并具有要求,并具有2級(jí)的優(yōu)先級(jí)別選擇。級(jí)的優(yōu)先級(jí)別選擇。u 時(shí)鐘電路:時(shí)鐘電路: 89S51內(nèi)置最高頻率達(dá)內(nèi)置最高頻率達(dá)12MHz的時(shí)鐘電路,用于產(chǎn)生整個(gè)單的時(shí)鐘電路,用于產(chǎn)生整個(gè)單片機(jī)運(yùn)行的時(shí)序脈沖,但需外接晶體振蕩器和振蕩電容。片機(jī)運(yùn)行的時(shí)序脈沖,但需外接晶體振蕩器和振蕩電容。 u1 1電源

23、引腳電源引腳二、二、AT89S51AT89S51引腳說明引腳說明 兩種接法:使用內(nèi)部振蕩電路時(shí),外接石英晶體;Pin19:時(shí)鐘XTAL1腳,晶體振蕩電路的輸入端 2.時(shí)鐘引腳時(shí)鐘引腳:用來為單片機(jī)提供時(shí)鐘信號(hào)Pin20:接地腳 Pin40:正電源腳,接+5V電源Pin18:時(shí)鐘XTAL2腳,晶體振蕩電路的輸出端外部振蕩脈沖輸入時(shí),接外部時(shí)鐘振蕩脈沖,懸空不用。Pin31:Pin31:EA/VEA/Vpppp外部程序存儲(chǔ)器地址允許輸入端外部程序存儲(chǔ)器地址允許輸入端 正常工作時(shí),正常工作時(shí),EAEA為內(nèi)外為內(nèi)外ROMROM選擇端選擇端 對(duì)閃存進(jìn)行編程期間,此引腳用于施加編程電源對(duì)閃存進(jìn)行編程期間,

24、此引腳用于施加編程電源VPP21VVPP21V Pin29: 訪問外部存儲(chǔ)器使用。訪問外部存儲(chǔ)器使用。外部程序存外部程序存儲(chǔ)器讀選通信號(hào)儲(chǔ)器讀選通信號(hào),在從片外存儲(chǔ)器中讀取指令時(shí),在從片外存儲(chǔ)器中讀取指令時(shí),PSEN送出片外存儲(chǔ)器的讀信號(hào)(低電平),一般接送出片外存儲(chǔ)器的讀信號(hào)(低電平),一般接到外存儲(chǔ)器的讀控制端到外存儲(chǔ)器的讀控制端Pin30:Pin30:ALE/ ALE/ 地址鎖存允許信號(hào)地址鎖存允許信號(hào) ALEALE:訪問外部存儲(chǔ)器使用。訪問外部存儲(chǔ)器使用。ALEALE(允許地址鎖存信號(hào))(允許地址鎖存信號(hào))以每機(jī)器周期兩次的信號(hào)輸出以每機(jī)器周期兩次的信號(hào)輸出, , 用于鎖存出現(xiàn)在用于鎖

25、存出現(xiàn)在P0P0口的低口的低8 8位地址。位地址。 PROG: :在對(duì)在對(duì)閃存進(jìn)行編程期間閃存進(jìn)行編程期間(也稱(也稱“燒錄程序燒錄程序”)時(shí),此引腳用于輸入編程脈沖,此時(shí)為低電平有效時(shí),此引腳用于輸入編程脈沖,此時(shí)為低電平有效Pin9:Pin9:RESETRESET復(fù)位信號(hào)腳復(fù)位信號(hào)腳 正常工作時(shí),正常工作時(shí),RSTRST(RESETRESET)端為復(fù)位信號(hào)輸入端)端為復(fù)位信號(hào)輸入端3.控制線控制線Pin10-Pin17為P3.0-P3.7輸入輸出腳 普通的I/O口 第二功能Pin21-Pin28為P2.0-P2.7輸入輸出腳 普通的I/O口 作為擴(kuò)展外部存儲(chǔ)器時(shí)的高作為擴(kuò)展外部存儲(chǔ)器時(shí)的高

26、8位地址總線位地址總線(A8 A15)Pin1-Pin8為P1.0-P1.7輸入輸出腳 普通的I/O口4.I/O Pin39-Pin32為P0.0-P0.7輸入輸出腳 普通的I/O口作為與外部傳送數(shù)據(jù)的作為與外部傳送數(shù)據(jù)的8位數(shù)據(jù)總線(位數(shù)據(jù)總線(D0D7)。)。作為擴(kuò)展外部存儲(chǔ)器時(shí)的低作為擴(kuò)展外部存儲(chǔ)器時(shí)的低8位地址總線位地址總線(A0A7) P3口的第二功能表口的第二功能表u 單片機(jī)的時(shí)鐘信號(hào)用來提供單片機(jī)內(nèi)部各種操作的時(shí)間基準(zhǔn),單片機(jī)的時(shí)鐘信號(hào)用來提供單片機(jī)內(nèi)部各種操作的時(shí)間基準(zhǔn),u 時(shí)鐘電路用來產(chǎn)生單片機(jī)工作所需要的時(shí)鐘電路用來產(chǎn)生單片機(jī)工作所需要的時(shí)鐘信號(hào)時(shí)鐘信號(hào)。 二、最小系統(tǒng)二、

27、最小系統(tǒng)1 1、晶振(時(shí)鐘)電路、晶振(時(shí)鐘)電路 圖圖24 HMOS型型MCS51單片機(jī)時(shí)鐘產(chǎn)生方式單片機(jī)時(shí)鐘產(chǎn)生方式 (a) 內(nèi)部振蕩器內(nèi)部振蕩器方式方式; (b) 外部振蕩器方式外部振蕩器方式 u (a)采用采用內(nèi)部時(shí)鐘方式內(nèi)部時(shí)鐘方式時(shí)時(shí), ,片片內(nèi)的高增益反相放大器通過內(nèi)的高增益反相放大器通過XTAL1XTAL1、 XTAL2XTAL2外接作為反饋外接作為反饋元件的片外晶體振蕩器(呈感元件的片外晶體振蕩器(呈感性)與電容組成的性)與電容組成的并聯(lián)諧振并聯(lián)諧振回回路構(gòu)成一個(gè)路構(gòu)成一個(gè)自激振蕩器自激振蕩器, , 向內(nèi)向內(nèi)部時(shí)鐘電路提供振蕩時(shí)鐘。部時(shí)鐘電路提供振蕩時(shí)鐘。 u 振蕩器的頻率主

28、要取決于晶體振蕩器的頻率主要取決于晶體的振蕩頻率的振蕩頻率, , 一般晶體可在一般晶體可在1.21.212 MHz12 MHz之間任選之間任選, , 電容電容C1C1、 C2C2可在可在5 530 pF30 pF之間選之間選擇擇, , 電容的大小對(duì)振蕩頻率有電容的大小對(duì)振蕩頻率有微小的影響微小的影響, , 可起頻率微調(diào)作可起頻率微調(diào)作用。用。 u (a) 振蕩周期振蕩周期:為單片機(jī)提供定時(shí)信號(hào)的振蕩源的周期,即振蕩:為單片機(jī)提供定時(shí)信號(hào)的振蕩源的周期,即振蕩頻率的倒數(shù)(晶振周期或外加振蕩源周期),用頻率的倒數(shù)(晶振周期或外加振蕩源周期),用P表示表示 振蕩頻率:振蕩器元件(晶振)的頻率振蕩頻率

29、:振蕩器元件(晶振)的頻率u (b)(b)時(shí)鐘周期:振蕩周期的二倍,用時(shí)鐘周期:振蕩周期的二倍,用S S表示表示 內(nèi)部時(shí)鐘發(fā)生器是二分頻觸發(fā)器,對(duì)振蕩頻率二分頻內(nèi)部時(shí)鐘發(fā)生器是二分頻觸發(fā)器,對(duì)振蕩頻率二分頻u (c)(c)機(jī)器周期機(jī)器周期:6 6個(gè)時(shí)鐘周期或個(gè)時(shí)鐘周期或1212個(gè)振蕩周期個(gè)振蕩周期 一個(gè)機(jī)器周期由一個(gè)機(jī)器周期由6 6個(gè)狀態(tài)(時(shí)鐘)周期組成個(gè)狀態(tài)(時(shí)鐘)周期組成u (d)(d)指令周期:執(zhí)行一條指令所占用的時(shí)間指令周期:執(zhí)行一條指令所占用的時(shí)間 用機(jī)器周期個(gè)數(shù)表示,可查附錄用機(jī)器周期個(gè)數(shù)表示,可查附錄2、時(shí)序(周期)的概念時(shí)序(周期)的概念三者關(guān)系?AT89S52 :最高振蕩頻率

30、24MHZu (e)ALE信號(hào):信號(hào):允許地址鎖存信號(hào),當(dāng)訪問外部存儲(chǔ)器時(shí)允許地址鎖存信號(hào),當(dāng)訪問外部存儲(chǔ)器時(shí), ALE以每機(jī)器以每機(jī)器周期兩次的信號(hào)輸出周期兩次的信號(hào)輸出, 用于鎖存出現(xiàn)在用于鎖存出現(xiàn)在P0口的低口的低8位地址。位地址。 輸出周期性的信號(hào),頻率為振蕩頻率的輸出周期性的信號(hào),頻率為振蕩頻率的1/6 ,周期為機(jī)器周期的,周期為機(jī)器周期的1/2。3、復(fù)位電路、復(fù)位電路 u (1)復(fù)位)復(fù)位 以便中央處理器以便中央處理器 及其他功能部件都處于一個(gè)確定的及其他功能部件都處于一個(gè)確定的初初始狀態(tài)始狀態(tài),并從這個(gè)狀態(tài)開始工作,并從這個(gè)狀態(tài)開始工作 a.單片機(jī)上電后,對(duì)單片機(jī)的初始化,從單片

31、機(jī)上電后,對(duì)單片機(jī)的初始化,從ROM中地址為中地址為0000H處開始執(zhí)行程序處開始執(zhí)行程序 b.程序運(yùn)行出錯(cuò)或操作錯(cuò)誤進(jìn)入死鎖狀態(tài),復(fù)位后,重新開始程序運(yùn)行出錯(cuò)或操作錯(cuò)誤進(jìn)入死鎖狀態(tài),復(fù)位后,重新開始u (2)復(fù)位信號(hào))復(fù)位信號(hào) 在單片機(jī)的在單片機(jī)的RST端(端(9)至少維持)至少維持2個(gè)機(jī)器周期個(gè)機(jī)器周期以上的以上的高電平高電平,高電平有效,再從高電平到底電平,單片機(jī)完成復(fù)位,從高電平有效,再從高電平到底電平,單片機(jī)完成復(fù)位,從0000H地址開始執(zhí)行程序地址開始執(zhí)行程序u (3).復(fù)位后的狀態(tài)復(fù)位后的狀態(tài) 復(fù)位后,復(fù)位后,大部分寄存器清大部分寄存器清0,特例是,特例是SP=07H,P0-P3

32、=FFH,但不影響片內(nèi),但不影響片內(nèi)RAM存放的內(nèi)容存放的內(nèi)容, 而而ALE、 在復(fù)位期間將輸出高電平。在復(fù)位期間將輸出高電平。PSENu (4).復(fù)位電路復(fù)位電路n在復(fù)位電路中,在復(fù)位電路中, 構(gòu)成微分電路構(gòu)成微分電路,在接,在接電瞬間,產(chǎn)生一個(gè)微電瞬間,產(chǎn)生一個(gè)微分脈沖,其寬度若大分脈沖,其寬度若大于個(gè)機(jī)器周期,于個(gè)機(jī)器周期,型單片機(jī)將型單片機(jī)將復(fù)位。為保證微分脈復(fù)位。為保證微分脈沖寬度足夠大,沖寬度足夠大, 時(shí)間常數(shù)應(yīng)大于個(gè)時(shí)間常數(shù)應(yīng)大于個(gè)機(jī)器周期。機(jī)器周期。一般取一般取電容、電容、 電阻。電阻。u學(xué)生分組討論以下問題,:(1)要想單片機(jī)工作,哪些引腳必須給與相應(yīng)的信號(hào)(2)畫出單片機(jī)的

33、復(fù)位、晶振電路u教師提出問題:那么單片機(jī)的存儲(chǔ)器是如何分配和使用的呢? u總結(jié)u布置作業(yè) 1書上習(xí)題P25 2制作一個(gè)單片機(jī)的電路板,檢測(cè)RST、XTAL2、ALE波形 1.2.3 單片機(jī)的存儲(chǔ)器單片機(jī)的存儲(chǔ)器u 程序存儲(chǔ)器程序存儲(chǔ)器:只讀存儲(chǔ)器,用于存放程序。具有非易失性,掉電后其:只讀存儲(chǔ)器,用于存放程序。具有非易失性,掉電后其內(nèi)的信息依然存在內(nèi)的信息依然存在 片內(nèi)片內(nèi)ROM(FLASH ROM):用來存放程序和表格常數(shù),):用來存放程序和表格常數(shù),4KB。 片外片外ROM:用來存放程序,片內(nèi)不夠用時(shí)可以外擴(kuò):用來存放程序,片內(nèi)不夠用時(shí)可以外擴(kuò)ROM, 內(nèi)內(nèi)ROM+ 外外ROM 64Ku

34、數(shù)據(jù)存儲(chǔ)器數(shù)據(jù)存儲(chǔ)器:隨機(jī)讀寫存儲(chǔ)器,用于存放數(shù)據(jù):隨機(jī)讀寫存儲(chǔ)器,用于存放數(shù)據(jù) 。具有易失性,芯片掉。具有易失性,芯片掉電后,其內(nèi)的信息消失。電后,其內(nèi)的信息消失。 片內(nèi)片內(nèi)RAM:用來存放運(yùn)算過程中的數(shù)據(jù),:用來存放運(yùn)算過程中的數(shù)據(jù),256B(片內(nèi)數(shù)據(jù)(片內(nèi)數(shù)據(jù)+SFR)。)。 片外片外RAM:在數(shù)據(jù)采集系統(tǒng)中可存放大量的數(shù)據(jù),可擴(kuò)展:在數(shù)據(jù)采集系統(tǒng)中可存放大量的數(shù)據(jù),可擴(kuò)展64KB一、一、AT89S52AT89S52存儲(chǔ)器的組成存儲(chǔ)器的組成二、程序存儲(chǔ)器二、程序存儲(chǔ)器u 單片機(jī)的工作是按照事先編制好的程序命令一條條循序執(zhí)行的單片機(jī)的工作是按照事先編制好的程序命令一條條循序執(zhí)行的, 程序存

35、程序存儲(chǔ)器就是用來存放這些已編好的程序和表格常數(shù)的儲(chǔ)器就是用來存放這些已編好的程序和表格常數(shù)的u 片內(nèi)片內(nèi)ROM是是4KB的的FLASH ROM,只能讀,需要用編程器寫入程序,只能讀,需要用編程器寫入程序u 4KB的的ROM的地址范圍的地址范圍0000H0FFFH,有一個(gè)專門的程序計(jì)數(shù)器,有一個(gè)專門的程序計(jì)數(shù)器地址指針地址指針PC, PC用于存放用于存放CPU下一條要執(zhí)行的指令地址下一條要執(zhí)行的指令地址, 是一個(gè)是一個(gè) 16 位的專用寄存器位的專用寄存器, 可尋址范圍是可尋址范圍是0000H0FFFFH共共 64 K.u 片內(nèi)不夠用時(shí),可以外擴(kuò)片內(nèi)不夠用時(shí),可以外擴(kuò)ROM,內(nèi),內(nèi)ROM+ 外外

36、ROM 64Ku EA管腳作用管腳作用=0,全訪問片外,全訪問片外ROM =1,先訪問片內(nèi),超出,先訪問片內(nèi),超出4KB后,訪問片外后,訪問片外u 幾個(gè)特殊地址:幾個(gè)特殊地址: 0000H:系統(tǒng)復(fù)位后的啟動(dòng)地址,用戶程序的第一條指令(轉(zhuǎn)移:系統(tǒng)復(fù)位后的啟動(dòng)地址,用戶程序的第一條指令(轉(zhuǎn)移指令)指令) 中斷程序的入口地址:中斷程序的入口地址:0003H,000BH,0013H, 001BH,0023HP0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7P2.0P2.1P2.2P2.3P2.4P2.5P2.6P2.7ALE/PRDWRD0D1D2D3D4D5D6D7OCGQ0Q1Q2Q

37、3Q4Q5Q6Q73938373635343332A0A1A2A3A4A5A6A7A8A9A10A11A12CS1CS2WEOED0D1D2D3D4D5D6D7P00P01P02P03P04P05P06P07X112MHz181931111212223242526272830171680C51910UC120PC220PVCC74LS3736264109876543252421232256912151619P20P21P22P23P241112131516171819VCC20262722PSEN29EA/VPX1X2RESETINT0INT1T0T1片外擴(kuò)展ROM,用6264芯片u 片內(nèi)片內(nèi)

38、RAMRAM為為 256 256 字節(jié)字節(jié), , 地址范地址范圍為圍為00H00HFFH, FFH, 分為兩大部分為兩大部分分: : 低低 128 128 字字(00H00H7FH7FH)為真正的為真正的RAMRAM區(qū)區(qū); ; 高高 128 128 字節(jié)字節(jié)(80H80HFFHFFH)為特殊功能寄存器區(qū)為特殊功能寄存器區(qū)SFRSFR三、數(shù)據(jù)存儲(chǔ)器 1. 片內(nèi)數(shù)據(jù)存儲(chǔ)器u 工作寄存器區(qū)工作寄存器區(qū) 1.工作寄存器區(qū)工作寄存器區(qū) 是指是指00H1FH區(qū)區(qū), 共分共分4個(gè)組個(gè)組, 每組有每組有8個(gè)單元個(gè)單元, 共共32個(gè)內(nèi)部個(gè)內(nèi)部RAM單元。單元。 2.作為工作寄存器使用的作為工作寄存器使用的8個(gè)單

39、元,又稱為個(gè)單元,又稱為R0R7 低(四個(gè)區(qū)域)3.3.程序狀態(tài)字程序狀態(tài)字PSWPSW中的中的PSW.3PSW.3(RS0RS0)和)和PSW.4PSW.4(RS1RS1)兩位來選)兩位來選擇哪一組作為工作寄存器使用。擇哪一組作為工作寄存器使用。CPUCPU通過軟件修改通過軟件修改PSWPSW中中RS0RS0和和RS1RS1兩位的狀態(tài)兩位的狀態(tài), , 就可任選一個(gè)工作寄存器工作。就可任選一個(gè)工作寄存器工作。每組每組個(gè)寄存器每個(gè)寄存器都是個(gè)寄存器每個(gè)寄存器都是8 8位位4.4.每次只能有每次只能有1 1組作為工作寄存器使用組作為工作寄存器使用( (R0R0,R1R1,R2R2,R3R3,R4R

40、4,R5R5,R6R6,R7)R7), , 其它各組可以作為一般的數(shù)據(jù)緩沖區(qū)使用。其它各組可以作為一般的數(shù)據(jù)緩沖區(qū)使用。u位尋址區(qū)1、位尋址區(qū)是指、位尋址區(qū)是指 20H2FH單元,共單元,共16個(gè)單元。個(gè)單元。 2、 位尋址區(qū)的位尋址區(qū)的 16個(gè)單個(gè)單元(共計(jì)元(共計(jì)128位)的位)的每每1位都有一個(gè)位都有一個(gè)8位表位表示的位地址示的位地址, 位地址位地址范圍為范圍為00H1FH。3、位尋址區(qū)的每、位尋址區(qū)的每1位都位都可當(dāng)作軟件觸發(fā)器可當(dāng)作軟件觸發(fā)器, 由程序直接進(jìn)行位處由程序直接進(jìn)行位處理。理。4、 同樣同樣, 位尋址的位尋址的RAM單元也可以按字單元也可以按字節(jié)操作作為一般的數(shù)節(jié)操作作為

41、一般的數(shù)據(jù)緩沖據(jù)緩沖 區(qū)。區(qū)。u 數(shù)據(jù)緩沖區(qū)數(shù)據(jù)緩沖區(qū) 1.30H37H,數(shù)據(jù)緩,數(shù)據(jù)緩沖區(qū)沖區(qū) 2.堆棧區(qū)也在此區(qū)中堆棧區(qū)也在此區(qū)中堆棧區(qū)堆棧區(qū) 1、堆棧是在內(nèi)堆棧是在內(nèi)RAM區(qū)專門開辟出來的按照區(qū)專門開辟出來的按照“先進(jìn)后出先進(jìn)后出”原則進(jìn)行數(shù)據(jù)存取的一塊連續(xù)的原則進(jìn)行數(shù)據(jù)存取的一塊連續(xù)的存儲(chǔ)區(qū)域。存儲(chǔ)區(qū)域。 2、堆棧有棧頂和棧底。堆棧棧頂是指最后推、堆棧有棧頂和棧底。堆棧棧頂是指最后推入堆棧的數(shù)據(jù)所在的存儲(chǔ)單元。棧底是指堆棧入堆棧的數(shù)據(jù)所在的存儲(chǔ)單元。棧底是指堆棧的底部。堆棧中沒有數(shù)據(jù)時(shí),二者重疊。的底部。堆棧中沒有數(shù)據(jù)時(shí),二者重疊。 3SP始終指向棧頂。向堆棧推入數(shù)據(jù)后,棧始終指向棧頂

42、。向堆棧推入數(shù)據(jù)后,棧頂向上生長(zhǎng),頂向上生長(zhǎng),SP也向上生長(zhǎng)也向上生長(zhǎng)4、在用到堆棧之前、在用到堆棧之前, 先用指令給先用指令給SP賦值賦值, 以規(guī)以規(guī)定棧區(qū)在定棧區(qū)在RAM區(qū)的起始地址(棧底層)。當(dāng)數(shù)區(qū)的起始地址(棧底層)。當(dāng)數(shù)據(jù)推入棧區(qū)后據(jù)推入棧區(qū)后, SP的值也自動(dòng)隨之變化。的值也自動(dòng)隨之變化。 5單片機(jī)堆棧區(qū)不是固定的單片機(jī)堆棧區(qū)不是固定的, 原則上可設(shè)在內(nèi)原則上可設(shè)在內(nèi)部部RAM的任意區(qū)域內(nèi)的任意區(qū)域內(nèi), 但為了避開工作寄存器但為了避開工作寄存器區(qū)和位尋址區(qū)區(qū)和位尋址區(qū), 一般設(shè)在一般設(shè)在30H以后的范圍內(nèi)。以后的范圍內(nèi)。用到堆棧時(shí),需設(shè)定用到堆棧時(shí),需設(shè)定SP的初值。一般可設(shè)的初值

43、。一般可設(shè)(SP)=60H,則堆棧區(qū)為,則堆棧區(qū)為60H7FHu 高高128B的的RAM單單元中有元中有21個(gè)單元可個(gè)單元可用,稱為用,稱為SFR(特(特殊功能寄存器)。殊功能寄存器)。這這21個(gè)個(gè)SFR分散在分散在高高128B(80HFFH)的)的地址空間內(nèi)地址空間內(nèi)u 凡是地址能被凡是地址能被8整整除的除的SFR既可字節(jié)既可字節(jié)尋址,也可位尋址尋址,也可位尋址高(四個(gè)區(qū)域)部分常用寄存器介紹:()累加器()累加器(E0H) 累加器累加器 是型單片機(jī)中最常用的寄存器。許多是型單片機(jī)中最常用的寄存器。許多指令的操作數(shù)取自,許多運(yùn)算的結(jié)果存放在指令的操作數(shù)取自,許多運(yùn)算的結(jié)果存放在 中。乘除中。

44、乘除法指令必須通過法指令必須通過 進(jìn)行。累加器進(jìn)行。累加器 的指令助記符為。的指令助記符為。 ()寄存器()寄存器(F0H) 在在-型單片機(jī)乘除法指令中要用到寄存器。除此外,型單片機(jī)乘除法指令中要用到寄存器。除此外,可作為一般寄存器用??勺鳛橐话慵拇嫫饔谩#ǎ┏绦驙顟B(tài)字寄存器()程序狀態(tài)字寄存器(D0H) 也稱為標(biāo)志寄存器,存放各有關(guān)標(biāo)志。其結(jié)構(gòu)和定義如表也稱為標(biāo)志寄存器,存放各有關(guān)標(biāo)志。其結(jié)構(gòu)和定義如表- 所示。所示。 CY:進(jìn)位標(biāo)志。有進(jìn)位借位時(shí)進(jìn)位標(biāo)志。有進(jìn)位借位時(shí)CY=1,否則,否則CY=0;AC:半進(jìn)位標(biāo)志。當(dāng):半進(jìn)位標(biāo)志。當(dāng)D3位向位向D4位產(chǎn)生進(jìn)位借位時(shí)位產(chǎn)生進(jìn)位借位時(shí)AC=1,

45、常用于十進(jìn)制調(diào),常用于十進(jìn)制調(diào)整運(yùn)算中;整運(yùn)算中;F0:用戶可設(shè)定的標(biāo)志位,可置位復(fù)位,也可供測(cè)試。:用戶可設(shè)定的標(biāo)志位,可置位復(fù)位,也可供測(cè)試。RS1、RS0:四個(gè)通用寄存器組的選擇位,該兩位的四種組合狀態(tài)用來選擇:四個(gè)通用寄存器組的選擇位,該兩位的四種組合狀態(tài)用來選擇03寄存器組。見表寄存器組。見表1-2。OV:溢出標(biāo)志。當(dāng)帶符號(hào)數(shù)運(yùn)算結(jié)果超出:溢出標(biāo)志。當(dāng)帶符號(hào)數(shù)運(yùn)算結(jié)果超出-128+127范圍時(shí)范圍時(shí)OV=1,否則,否則OV=0。當(dāng)無符號(hào)數(shù)乘法結(jié)果超過。當(dāng)無符號(hào)數(shù)乘法結(jié)果超過255時(shí),或當(dāng)無符號(hào)數(shù)除法的除數(shù)為時(shí),或當(dāng)無符號(hào)數(shù)除法的除數(shù)為0時(shí),時(shí),OV=1,否則,否則OV=0。P:奇偶校

46、驗(yàn)標(biāo)志。每條指令執(zhí)行完,若:奇偶校驗(yàn)標(biāo)志。每條指令執(zhí)行完,若A中中“1”的個(gè)數(shù)為奇數(shù)時(shí)的個(gè)數(shù)為奇數(shù)時(shí)P=1,否則,否則P=0,即奇偶校驗(yàn)方式。,即奇偶校驗(yàn)方式。lPSW程序狀態(tài)字()數(shù)據(jù)指針()數(shù)據(jù)指針(83H,82H) 數(shù)據(jù)指針是一個(gè)位的特殊功能寄存器,由兩個(gè)位數(shù)據(jù)指針是一個(gè)位的特殊功能寄存器,由兩個(gè)位寄存器寄存器 和和 組成,組成, 是的高位,是的高位,是的低位,既可合并作為一個(gè)位寄存器,是的低位,既可合并作為一個(gè)位寄存器,又可分開按位寄存器單獨(dú)操作。又可分開按位寄存器單獨(dú)操作。()堆棧指針()堆棧指針(81H) 堆棧是堆棧是 用于暫時(shí)存放部分?jǐn)?shù)據(jù)的用于暫時(shí)存放部分?jǐn)?shù)據(jù)的“倉庫倉庫”。在。

47、在中,由內(nèi)中,由內(nèi) 中若干存儲(chǔ)單元組成。存儲(chǔ)單元的個(gè)數(shù)稱為堆棧的中若干存儲(chǔ)單元組成。存儲(chǔ)單元的個(gè)數(shù)稱為堆棧的深度(可理解為倉庫容量)深度(可理解為倉庫容量)(6)其他寄存器)其他寄存器 與單片機(jī)定時(shí)、中斷、串行、并行通信功能相關(guān)的寄存器與單片機(jī)定時(shí)、中斷、串行、并行通信功能相關(guān)的寄存器u 若片內(nèi)若片內(nèi)RAM不夠用(數(shù)據(jù)采集系統(tǒng)),可擴(kuò)展片外數(shù)據(jù)存儲(chǔ)器不夠用(數(shù)據(jù)采集系統(tǒng)),可擴(kuò)展片外數(shù)據(jù)存儲(chǔ)器u 片外最大可擴(kuò)展片外最大可擴(kuò)展64KB(0000HFFFFH),和片內(nèi)),和片內(nèi)RAM獨(dú)立獨(dú)立編址編址u 當(dāng)訪問片內(nèi)當(dāng)訪問片內(nèi)00HFFH區(qū)域和片外區(qū)域和片外0000HFFFFH區(qū)域時(shí),用區(qū)域時(shí),用不同

48、的指令來區(qū)分(不同的指令來區(qū)分(MOV,MOVX)u 片外數(shù)據(jù)存儲(chǔ)區(qū)的指針:片外數(shù)據(jù)存儲(chǔ)區(qū)的指針:DPTR 三、數(shù)據(jù)存儲(chǔ)器三、數(shù)據(jù)存儲(chǔ)器 2. 片外數(shù)據(jù)存儲(chǔ)器P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7P2.0P2.1P2.2P2.3P2.4P2.5P2.6P2.7ALE/PRDWREA/VPX1X2RESETINT0INT1T0T1D0D1D2D3D4D5D6D7OCGQ0Q1Q2Q3Q4Q5Q6Q73938373635343332A0A1A2A3A4A5A6A7A8A9A10CEOEWED0D1D2D3D4D5D6D7P00P01P02P03P04P05P06P07X1

49、12MHz181931111212223242526272830171680C51910UC120PC220PVCC18202174LS373611687654321232219256912151619P20P21P22910111314151617PSEN29片外擴(kuò)展RAM,用6116芯片u學(xué)生分組討論以下問題,:學(xué)生分組討論以下問題,:(1 1)我們編寫的程序存在哪個(gè)存儲(chǔ)器中?如何存進(jìn)去?)我們編寫的程序存在哪個(gè)存儲(chǔ)器中?如何存進(jìn)去?(2 2)數(shù)據(jù)存儲(chǔ)器和程序存儲(chǔ)器在功能上區(qū)別?)數(shù)據(jù)存儲(chǔ)器和程序存儲(chǔ)器在功能上區(qū)別?(3 3)數(shù)據(jù)可以存在數(shù)據(jù)存儲(chǔ)器的哪里?)數(shù)據(jù)可以存在數(shù)據(jù)存儲(chǔ)器的哪里?u

50、教師提出問題:教師提出問題: 那么我們流水燈的硬件電路如何構(gòu)建?構(gòu)建好后,如何編那么我們流水燈的硬件電路如何構(gòu)建?構(gòu)建好后,如何編寫程序呢?寫程序呢?u總結(jié)總結(jié)u布置作業(yè)布置作業(yè) 1 1書上習(xí)題書上習(xí)題P25P25 2 2繼續(xù)完善最小系統(tǒng)的電路板繼續(xù)完善最小系統(tǒng)的電路板 流水燈電路圖流水燈電路圖1.要求P1.0所接的燈閃爍u #include u sbit LED=P10;u void Delay(unsigned int a)u uunsigned char i;uwhile(-a!= 0)u ufor(i=0;i125;i+); uu u void main() u while (1) u

51、LED=0;uDelay(1000);uLED=1;uDelay(1000);uu u 紅色段可改寫為: LED=LED;u DELAY(1000);u 2、八個(gè)燈循環(huán)點(diǎn)亮、八個(gè)燈循環(huán)點(diǎn)亮u #include u void delay(unsigned int a)u uunsigned char i;uwhile(-a!= 0)u ufor(i=0;i125;i+); uu u void main() u u unsigned char k,i;u while (1) u u k=0 xfe;u for(i=0;i8;i+)u P1=k;u delay(1000);u k=k1;u k=k|

52、0 x01;uu u u u 3、左右來回循環(huán)流水、左右來回循環(huán)流水u #include u #include u void delay(unsigned int a)u uunsigned char i;uwhile(-a!= 0)u ufor(i=0;i125;i+); uu u void main() u u unsigned char i,j;u P1=0 x7f;u while (1) u u for(i=0;i8;i+)u P1=_crol_(P1,1);u delay(1000);u u for(j=0;j7;j+)u P1=_cror_(P1,1);u delay(1000);

53、u u u u 4、花樣流水燈(無規(guī)律)、花樣流水燈(無規(guī)律)u #include u unsigned char code sz1=0 x7e,0 xbd,0 xdb,0 xe7,0 xdb,0 xbd,0 x7e,0 x00,0 xff;u void delay(unsigned int a)u uunsigned char i;uwhile(-a!= 0)u ufor(i=0;i125;i+); uu u void main() u u unsigned char i;u while (1) u u for(i=0;i9;i+)u P1=sz1i;u delay(1000);uu u u

54、 u5.交通燈交通燈 1.2.4 單片機(jī)單片機(jī)C語言基礎(chǔ)語言基礎(chǔ) u知識(shí)回顧知識(shí)回顧 提問、板書u引子引子 通過演示操作,引出問題:怎么讓單片機(jī)的外圍器件,例如LED點(diǎn)亮?u學(xué)習(xí)新知學(xué)習(xí)新知任務(wù)任務(wù)1:點(diǎn)亮:點(diǎn)亮(D1)一個(gè)發(fā)光二極管一個(gè)發(fā)光二極管XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.

55、2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C51R1220X1CRYSTALC130pFC230pFC310uFR910kVCCGNDD1LED-REDA為陽極,為陽極,B為陰極。若要為陰極。若要D1點(diǎn)亮,點(diǎn)亮,A接高電平,接高電平,B接低電平接低電平從圖上看出,只要從圖上看出,只要P1.0輸出低電平,輸出低電平,D1就可點(diǎn)亮就可點(diǎn)亮我們通過編程實(shí)現(xiàn)我們通過編程

56、實(shí)現(xiàn)P1.0輸出低電平輸出低電平LED點(diǎn)亮程序點(diǎn)亮程序#include /包含AT89X52.H頭文件sbit LED=P10; /定義LED是P1.0引腳對(duì)應(yīng)的變量名void main (void) LED=0; / P1.0=0,LED點(diǎn)亮 while(1);u一、支持的語言一、支持的語言u(píng) 1 1、匯編語言、匯編語言u(píng) 2 2、高級(jí)語言、高級(jí)語言u(píng) 三種高級(jí)語言:三種高級(jí)語言:PL/MPL/M、C C和和BASICBASICu C C語言是一種編譯型程序設(shè)計(jì)語言,它兼顧了多種高級(jí)語言的特點(diǎn),語言是一種編譯型程序設(shè)計(jì)語言,它兼顧了多種高級(jí)語言的特點(diǎn),并具備匯編語言的功能。目前,使用并具備匯

57、編語言的功能。目前,使用C C語言進(jìn)行程序設(shè)計(jì)已經(jīng)成為軟語言進(jìn)行程序設(shè)計(jì)已經(jīng)成為軟件開發(fā)的一個(gè)主流。用件開發(fā)的一個(gè)主流。用C C語言開發(fā)系統(tǒng)可以大大縮短開發(fā)周期,明顯語言開發(fā)系統(tǒng)可以大大縮短開發(fā)周期,明顯增強(qiáng)程序的可讀性,便于改進(jìn)、擴(kuò)充和移植。增強(qiáng)程序的可讀性,便于改進(jìn)、擴(kuò)充和移植。u 針對(duì)針對(duì)5151系列單片機(jī)擴(kuò)展的系列單片機(jī)擴(kuò)展的C C語言是語言是C51C51 ,現(xiàn)日趨成熟,現(xiàn)日趨成熟,成為了專業(yè)化,成為了專業(yè)化的實(shí)用高級(jí)語言。的實(shí)用高級(jí)語言。u 3.C51特點(diǎn):特點(diǎn):u C語言作為一種非常方便的語言而得到廣泛的支持,很多硬件開發(fā)語言作為一種非常方便的語言而得到廣泛的支持,很多硬件開發(fā)都用

58、都用C語言編程,如:各種單片機(jī)、語言編程,如:各種單片機(jī)、DSP、ARM等等.u C51語言程序本身不依賴于機(jī)器硬件系統(tǒng),基本上不作修改就可將語言程序本身不依賴于機(jī)器硬件系統(tǒng),基本上不作修改就可將程序從不同的單片機(jī)中移植過來。程序從不同的單片機(jī)中移植過來。u C51提供了很多數(shù)學(xué)函數(shù)并支持浮點(diǎn)運(yùn)算,開發(fā)效率高,故可縮短提供了很多數(shù)學(xué)函數(shù)并支持浮點(diǎn)運(yùn)算,開發(fā)效率高,故可縮短開發(fā)時(shí)間,增加程序可讀性和可維護(hù)性。開發(fā)時(shí)間,增加程序可讀性和可維護(hù)性。u 二、二、C51基本構(gòu)成基本構(gòu)成u C51單片機(jī)的程序由一個(gè)個(gè)函數(shù)(子程序、過程)組成,其中必須有一個(gè)主函數(shù)單片機(jī)的程序由一個(gè)個(gè)函數(shù)(子程序、過程)組成

59、,其中必須有一個(gè)主函數(shù)main(),程序的執(zhí)行從,程序的執(zhí)行從main()函數(shù)開始函數(shù)開始u void main() 從這里開始執(zhí)行;從這里開始執(zhí)行; 其他語句;其他語句;u u 1. C51語言程序的組成結(jié)構(gòu)如下所示:語言程序的組成結(jié)構(gòu)如下所示: #include /*將將at89x52.h 頭文件的內(nèi)頭文件的內(nèi) 容包含進(jìn)來容包含進(jìn)來*/ 變量定義變量定義 /*定義程序中要使用到的變量定義程序中要使用到的變量*/ void main() /*主函數(shù)主函數(shù)*/ 執(zhí)行語句執(zhí)行語句 fun1(形式參數(shù)表形式參數(shù)表) /*函數(shù)函數(shù)1*/ 形式參數(shù)定義形式參數(shù)定義 執(zhí)行語句執(zhí)行語句LED點(diǎn)亮程序點(diǎn)亮程

60、序#include /包含AT89X52.H頭文件sbit LED=P10; /定義LED是P1.0引腳對(duì)應(yīng)的變量名void main (void) /主函數(shù) LED=0; / P1.0=0,LED點(diǎn)亮 while(1); /循環(huán)語句,一直停在這 三、三、C51(一)(一)C51C51的數(shù)據(jù)類型的數(shù)據(jù)類型1.1.基本數(shù)據(jù)類型基本數(shù)據(jù)類型(C(C語言語言) )類型類型符號(hào)符號(hào)關(guān)鍵字關(guān)鍵字?jǐn)?shù)的表示范圍數(shù)的表示范圍所占位數(shù)所占位數(shù)整型整型字符型字符型實(shí)型實(shí)型有有無無(signed) int 16-3276832767(signed) short16-3276832767(signed) long32

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論