版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、單片機知識學(xué)習(xí)手冊項目一單片機的認(rèn)識、單片機芯片引腳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個引腳,說明如下:1 .電源:VCC(40)
2、-芯片電源,接+5VVSS(20)-接地端;2 .時鐘: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讀選通信號。(3) RST/VPP(9度位/備用電源。RST( Reset)功能:復(fù)位信號輸入端。VPP功能:在Vcc掉電情況下,接備用電源。(4) EA/Vpp:內(nèi)/外ROM選擇/片內(nèi)EPROM編程電源。89C5189s5
3、1芯片用內(nèi)部 ROM (程序 存儲器),所以此引腳必須接高電平+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腳的方法是什么?二、單片機的最小系統(tǒng)OP ,0%中Ea能夠讓單片機工作的最小硬件電路,稱為單片機最*.獷I島;展,小系統(tǒng)。包括單片機芯片、電源電路、晶振電路、復(fù)位電,kQ "d甌w路。 1、電源電路如果有現(xiàn)成的5V穩(wěn)壓電源,可直
4、接把VCC腳與EA腳 后1RST接+5V,然后把VSS腳接5V電源的地就可以了。如果沒有 也包一15現(xiàn)成的穩(wěn)壓電源,可通過220V交流電進行降壓一整流一XTA1.2濾波一穩(wěn)壓得到。一羊丞52、復(fù)位電路I 工4 3早:XTAL1 %晶施電路復(fù)位是指單片機的初始狀態(tài),當(dāng)單片機剛上電時,單片 L?_機應(yīng)在初始狀態(tài)。有時程序執(zhí)行過程中會出現(xiàn)動作亂的現(xiàn)一象,也可讓單片機復(fù)位-下,讓程序從頭開始執(zhí)行。單片 機復(fù)位后,各特殊功能寄存器的初始狀態(tài)教材。復(fù)位電路的工作原理是一個 RC電路的充電過程,因單片機的復(fù)位是高電平復(fù)位,必須在 RST 引腳上保持兩個機器周期以上的高電壓才能讓單片機可靠復(fù)位,所以上圖中的電
5、阻及電容的 大小要選擇合適。復(fù)位過程是:當(dāng)剛接上電源時,+5V通過22UF的電容及10KQ的電阻進行充電,電容相 當(dāng)于短路,所+ 5V直接加到RST引腳上而復(fù)位,稱之為上電復(fù)位,過一段時間,電容充電完 畢,流過10KQ的電阻的電流為零,RSHI相當(dāng)于與地(低電平)接在一起,單片機在工作狀 態(tài)。當(dāng)在程序執(zhí)行過程中要進行復(fù)位時,可按下按鍵K1, RST為高電平而復(fù)位。3、晶振電路如右上圖所示,晶振電路主要由晶振(12MHz與兩個電容(30PF左右)組成,為單片機 提供時鐘脈沖。三、單片機中數(shù)的使用1 .十進制數(shù) 主要特點: 基數(shù)是10。有10個數(shù)碼(數(shù)符)構(gòu)成:0、1、2、3、4、5、6、7、8、
6、9。 進、借位規(guī)則是“逢十進一、借一當(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稱為十進制數(shù)各數(shù)位的“權(quán)”2,二進制數(shù)主要特點:基數(shù)是2。只有兩個數(shù)碼:0和1。 進、借位規(guī)則是 逢二進一、借一當(dāng)二”。每左移一位,數(shù)值增大一倍;右移一位,數(shù)值減小一半 二進制數(shù)用尾綴B作為標(biāo)識符?!纠?11.11B=1X22 +1X21 +1X20 +1X2-1+1X 2-2=7.75其中,22、21、20、2-1、2-2稱
7、為二進制數(shù)各數(shù)位的“ 權(quán)”3.十六進制數(shù)主要特點:基數(shù)是16。共有16個數(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。進、借位規(guī)則是“逢十六進一、借一當(dāng)十六”。十六進制數(shù)用尾綴H表示。在C51中十六進制數(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稱為十六進制數(shù)各數(shù)位的“權(quán)”。十六進制數(shù)、二進制數(shù)和十進制數(shù)對應(yīng)關(guān)系表1011011B=0X1O11OOOB=0X十進制數(shù)十六進制數(shù)二進制數(shù)十進
8、制數(shù)十六進制數(shù)二進制數(shù)00X000000B110X0B1011B10X010001B120X0C1100B20X020010B130X0D1101B30X030011B140X0E1110B40X040100B150X0F1111B50X050101B160X100001 0000B60X060110B170X110001 0001B70X070111B180X120001 0010B80X081000B190X130001 0011B90X091001B200X140001 0100B100X0A1010B210X150001 0101B二、數(shù)制轉(zhuǎn)換1.二進制數(shù)與十六進制數(shù)相互轉(zhuǎn)換二進制數(shù)轉(zhuǎn)
9、換成十六進制數(shù)整數(shù)部分:自右向左,四位一組,不足四位,向左填零,各部分用相應(yīng)的十六進制數(shù)替代;例 0101 1010B=0X5A 11110101B=0XF51101010B=0X10111B=0X小數(shù)部分:自左向右,四位一組,不足四位,向右填零,各部分用相應(yīng)的十六進制數(shù)替代;如:0.1101B=0.D0.1010B=0X0.11101B=0X十六進制數(shù)轉(zhuǎn)換成二進制數(shù)每一位十六進制數(shù)分別用相應(yīng)4位二進制數(shù)替代。十六進制數(shù)二進制數(shù)十六進制數(shù)二進制數(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= 十進制數(shù)整數(shù)轉(zhuǎn)換成十六進制數(shù)的方法: 除16取余法323D(十進制尸143H(+六進制數(shù))3.十進制數(shù)轉(zhuǎn)換成二進制數(shù)、十六進制數(shù)整數(shù)部分的轉(zhuǎn)換十進制整數(shù)轉(zhuǎn)換成二進制整數(shù)的方法:除2取余法如48D(十進制)=110000BU進制數(shù))小數(shù)部分的轉(zhuǎn)換十進制小數(shù)轉(zhuǎn)換成二進制小
11、數(shù)的方法:0.75D(十進制數(shù))=0.11B將小數(shù)部分乘2取整數(shù)法(4、二進制數(shù)運算(1) 二進制數(shù)加法運算規(guī)則:0 + 0 = 0, 0 + 1 = 1 + 0 = 1, 1 + 1 = 0 (向高位進1)00110101B+10011100Biiii11010001B2.二進制數(shù)減法運算規(guī)貝的 0-0 = 0, 1-0 = 0, 1-1=0,0-1= 1 C向高位借1) 0借【例】101i0101B-10011100B00011001B3,二進制數(shù)乘法運算規(guī)貝I卜 0X0=0, 1XO=OX1=0, 1X1=1.【例】1101BX 1001R1 101+11014.二進制數(shù)除法運算規(guī)則:0
12、4-0=0, 04-1=0, 1 + 1=1?!纠?001iioi V mono一 1101 mb一 1101 I5 .二進制數(shù)“與”運算“&”:按位與規(guī)則:0A0 = 0, 1 A 0 = 0,有 0得0,1 A 0 = 0, 1 A l = lo 全1 得 1【例】10110101B& 10011100B10010100B6 .二進制數(shù)“或”運算“I”:按位或規(guī)則,0 V 0 = 0, 1 V 0 = 1,有 1 得11 V 1 =0, 0 V l = lo 全0得0【例】10110101BI 10011100B10111101B7.二進制數(shù)“異或”運算人按位異或規(guī)則:0
13、畬0=0, 0金1 = 1,相同得01金0=1, 1 ® 1 = 0o不同得1【例】10110101Ba 10011100B00101001B:運算對象在運算符的右邊 功能:對運算對象的各二進位按位求反, 即使每一位上的。變1;變i為。14:即0 0 0 0 1 1 1 0 敬位求反得0000111011110001<<:左移例如:a<<4功能:把a的各二進制位向左移動4位若a=00010011(十進制19),左移4位后為00110000(十進制48),其中左端移由的0001四位丟棄,右邊四位補0000000-00110*1 0110000 .>>
14、 :右移例如:a>>2 功能:把a的各二進位向右移動2位若 a= 0000000000001111(十進制 若), 右移2位后為0000000000000011(十進制3)00000000000011110000000000000011有符號數(shù)與無符號數(shù)有符號數(shù):最高位為符號位,最高位為“ 0”表示正數(shù),最高位為“1”表 示負數(shù)。中00001010B表示是正數(shù)(+10),而10010001B表示負數(shù)。無符號數(shù):最高位不作為符號位,而當(dāng)成數(shù)值位。二進制數(shù)有原碼、反碼與補碼三種編碼形式原碼:二進制數(shù)的原形,可為無符號數(shù),也可有符號數(shù)。8位無符號數(shù)原碼范圍:0000 0000B1111
15、1111B (0FFH或0255)8 位有符號數(shù)原碼范圍:1111 1111B0111 1111B (FFH- 7FH 或-127 + 127反碼:,正數(shù)的反碼與原碼相同;冊 負數(shù)的反碼,符號位不變,數(shù)值部分按位取反。,如:原碼:1000 0100BH 反碼 1111 1011B備補碼: 正數(shù)的補碼與原碼相同; 負數(shù)的補碼,符號位不變,數(shù)值部分按位取反再在 (右邊最低位)力口 1備如:備原碼:1000 0100BH 反碼:1111 1011 +1補碼:1111 1100B 補碼的用途:將減法運算轉(zhuǎn)換為加法運算。、單片機內(nèi)部結(jié)構(gòu)單片機內(nèi)部包括有:一個CPU兩個定時/計數(shù)器T1、T0, 4KB的程
16、序存儲器,128B(字節(jié))的數(shù)據(jù)存儲器,中斷系統(tǒng),串行通信口,4個并行I/O 口。1、存儲器的結(jié)構(gòu)單片機中的數(shù)據(jù)以8位二進制數(shù)為一個單元進行存儲的,所以存儲器的結(jié)構(gòu)以8位二進制 數(shù)為一個單元,一個單元就象一層有 8位房間的樓層,每個房間只能存放 0或1存儲內(nèi)容單元地址D7D6D5D4D3D2D1DO存儲的十六進教0009H10011011(0009B) =9EB0008H00000010(0008H)=02H0007H01111100(0007H)=7CH0006H11100111(0006H)=0E7H0005H00011111(0005H)=lFE0004H00111001(0004H)=
17、39H0003H11001010(0003H)=OCAHOO02H10101011(0002H)-OAEH0001H10101101(0001H)=OADHOOOOH1°101110(0000H)=0AM(1)程序存儲器ROM89S51單片機內(nèi)部有4KB的程序存儲器,用于存放用戶編寫的程序。單元地址從0000H到0FFFH在一般的單片機控制系統(tǒng)中一般是夠用白1如果不夠用,可外加芯片擴展到64KB。(2)數(shù)據(jù)存儲器RAM89S51單片機內(nèi)部有256B(字節(jié)/含特殊功能寄存器)的數(shù)據(jù)存儲器,用于存放運算過程中產(chǎn)生的中間結(jié)果。如果不夠用,可外加芯片擴展到64KB為了方便數(shù)據(jù)存儲器的使用,又
18、將它分成幾個區(qū)1)工作寄存器區(qū):地址從00H到1FH,共32個存儲單元。存儲內(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,單片機復(fù)位后,默認(rèn)選擇0區(qū),工作區(qū)的選擇由程序狀態(tài)字 PSW中的RSI RS0兩位設(shè)置 PSW程序狀態(tài)字的各位定義D7D6D5D4D3D2D1D0CYACF0RS1RS0O
19、V-P各位的說明在教材11頁,請閱讀工作寄存器區(qū)的選擇方法RS1RS0區(qū)號000區(qū)011區(qū)10:2區(qū)113區(qū)存儲內(nèi)容單元地址D7D6D5D4D3D2DIDO2FHTFH7EH7BHtot7BH7AH79H78H 21HOFHOEHODHOCHOBHOAH09HOSH20H加06H05H04H03H02H101HOOHI2)位尋址區(qū):地址從20H至ij 2FH共16個單元,見教材15頁的表1.3,在這16個單元中 的每一位均有一個地址與它對應(yīng)。位尋址區(qū)的位地址3)堆棧和數(shù)據(jù)緩沖區(qū):地址從 30H到7FH,本區(qū)主要由用戶存放數(shù)據(jù)。當(dāng)然工作寄存器、 位地址區(qū)在沒有被用時也可用來存放用戶數(shù)據(jù)。單元地址
20、 3FHD7D6D5D4D3D2DIDOBfa fa .31H/30H/數(shù)據(jù)緩沖區(qū)4)特殊功能寄存器區(qū):地址從80H到FFH,特殊功能寄存器區(qū)是分散的,見教材的15頁表1.4。在特殊功能寄存器中,如果地址能被8整除,則可進行位操作。如 P1 口的地址為90H,90H=9X16=144144+ 8=18 所以可用 P1.0=1 將P1.0置1或P1.2=1 清零、軟件啟動、界面圖Keil軟件的使用或在開始一程序一O陽.iNnn3;I二區(qū)國|用心*o曙一Build Comnard Frdin Fites /1、首先建立一個工程點擊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則會出現(xiàn)如下圖Create Hev Project叵區(qū)Select Device for rarget 'Target 1,則會出現(xiàn)然后注意工程保存在什么位置(要方便自己查找),輸入文件,保存類開會自動生成,不用管, 點保存,則會出如下圖.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芯片,再點確定«H-i則出現(xiàn)Copy Stmdar4 8061
23、Startup Cade to Project Folitr And Add F£le to Frojtet ?l星了| 否盤) "I這個影響不大可點是或否,影響不大。則會出現(xiàn):Exxq -耐皿3Fil( Edit View Project Debug Fl野h FeriPr:;=ct J/arkpKe1+1 口 Target 1xW Target 1這樣應(yīng)建立了一個新的工程。可在保存的位置找工程文件名。2、建立一個匯編語言文件。點擊File New,如下圖所示則出現(xiàn)皆 TckI1匚向X程序文件編輯區(qū)Textl為文件名,先要保存一下選為文件保存的位置,文件名要注意一下,用匯
24、編語言編寫則后綴(擴展名)為.ASM,如果用C 語言編寫則為.C。設(shè)置好后點擊保存,則程序文件應(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點擊,Add Files to Group Source Group 1 則出現(xiàn)如下圖然后點Add選好文件類型為C Source file (*C)再在保存位置中找到剛才編輯好的程序文件, 即可。根圜典跑Project 'A'arkspace-m Twget 1-.弓 Source固m.
26、(3)必要的參數(shù)設(shè)置點擊 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則會出現(xiàn)如下圖:在Target選項卡中設(shè)置好晶振頻率 再選Output選項卡,如下圖:設(shè)置好各項后點擊確定,必要的參數(shù)應(yīng)設(shè)置完畢(4)程序編譯檢查點擊 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、錯誤,0報警如果有錯誤要改正程序的錯誤,再進行編譯,一直到?jīng)]有錯誤為止,要生成HEX文件,我們才能下載到單片機中。程序下載到單片機的程序應(yīng)用1、啟動軟件:在桌面找到EFTBITEE圖,雙擊將會出現(xiàn)如下圖PROGISP1.6日)立件始命令itS(V)關(guān)于刎該H源55配置說羽升5正確選擇端口一'.L-0000H000-跖回JL 3 Z 1 的-3LeLeLflBI院-nDnnnnnn編程器及接口IUSBASR甘洋校正醉芯片 W眼51 芯片識鼠 1E: 51位配置方式I可導(dǎo).送J調(diào)入Rwh調(diào)入Ewoffl淺出FlwhIF laih:a/4ID;£底位值網(wǎng)一商位值 擴展位值 irai
31、 示:在隹用本聯(lián)陸Z前建議先瀏覽說明欄的內(nèi)容靖程r讀識別字r 按股 EEPROM口芯片圖腺r痂得雌r空片檢至r桃星芯片15潟程F35Hr我is自4a攏r ifiJiEEPADMr smw皆啖盼FLWHr觸好戲病爽自動誨出寫人狀態(tài)空雨使用時阻 DQ:(M:MCopytrLtil Or) ZhiffTi SoEtnlu-tInc 30UT必須要選擇正確的端口及單片機型號,然后調(diào)入從KEIL C51®譯生成的HEX文件 2、調(diào)入HEX文件:左鍵單擊調(diào)入FLASH,口下圖所示:孟那|第電|配立|說ffl| H S正確選擇端口底配BE才式.向?qū)н\JE位藺 高位0 1 獷展位苒 城睡身及接qp&
32、#177;曰由屏足片|ATESG517芯片識尋呼1E :51 :05 F3擇芯型 選好片號溫獻示:在建用聿歌將之II建設(shè)先甌說雌的內(nèi)容瞅“h:#B FlashF山加。四哂6 錮程 r讀識別手 F芯片喊:: r型片拈豆 口綱程FLASH FLtHHUMBFLASHflXEpmmEpFM:0/0r EEPHCMr晴程培生r惶定芯片r K!ffiSs+i>ftr現(xiàn)供時鐘 r臊帆數(shù)s淌自前空閑使月時以00:00:(50 Copjri(r) Zhi£史以%即燈工毗20M將會出現(xiàn)HEX文件選擇窗口:打開r?ixf TRQGTS:F (Fer L, 5.選擇正確文件后,點打開,則出現(xiàn)如下圖回
33、區(qū)QmEIInElmnJrlednno口一 3aLB3LB2LB1B132位配置方式I向?qū)Х绞降臀恢礔 高位值 /獷展位值 力曬值|fT讀出 寫入您所信賴的開發(fā)專豪溫弗提萬:K J U .點使用工軟件之前建議先瀏覽說明欄的內(nèi)容JLoad Flash iile C:pocuments and SettingsVdminislrftloiffiwxq.hexF顯示打開的文件的位置狀態(tài)空閑使用時閏00.00:00jWiiiim iraan ,mbii|蠲入日期h J詼出FishFldth:2li6M09G編程r南咫脖p芯片瞰r空片檢查P編程Fl>SH廠編程EEPRriP長驗FL蛤Hr r r
34、r畫畫畫s調(diào)入Epworn嗪出£川口同 Epfom:070廠按撿EIF匚M r編堤喀絲 r做定芯片r數(shù)梏自動重載廠提供時割r脫機數(shù)整*目動Copyright Zhi Softwaie Ine 2007PRdCISP (Ver 1.6.6)文件編 命令(T) 一 選擇的 美干曲 弱程蝙輯配置說明升級|國回國熔絲低位輯|自己置說明升軌O口口口 口口口位展擴絲熔QDmmElmEIQMi.LB 3LG2BlB2LB1位配置方式峭導(dǎo)方知f距位值 / 向位值 /擴展位值 加理值|FF讀出寫入調(diào)A fe曲讀出Flm新Flash:211G/40%編程讀識另序 q芯片端 r空片檢查冊入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 校驗FLiSH一數(shù)據(jù)自動再栽r提供時轉(zhuǎn)r脫機數(shù)據(jù)顯示程序下戴的進度目擦除3、將HEX文件下載到單片機芯片選擇正確后,檢查單片機是否連接好,準(zhǔn)備好后就點擊自動,則會出現(xiàn)如下圖,PRQGISP (&
36、#165;er L.6.6)住用時間 00:00:11 IIIIIIIIIIIIIII程序下載完成后,就會看到單片機板上 LED燈在點亮了。如果要修改源程序,一定要重新編譯,重新調(diào)入 HEX文件,重新將HEX文件下載到單片機芯 片上,才能反映出修改后的程序是否正確。如果下面的提示框出現(xiàn)表示USBAS居區(qū)動文件安裝有問題progisperror: could not find USB ASP device:旅如果下面的提示框出現(xiàn),請檢查USB連接線,ISP連接線和開發(fā)板的電壓項目二 單片機控制8位發(fā)光二極管、發(fā)光二極管(LED工作原理LED的符號圖及電路圖工作原理:當(dāng)LED的陽極加正電壓,陰極加
37、負電壓,就有電流流過 LED,則會發(fā)光 實訓(xùn)板控制LED的電路圖。從上圖可看出,由于二極管的陽極已接上了 +5V,所以只要在陰極接地(0V)就可以發(fā)光。由 于陰極接的是P1 口,所以只要P1 口的某一位輸出二進制的0,對應(yīng)的二極管就發(fā)光。如:當(dāng)P1=F0H時,WJ LED1, LEDZ LED3 LED4亮,只要執(zhí)行指令:#include<reg51.h>/fe含頭文件,該文件定義了特殊功能寄存器void main() / 主函數(shù)花括號開頭P1=0xF0;/ P1(P1 要大寫)口低4 位 LED 亮當(dāng)需要LED1, LED3 LED5, LED7亮?xí)r,P1中各位的電平是(1表示高
38、電平,0表示低電平)分別用二進數(shù)與十六進制數(shù)表示:當(dāng)需要LED2, LED4, LED6, LED8 亮?xí)r, P1 中各位的電平是(1 表示高電平,分別用二進數(shù)與十六進制數(shù)表示:當(dāng)需要 LED1, LED2, LED3, LED8 亮?xí)r, P1 中各位的電平是(1 表示高電平,0 表示低電平)0 表示低電平)分別用二進數(shù)與十六進制數(shù)表示:當(dāng)需要 LED1, LED2, LED3, LED4 亮?xí)r,P1 中各位的電平是(1 表示高電平,0 表示低電平)分別用二進數(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í)體驗例子一用C51編程實現(xiàn)LED1到LED8循環(huán)點亮(跑馬燈)#include<reg51.h> / 頭文件包含#define uchar unsigned char / 定義無符號字符型數(shù)據(jù)用 uchar 代替 unsigned char#define uint unsigned int / 定義無符號整型數(shù)據(jù)用 uint 代替 uns
40、igned intsbit P10=P1A0;用P10定義單片機的1號引腳(PIP;字母要大寫)sbit P11=P1A1; 用P11定義單片機的2號引腳(PY1;字母要大寫) sbit P12=P1A2;sbit P13=P1A3sbit P14=P1A4sbit P15=P1A5sbit P16=P1A6sbit P17=P1A7; 用P17定義單片機的8號引腳(Pi7;字母要大寫)/ 下面是延時子程序void delay(unsigned int t)uchar i;while(t-)for(i=0;i<120;i+);/ 下面是主函數(shù),整個程序中有且只有一個主函數(shù)void mai
41、n()while(1) / 一直執(zhí)行以下程序P10=0;/LED0 亮 delay(600);/ 調(diào)用延時函數(shù),括號內(nèi)的 P10=1;/LED0 滅P11=0;/LED1 亮 delay(600);/ 調(diào)用延時函數(shù),括號內(nèi)的 P11=1;/LED1 滅P12=0;/LED2 亮 delay(600);/ 調(diào)用延時函數(shù),括號內(nèi)的 P12=1;/LED2 滅P13=0;/LED3 亮 delay(600);/ 調(diào)用延時函數(shù),括號內(nèi)的 P13=1;/LED3 滅P14=0;/LED4 亮 delay(600);/ 調(diào)用延時函數(shù),括號內(nèi)的P14=1;/LED4 滅P15=0;/LED5 亮 delay
42、(600);/ 調(diào)用延時函數(shù),括號內(nèi)的 P15=1;/LED5 滅P16=0;/LED6 亮 delay(600);/ 調(diào)用延時函數(shù),括號內(nèi)的 P16=1;/LED6 滅P17=0;/LED7 亮 delay(600);/ 調(diào)用延時函數(shù),括號內(nèi)的 P17=1;/LED7 亮600 要與600 要與600 要與600 要與600 要與600 要與600 要與600 要與uint x 類型對應(yīng)uint x 類型對應(yīng)uint x 類型對應(yīng)uint x 類型對應(yīng)uint x 類型對應(yīng)uint x 類型對應(yīng)uint x 類型對應(yīng)uint x 類型對應(yīng)修改delay(600)延時函數(shù)中的數(shù)據(jù)如改為 100
43、或800,發(fā)現(xiàn)什么問題?說明什么問題?拓展任務(wù):1、若要實現(xiàn)LED8到LED1循環(huán)點亮,應(yīng)如何修改程序?2、若要實現(xiàn) LED1、 LED2 LEDa LED4亮滅兩,再至U LED5 LED6 LED7 LED8亮滅兩次,應(yīng)如何修 改程序?項目三 C51編程基礎(chǔ)一、C51程序的基本結(jié)構(gòu)以P1.0控制LED閃爍程序為例說明#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ù)void DelayMS(uint x) 括號內(nèi)的uint x為形式參數(shù)uchar i;/定義i為無符號(uchar)變量8位二進數(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ù)解格式特點關(guān)鍵字必須用小寫字母,大小寫敏感不使用行號可使用空行和空格常用鋸齒形書
45、寫格式優(yōu)秀程序員的素質(zhì)之一: 使用TAB縮進 對齊有足夠的注釋 有合適的空行 用流程圖描述算法用一些圖框表示各種操作的算法描述方法特點:用圖形描述算法,直觀形象,易于理解。、流程圖描述算法的三種基本結(jié)構(gòu)順序結(jié)構(gòu):選擇結(jié)構(gòu):循環(huán)結(jié)構(gòu):當(dāng)型直到型圖1.2順序結(jié)構(gòu)三、C51基本數(shù)據(jù)類型、運算符與表達式 1、C語言的數(shù)據(jù)類型在舁 廳P數(shù)據(jù)類型名稱長度取值范圍1unsigned char無符號字符型單字節(jié)(8位二進制數(shù))0 2552signed char有符號字符型單字節(jié)(8位二進制數(shù))-128 +1273unsigned int無符號整型雙字節(jié)(16位二進制數(shù))0 655354signed int有符
46、號整型雙字節(jié)(16位二進制數(shù))-32768+327675unsigned long無符號長整型4字節(jié)(32位二進制數(shù))0 42949672956signed long有符號長整型4字節(jié)(32位二進制數(shù))-2147483648 +21474836477folat浮點型4字節(jié)(32位二進制數(shù))±1.175494E-38 ± 3.402823E+388*指針型13字節(jié)對象的地址9bit位0或110sfr特殊功能寄存 器單字節(jié)(8位二進制數(shù))0 25511sfr1616位特殊功能 寄存器雙字節(jié)(8位二進制數(shù))0 6553512sbit可尋址位位0或12、常量定義:程序運行時其值不能
47、改變的量(即常數(shù))分類:符號常量:用標(biāo)識符代表常量定義格式:#define符號常量名常量一般用大寫字母#define PRICE 30main()int num,total;num=10;total=num*PRICE;3、標(biāo)識符定義:用來標(biāo)識變量、常量、函數(shù)等的字符序列。命名原則:只能由字母、數(shù)字、下劃線組成,且第一個字符必須是字母或下劃線 大小寫敏感。不能使用關(guān)鍵字。見名知意。不宜混淆如l與I, o與0。長度:VC 6.0為255個字符。例:判斷下列標(biā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ù)運算符和算術(shù)表達式1、基本算術(shù)運算符:力口: + ; 減:-;乘:*;除:/ ;求余:% 兩整數(shù)相除,結(jié)果為整數(shù)%是求余運算,要求兩側(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、自增、自減運算符 + -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、簡單賦值運算符符號: = 格式:變量標(biāo)識符=表達式 作用:將一個數(shù)據(jù)(常量或表達式)賦給一個變量4、復(fù)合賦值運算符種類:+= -= *= /= %= «=
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 教師聘任合同
- 新版賣房協(xié)議合同3篇
- 旅游合同協(xié)議書范本3篇
- 搖一搖服務(wù)合同的服務(wù)成果交付3篇
- 市政府清晰指南采購合同模板3篇
- 安徽文化行業(yè)勞動合同樣本3篇
- 房屋買賣定金合同判決書中的實踐意義3篇
- 攪拌機購銷合同樣式3篇
- 方木模板購銷合同范本3篇
- 搞笑離婚協(xié)議書例子3篇
- 部編2024版歷史七年級上冊第二單元《第4課夏商西周王朝的更替》教案
- 貴州省遵義市2022-2023學(xué)年高一上學(xué)期期末數(shù)學(xué)試卷(原卷)
- 【建設(shè)方案】虛擬電廠及管控管理平臺建設(shè)總體方案
- JTS+181-5-2012疏浚與吹填工程設(shè)計規(guī)范
- AED使用指南課件
- 工程光學(xué)-物理光學(xué)智慧樹知到期末考試答案章節(jié)答案2024年北京航空航天大學(xué)
- 注銷稅務(wù)授權(quán)委托書范本
- 小數(shù)數(shù)學(xué)1000以內(nèi)數(shù)字乘法計算練習(xí)題500道(五)
- 風(fēng)電項目工程施工合同
- 機電一體化技術(shù)《智能煤礦采掘設(shè)備操作與檢修》課程標(biāo)準(zhǔn)
- (正式版)YST 1691-2024 鋁用預(yù)焙陽極行業(yè)綠色工廠評價要求
評論
0/150
提交評論