單片機(jī)學(xué)習(xí)手冊(cè)C51版_第1頁
單片機(jī)學(xué)習(xí)手冊(cè)C51版_第2頁
單片機(jī)學(xué)習(xí)手冊(cè)C51版_第3頁
單片機(jī)學(xué)習(xí)手冊(cè)C51版_第4頁
單片機(jī)學(xué)習(xí)手冊(cè)C51版_第5頁
已閱讀5頁,還剩77頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、單片機(jī)知識(shí)學(xué)習(xí)手冊(cè)項(xiàng)目一單片機(jī)的認(rèn)識(shí)、單片機(jī)芯片引腳Pl.o Pl I P1.2 Pl.l Pl.4Pl.5 Pl.6 Pl.711I iRST/VPD一 RXDRq- rxp/Pj.i - I.NTo/Pai - INTt/PjJ-TgL Ti/Pi.s-4 5 6 7 S 9 10 I】 12 138915116RD/Pj.7I?XTALi-18XTALi 一19Vss 一154039383736353433翌3130292827262524232221vcpt>.popo,po,pe>,po,po,po.89C5189s51共有40個(gè)引腳,說明如下:1 .電源:VCC(40)

2、-芯片電源,接+5VVSS(20)-接地端;2 .時(shí)鐘:XTAL1(19) XTAL2(18)-晶體振蕩電路反相輸入端和輸出端。3 .控制線:控制線共有4根,(1) ALE/PROG(30地址鎖存允許/片內(nèi)EPRO網(wǎng)程脈沖ALE功能:用來鎖存P0 口送出的低8位地址PROG功能:片內(nèi)有EPROM的芯片,在EPRO網(wǎng)程期間,此引腳輸入編程脈沖。(2) PSEN(29)外ROM讀選通信號(hào)。(3) RST/VPP(9度位/備用電源。RST( Reset)功能:復(fù)位信號(hào)輸入端。VPP功能:在Vcc掉電情況下,接備用電源。(4) EA/Vpp:內(nèi)/外ROM選擇/片內(nèi)EPROM編程電源。89C5189s5

3、1芯片用內(nèi)部 ROM (程序 存儲(chǔ)器),所以此引腳必須接高電平+5V.4.輸入/輸出口線P0 口 8位雙向口線P1 口 8位雙向口線P2 口 8位雙向口線P3 口 8位雙向口線? P0.0 P0.7(39 32)? P1.0 P1.7(1 8)? P2.0 P2.7 (21 27)? P3.0 P3.7(10 17)其中P3中的各位有第二功能 思考: 判斷第1腳的方法是什么?二、單片機(jī)的最小系統(tǒng)OP ,0%中Ea能夠讓單片機(jī)工作的最小硬件電路,稱為單片機(jī)最*.獷I島;展,小系統(tǒng)。包括單片機(jī)芯片、電源電路、晶振電路、復(fù)位電,kQ "d甌w路。 1、電源電路如果有現(xiàn)成的5V穩(wěn)壓電源,可直

4、接把VCC腳與EA腳 后1RST接+5V,然后把VSS腳接5V電源的地就可以了。如果沒有 也包一15現(xiàn)成的穩(wěn)壓電源,可通過220V交流電進(jìn)行降壓一整流一XTA1.2濾波一穩(wěn)壓得到。一羊丞52、復(fù)位電路I 工4 3早:XTAL1 %晶施電路復(fù)位是指單片機(jī)的初始狀態(tài),當(dāng)單片機(jī)剛上電時(shí),單片 L?_機(jī)應(yīng)在初始狀態(tài)。有時(shí)程序執(zhí)行過程中會(huì)出現(xiàn)動(dòng)作亂的現(xiàn)一象,也可讓單片機(jī)復(fù)位-下,讓程序從頭開始執(zhí)行。單片 機(jī)復(fù)位后,各特殊功能寄存器的初始狀態(tài)教材。復(fù)位電路的工作原理是一個(gè) RC電路的充電過程,因單片機(jī)的復(fù)位是高電平復(fù)位,必須在 RST 引腳上保持兩個(gè)機(jī)器周期以上的高電壓才能讓單片機(jī)可靠復(fù)位,所以上圖中的電

5、阻及電容的 大小要選擇合適。復(fù)位過程是:當(dāng)剛接上電源時(shí),+5V通過22UF的電容及10KQ的電阻進(jìn)行充電,電容相 當(dāng)于短路,所+ 5V直接加到RST引腳上而復(fù)位,稱之為上電復(fù)位,過一段時(shí)間,電容充電完 畢,流過10KQ的電阻的電流為零,RSHI相當(dāng)于與地(低電平)接在一起,單片機(jī)在工作狀 態(tài)。當(dāng)在程序執(zhí)行過程中要進(jìn)行復(fù)位時(shí),可按下按鍵K1, RST為高電平而復(fù)位。3、晶振電路如右上圖所示,晶振電路主要由晶振(12MHz與兩個(gè)電容(30PF左右)組成,為單片機(jī) 提供時(shí)鐘脈沖。三、單片機(jī)中數(shù)的使用1 .十進(jìn)制數(shù) 主要特點(diǎn): 基數(shù)是10。有10個(gè)數(shù)碼(數(shù)符)構(gòu)成:0、1、2、3、4、5、6、7、8、

6、9。 進(jìn)、借位規(guī)則是“逢十進(jìn)一、借一當(dāng)十”。【例】1234.56=1 x 103+2X 102+3 x 101+4X 100+5 x 10-1+6X 10-2=1000+200+30+4+0.5+0.06上述,103、102、101、10°、10-1、10-2稱為十進(jìn)制數(shù)各數(shù)位的“權(quán)”2,二進(jìn)制數(shù)主要特點(diǎn):基數(shù)是2。只有兩個(gè)數(shù)碼:0和1。 進(jìn)、借位規(guī)則是 逢二進(jìn)一、借一當(dāng)二”。每左移一位,數(shù)值增大一倍;右移一位,數(shù)值減小一半 二進(jìn)制數(shù)用尾綴B作為標(biāo)識(shí)符?!纠?11.11B=1X22 +1X21 +1X20 +1X2-1+1X 2-2=7.75其中,22、21、20、2-1、2-2稱

7、為二進(jìn)制數(shù)各數(shù)位的“ 權(quán)”3.十六進(jìn)制數(shù)主要特點(diǎn):基數(shù)是16。共有16個(gè)數(shù)符構(gòu)成:0、1、9、A、B、C、D、E、F。其中,A、B、C、D、E、F代表的數(shù)值分別為10、11、12、13、14、15。進(jìn)、借位規(guī)則是“逢十六進(jìn)一、借一當(dāng)十六”。十六進(jìn)制數(shù)用尾綴H表示。在C51中十六進(jìn)制數(shù)“ 0X”開頭的【例】0XA3.4=10X 161+3 X160+4X 16-1=160+3+0.25=163.25其中,163、162、161、160、16-1、16-2稱為十六進(jìn)制數(shù)各數(shù)位的“權(quán)”。十六進(jìn)制數(shù)、二進(jìn)制數(shù)和十進(jìn)制數(shù)對(duì)應(yīng)關(guān)系表1011011B=0X1O11OOOB=0X十進(jìn)制數(shù)十六進(jìn)制數(shù)二進(jìn)制數(shù)十進(jìn)

8、制數(shù)十六進(jìn)制數(shù)二進(jìn)制數(shù)00X000000B110X0B1011B10X010001B120X0C1100B20X020010B130X0D1101B30X030011B140X0E1110B40X040100B150X0F1111B50X050101B160X100001 0000B60X060110B170X110001 0001B70X070111B180X120001 0010B80X081000B190X130001 0011B90X091001B200X140001 0100B100X0A1010B210X150001 0101B二、數(shù)制轉(zhuǎn)換1.二進(jìn)制數(shù)與十六進(jìn)制數(shù)相互轉(zhuǎn)換二進(jìn)制數(shù)轉(zhuǎn)

9、換成十六進(jìn)制數(shù)整數(shù)部分:自右向左,四位一組,不足四位,向左填零,各部分用相應(yīng)的十六進(jìn)制數(shù)替代;例 0101 1010B=0X5A 11110101B=0XF51101010B=0X10111B=0X小數(shù)部分:自左向右,四位一組,不足四位,向右填零,各部分用相應(yīng)的十六進(jìn)制數(shù)替代;如:0.1101B=0.D0.1010B=0X0.11101B=0X十六進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù)每一位十六進(jìn)制數(shù)分別用相應(yīng)4位二進(jìn)制數(shù)替代。十六進(jìn)制數(shù)二進(jìn)制數(shù)十六進(jìn)制數(shù)二進(jìn)制數(shù)0X00000B0X81000 B0X10001 B0X91001 B0X20010 B0XA1010 B0X30011 B0XB1011 B0X40

10、100 B0XC1100 B0X50101 B0XD1101 B0X60110 B0XE1110 B0X70111 B0XF1111 B如 16H=0001,0110B0X1FF=0001,1111,1111B0X4F=0100,1111B0X16.D=0001,0110.1101B0X89=B0XF8=0XED= B0XBC= 十進(jìn)制數(shù)整數(shù)轉(zhuǎn)換成十六進(jìn)制數(shù)的方法: 除16取余法323D(十進(jìn)制尸143H(+六進(jìn)制數(shù))3.十進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù)、十六進(jìn)制數(shù)整數(shù)部分的轉(zhuǎn)換十進(jìn)制整數(shù)轉(zhuǎn)換成二進(jìn)制整數(shù)的方法:除2取余法如48D(十進(jìn)制)=110000BU進(jìn)制數(shù))小數(shù)部分的轉(zhuǎn)換十進(jìn)制小數(shù)轉(zhuǎn)換成二進(jìn)制小

11、數(shù)的方法:0.75D(十進(jìn)制數(shù))=0.11B將小數(shù)部分乘2取整數(shù)法(4、二進(jìn)制數(shù)運(yùn)算(1) 二進(jìn)制數(shù)加法運(yùn)算規(guī)則:0 + 0 = 0, 0 + 1 = 1 + 0 = 1, 1 + 1 = 0 (向高位進(jìn)1)00110101B+10011100Biiii11010001B2.二進(jìn)制數(shù)減法運(yùn)算規(guī)貝的 0-0 = 0, 1-0 = 0, 1-1=0,0-1= 1 C向高位借1) 0借【例】101i0101B-10011100B00011001B3,二進(jìn)制數(shù)乘法運(yùn)算規(guī)貝I卜 0X0=0, 1XO=OX1=0, 1X1=1.【例】1101BX 1001R1 101+11014.二進(jìn)制數(shù)除法運(yùn)算規(guī)則:0

12、4-0=0, 04-1=0, 1 + 1=1?!纠?001iioi V mono一 1101 mb一 1101 I5 .二進(jìn)制數(shù)“與”運(yùn)算“&”:按位與規(guī)則:0A0 = 0, 1 A 0 = 0,有 0得0,1 A 0 = 0, 1 A l = lo 全1 得 1【例】10110101B& 10011100B10010100B6 .二進(jìn)制數(shù)“或”運(yùn)算“I”:按位或規(guī)則,0 V 0 = 0, 1 V 0 = 1,有 1 得11 V 1 =0, 0 V l = lo 全0得0【例】10110101BI 10011100B10111101B7.二進(jìn)制數(shù)“異或”運(yùn)算人按位異或規(guī)則:0

13、畬0=0, 0金1 = 1,相同得01金0=1, 1 ® 1 = 0o不同得1【例】10110101Ba 10011100B00101001B:運(yùn)算對(duì)象在運(yùn)算符的右邊 功能:對(duì)運(yùn)算對(duì)象的各二進(jìn)位按位求反, 即使每一位上的。變1;變i為。14:即0 0 0 0 1 1 1 0 敬位求反得0000111011110001<<:左移例如:a<<4功能:把a(bǔ)的各二進(jìn)制位向左移動(dòng)4位若a=00010011(十進(jìn)制19),左移4位后為00110000(十進(jìn)制48),其中左端移由的0001四位丟棄,右邊四位補(bǔ)0000000-00110*1 0110000 .>>

14、 :右移例如:a>>2 功能:把a(bǔ)的各二進(jìn)位向右移動(dòng)2位若 a= 0000000000001111(十進(jìn)制 若), 右移2位后為0000000000000011(十進(jìn)制3)00000000000011110000000000000011有符號(hào)數(shù)與無符號(hào)數(shù)有符號(hào)數(shù):最高位為符號(hào)位,最高位為“ 0”表示正數(shù),最高位為“1”表 示負(fù)數(shù)。中00001010B表示是正數(shù)(+10),而10010001B表示負(fù)數(shù)。無符號(hào)數(shù):最高位不作為符號(hào)位,而當(dāng)成數(shù)值位。二進(jìn)制數(shù)有原碼、反碼與補(bǔ)碼三種編碼形式原碼:二進(jìn)制數(shù)的原形,可為無符號(hào)數(shù),也可有符號(hào)數(shù)。8位無符號(hào)數(shù)原碼范圍:0000 0000B1111

15、1111B (0FFH或0255)8 位有符號(hào)數(shù)原碼范圍:1111 1111B0111 1111B (FFH- 7FH 或-127 + 127反碼:,正數(shù)的反碼與原碼相同;冊(cè) 負(fù)數(shù)的反碼,符號(hào)位不變,數(shù)值部分按位取反。,如:原碼:1000 0100BH 反碼 1111 1011B備補(bǔ)碼: 正數(shù)的補(bǔ)碼與原碼相同; 負(fù)數(shù)的補(bǔ)碼,符號(hào)位不變,數(shù)值部分按位取反再在 (右邊最低位)力口 1備如:備原碼:1000 0100BH 反碼:1111 1011 +1補(bǔ)碼:1111 1100B 補(bǔ)碼的用途:將減法運(yùn)算轉(zhuǎn)換為加法運(yùn)算。、單片機(jī)內(nèi)部結(jié)構(gòu)單片機(jī)內(nèi)部包括有:一個(gè)CPU兩個(gè)定時(shí)/計(jì)數(shù)器T1、T0, 4KB的程

16、序存儲(chǔ)器,128B(字節(jié))的數(shù)據(jù)存儲(chǔ)器,中斷系統(tǒng),串行通信口,4個(gè)并行I/O 口。1、存儲(chǔ)器的結(jié)構(gòu)單片機(jī)中的數(shù)據(jù)以8位二進(jìn)制數(shù)為一個(gè)單元進(jìn)行存儲(chǔ)的,所以存儲(chǔ)器的結(jié)構(gòu)以8位二進(jìn)制 數(shù)為一個(gè)單元,一個(gè)單元就象一層有 8位房間的樓層,每個(gè)房間只能存放 0或1存儲(chǔ)內(nèi)容單元地址D7D6D5D4D3D2D1DO存儲(chǔ)的十六進(jìn)教0009H10011011(0009B) =9EB0008H00000010(0008H)=02H0007H01111100(0007H)=7CH0006H11100111(0006H)=0E7H0005H00011111(0005H)=lFE0004H00111001(0004H)=

17、39H0003H11001010(0003H)=OCAHOO02H10101011(0002H)-OAEH0001H10101101(0001H)=OADHOOOOH1°101110(0000H)=0AM(1)程序存儲(chǔ)器ROM89S51單片機(jī)內(nèi)部有4KB的程序存儲(chǔ)器,用于存放用戶編寫的程序。單元地址從0000H到0FFFH在一般的單片機(jī)控制系統(tǒng)中一般是夠用白1如果不夠用,可外加芯片擴(kuò)展到64KB。(2)數(shù)據(jù)存儲(chǔ)器RAM89S51單片機(jī)內(nèi)部有256B(字節(jié)/含特殊功能寄存器)的數(shù)據(jù)存儲(chǔ)器,用于存放運(yùn)算過程中產(chǎn)生的中間結(jié)果。如果不夠用,可外加芯片擴(kuò)展到64KB為了方便數(shù)據(jù)存儲(chǔ)器的使用,又

18、將它分成幾個(gè)區(qū)1)工作寄存器區(qū):地址從00H到1FH,共32個(gè)存儲(chǔ)單元。存儲(chǔ)內(nèi)容單元地址D7D6D5D4D3D2DIDO1FH工作寄存器R八 !r Vr) a19H工fi戶寄存器R118H工n戶寄存器R0 (17H戶寄存卻八- 211H工作寄存器Rl乙10H工作寄存器RO /OFH工作寄存器R7、 ! !)1109H工戶寄存器R1OSH戶寄存器R。/07H工十戶寄存器R7- - - 01H工作寄存器R1OOH工作寄存器R0,單片機(jī)復(fù)位后,默認(rèn)選擇0區(qū),工作區(qū)的選擇由程序狀態(tài)字 PSW中的RSI RS0兩位設(shè)置 PSW程序狀態(tài)字的各位定義D7D6D5D4D3D2D1D0CYACF0RS1RS0O

19、V-P各位的說明在教材11頁,請(qǐng)閱讀工作寄存器區(qū)的選擇方法RS1RS0區(qū)號(hào)000區(qū)011區(qū)10:2區(qū)113區(qū)存儲(chǔ)內(nèi)容單元地址D7D6D5D4D3D2DIDO2FHTFH7EH7BHtot7BH7AH79H78H 21HOFHOEHODHOCHOBHOAH09HOSH20H加06H05H04H03H02H101HOOHI2)位尋址區(qū):地址從20H至ij 2FH共16個(gè)單元,見教材15頁的表1.3,在這16個(gè)單元中 的每一位均有一個(gè)地址與它對(duì)應(yīng)。位尋址區(qū)的位地址3)堆棧和數(shù)據(jù)緩沖區(qū):地址從 30H到7FH,本區(qū)主要由用戶存放數(shù)據(jù)。當(dāng)然工作寄存器、 位地址區(qū)在沒有被用時(shí)也可用來存放用戶數(shù)據(jù)。單元地址

20、 3FHD7D6D5D4D3D2DIDOBfa fa .31H/30H/數(shù)據(jù)緩沖區(qū)4)特殊功能寄存器區(qū):地址從80H到FFH,特殊功能寄存器區(qū)是分散的,見教材的15頁表1.4。在特殊功能寄存器中,如果地址能被8整除,則可進(jìn)行位操作。如 P1 口的地址為90H,90H=9X16=144144+ 8=18 所以可用 P1.0=1 將P1.0置1或P1.2=1 清零、軟件啟動(dòng)、界面圖Keil軟件的使用或在開始一程序一O陽.iNnn3;I二區(qū)國|用心*o曙一Build Comnard Frdin Fites /1、首先建立一個(gè)工程點(diǎn)擊Projectf New Project如下圖所示。File Edi

21、t ViProject,-Bnport H Visionl Project.,Open. Project.,ebug Flash Faripher4ls Tools SVCS Window HelpProject iVorkspactCompoiieritE EnviroiMieikt Books, P B則會(huì)出現(xiàn)如下圖Create Hev Project叵區(qū)Select Device for rarget 'Target 1,則會(huì)出現(xiàn)然后注意工程保存在什么位置(要方便自己查找),輸入文件,保存類開會(huì)自動(dòng)生成,不用管, 點(diǎn)保存,則會(huì)出如下圖.Sei mzt DKvi i:k f if

22、;e 1力工“十 Tur",1*詫詞初:電工l4olE.£tRM* kmAT39LS52KTO9LS53 ATa9LSB25Z mSLWl ATa9LV5Z AT09LY5S AI3952D5 明器4第1 畢9S4R1FPe£FLtL«nF Vs« 取忤詞ad y 疝m (L杵 L) imd qE F41IT Usa Extand4d AsEenBldr (A:5L) lDEtfi-tiid aE A口 神sssT".,RlasESZAT09S53v選擇3於51芯片,再點(diǎn)確定«H-i則出現(xiàn)Copy Stmdar4 8061

23、Startup Cade to Project Folitr And Add F£le to Frojtet ?l星了| 否盤) "I這個(gè)影響不大可點(diǎn)是或否,影響不大。則會(huì)出現(xiàn):Exxq -耐皿3Fil( Edit View Project Debug Fl野h FeriPr:;=ct J/arkpKe1+1 口 Target 1xW Target 1這樣應(yīng)建立了一個(gè)新的工程??稍诒4娴奈恢谜夜こ涛募?、建立一個(gè)匯編語言文件。點(diǎn)擊File New,如下圖所示則出現(xiàn)皆 TckI1匚向X程序文件編輯區(qū)Textl為文件名,先要保存一下選為文件保存的位置,文件名要注意一下,用匯

24、編語言編寫則后綴(擴(kuò)展名)為.ASM,如果用C 語言編寫則為.C。設(shè)置好后點(diǎn)擊保存,則程序文件應(yīng)建立好了。在保存的位置可找到該文件。3、程序錄入編輯及編譯(1)在程序編輯區(qū)錄入程序(2)將程序文件添加到工程文件中右鍵單擊Source Groupl如下圖則出現(xiàn)Fil 巨 Edit Fi 坦,# Proj ect Debug Flash Peripherals Tocls SVl* Target 1Prc;-ect "二LORG 二I 二二主C: VDoctnents and Set:親早POptioikE for Group J Source Group 1Open Lin FileO

25、pen 貓亞 FilsF7商 Rebuild target 國 Guild targetHe* GroupY皿電M白匚Qmpo工en±EFLemova Group J Source Group 1 and iI 1s Filesy Incluife E&peiLienci es點(diǎn)擊,Add Files to Group Source Group 1 則出現(xiàn)如下圖然后點(diǎn)Add選好文件類型為C Source file (*C)再在保存位置中找到剛才編輯好的程序文件, 即可。根圜典跑Project 'A'arkspace-m Twget 1-.弓 Source固m.

26、(3)必要的參數(shù)設(shè)置點(diǎn)擊 ProjectfOption for TargetFiLe Edi t 豈包 w Froj Zct| Dabu4 Fl 星±h Pexiphwral5 Tools SVCS Window 曲 Ip8州 Project.Import U Vi mi cnl Froj ect. BOpen Project.,.Cl q>5 ProjectC&mpanents, Environment, Books.S elec it D&vi e-e for Target Tar g&t VOptions for I-arget f Target

27、V 1Build targetRftb-uild all target filesTranslate C: VDocwn&ikts. and S e 11 i ngs Adm i ni s t r at or M® XXQ. ASFfl則會(huì)出現(xiàn)如下圖:在Target選項(xiàng)卡中設(shè)置好晶振頻率 再選Output選項(xiàng)卡,如下圖:設(shè)置好各項(xiàng)后點(diǎn)擊確定,必要的參數(shù)應(yīng)設(shè)置完畢(4)程序編譯檢查點(diǎn)擊 Projectf Build target files 如下圖所示Eale £dit J£lc*tG.fbu< Plash Fw口phtrilsIo515 斛C5 由謁

28、e Help窗宙Q。蜴鴿再PrajMl WErkspKb-?°i TALftftt L 巨白Sour ce. ns.耳*w Pr je-ct ,Import F VisLiiL Project.Optji Froj qct.#5E fr»jeclC回呼向信hl|;/Il白踹工 .£eltct Dmct fur Tftr<et 'Target 1,OptiQRK fw torpt 'TirpE 1' I Build E趾即 tj.FT% EcEild QL tsr cet files吊E第 Te中二.*1,青 C. Uqmnmts: M

29、ad咤5?|.«加:口) 5 tr*tort臭面YXX3Q. ASM則在界面的最下面出現(xiàn)指示:園I備曲*0零|國皿.Em Id target 'Target 1'bls與 eitibl Lnq XXQ.ASH.*正 在編 譯程序Fixi目日聊 Sita: datn=B*l xdata=Ci 仃口壯目=刀-cr白atinw h白k £l1用 Frcrni "XXO",. . "XXQ" U Errurlmj, MhuI里1yL程序的大小| fttiild Coninnand Fmdn Fites /正在生成HEX文件 0

30、錯(cuò)誤,0報(bào)警如果有錯(cuò)誤要改正程序的錯(cuò)誤,再進(jìn)行編譯,一直到?jīng)]有錯(cuò)誤為止,要生成HEX文件,我們才能下載到單片機(jī)中。程序下載到單片機(jī)的程序應(yīng)用1、啟動(dòng)軟件:在桌面找到EFTBITEE圖,雙擊將會(huì)出現(xiàn)如下圖PROGISP1.6日)立件始命令itS(V)關(guān)于刎該H源55配置說羽升5正確選擇端口一'.L-0000H000-跖回JL 3 Z 1 的-3LeLeLflBI院-nDnnnnnn編程器及接口IUSBASR甘洋校正醉芯片 W眼51 芯片識(shí)鼠 1E: 51位配置方式I可導(dǎo).送J調(diào)入Rwh調(diào)入Ewoffl淺出FlwhIF laih:a/4ID;£底位值網(wǎng)一商位值 擴(kuò)展位值 irai

31、 示:在隹用本聯(lián)陸Z前建議先瀏覽說明欄的內(nèi)容靖程r讀識(shí)別字r 按股 EEPROM口芯片圖腺r痂得雌r空片檢至r桃星芯片15潟程F35Hr我is自4a攏r ifiJiEEPADMr smw皆啖盼FLWHr觸好戲病爽自動(dòng)誨出寫人狀態(tài)空雨使用時(shí)阻 DQ:(M:MCopytrLtil Or) ZhiffTi SoEtnlu-tInc 30UT必須要選擇正確的端口及單片機(jī)型號(hào),然后調(diào)入從KEIL C51®譯生成的HEX文件 2、調(diào)入HEX文件:左鍵單擊調(diào)入FLASH,口下圖所示:孟那|第電|配立|說ffl| H S正確選擇端口底配BE才式.向?qū)н\(yùn)JE位藺 高位0 1 獷展位苒 城睡身及接qp&

32、#177;曰由屏足片|ATESG517芯片識(shí)尋呼1E :51 :05 F3擇芯型 選好片號(hào)溫獻(xiàn)示:在建用聿歌將之II建設(shè)先甌說雌的內(nèi)容瞅“h:#B FlashF山加。四哂6 錮程 r讀識(shí)別手 F芯片喊:: r型片拈豆 口綱程FLASH FLtHHUMBFLASHflXEpmmEpFM:0/0r EEPHCMr晴程培生r惶定芯片r K!ffiSs+i>ftr現(xiàn)供時(shí)鐘 r臊帆數(shù)s淌自前空閑使月時(shí)以00:00:(50 Copjri(r) Zhi£史以%即燈工毗20M將會(huì)出現(xiàn)HEX文件選擇窗口:打開r?ixf TRQGTS:F (Fer L, 5.選擇正確文件后,點(diǎn)打開,則出現(xiàn)如下圖回

33、區(qū)QmEIInElmnJrlednno口一 3aLB3LB2LB1B132位配置方式I向?qū)Х绞降臀恢礔 高位值 /獷展位值 力曬值|fT讀出 寫入您所信賴的開發(fā)專豪溫弗提萬:K J U .點(diǎn)使用工軟件之前建議先瀏覽說明欄的內(nèi)容JLoad Flash iile C:pocuments and SettingsVdminislrftloiffiwxq.hexF顯示打開的文件的位置狀態(tài)空閑使用時(shí)閏00.00:00jWiiiim iraan ,mbii|蠲入日期h J詼出FishFldth:2li6M09G編程r南咫脖p芯片瞰r空片檢查P編程Fl>SH廠編程EEPRriP長驗(yàn)FL蛤Hr r r

34、r畫畫畫s調(diào)入Epworn嗪出£川口同 Epfom:070廠按撿EIF匚M r編堤喀絲 r做定芯片r數(shù)梏自動(dòng)重載廠提供時(shí)割r脫機(jī)數(shù)整*目動(dòng)Copyright Zhi Softwaie Ine 2007PRdCISP (Ver 1.6.6)文件編 命令(T) 一 選擇的 美干曲 弱程蝙輯配置說明升級(jí)|國回國熔絲低位輯|自己置說明升軌O口口口 口口口位展擴(kuò)絲熔QDmmElmEIQMi.LB 3LG2BlB2LB1位配置方式峭導(dǎo)方知f距位值 / 向位值 /擴(kuò)展位值 加理值|FF讀出寫入調(diào)A fe曲讀出Flm新Flash:211G/40%編程讀識(shí)另序 q芯片端 r空片檢查冊(cè)入Ep<om

35、讀 ajEprcimEpromzOZOF EEPROMr編程館絲 r鎖定芯片在使用本敬件之前建諛先瀏覽說明欄的內(nèi)容小Load Fla?h file C:Dncuments ord §初后§國依1|71而151川01面0:4 hexJ: Er曰£T.Writ日 Flash.Verily FlashSuccessfully doneV編程FLASH n 扁程 EE PR OH 校驗(yàn)FLiSH一數(shù)據(jù)自動(dòng)再栽r提供時(shí)轉(zhuǎn)r脫機(jī)數(shù)據(jù)顯示程序下戴的進(jìn)度目擦除3、將HEX文件下載到單片機(jī)芯片選擇正確后,檢查單片機(jī)是否連接好,準(zhǔn)備好后就點(diǎn)擊自動(dòng),則會(huì)出現(xiàn)如下圖,PRQGISP (&

36、#165;er L.6.6)住用時(shí)間 00:00:11 IIIIIIIIIIIIIII程序下載完成后,就會(huì)看到單片機(jī)板上 LED燈在點(diǎn)亮了。如果要修改源程序,一定要重新編譯,重新調(diào)入 HEX文件,重新將HEX文件下載到單片機(jī)芯 片上,才能反映出修改后的程序是否正確。如果下面的提示框出現(xiàn)表示USBAS居區(qū)動(dòng)文件安裝有問題progisperror: could not find USB ASP device:旅如果下面的提示框出現(xiàn),請(qǐng)檢查USB連接線,ISP連接線和開發(fā)板的電壓項(xiàng)目二 單片機(jī)控制8位發(fā)光二極管、發(fā)光二極管(LED工作原理LED的符號(hào)圖及電路圖工作原理:當(dāng)LED的陽極加正電壓,陰極加

37、負(fù)電壓,就有電流流過 LED,則會(huì)發(fā)光 實(shí)訓(xùn)板控制LED的電路圖。從上圖可看出,由于二極管的陽極已接上了 +5V,所以只要在陰極接地(0V)就可以發(fā)光。由 于陰極接的是P1 口,所以只要P1 口的某一位輸出二進(jìn)制的0,對(duì)應(yīng)的二極管就發(fā)光。如:當(dāng)P1=F0H時(shí),WJ LED1, LEDZ LED3 LED4亮,只要執(zhí)行指令:#include<reg51.h>/fe含頭文件,該文件定義了特殊功能寄存器void main() / 主函數(shù)花括號(hào)開頭P1=0xF0;/ P1(P1 要大寫)口低4 位 LED 亮當(dāng)需要LED1, LED3 LED5, LED7亮?xí)r,P1中各位的電平是(1表示高

38、電平,0表示低電平)分別用二進(jìn)數(shù)與十六進(jìn)制數(shù)表示:當(dāng)需要LED2, LED4, LED6, LED8 亮?xí)r, P1 中各位的電平是(1 表示高電平,分別用二進(jìn)數(shù)與十六進(jìn)制數(shù)表示:當(dāng)需要 LED1, LED2, LED3, LED8 亮?xí)r, P1 中各位的電平是(1 表示高電平,0 表示低電平)0 表示低電平)分別用二進(jìn)數(shù)與十六進(jìn)制數(shù)表示:當(dāng)需要 LED1, LED2, LED3, LED4 亮?xí)r,P1 中各位的電平是(1 表示高電平,0 表示低電平)分別用二進(jìn)數(shù)與十六進(jìn)制數(shù)表示:延時(shí)函數(shù)(程序) 第一種方法:void delay (unsigned int t) unsigned int i;

39、for(;t>0;t- -)for (i=1;i<124;i+);第二種方法:void delay (unsigned int t) unsigned char i;while(t- -)for (i=0;i<124;i+);學(xué)習(xí)體驗(yàn)例子一用C51編程實(shí)現(xiàn)LED1到LED8循環(huán)點(diǎn)亮(跑馬燈)#include<reg51.h> / 頭文件包含#define uchar unsigned char / 定義無符號(hào)字符型數(shù)據(jù)用 uchar 代替 unsigned char#define uint unsigned int / 定義無符號(hào)整型數(shù)據(jù)用 uint 代替 uns

40、igned intsbit P10=P1A0;用P10定義單片機(jī)的1號(hào)引腳(PIP;字母要大寫)sbit P11=P1A1; 用P11定義單片機(jī)的2號(hào)引腳(PY1;字母要大寫) sbit P12=P1A2;sbit P13=P1A3sbit P14=P1A4sbit P15=P1A5sbit P16=P1A6sbit P17=P1A7; 用P17定義單片機(jī)的8號(hào)引腳(Pi7;字母要大寫)/ 下面是延時(shí)子程序void delay(unsigned int t)uchar i;while(t-)for(i=0;i<120;i+);/ 下面是主函數(shù),整個(gè)程序中有且只有一個(gè)主函數(shù)void mai

41、n()while(1) / 一直執(zhí)行以下程序P10=0;/LED0 亮 delay(600);/ 調(diào)用延時(shí)函數(shù),括號(hào)內(nèi)的 P10=1;/LED0 滅P11=0;/LED1 亮 delay(600);/ 調(diào)用延時(shí)函數(shù),括號(hào)內(nèi)的 P11=1;/LED1 滅P12=0;/LED2 亮 delay(600);/ 調(diào)用延時(shí)函數(shù),括號(hào)內(nèi)的 P12=1;/LED2 滅P13=0;/LED3 亮 delay(600);/ 調(diào)用延時(shí)函數(shù),括號(hào)內(nèi)的 P13=1;/LED3 滅P14=0;/LED4 亮 delay(600);/ 調(diào)用延時(shí)函數(shù),括號(hào)內(nèi)的P14=1;/LED4 滅P15=0;/LED5 亮 delay

42、(600);/ 調(diào)用延時(shí)函數(shù),括號(hào)內(nèi)的 P15=1;/LED5 滅P16=0;/LED6 亮 delay(600);/ 調(diào)用延時(shí)函數(shù),括號(hào)內(nèi)的 P16=1;/LED6 滅P17=0;/LED7 亮 delay(600);/ 調(diào)用延時(shí)函數(shù),括號(hào)內(nèi)的 P17=1;/LED7 亮600 要與600 要與600 要與600 要與600 要與600 要與600 要與600 要與uint x 類型對(duì)應(yīng)uint x 類型對(duì)應(yīng)uint x 類型對(duì)應(yīng)uint x 類型對(duì)應(yīng)uint x 類型對(duì)應(yīng)uint x 類型對(duì)應(yīng)uint x 類型對(duì)應(yīng)uint x 類型對(duì)應(yīng)修改delay(600)延時(shí)函數(shù)中的數(shù)據(jù)如改為 100

43、或800,發(fā)現(xiàn)什么問題?說明什么問題?拓展任務(wù):1、若要實(shí)現(xiàn)LED8到LED1循環(huán)點(diǎn)亮,應(yīng)如何修改程序?2、若要實(shí)現(xiàn) LED1、 LED2 LEDa LED4亮滅兩,再至U LED5 LED6 LED7 LED8亮滅兩次,應(yīng)如何修 改程序?項(xiàng)目三 C51編程基礎(chǔ)一、C51程序的基本結(jié)構(gòu)以P1.0控制LED閃爍程序?yàn)槔f明#include<reg51.h>/頭文件包含,定義特殊功能寄存器#define uchar unsigned char / 定義用 uchar 表示 unsigned char#define uint unsigned int / 定義用 uint 表示 unsi

44、gned int sbit LED=P1A0;定義用 LED=P1A0 (P1.0)/下面是定義延時(shí)函數(shù)void DelayMS(uint x) 括號(hào)內(nèi)的uint x為形式參數(shù)uchar i;/定義i為無符號(hào)(uchar)變量8位二進(jìn)數(shù)while(x-)/while 循環(huán)語句 for(i=0;i<120;i+);/下面是主 函數(shù)(程序)void main()/主函數(shù)開頭while(1) /while 循環(huán)語句LEDd LED; /P1.0 取反,0 變 1 , 1變 0DelayMS(150); 調(diào)用延時(shí)函數(shù)解格式特點(diǎn)關(guān)鍵字必須用小寫字母,大小寫敏感不使用行號(hào)可使用空行和空格常用鋸齒形書

45、寫格式優(yōu)秀程序員的素質(zhì)之一: 使用TAB縮進(jìn) 對(duì)齊有足夠的注釋 有合適的空行 用流程圖描述算法用一些圖框表示各種操作的算法描述方法特點(diǎn):用圖形描述算法,直觀形象,易于理解。、流程圖描述算法的三種基本結(jié)構(gòu)順序結(jié)構(gòu):選擇結(jié)構(gòu):循環(huán)結(jié)構(gòu):當(dāng)型直到型圖1.2順序結(jié)構(gòu)三、C51基本數(shù)據(jù)類型、運(yùn)算符與表達(dá)式 1、C語言的數(shù)據(jù)類型在舁 廳P數(shù)據(jù)類型名稱長度取值范圍1unsigned char無符號(hào)字符型單字節(jié)(8位二進(jìn)制數(shù))0 2552signed char有符號(hào)字符型單字節(jié)(8位二進(jìn)制數(shù))-128 +1273unsigned int無符號(hào)整型雙字節(jié)(16位二進(jìn)制數(shù))0 655354signed int有符

46、號(hào)整型雙字節(jié)(16位二進(jìn)制數(shù))-32768+327675unsigned long無符號(hào)長整型4字節(jié)(32位二進(jìn)制數(shù))0 42949672956signed long有符號(hào)長整型4字節(jié)(32位二進(jìn)制數(shù))-2147483648 +21474836477folat浮點(diǎn)型4字節(jié)(32位二進(jìn)制數(shù))±1.175494E-38 ± 3.402823E+388*指針型13字節(jié)對(duì)象的地址9bit位0或110sfr特殊功能寄存 器單字節(jié)(8位二進(jìn)制數(shù))0 25511sfr1616位特殊功能 寄存器雙字節(jié)(8位二進(jìn)制數(shù))0 6553512sbit可尋址位位0或12、常量定義:程序運(yùn)行時(shí)其值不能

47、改變的量(即常數(shù))分類:符號(hào)常量:用標(biāo)識(shí)符代表常量定義格式:#define符號(hào)常量名常量一般用大寫字母#define PRICE 30main()int num,total;num=10;total=num*PRICE;3、標(biāo)識(shí)符定義:用來標(biāo)識(shí)變量、常量、函數(shù)等的字符序列。命名原則:只能由字母、數(shù)字、下劃線組成,且第一個(gè)字符必須是字母或下劃線 大小寫敏感。不能使用關(guān)鍵字。見名知意。不宜混淆如l與I, o與0。長度:VC 6.0為255個(gè)字符。例:判斷下列標(biāo)識(shí)符號(hào)合法性sum Sum M.D.John day Date 3days student_name #33lotus_1_2_3char

48、a>b _above $1234、變量概念:其值可以改變的量變量名與變量值變量定義的一般格式:數(shù)據(jù)類型 變量1,變量2,,變量n;四、算術(shù)運(yùn)算符和算術(shù)表達(dá)式1、基本算術(shù)運(yùn)算符:力口: + ; 減:-;乘:*;除:/ ;求余:% 兩整數(shù)相除,結(jié)果為整數(shù)%是求余運(yùn)算,要求兩側(cè)均為整型數(shù)據(jù)$例 5/2= 2十-5/2.0 = -2.5帝例 5%2= 1-5%2= -11%10= 1#5%1=05.5%2()2、自增、自減運(yùn)算符 + -I 作用:使變量值加1或減1I種類:由前置+i, -i(先執(zhí)行i+1或i-1,再使用i值)生后置i+,i-(先使用i值,再執(zhí)行i+1或i-1)例:j=3; k=+j;/k=4,j=4j=3; k=j+;/k=3,j=4多 j=3; printf("d ,+j);/4* j=3; printf("d ,j+);/3"a=3;b=5;c=(+a)*b;/c=20,a=4缶 a=3;b=5;c=(a+)*b;/c=15,a=43、簡單賦值運(yùn)算符符號(hào): = 格式:變量標(biāo)識(shí)符=表達(dá)式 作用:將一個(gè)數(shù)據(jù)(常量或表達(dá)式)賦給一個(gè)變量4、復(fù)合賦值運(yùn)算符種類:+= -= *= /= %= «= 

溫馨提示

  • 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)論