《單片機(jī)應(yīng)用與設(shè)計(jì)》課件項(xiàng)目一_第1頁(yè)
《單片機(jī)應(yīng)用與設(shè)計(jì)》課件項(xiàng)目一_第2頁(yè)
《單片機(jī)應(yīng)用與設(shè)計(jì)》課件項(xiàng)目一_第3頁(yè)
《單片機(jī)應(yīng)用與設(shè)計(jì)》課件項(xiàng)目一_第4頁(yè)
《單片機(jī)應(yīng)用與設(shè)計(jì)》課件項(xiàng)目一_第5頁(yè)
已閱讀5頁(yè),還剩133頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

項(xiàng)目一單片機(jī)最小系統(tǒng)設(shè)計(jì)與制作

1.1初識(shí)STC89C51單片機(jī)1.2STC89C51系列單片機(jī)的存儲(chǔ)器1.3單片機(jī)最小系統(tǒng)設(shè)計(jì)與制作1.4Proteus仿真軟件制作指南1單片機(jī)最小系統(tǒng)硬件電路制作指南本章知識(shí)總結(jié)學(xué)習(xí)目標(biāo)

了解單片機(jī)的組成;

了解單片機(jī)的引腳功能;

掌握單片機(jī)最小系統(tǒng)的組成;

初步掌握Keil軟件的使用方法;

初步掌握Proteus軟件的使用方法,能進(jìn)行基本仿真操作。

能力目標(biāo)

能夠完成單片機(jī)最小系統(tǒng)電路的設(shè)計(jì)與制作;能利用Keil軟件進(jìn)行程序編寫;掌握STC系列單片機(jī)下載程序的方法;能借助Proteus仿真軟件進(jìn)行輔助學(xué)習(xí)。

1.1初識(shí)STC89C51單片機(jī)

1.1.1單片機(jī)概述

1.單片機(jī)簡(jiǎn)介

單片機(jī)是一種集成電路芯片,通常單片機(jī)由CPU、存儲(chǔ)器、I/O口、定時(shí)器/計(jì)時(shí)器、中斷系統(tǒng)等組成。單片機(jī)又稱單片微型計(jì)算機(jī),是典型的嵌入式微控制器,英文縮寫為MCU。

單片機(jī)起初被應(yīng)用在工業(yè)控制領(lǐng)域,目前已滲透到我們生活的各個(gè)領(lǐng)域,如航空航天,智能儀器儀表控制,網(wǎng)絡(luò)通訊與數(shù)據(jù)傳輸,實(shí)時(shí)控制,數(shù)據(jù)采集處理,錄像機(jī)、攝像機(jī)、洗衣機(jī)、電磁爐、微波爐的控制等。

2.單片機(jī)類型

8051單片機(jī)最早由Intel公司推出,之后,多家公司購(gòu)買了8051的內(nèi)核,因此,以8051為內(nèi)核的單片機(jī)的產(chǎn)量最大,應(yīng)用最為廣泛。其中Atmel公司的AT89S5X系列單片機(jī)和宏晶公司的STC89C5X系列單片機(jī),是目前應(yīng)用較多的兩款單片機(jī),特別是Atmel公司的AT89S5X系列單片機(jī)由于推出得較早,因此在高校教學(xué)中應(yīng)用較多。

AVR單片機(jī)也是Atmel公司的產(chǎn)品,它是精簡(jiǎn)指令型單片機(jī)。與其他8位單片機(jī)相比,AVR單片機(jī)有明顯速度優(yōu)勢(shì),具備1?MIPS的高速運(yùn)行處理能力,I/O口功能強(qiáng)大,可輸出40?mA的電流(單一輸出),作輸入時(shí)可設(shè)置為三態(tài)高阻抗輸入或帶上拉電阻輸入,具備10?mA~20?mA灌電流的能力,外圍電路簡(jiǎn)單,系統(tǒng)穩(wěn)定性好。

PIC單片機(jī)是Microchip公司的產(chǎn)品,其CPU具有分散作用(多任務(wù))功能。它也是一種精簡(jiǎn)指令型的單片機(jī),指令數(shù)量比較少,中檔的PIC系列有35條指令,低檔的有33條指令。

MSP430系列單片機(jī)是由美國(guó)德州儀器公司(TI)于1996年推出的一款16位超低功耗并具有精簡(jiǎn)指令集(RISC)的單片機(jī),具有處理能力強(qiáng)、運(yùn)算速度快、超低功耗、片內(nèi)資源豐富等優(yōu)點(diǎn)。目前有MSP430x1xx系列、MSP430F2xx系列、MSP430C3xx系列、MSP430C4xx系列、MSP430F5xx系列,其中1xx系列和4xx系列目前在高校全國(guó)大學(xué)生電子設(shè)計(jì)競(jìng)賽中得到廣泛應(yīng)用。此外,還有SST、PHILIPS、華邦等多家公司都先后推出了各自的8051內(nèi)核單片機(jī),也各自占有一定的市場(chǎng)。

本書以STC89C51RC/RD+系列單片機(jī)為例,介紹單片機(jī)的基礎(chǔ)知識(shí)及其應(yīng)用。1.1.2性能與特點(diǎn)

STC89C51RC/RD+系列單片機(jī)的特點(diǎn)如下:

(1)是增強(qiáng)型8051單片機(jī),有6時(shí)鐘/機(jī)器和12時(shí)鐘/機(jī)器可選,指令代碼完全兼容傳統(tǒng)8051。

(2)工作電壓:3.3?V~5?V(5?V單片機(jī))/2.0?V~3.8?V(3?V單片機(jī))。

(3)工作頻率范圍:0~40?MHz,相當(dāng)于普通8051的0~80?MHz,實(shí)際工作頻率可達(dá)48?MHz。

(4)用戶應(yīng)用程序空間:4?KB/8?KB/13?KB/16?KB/32?KB/64?KB。

(5)片上集成1280?KB或512?KB的RAM。

(6)通用I/O口(35/39個(gè))復(fù)位后為:P1/P2/P3/P4是準(zhǔn)雙向口/弱上拉(普通8051傳統(tǒng)I/O口);P0口是開漏輸出,作為總線擴(kuò)展用時(shí)不用加上拉電阻,作為I/O口用時(shí)需加上拉電阻。

(7)有ISP(在系統(tǒng)可編程)/IAP(在應(yīng)用可編程)功能,無需專用編程器,無需專用仿真器可通過串口(RxD/P3.0,TxD/P3.1)直接下載用戶程序,數(shù)秒即可完成一片。

(8)帶有EEPROM。

(9)有看門狗功能。

(10)內(nèi)部集成MAX810專用復(fù)位電路(HD版本和90C版本),當(dāng)外部晶體為20?M以下時(shí),可省去外部復(fù)位電路。

(11)共3個(gè)16位定時(shí)器/計(jì)數(shù)器,其中定時(shí)器0還可當(dāng)成2個(gè)8位定時(shí)器使用。

(12)外部中斷4路,下降沿中斷或低電平觸發(fā)中斷,PowerDown模式可由外部中斷低電平觸發(fā)中斷方式喚醒。

(13)通用異步串行口(UART),還可用定時(shí)器軟件實(shí)現(xiàn)多個(gè)UART。

(14)工作溫度范圍:-40℃~+85℃(工業(yè)級(jí))/0~75℃(商業(yè)級(jí))。

(15)封裝:LQFP-44,PDIP-40,PLCC-44,PQFP-44。1.1.3內(nèi)部結(jié)構(gòu)

STC89C51RC/RD+系列單片機(jī)中包含中央處理器(CPU)、程序存儲(chǔ)器(Flash)、數(shù)據(jù)存儲(chǔ)器(SRAM)、定時(shí)/計(jì)數(shù)器、UART串口、I/O接口、EEPROM、看門狗等模塊。STC89C51RC/RD+系列單片機(jī)幾乎包含了數(shù)據(jù)采集和控制中所需所有單元模塊,可稱得上一個(gè)片上系統(tǒng),其內(nèi)部結(jié)構(gòu)如圖1.1所示。圖1.1STC89C51RC/RD+單片機(jī)內(nèi)部結(jié)構(gòu)框1.1.4引腳

STC89C51RC/RD+系列單片機(jī)的引腳如圖1.2所示。

(1)電源引腳。

VCC(40腳):電源正極。

VSS(20腳):電源負(fù)極。

圖1.2(DIP40)STC89C51RC/RD+系列單片機(jī)的引腳圖

(2)輸入/輸出(I/O)引腳。

STC89C51RC/RD+系列單片機(jī)共有4組I/O口,分別為P0、P1、P2及P3口。

P0口(32~39腳):P0口既可作為輸入/輸出口,也可作為地址/數(shù)據(jù)復(fù)用總線使用。當(dāng)P0口作為輸入/輸出口時(shí),P0是一個(gè)8位準(zhǔn)雙向口,上電復(fù)位后處于開漏模式。P0口內(nèi)部沒有上拉電阻,所以作I/O口必須外接4.7?kΩ~10kΩ的上拉電阻。當(dāng)P0作為地址/數(shù)據(jù)復(fù)用總線使用時(shí),是低8位地址線的A0~A7或數(shù)據(jù)線的D0~D7,此時(shí)無需外接上拉電阻。

P1口:1~8腳,其中:

1腳(P1.0)為標(biāo)準(zhǔn)I/O口,定時(shí)器/計(jì)數(shù)器2的外部輸入端;

2腳(P1.1)為標(biāo)準(zhǔn)I/O口,定時(shí)器/計(jì)數(shù)器2捕捉/重裝方式的觸發(fā)控制端;

3腳~8腳為標(biāo)準(zhǔn)I/O口。

P2口:21~28腳,P2口內(nèi)部有上拉電阻,既可作為輸入/輸出口,也可作為高8位地址總線使用(A8~A15)。當(dāng)P2口作為輸入/輸出口時(shí),P2是一個(gè)8位準(zhǔn)雙向口。

P3口:10~17腳,P3口除作為準(zhǔn)雙向I/O口使用外,還可以將每一位用于第二功能,其中第二功能如下:

10腳(P3.0)為RXD,串口1數(shù)據(jù)接收端;

11腳(P3.1)為TXD,串口1數(shù)據(jù)發(fā)送端;

12腳(P3.2)為,外部中斷0,下降沿中斷或低電平中斷;

13腳(P3.3)為,外部中斷1,下降沿中斷或低電平中斷;

14腳(P3.4)為T0,定時(shí)器/計(jì)數(shù)器0的外部輸入端;

15腳(P3.5)為T1,定時(shí)器/計(jì)數(shù)器1的外部輸入端;

16腳(P3.6)為,外部數(shù)據(jù)存儲(chǔ)器寫脈沖;

17腳(P3.7)為,外部數(shù)據(jù)存儲(chǔ)器讀脈沖。其他引腳功能如下:

29腳為,外部程序存儲(chǔ)器選通信號(hào)輸出引腳;

30腳為ALE/,地址鎖存允許信號(hào)輸出引腳/編程脈沖輸入引腳;

31腳為,內(nèi)外存儲(chǔ)器選擇引腳;

9腳為RST,復(fù)位腳;

18、19腳分別為XTAL2、XTAL1,分別接晶振的兩個(gè)引腳,19腳是外部時(shí)鐘源的輸入端,18腳是將19腳輸入的時(shí)鐘進(jìn)行輸出。

1.2STC89C51系列單片機(jī)的存儲(chǔ)器

STC89C51RC/RD+系列單片機(jī)的程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器是各自獨(dú)立編址的。STC89C51RC/RD+系列單片機(jī)除可以訪問片上Flash存儲(chǔ)器外,還可以訪問64?KB的外部程序存儲(chǔ)器。

1.2.1程序存儲(chǔ)器

程序存儲(chǔ)器用于存放用戶程序、數(shù)據(jù)和表格等信息。STC89C51RC/RD+系列單片機(jī)內(nèi)部集成了4?KB~64?KB的Flash程序存儲(chǔ)器。STC89C51RC/RD+系列各種型號(hào)單片機(jī)的片內(nèi)程序Flash存儲(chǔ)器的地址如表1-1所示。表1-1STC89C51RC/RD+系列各種型號(hào)單片機(jī)的

片內(nèi)程序Flash存儲(chǔ)器的地址表

單片機(jī)復(fù)位后,程序計(jì)數(shù)器(PC)的內(nèi)容為0000H,從0000H單元開始執(zhí)行程序。STC89C51RC/RD+單片機(jī)利用

引腳來確定是訪問片內(nèi)程序存儲(chǔ)器還是訪問片外程序存儲(chǔ)器。當(dāng)引腳接高電平時(shí),STC89C51RC/RD+單片機(jī)首先訪問片內(nèi)程序存儲(chǔ)器,當(dāng)PC的內(nèi)容超過片內(nèi)程序存儲(chǔ)器的地址范圍時(shí),系統(tǒng)會(huì)自動(dòng)轉(zhuǎn)到片外程序存儲(chǔ)器。

STC89C51系列單片機(jī)的5種中斷源的中斷入口地址規(guī)定如下:

外中斷0 0003H

定時(shí)器T0 000BH

外中斷1 0013H

定時(shí)器T1 001BH

串行口 0023H1.2.2數(shù)據(jù)存儲(chǔ)器

單片機(jī)的數(shù)據(jù)存儲(chǔ)器在物理上和邏輯上都分為兩個(gè)地址空間,即內(nèi)部數(shù)據(jù)存儲(chǔ)區(qū)和外部數(shù)據(jù)存儲(chǔ)區(qū)。內(nèi)部RAM有128或256個(gè)字節(jié)的用戶數(shù)據(jù)存儲(chǔ)空間(不同的型號(hào)有分別),用于存放執(zhí)行的中間結(jié)果和過程數(shù)據(jù)。普通89C51系列單片機(jī)的內(nèi)部RAM有128字節(jié)(89C51)/256字節(jié)(89C52)供用戶使用,其中:

(1)低128字節(jié)的內(nèi)部RAM(地址:00H~7FH),可直接尋址或間接尋址;

(2)高128字節(jié)的內(nèi)部RAM(地址:80H~FFH),只能間接尋址(普通89C51沒有)。1.2.3特殊功能寄存器

特殊功能寄存器(SFR)是用來對(duì)片內(nèi)各功能模塊進(jìn)行管理、控制、監(jiān)視的控制寄存器和狀態(tài)寄存器,是一個(gè)特殊功能的RAM區(qū)。STC89C51RC/RD+系列單片機(jī)內(nèi)的特殊功能寄存器與內(nèi)部高128字節(jié)RAM共用相同的地址范圍,都使用80H~FFH,但特殊功能寄存器必須用直接尋址指令訪問。

1.程序計(jì)數(shù)器(PC)

程序計(jì)數(shù)器在物理上是獨(dú)立的,不屬于SFR之列。PC字長(zhǎng)16位,是專門用來控制指令執(zhí)行順序的寄存器。單片機(jī)上電或復(fù)位后,PC=0000H,強(qiáng)制單片機(jī)從程序的零單元開始執(zhí)行程序。

2.累加器(ACC)

累加器是8051單片機(jī)內(nèi)部最常用的寄存器,也可寫作A,常用于存放參加算術(shù)或邏輯運(yùn)算的操作數(shù)及運(yùn)算結(jié)果。

3.?B寄存器

B寄存器在乘法和除法運(yùn)算中須與累加器配合使用。MULAB指令把A和B中的8位無符號(hào)數(shù)相乘,所得的16位乘積的低字節(jié)存放在A中,高字節(jié)存放在B中。DIVAB指令用B除以A,整數(shù)商存放在A中,余數(shù)存放在B中。B寄存器還可以用作通用暫存寄存器。

4.程序狀態(tài)字寄存器(PSW)

PSW各標(biāo)志位見表1-2。

CY:進(jìn)位位。加法運(yùn)算中,當(dāng)最高位即B7位有進(jìn)位,或減法運(yùn)算中最高位有借位時(shí),CY為1,反之為0。

AC:進(jìn)位輔助位。加法運(yùn)算中,當(dāng)B3位有進(jìn)位,或減法運(yùn)算中B3有借位時(shí),AC為1,反之為0。設(shè)置輔助進(jìn)位標(biāo)志AC的目的是為了便于BCD碼加法、減法運(yùn)算的調(diào)整。

F0:用戶標(biāo)志位0。

RS1、RS0:工作寄存器組的選擇位,如表1-3所示。表1-2PSW各標(biāo)志位表

表1-3工作寄存器組選擇表

OV:溢出標(biāo)志位。

F0:用戶標(biāo)志位1。

B1:保留位。

P:奇偶標(biāo)志位。該標(biāo)志位始終體現(xiàn)累加器ACC中1的個(gè)數(shù)的奇偶性。如果累加器ACC中1的個(gè)數(shù)為奇數(shù),則P置1;當(dāng)累加器ACC中的個(gè)數(shù)為偶數(shù)(包括0個(gè))時(shí),P位為0。

5.堆棧指針(SP)

堆棧指針是一個(gè)8位專用寄存器。它指示出堆棧頂部在內(nèi)部RAM塊中的位置。系統(tǒng)復(fù)位后,SP初始化為07H,使得堆棧事實(shí)上由08H單元開始,考慮08H~1FH單元分別屬于工作寄存器組1~3,若在程序設(shè)計(jì)中用到這些區(qū),則最好把SP值改變?yōu)?0H或更大的值為宜。STC89C51RC/RD+系列單片機(jī)的堆棧是向上生長(zhǎng)的,即將數(shù)據(jù)壓入堆棧后,SP內(nèi)容增大。

6.數(shù)據(jù)指針(DPTR)

數(shù)據(jù)指針是一個(gè)16位專用寄存器,由DPL(低8位)和DPH(高8位)組成,其地址是82H(DPL,低字節(jié))和83H(DPH,高字節(jié))。DPTR是傳統(tǒng)8051機(jī)中唯一可以直接進(jìn)行16位操作的寄存器,也可分別對(duì)DPL和DPH按字節(jié)進(jìn)行操作。STC89C51RC/RD+系列單片機(jī)有兩個(gè)16位的數(shù)據(jù)指針DPRT0和DPTR1,這兩個(gè)數(shù)據(jù)指針共用同一個(gè)地址空間,可通過設(shè)置DPS/AUXR1.0來選擇具體被使用的數(shù)據(jù)指針。

1.3單片機(jī)最小系統(tǒng)設(shè)計(jì)與制作

單片機(jī)最小系統(tǒng),也稱為最小應(yīng)用系統(tǒng),是指用最少的元件組成的可以工作的單片機(jī)系統(tǒng)。最小系統(tǒng)一般應(yīng)該包括:?jiǎn)纹瑱C(jī)、晶振電路、復(fù)位電路。

1.3.1最小系統(tǒng)的硬件電路

單片機(jī)最小系統(tǒng)電路如圖1.3所示。圖1.3單片機(jī)最小系統(tǒng)電路圖

1.時(shí)鐘電路

時(shí)鐘電路用于產(chǎn)生單片機(jī)工作所必需的時(shí)鐘控制信號(hào)。時(shí)鐘頻率直接影響單片機(jī)的速度。

時(shí)鐘電路連接單片機(jī)18腳和19腳,由晶振和無極性電容構(gòu)成。

XTAL1(19腳):芯片內(nèi)部振蕩電路輸入端。

XTAL2(18腳):芯片內(nèi)部振蕩電路輸出端。

一般來說晶振可以在1.2?MHz~12?MHz之間任選,或者更高,實(shí)際中常選用11.0592?MHz的石英晶振,選擇11.0592MHz的晶振可以得到精確的通信波特率,在進(jìn)行串口通信時(shí)可靠性高。與晶振連接的兩個(gè)無極性電容起到頻率微調(diào)作用,電容通??梢栽?2?pF~30?pF之間選擇。

2.復(fù)位電路

當(dāng)單片機(jī)系統(tǒng)在運(yùn)行中,受到環(huán)境干擾出現(xiàn)程序異常的時(shí)候,按下復(fù)位按鈕后,內(nèi)部的程序自動(dòng)從頭開始執(zhí)行。

單片機(jī)系統(tǒng)常常有上電復(fù)位和按鈕復(fù)位兩種方法。圖1.3中電容與電阻連接點(diǎn)連接單片機(jī)9腳,構(gòu)成單片機(jī)復(fù)位電路,此種接法為上電復(fù)位電路即電源接通后單片機(jī)復(fù)位。單片機(jī)在第9腳的高電平持續(xù)2μs就可以實(shí)現(xiàn)復(fù)位,因此只要保證電容的充放電時(shí)間大于2?μs即可實(shí)現(xiàn)復(fù)位。圖1.3所示的電路,是單片機(jī)能完成工作的最基本的單元。但是我們要使單片機(jī)實(shí)現(xiàn)我們的意圖(讓單片機(jī)執(zhí)行相應(yīng)的程序),就需要將所編寫的程序代碼下載到單片機(jī)中,但圖1.3所示的電路是無法完成程序下載任務(wù)的。因此,需要在原電路的基礎(chǔ)上,對(duì)電路進(jìn)行擴(kuò)展,以方便隨時(shí)將新編寫的程序或修改的程序下載到單片機(jī)中。擴(kuò)展電路圖如1.4所示。圖1.4在系統(tǒng)可編程(ISP)典型應(yīng)用線路圖圖1.4中加入了MAX232芯片,可通過MAX232芯片與串口和單片機(jī)連接,以上電路可以完成將程序下載到單片機(jī)中的任務(wù)。

在制作單片機(jī)最小系統(tǒng)的過程中,需要準(zhǔn)備以下元器件:10?cm?×?10?cm萬(wàn)能板1塊、DIP40芯片座1個(gè)、DIP16芯片座1個(gè)、11.0592?MHz晶振1個(gè)、27?pF瓷片電容2個(gè)(瓷片電容可以考慮換成獨(dú)石電容)、DB9串口(DB9-F-彎90度)1個(gè)、10?kΩ電阻1個(gè)、10?μF電解電容1個(gè)、STC89C52單片機(jī)1片、104瓷片電容4個(gè)、7.5?×?7.5自鎖開關(guān)1個(gè)(做電源開關(guān)使用)、MAX232芯片1片、10kΩ排阻1個(gè)(由于P0口為漏極開路模式,因此在使用時(shí)需要外接上拉電阻)、雙排針1個(gè)(擴(kuò)展I/O引腳使用)、串口線1根(臺(tái)式機(jī)電腦帶串口,可以使用此口下載程序)或者USB轉(zhuǎn)232線(筆記本電腦無串口,可使用此線下載程序)。焊接時(shí)應(yīng)注意:首先確定核心元器件的位置,由于有芯片座,所以先焊接芯片座,等所有電路焊接完成后再安裝芯片。另外使用的是萬(wàn)能板,所以在焊接過程中,布局盡量不飛線,也就是按照Protel99se中繪制單面PCB的方法一樣,所有的線路都在焊接面完成,以加強(qiáng)電路的穩(wěn)定性。圖1.5所示為實(shí)際布線圖。圖1.6所示為實(shí)際布局圖。

為了檢驗(yàn)制作的單片機(jī)最小系統(tǒng)能否正常工作,可以另外準(zhǔn)備一個(gè)發(fā)光二極管,將其焊接在單片機(jī)任意一個(gè)I/O引腳上,來檢測(cè)單片機(jī)最小系統(tǒng)能否正常工作。圖1.5實(shí)際布線圖圖1.6實(shí)際布局圖1.3.2程序編寫與下載

1.開發(fā)環(huán)境與程序編寫

程序的編寫需要在相關(guān)的開發(fā)環(huán)境下進(jìn)行,編程所使用的語(yǔ)言有匯編語(yǔ)言、C語(yǔ)言等,本書的所有代碼都是以C語(yǔ)言進(jìn)行編寫的。C語(yǔ)言編程使用的編譯器為Cx51,目前使用較多的是Keil軟件。

KeilC51是美國(guó)KeilSoftware公司出品的51系列兼容單片機(jī)C語(yǔ)言軟件開發(fā)系統(tǒng),提供了包括C編譯器、宏匯編、連接器、庫(kù)管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個(gè)集成開發(fā)環(huán)境(μVision)將這些部分組合在一起。下面介紹如何在Keil開發(fā)環(huán)境下編寫程序代碼(關(guān)于Keil的詳細(xì)使用方法,會(huì)在后面章節(jié)介紹)。

1)軟件的安裝

(1)雙擊安裝文件C51V818.exe,在彈出的對(duì)話框中,單擊“Next”按鈕,如圖1.7所示。

(2)將“IagreetoallthetermsoftheprecedingLicenseAgreement”前的單選框選中,然后單擊“Next”按鈕,如圖1.8所示。

(3)安裝程序默認(rèn)路徑為C:\Keil,若想更改路徑,可以點(diǎn)擊“Browse”按鈕,選擇安裝路徑即可,路徑選中完成后,單擊“Next”按鈕,如圖1.9所示。圖1.7Keil軟件安裝過程圖A圖1.8Keil軟件安裝過程圖B圖1.9Keil軟件安裝過程圖C

(4)在彈出的對(duì)話框中,在“FirstName”中輸入名字,在“E-mail”中輸入郵箱,當(dāng)然這兩項(xiàng)也可以隨意填寫,不影響安裝過程。輸入完成后,單擊“Next”按鈕,程序?qū)⑦M(jìn)行安裝,如圖1.10和圖1.11所示。

(5)待安裝完成后,會(huì)出現(xiàn)對(duì)話框,單擊“Finish”按鈕完成安裝。圖1.10Keil軟件安裝過程圖D

圖1.11Keil軟件安裝過程圖E

2)軟件的使用

第一步:鼠標(biāo)雙擊桌面上的KeilμVision3軟件圖標(biāo),見圖1.12。

打開后,會(huì)彈出圖1.13所示的界面,如果不是圖1.13所示的界面,可以用鼠標(biāo)選擇““Project”菜單中的“CloseProject”返回到圖1.13所示的界面。圖1.12KeilμVision3軟件圖標(biāo)

圖1.13軟件初始畫面第二步:建立工程文件。

在項(xiàng)目開發(fā)中,只有一個(gè)源程序是不行的,還需要選擇相應(yīng)的CPU等參數(shù),因此為了管理和使用方便,Keil使用工程的概念,將所有的參數(shù)和文件都集中到一個(gè)工程中。

點(diǎn)擊“Project”菜單中的“NewμVisionProject…”(見圖1.14),出現(xiàn)一個(gè)對(duì)話框(見圖1.15),要求給將要建立的工程起一個(gè)名字,你可以輸入一個(gè)名字(假設(shè)輸入“項(xiàng)目一”),不需要輸入擴(kuò)展名(注意選擇好保存的路徑)。

輸入完成后,單擊“保存”按鈕,會(huì)彈出“SelectDeviceforTarget‘Target1’”對(duì)話框,如圖1.16所示。圖1.14新建項(xiàng)目菜單圖1.15命名保存窗口圖1.16“SelectDeviceforTarget‘Target1’”對(duì)話框這個(gè)對(duì)話框要求選擇目標(biāo)CPU(即你所用芯片的型號(hào)),Keil支持的CPU很多,我們使用的是STC89C52,但是可選的列表中并沒有STC公司的芯片,因此我們選擇Atmel公司的AT89C52芯片,兩款芯片在編程上無任何區(qū)別。點(diǎn)擊Atmel前面的“+”號(hào),展開該層,點(diǎn)擊其中的AT89C52,然后再點(diǎn)擊“OK”按鈕(如圖1.17所示),會(huì)彈出一個(gè)“CopyStandard8051StartupCodetoProjectFolderandAddFiletoProject”對(duì)話框,點(diǎn)擊“否”按鈕(見圖1.18),回到主界面。

此時(shí),在工程窗口的文件頁(yè)中,出現(xiàn)了“Target1”,前面有“+”號(hào),點(diǎn)擊“+”號(hào)展開,可以看到下一層的“SourceGroup1”,如圖1.19所示。圖1.17器件選擇窗口圖1.18添加Standard8051文件詢問窗口圖1.19工程建立完成后窗口到此,工程已經(jīng)建立完成,但現(xiàn)在的工程是一個(gè)空的工程,沒有任何文件在里面。

第三步:建立源文件,并添加到工程中。

(1)點(diǎn)擊“File”菜單中的“New…”項(xiàng),如圖1.20所示。

會(huì)彈出Text1對(duì)話框,如圖1.21所示。

(2)單擊“File”菜單中的“Save”項(xiàng)后,在彈出的對(duì)話框輸入要保存的文件名字,后綴名為“.c”,然后單擊“保存”按鈕(這里輸入“單片機(jī)最小系統(tǒng)測(cè)試.c”),如圖1.22所示。保存后新建的文件窗口如圖1.23所示。圖1.20新建文件圖1.21新建文件窗口圖1.22文件保存窗口圖1.23文件保存后的窗口

(3)在如圖1.19中的“SourceGroup1”處,單擊右鍵,選擇“AddfiletoGroup‘SourceGroup1’”(見圖1.24),會(huì)出現(xiàn)一個(gè)對(duì)話框(見圖1.25),單擊選擇“單片機(jī)最小系統(tǒng)測(cè)試.c”,然后單擊“Add”按鈕,最后單擊“Close”按鈕結(jié)束。

這時(shí),在“SourceGroup1”的前面,會(huì)出現(xiàn)一個(gè)“”號(hào),單擊“”號(hào),剛才添加的“單片機(jī)最小系統(tǒng)測(cè)試.c”就會(huì)出現(xiàn)在其下方(如圖1.26所示),這時(shí)就可以在右邊空白處進(jìn)行編程了(如圖1.27所示)。圖1.24添加文件菜單圖1.25添加文件選擇窗口圖1.26文件添加到工程中后狀態(tài)圖1.27文件添加到工程中后狀態(tài)第四步:在編程區(qū)輸入程序代碼。

#include<reg52.h> //頭文件

voidmain() //主函數(shù)

{

P1=0x55; //讓P1口的第0、2、4、6位為高電平“1”,第1、3、5、7位為低電平“0”

}

第五步:對(duì)Keil進(jìn)行設(shè)置,生成hex文件。

(1)單擊“”圖標(biāo),如圖1.28所示。單擊后會(huì)彈出“OptionsforTarget‘Target1’”對(duì)話框,選擇“Output”選項(xiàng)卡,如圖1.29所示。

(2)在“Output”選項(xiàng)卡的“NameofExecutable”中可以輸入要生成的hex文件的名字(也可以不改),然后將“CreateHEXFile”前的復(fù)選框勾上,單擊“OK”按鈕,如圖1.30所示。

(3)對(duì)程序進(jìn)行編譯,查找錯(cuò)誤,生成hex文件,為下載到單片機(jī)中做好準(zhǔn)備。首先單擊圖標(biāo),如果有錯(cuò)誤,會(huì)在最下方出現(xiàn)提示,如果沒有錯(cuò)誤,就會(huì)出現(xiàn)如圖1.31所示界面。圖1.28設(shè)置按鈕圖1.29“OptionsforTarget‘Target1’”對(duì)話框圖1.30HEX文件輸出設(shè)置窗口圖1.31輸出窗口信息提示最后一行的“0Error(s),0Warning(s)”,表明程序沒有錯(cuò)誤,沒有警告,倒數(shù)第二行表示已經(jīng)創(chuàng)建了“項(xiàng)目一.hex”文件。打開之前保存“項(xiàng)目一”工程的存放路徑,可以看到創(chuàng)建的“項(xiàng)目一.hex”文件,如圖1.32所示。圖1.32創(chuàng)建的hex文件

2.程序下載方法

要下載到單片機(jī)中的文件已經(jīng)創(chuàng)建完成了,現(xiàn)在介紹如何將程序下載到單片機(jī)中。

STC系列單片機(jī)在下載程序時(shí)時(shí)需要使用“STC_ISP.exe”的軟件,可以到STC官方網(wǎng)站/中的右上角“STC-ISP下載編程燒錄軟件”一欄中選擇相應(yīng)版本的下載軟件進(jìn)行下載。下載完成后,選擇相應(yīng)的路徑解壓安裝,然后選擇圖標(biāo)雙擊打開,就會(huì)呈現(xiàn)如圖1.33所示的界面。在界面中最上面,會(huì)顯示“STC-ISP.exewww.STCMCU.com”的信息,最后的“V4.88”表示的是當(dāng)前軟件的版本,官方網(wǎng)站會(huì)不斷更新ISP軟件。圖1.33STC-ISP界面下載步驟如下:

(1)雙擊打開STC-ISP.exe軟件。(注意:如果是WindowsXP系統(tǒng)則直接雙擊打開,如果是Windows7操作系統(tǒng),在使用的時(shí)候,不要雙擊打開,而是在圖標(biāo)處點(diǎn)擊右鍵,選擇“以管理員身份運(yùn)行”,軟件才能正常使用,否則可能無法正常下載程序)

(2)對(duì)ISP軟件進(jìn)行設(shè)置:

①單擊圖1.34所示的“倒三角”按鈕,選擇第一項(xiàng)“89C5XRC/RD+series”,然后單擊前面的“+”,選擇所使用的單片機(jī)型號(hào),我們選用的是STC89C52。如果使用的是STC其他系列的單片機(jī),則在相應(yīng)的系列里面進(jìn)行選擇。圖1.34器件選擇按鈕②選擇要下載的hex文件。單擊“OpenFile/打開文件”按鈕,如圖1.35所示。

單擊完成后會(huì)彈出圖1.36所示對(duì)話框。

選擇文件存放的位置,單擊要選擇的文件,然后單擊“打開”。文件打開后,會(huì)出現(xiàn)一組十六進(jìn)制數(shù),如圖1.37所示。

③選擇相應(yīng)的串行口和合適的波特率。在“COM”里選擇相應(yīng)的串口號(hào),然后選擇相應(yīng)的波特率。如果是手工焊接的單片機(jī)最小系統(tǒng),建議在“最高波特率”處選擇較低的波特率,如9600,如圖1.38所示。手工焊接的串口通信電路的性能波動(dòng)較大,跟焊接的質(zhì)量有很大的關(guān)系,當(dāng)下載不成功時(shí),可以嘗試以更低的波特率進(jìn)行連接。在“COM”串口號(hào)選擇時(shí),要根據(jù)實(shí)際的連接情況來選擇。圖1.35選擇hex文件按鈕圖1.36hex文件選擇窗口圖1.37hex文件添加后狀態(tài)圖1.38COM口與波特率選擇如果用的是臺(tái)式機(jī)主機(jī)箱后面主板自帶的串口的話,那么就可以選擇“COM1”。

如果使用的是筆記本電腦,而筆記本電腦一般都沒有串口,只有USB口,則需要購(gòu)買一個(gè)“USB轉(zhuǎn)串口”線與自制的單片機(jī)最小系統(tǒng)相連。使用USB轉(zhuǎn)串口線時(shí),首先將購(gòu)買的轉(zhuǎn)換線USB一端插入到筆記本上,將附帶的光盤插入到光驅(qū)中,根據(jù)提示選擇配套的驅(qū)動(dòng)程序,安裝完成后,重新插拔一次。下面以Windows7系統(tǒng)為例講解如何查看串口序號(hào)。首先在電腦“桌面”上的“計(jì)算機(jī)”圖標(biāo)上單擊右鍵,選擇“管理”(如圖1.39所示),會(huì)彈出一個(gè)界面(如圖1.40所示),再在界面左邊單擊選擇“設(shè)備管理器”,再在界面右側(cè)選擇“端口(COM和LPT)”并雙擊(如圖1.41所示的方框部分),將會(huì)看到“ProlificUSB-to-SerialCommPort”一項(xiàng),在這一項(xiàng)后面會(huì)有(COM×)的顯示(如圖1.42所示),×顯示的是阿拉伯?dāng)?shù)字,數(shù)字是幾就選擇相應(yīng)的COM序號(hào)即可。圖1.39打開計(jì)算機(jī)管理圖1.40設(shè)備管理器窗口圖1.41選擇窗口圖1.42COM選項(xiàng)標(biāo)注位置顯示的是COM4,則在ISP軟件“COM”處選擇COM4即可。如果是WindowsXP系統(tǒng),查看的方法也是一樣的。

(3)如圖1.43所示,單擊“Download/下載”按鈕,然后給制作的單片機(jī)最小系統(tǒng)供電。注意先后順序,先點(diǎn)擊Download,然后供電,順序不能顛倒,否則會(huì)下載出錯(cuò)。

要注意,在ISP軟件中的“Step4/步驟4”里面的選項(xiàng)不要修改。點(diǎn)擊“Download/下載”按鈕后,程序?qū)⑦M(jìn)行下載,將會(huì)出現(xiàn)如圖1.44所示的界面。圖1.43下載按鈕

圖1.44下載連接中下載成功后將會(huì)有提示,如圖1.45所示。

(4)如果下載不成功,會(huì)出現(xiàn)如圖1.46所示界面。

如果下載不成功,在確定ISP軟件沒有問題后,就需要檢查硬件電路,重點(diǎn)檢查單片機(jī)時(shí)鐘電路和MAX232電路。

以上是制作單片機(jī)最小系統(tǒng)的步驟和程序下載的方法,有興趣的同學(xué)可以自己動(dòng)手制作一個(gè)單片機(jī)最小系統(tǒng),開始單片機(jī)學(xué)習(xí)。圖1.45下載已完成

圖1.46下載未成功提示隨著電子技術(shù)的發(fā)展,計(jì)算機(jī)的功能也越來越強(qiáng)大,各種仿真技術(shù)、虛擬技術(shù)被廣泛應(yīng)用于各個(gè)領(lǐng)域。我們?cè)趯W(xué)習(xí)單片機(jī)的過程中,也可以借助虛擬仿真技術(shù),這樣不但可以節(jié)省硬件制作的時(shí)間,而且容易上手。目前單片機(jī)仿真應(yīng)用最為廣泛的是Proteus軟件。通過仿真軟件,可以加深理解編程,便于單片機(jī)的學(xué)習(xí)。需要指出的是,無論多么好的軟件,與硬件相比,還是具有一定差異性的,如果想要在單片機(jī)方面深入學(xué)習(xí),建議軟硬結(jié)合,即通過仿真軟件學(xué)習(xí)基礎(chǔ)內(nèi)容,加深理解,然后自己實(shí)際動(dòng)手制作硬件,掌握真實(shí)電路工作情況。1.3.3調(diào)試方法與步驟

本項(xiàng)目主要的任務(wù)就是使自己制作的單片機(jī)最小系統(tǒng)能夠正常工作。因此一旦出現(xiàn)無法下載程序的情況,首先要檢查硬件電路制作是否正確,具體可以將電路原理圖與實(shí)際硬件電路對(duì)比檢查,查看是否有焊接錯(cuò)誤的地方,確認(rèn)無誤后,仍然無法下載程序,則首先考慮電容等小器件是否有損壞,逐一排查,直到單片機(jī)最小系統(tǒng)能夠正常工作為止。

將“項(xiàng)目一.hex”文件下載到單片機(jī)后,可以拿萬(wàn)用表,測(cè)試P1口的第0、2、4、6位是否為高電平(5?V),P1口的第1、3、5、7位是否為低電平。如果與程序設(shè)置一樣,說明單片機(jī)最小系統(tǒng)工作正常,就可以在最小系統(tǒng)基礎(chǔ)上進(jìn)行其他擴(kuò)展應(yīng)用了。

1.4Proteus仿真軟件

Proteus軟件是英國(guó)LabcenterElectronics公司出版的EDA(ElectronicDesignAutomation,電子設(shè)計(jì)自動(dòng)化)工具軟件(該軟件中國(guó)總代理為廣州風(fēng)標(biāo)電子技術(shù)有限公司)。它不僅具有其他EDA工具軟件的仿真功能,還能仿真單片機(jī)及外圍器件,是目前最好的仿真單片機(jī)及外圍器件的工具之一。Proteus的功能從原理圖布圖、代碼調(diào)試到單片機(jī)與外圍電路協(xié)同仿真,可一鍵切換到PCB設(shè)計(jì),真正實(shí)現(xiàn)了從概念到產(chǎn)品的完整設(shè)計(jì),是目前世界上唯一將電路仿真軟件、PCB設(shè)計(jì)軟件和虛擬模型仿真軟件三合一的設(shè)計(jì)平臺(tái)。其處理器模型支持8051、HC11、PIC10/12/16/18/24/30/DSPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列處理器,并持續(xù)增加其他系列處理器模型。在編譯方面,它也支持IAR、Keil和MATLAB等多種編譯器,目前最新版本為Proteus7.9。

1.打開Proteus軟件

Proteus軟件安裝好之后,我們可以點(diǎn)擊“開始”→“程序”→“Proteus7Professional”→“ISIS7Professional”(見圖1.47),會(huì)出現(xiàn)Proteus界面(本書使用Proteus7.7版本),如圖1.48所示。

進(jìn)入Proteus后,會(huì)出現(xiàn)Proteus工作界面,在彈出的對(duì)話框中選擇“No”,選中“以后不再顯示此對(duì)話框”,關(guān)閉彈出提示。進(jìn)入Proteus軟件后,會(huì)出現(xiàn)圖1.49所示工作界面。圖1.47選擇Proteus軟件圖1.48Proteus加載畫面圖1.49Proteus軟件工作界面

2.?Proteus基本操作

我們以單片機(jī)最小系統(tǒng)為例,講解如何利用進(jìn)行Proteus進(jìn)行仿真。

1)選擇元器件

在對(duì)象選擇按鈕中選擇“P”按鈕,彈出“PickDevices”對(duì)話框,如圖1.50所示。

元器件選擇共有兩種辦法:

(1)按類別查找元器件,即通過元器件類別、元件符號(hào)、參數(shù)等判斷元器件屬于哪一大類,雙擊找到的元件名,該元件便會(huì)顯示在“DEVICES”界面中了。圖1.50元器件選擇窗口

(2)直接查找,即把元件名的全稱或部分輸入到PickDevices對(duì)話框中的“關(guān)鍵字”欄,在中間的查找“結(jié)果”中顯示所有列表,選擇我們需要的器件。

直接查找節(jié)約時(shí)間,但是需要對(duì)器件十分熟悉。下面給出幾種Proteus常用器件名稱:

AND 與門 NOR 或非門

BATTERY 直流電源NOT 非門

BUFFER 緩沖器 OR 或門

CAP 電容 PNP 三極管

CAP-ELEC 電解電容 RES 電阻

DIODE 二極管 RESPACK排阻

LED 發(fā)光二極管 BUTTON按鈕

NAND 與非門 7SEG 七段數(shù)碼管接下來把單片機(jī)最小系統(tǒng)所需的元器件選擇出來,分別在“PickDevices”對(duì)話框的“關(guān)鍵字”欄中輸入各元器件。具體操作如下(輸入時(shí)不區(qū)分大小寫):

①在“關(guān)鍵字”欄輸入AT89C52,在右側(cè)會(huì)出現(xiàn)器件的型號(hào),如圖1.51所示,在這里提示一下,如果不記得器件的全稱,只記得幾個(gè)字符,也可以輸入進(jìn)去,系統(tǒng)會(huì)自動(dòng)將與輸入相匹配的器件選擇出來,然后再由用戶自行選擇。

由于Proteus元器件庫(kù)中沒有STC系列單片機(jī),仿真時(shí)可以用AT系列替代。

雙擊所需元件,元件就會(huì)出現(xiàn)在“DEVICES”欄中。如圖1.52所示。圖1.51元器件選擇圖1.52雙擊添加元器件②然后依次輸入CAP、CAP-ELEC、CRYSTAL、RES、RESPACK。選擇好之后,所有已選器件都在列表中,如圖1.53所示。

③把元件放置到圖形編輯區(qū)中。單擊需要放置的元器件,放置到圖形編輯區(qū)中,如圖1.54所示。

④連元器件連線。畫線的方法:當(dāng)鼠標(biāo)的指針靠近一個(gè)器件的連接點(diǎn)時(shí),鼠標(biāo)的指針就會(huì)變?yōu)橐粋€(gè)綠顏色的小筆,鼠標(biāo)左鍵點(diǎn)擊元器件的連接點(diǎn),移動(dòng)鼠標(biāo)(不用一直按著左鍵)就出現(xiàn)連接線。如果想讓Proteus軟件自動(dòng)定出線路徑,只需左擊另一個(gè)連接點(diǎn)即可。連接后電路如圖1.55所示。圖1.53已選取的元器件列表圖1.54放置元器件圖1.55連線后電路⑤放置電源、地,并連接。點(diǎn)擊左側(cè)“繪圖工具欄”中的“終端模式”。分別選擇“POWER”、“GROUND”,如圖1.56所示。放置到繪圖區(qū)后與器件連接,連接完成后電路如圖1.57所示。

⑥編輯元器件屬性。雙擊元器件,在彈出的“編輯元件”對(duì)話框中,修改相應(yīng)參數(shù)。

(a)雙擊“AT89C52”,在彈出對(duì)話框的“ClockFrequency”中,將參數(shù)修改為我們實(shí)際的單片機(jī)晶振頻率11.0592?MHz,修改完成后,單擊“確定”按鈕退出對(duì)話框,如圖1.58所示。

(b)用同樣的方法,修改電容、晶振、電阻以及排阻的參數(shù),分別如圖1.59~圖1.63所示。圖1.56電源和地選取圖1.57

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論