欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      單片機(jī)實(shí)驗(yàn)

      時(shí)間:2019-05-12 02:20:23下載本文作者:會(huì)員上傳
      簡(jiǎn)介:寫(xiě)寫(xiě)幫文庫(kù)小編為你整理了多篇相關(guān)的《單片機(jī)實(shí)驗(yàn)》,但愿對(duì)你工作學(xué)習(xí)有幫助,當(dāng)然你在寫(xiě)寫(xiě)幫文庫(kù)還可以找到更多《單片機(jī)實(shí)驗(yàn)》。

      第一篇:?jiǎn)纹瑱C(jī)實(shí)驗(yàn)

      實(shí)驗(yàn)

      一、MCS51單片機(jī)基本開(kāi)發(fā)環(huán)境

      1. 實(shí)驗(yàn)?zāi)康模?/p>

      1)熟悉軟件的集成開(kāi)發(fā)環(huán)境 2)掌握單片機(jī)軟件設(shè)計(jì)流程

      3)掌握單片機(jī)存貯器結(jié)構(gòu)及各窗口之間的聯(lián)系 2. 實(shí)驗(yàn)內(nèi)容:

      1)用三種方法實(shí)現(xiàn)將累加器A內(nèi)容改為20H

      方法1--MOV A,#20H 方法2—MOV R0,#20H MOV A,R0 方法3—MOV R0,#20H XCH A,R0 心得:越往下做實(shí)驗(yàn)時(shí)就越感覺(jué)這題根本不能說(shuō)是題目,但不得不說(shuō)在沒(méi)接觸過(guò)編程軟件,剛開(kāi)始學(xué)的匯編,第一次做的實(shí)驗(yàn)就光這道題都覺(jué)得不知道做什么.所以凡是總有開(kāi)始,不了解情況的多簡(jiǎn)單的都會(huì)覺(jué)得難.2)將58H位單元置為1,觀察內(nèi)部RAM中2BH內(nèi)容的變化 代碼:

      SETB 2BH.0 JMP $ END 心得:這是關(guān)于內(nèi)部存儲(chǔ)中對(duì)單元和字節(jié)了解,不理解很容易做錯(cuò).比如開(kāi)始寫(xiě)的指令為

      MOV R0,#58H;MOV @R0,#1

      這是錯(cuò)誤的指令。這就需要認(rèn)真去了解單片機(jī)中的字節(jié)地址與位地址的關(guān)系。80C51中有位尋址區(qū)和字節(jié)尋址區(qū)。題目中58H為位地址,2BH為字節(jié)地址,且58H為2B字節(jié)的最低位。由于58H屬于位尋址區(qū),可用位操作指令 SETB 進(jìn)行置位,SETB 2BH.0 執(zhí)行后,2BH中內(nèi)容變?yōu)椋埃?/p>

      3)如果當(dāng)前狀態(tài)為有進(jìn)位、工作寄存器使用區(qū)2,請(qǐng)用3種方法設(shè)置這種狀態(tài)

      代碼:

      ANL PSW,#01H MOV A,PSW

      CJNE A,#01,LAB2 LAB1:JMP LAB1

      LAB2: SETB PSW.4 MOV P0,#01H MOV R0,#18H CLR PSW.3 MOV C,P0.0 MOV PSW,R0 MOV PSW.4,C CPL C MOV PSW.3,C END

      心得:以上LAB2寫(xiě)了三段代碼,可分別完成題目要求。不過(guò)實(shí)驗(yàn)時(shí)只是對(duì)代碼進(jìn)行了錯(cuò)誤調(diào)試,沒(méi)有對(duì)結(jié)果進(jìn)行檢驗(yàn)。其中值得注意的是對(duì)于布爾(位)操作指令的用法,比如傳送指令必須經(jīng)累加器C,如第二段中MOV P0,#01H;MOV C,P0.0,以及對(duì)于位尋址的方式(如需用到“.”隔開(kāi))的應(yīng)用。4)編一個(gè)小程序?qū)?nèi)部RAM中的20H單元的內(nèi)容送到21H單元并調(diào)試

      代碼:

      MOV R0,#20H MOV @R0,#10H MOV R1,#21H MOV @R1,20H JMP $ END

      5)用程序?qū)⒍褩V羔樦赶?0H,然后在堆棧中依次壓入01,02,03,04,05五個(gè)數(shù),觀察哪些單元內(nèi)容發(fā)生了變化,各變?yōu)槎嗌伲繌哪男┐翱诳梢园l(fā)現(xiàn)這些變化?順序?qū)⒍褩V械奈鍌€(gè)數(shù)放入30H~34H五個(gè)單元中,編程實(shí)現(xiàn)之。

      代碼:

      MOV R1,#60H MOV SP,R1 MOV DPL,#1H LAB1:PUSH DPL INC DPL MOV A,DPL CJNE A,#6,LAB1 POP 34H POP 33H POP 32H POP 31H POP 30H JMP $ END

      6)將外部數(shù)據(jù)存貯器1000H~100FH 16個(gè)單元中存放00H~0FH 代碼:

      MOV DPTR,#1000H MOV R1,#10H LOOP:MOVX @DPTR,#1234H MOVX A,@DPTR MOV @R1,A INC DPTR INC R1 CJNE R1,#40H,LOOP JMP $ END

      心得:此處需要訪問(wèn)片外存儲(chǔ)空間,需要借助寄存器DPTR,需注意其為16位的寄存器,在使用時(shí)若與八位寄存器進(jìn)行數(shù)據(jù)交換時(shí)需分為高八位DPH與低八位DPL來(lái)用。7)若要求程序從0010H單元開(kāi)始運(yùn)行,可用兩種方法實(shí)現(xiàn)?

      方法一 ORG 0010H 方法二 AJMP 0010H

      3. 選做實(shí)驗(yàn)內(nèi)容:數(shù)據(jù)傳送 目的:

      1)掌握8051單片機(jī)內(nèi)部數(shù)據(jù)存貯器、外部數(shù)據(jù)存貯器的數(shù)據(jù)傳送特點(diǎn)和應(yīng)用 2)掌握MOV,MOVX和MOVC類(lèi)指令的用法及區(qū)別 內(nèi)容:

      1)將片內(nèi)RAM數(shù)據(jù)區(qū)20H為首地址的十六個(gè)字節(jié)傳送到30H為首地址的數(shù)據(jù)區(qū),即:20H~2FH送30H~3FH

      代碼: ORG 0000H JMP MAIN ORG 0030H MAIN:MOV R0,#20H MOV R1,#30H LOOP:MOV @R0,#1234H MOVA,@R0 MOV @R1,A INC R0 INC R1 CJNE R1,#30H,LOOP JMP $ END

      2)將外部數(shù)據(jù)存儲(chǔ)器2000H~200FH單元的十六個(gè)數(shù)傳送至內(nèi)部數(shù)據(jù)存儲(chǔ)器的30H~3FH 代碼: ORG 0000H JMP MAIN ORG 0030H MAIN: MOV DPTR,#2000H MOV R1,#30H LOOP:MOVX @DPTR,#12H MOVX A,@DPTR MOV @R1,A INC DPTR INC R1 CJNE R1,#40H,LOOP JMP $ END

      總體心得體會(huì):

      第一次做實(shí)驗(yàn)主要是熟悉了解了下單片機(jī)編程軟件的使用,開(kāi)始接觸時(shí)在對(duì)其軟件不是太了解的情況下實(shí)驗(yàn)編程做的確實(shí)很亂,不清楚該怎樣進(jìn)行,比如不知如何進(jìn)行對(duì)指令的調(diào)試,也不清楚該如何觀察結(jié)果,沒(méi)有一個(gè)整體的概念,所以在了解其開(kāi)發(fā)環(huán)境上花了不少時(shí)間。經(jīng)過(guò)一段時(shí)間的摸索后也終于了解了其具體的使用,也能夠順利的對(duì)指令的編程運(yùn)用。運(yùn)行指令時(shí)遇到的一些問(wèn)題需要注意的也在上面各題中做了說(shuō)明。還有需要注意的是:進(jìn)入軟件仿真時(shí)需要對(duì)存儲(chǔ)空間進(jìn)行查看的方法是在Address窗口中輸入:d:00h 顯示內(nèi)部數(shù)據(jù)存儲(chǔ)器從00h開(kāi)始的單元; x:1000h 顯示外部數(shù)據(jù)存儲(chǔ)器從1000h開(kāi)始的單元; c:0000H 顯示程序存儲(chǔ)器內(nèi)容。還有由于偽指令 END 定義的原因,在程序末需加一條死循環(huán)調(diào)轉(zhuǎn)指令(如 JMP $)使程序不會(huì)進(jìn)入其他未知空間執(zhí)行其他指令。實(shí)驗(yàn)

      二、加、減法實(shí)驗(yàn)

      1. 實(shí)驗(yàn)?zāi)康?/p>

      1)正確使用單片機(jī)的加減運(yùn)算指令

      2)掌握不同指令對(duì)于程序狀態(tài)字的影響及程序狀態(tài)字的意義、用處 3)掌握ADD,ADDC,SUBB和DA A等指令的用法 4)學(xué)習(xí)模塊化程序設(shè)計(jì)方法 2. 實(shí)驗(yàn)內(nèi)容

      1)編寫(xiě)3字節(jié)二進(jìn)制加法子程序,并用主程序調(diào)用不同的加數(shù)和被加數(shù)來(lái)檢測(cè)該子程序的正確性。需考慮有進(jìn)位和無(wú)進(jìn)位情況。程序入口為: 加數(shù):22H,21H,20H三字節(jié),22H為最高位

      被加數(shù):32H,31H,30H三字節(jié),32H為最高位

      程序出口為: 23H,22H,21H,20H四字節(jié),23H為最高位 例如:地址:23 22 21 20 32 31 30 執(zhí)行前數(shù)據(jù): 01 23 45 FF 01 01 執(zhí)行后數(shù)據(jù):01 00 24 46

      代碼:

      ORG 0000H AJMP MAIN ORG 30H MAIN: MOV 22H,#01H MOV 21H,#23H MOV 20H,#45H MOV 32H,#0FFH MOV 1H,#01H MOV 30H,#01H ACALL ADDI HERE:JMP HERE ORG 100H ADDI: PUSH PSW MOV R0, #20H;加數(shù)1地址、和的地址 MOV R1, #30H;加數(shù)2地址 CLR C MOV R2, #3;循環(huán)3次 LOOP: MOV A, @R0;取 ADDC A, @R1;加 MOV @R0, A;存 INC R0 INC R1 DJNZ R2, LOOP CLR A ADDC A, #0;得到進(jìn)位 MOV 23H, A;保存 POP PSW RET END

      2)編寫(xiě)三字節(jié)二進(jìn)制減法子程序 入口:被減數(shù): 52H,51H,50H, 50H為最低位

      減數(shù): 42H,41H,40H, 40H為最低位

      出口:差:外部數(shù)據(jù)存貯器2003H~2000H(2000H為最低位)用主程序調(diào)用多組數(shù)據(jù)來(lái)調(diào)試,需考慮無(wú)借位和有借位兩種情況。例如:

      執(zhí)行前:地址: 52 51 50 42 41 40

      數(shù)據(jù): 90 80 70 10 10 10

      執(zhí)行后:地址: 2003 2002 2001 2000

      數(shù)據(jù): 00 80 70 60 代碼:

      ORG 0000H AJMP MAIN ORG 30H MAIN: MOV 52H,#90H MOV 51H,#80H MOV 50H,#70H MOV 42H,#10H MOV 41H,#10H MOV 40H,#10H ACALL SUB1 HERE:JMP HERE SUB1: PUSH PSW MOV R0, #50H;被減數(shù)地址 MOV R1, #40H;減數(shù)地址 MOV DPTR, #2000H;差的地址 CLR C MOV R2, #3;循環(huán)3次 LOOP: MOV A, @R0;取 SUBB A, @R1;減 MOVX @DPTR, A;存 INC R0 INC R1 INC DPTR DJNZ R2, LOOP CLR A SUBB A, #0;得到借位 MOVX @DPTR, A;存 POP PSW RET END

      3)編寫(xiě)10位十進(jìn)制加法子程序(十進(jìn)制數(shù)采用壓縮BCD碼存放)入口: 加數(shù):24H—20H,低地址放低字節(jié)

      被加數(shù):29H—25H,低地址放低字節(jié)

      出口 和:4005H—4000H,低地址放低字節(jié)

      要求調(diào)用多組數(shù)據(jù)調(diào)試,注意觀察PSW的變化,理解DA A指令的含義。例如:

      執(zhí)行前地址:24 23 22 21 20 29 28 27 26 25

      數(shù)據(jù):12 34 56 78 90 88 99 33 12 74

      執(zhí)行后地址:4005 4004 4003 4002 4001 4000

      數(shù)據(jù): 01 01 33 89 91 64

      代碼:

      ORG 0000H AJMP MAIN ORG 30H MAIN: MOV 24H,#12H MOV 23H,#34H MOV 22H,#56H MOV 21H,#78H MOV 20H,#90H MOV 29H,#88H MOV 28H,#99H MOV 27H,#33H MOV 26H,#12H MOV 5H,#74H ACALL ADD2 HERE:JMP HERE ADD2: PUSH PSW MOV R0, #20H;加數(shù)1地址 MOV R1, #25H;加數(shù)2地址 MOV DPTR,#4000H CLR C MOV R2, #5;循環(huán)5次 LOOP: MOV A, @R0;取 ADDC A, @R1;加

      DA A;調(diào)整為BCD碼 MOVX @DPTR, A;存 INC R0 INC R1 INC DPTR DJNZ R2, LOOP POP PSW RET END

      第二篇:?jiǎn)纹瑱C(jī)實(shí)驗(yàn)

      實(shí)驗(yàn)一清0、移數(shù)

      將片內(nèi)20H~2FH及片外0010H~001FH單元清0;

      然后將片內(nèi)30H~3FH的數(shù)據(jù)移到片外0000H~000FH中;判斷:

      若(30H)≤10,則求其平方存到31H中,并將位00H置1(其它位清0)若(30H)=10,則將AA存到31H中,并位01H置1(其它位清0)若(30H)≥10,則減10存到31H中,并位02H置1(其它位清0)

      實(shí)驗(yàn)二加法、排序

      有兩個(gè)長(zhǎng)度為10的無(wú)符號(hào)數(shù)分別放在片內(nèi)20H和30H為首的存儲(chǔ)單元中(低位),求其對(duì)應(yīng)項(xiàng)之和(帶進(jìn)位位),結(jié)果放在40H為首的單元中(若最高位有進(jìn)位則存在后續(xù)單元中),然后按升序排列放在50H為首的單元中

      實(shí)驗(yàn)三查表、散轉(zhuǎn)

      設(shè)有一表格,表中數(shù)為:00H、11H、22H、33H、44H、55H、66H、77H、88H、99H、AAH、BBH、CCH、DDH、EEH、FFH。根據(jù)片外0001H單元的低4位的數(shù),取出表中相應(yīng)的值存到片內(nèi)30H中;根據(jù)片外0001H單元的高4位的數(shù),將片內(nèi)RAM區(qū)中可位尋址的相應(yīng)的位置1(從位00H~位0FH,只可有一個(gè)位地址為1)

      實(shí)驗(yàn)四外中斷

      P1.0~P1.7接8個(gè)發(fā)光二極管,管腳INT0、INT1接兩個(gè)按鍵,分別定義為“L”和“R”。

      要求:上電全滅,按 “L”(或R)鍵,最右(左)側(cè)燈亮,每按一次“L” ”(或R)鍵,則亮的燈向左(右)移一位,當(dāng)移到最左(右)端時(shí),燈全滅

      實(shí)驗(yàn)五定時(shí)器

      P1.0、P1.1分別接兩個(gè)發(fā)光二極管,INT0腳接

      一按鍵做開(kāi)關(guān),按一次開(kāi)關(guān),則啟動(dòng),兩個(gè)發(fā)

      光管一亮一滅,亮滅時(shí)間均為1秒;再按一次

      開(kāi)關(guān),則關(guān)閉,即兩個(gè)發(fā)光管都滅。

      實(shí)驗(yàn)六定時(shí)器、計(jì)數(shù)器

      P3.2口輸出周期為2S的方波,T1口為脈沖輸入端,記錄輸入的脈沖個(gè)數(shù),脈沖個(gè)數(shù)由P1口所接的8個(gè)數(shù)碼管顯示(二進(jìn)制),設(shè)一按鍵作為開(kāi)關(guān)控制系統(tǒng)運(yùn)行,關(guān)閉時(shí)數(shù)碼管全滅,P3.2無(wú)輸出。

      第三篇:2013單片機(jī)實(shí)驗(yàn)教案

      單片機(jī)技術(shù)實(shí)驗(yàn)

      杰 實(shí)驗(yàn)一(1)順序結(jié)構(gòu)程序設(shè)計(jì)

      一、實(shí)驗(yàn)?zāi)康?/p>

      掌握匯編語(yǔ)言設(shè)計(jì)和調(diào)試方法。

      二、實(shí)驗(yàn)內(nèi)容

      把外部RAM中2000h單元的內(nèi)容拆開(kāi),高位送2001h單元,低位送2002h單元,2001h、2002h高位清零,一般本程序用于把數(shù)據(jù)送顯示緩沖區(qū)時(shí)用。

      三、程序流程

      四、實(shí)驗(yàn)步驟

      1、LED環(huán)境

      ⑴在“P.”狀態(tài)下按“0→EV/UN”,裝載實(shí)驗(yàn)所需的代碼程序。

      ⑵在“P.”狀態(tài)下鍵入0000,然后按“STEP”或“EXEC”進(jìn)入實(shí)驗(yàn)項(xiàng)目的調(diào)試與運(yùn)行。

      2、PC環(huán)境

      在與PC聯(lián)機(jī)狀態(tài)下,編譯、連接、下載PH51se02.asm,用連續(xù)或單步方式運(yùn)行程序。

      3、運(yùn)行結(jié)果檢查

      ⑴在單步運(yùn)行時(shí)每走一步可觀察其運(yùn)行結(jié)果。

      ⑵在連續(xù)運(yùn)行狀態(tài)下,應(yīng)按“暫停圖標(biāo)”或?qū)嶒?yàn)箱上的“暫停按鈕”,使系統(tǒng)無(wú)條件退出用戶運(yùn)行狀態(tài)返回監(jiān)控,然后再用相應(yīng)的命令鍵觀察與檢查2000~2002h中內(nèi)容變化情況。

      五、思考

      如何用斷點(diǎn)方式調(diào)試本程序。

      ORG 0000H LJMP START

      ORG 0030H START: MOV DPTR,#2000H

      MOVX A,@DPTR ANL A,#0F0H SWAP A MOV DPTR,#2001H MOVX @DPTR,A

      MOV DPTR ,#2000H MOVX A,@DPTR ANL A,0FH MOV DPTR,#2002H MOVX @DPTR,A SJMP $ END 實(shí)驗(yàn)一(2)循環(huán)結(jié)構(gòu)程序設(shè)計(jì)

      一、實(shí)驗(yàn)?zāi)康?/p>

      熟悉MCS-51指令系統(tǒng),掌握程序設(shè)計(jì)方法。

      二、實(shí)驗(yàn)內(nèi)容

      編寫(xiě)并調(diào)試一個(gè)排序子程序,其功能為用冒泡法將內(nèi)容RAM中幾個(gè)單元字節(jié)無(wú)符號(hào)的正整數(shù),按從小到大的次序重新排列。

      三、程序框圖

      四、實(shí)驗(yàn)步驟

      1、LED環(huán)境

      ⑴在“P.”狀態(tài)下按“0→EV/UN”,裝載實(shí)驗(yàn)所需的代碼程序。

      ⑵對(duì)片內(nèi)RAM地址50h~5AH進(jìn)行不規(guī)則置數(shù)。

      ⑶在“P.”狀態(tài)下鍵入0000,然后按“STEP”或“EXEC”進(jìn)入實(shí)驗(yàn)項(xiàng)目的調(diào)試與運(yùn)行。

      2、PC環(huán)境

      在與PC聯(lián)機(jī)狀態(tài)下,編譯、連接、下載PH51se05.asm,用連續(xù)或單步方式運(yùn)行程序。

      3、運(yùn)行結(jié)果檢查

      ⑴在單步運(yùn)行時(shí)每走一步可觀察其運(yùn)行結(jié)果。

      ⑵在連續(xù)運(yùn)行狀態(tài)下,應(yīng)按“暫停圖標(biāo)”或?qū)嶒?yàn)箱上的“暫停按鈕”,使系統(tǒng)無(wú)條件退出用戶運(yùn)行狀態(tài)返回監(jiān)控,然后再用相應(yīng)的命令鍵觀察與檢查片內(nèi)50~5Ah中內(nèi)容是否按從 小到大排列。

      五、思考:修改程序把50~5Ah中內(nèi)容按從小到大排列。

      ORG 0000H LJMP START ORG 0030H MOV R7,#09H MOV R6,#00H;清除標(biāo)志 CLR C MOV A,@R0 INC R0 SUBB A,@R0 JC LOOP1 MOV R6,#01H DEC R0 MOV A,@R0 INC R0 XCH A,@R0 MOV @R0,A DJNZ R7,START1 CJNE R6,#00H,START SJMP $ END START:

      MOV R0,#50H START1:

      DEC R0

      INC R0 LOOP1:

      實(shí)驗(yàn)一(3)選擇結(jié)構(gòu)程序設(shè)計(jì)

      一、實(shí)驗(yàn)?zāi)康?/p>

      掌握匯編語(yǔ)言的編程。

      二、實(shí)驗(yàn)內(nèi)容

      編寫(xiě)程序,根據(jù)送入的數(shù)據(jù)轉(zhuǎn)移運(yùn)行。

      三、程序框圖

      四、實(shí)驗(yàn)步驟

      1、LED環(huán)境

      ⑴在“P.”狀態(tài)下按“0→EV/UN”,裝載實(shí)驗(yàn)所需的代碼程序。⑵在20H中分次送入00、01、02、03。

      ⑶在“P.”狀態(tài)下鍵入0A10,然后按“STEP”或“EXEC”進(jìn)入實(shí)驗(yàn)項(xiàng)目的調(diào)試與運(yùn)行。

      2、PC環(huán)境

      在與PC聯(lián)機(jī)狀態(tài)下,編譯、連接、下載PH51se08.asm,用連續(xù)或單步方式運(yùn)行程序。

      3、運(yùn)行結(jié)果檢查

      (1)在單步運(yùn)行時(shí)每走一步可觀察其運(yùn)行結(jié)果。

      (2)在連續(xù)運(yùn)行狀態(tài)下,應(yīng)按“暫停圖標(biāo)”或?qū)嶒?yàn)箱上的“暫停按鈕”,使系統(tǒng)無(wú)條件退出用戶運(yùn)行狀態(tài)返回監(jiān)控,然后觀察每次運(yùn)行程序后,數(shù)碼管上數(shù)字循環(huán)情況。

      ORG 0000H

      LJMP START

      ORG 0030H START: MOV 20H,#00H MOV A,20H MOV B,#03H

      MUL AB

      MOV DPTR,#TAB

      JMP @A+DPTR

      SJMP $ ORG 3000H TAB:

      LJMP LOOPA

      LJMP LOOPB

      LJMP LOOPC

      LOOPA: MOV A,#01H LOOPA1: MOV P1,A

      LCALL DELAY1S

      RL A

      LJMP LOOPA1

      LOOPB: MOV A,#03H LOOPB1: MOV P1,A

      LCALL DELAY1S

      RL A

      LJMP LOOPB1

      LOOPC: MOV A,#05H LOOPC1: MOV P1,A

      LCALL DELAY1S

      RL A

      LJMP LOOPC1

      DELAY1S: DELAY1S3: DELAY1S2: DELAY1S1:

      MOV R7,#10 MOV R6,#200 MOV R5,#250 DJNZ R5,DELAY1S1 DJNZ R6,DELAY1S2 DJNZ R7,DELAY1S3 RET END

      實(shí)驗(yàn)二 中斷實(shí)驗(yàn)

      一、實(shí)驗(yàn)?zāi)康?/p>

      熟悉單片機(jī)中斷概念及中斷編程方法。

      二、實(shí)驗(yàn)內(nèi)容

      編寫(xiě)程序,從P3.3輸入脈沖,記錄輸入脈沖個(gè)數(shù),并用P1口外部鏈接的發(fā)光二極管顯示技術(shù)結(jié)果。

      二、參考程序

      ORG 0000H

      LJMP START

      ORG 0013H

      LJMP INT1_COUNT

      ORG 0030H START:

      MOV SP,#60H

      MOV A,#00H

      SETB IT1;下降邊沿觸發(fā)方式

      SETB EX1;開(kāi)啟INT1中斷

      SETB EA

      SJMP $ INT1_COUNT:

      INC A

      MOV P1,A

      RETI

      END

      實(shí)驗(yàn)三 LED顯示實(shí)驗(yàn)

      一、實(shí)驗(yàn)要求

      利用實(shí)驗(yàn)系統(tǒng)提供的顯示設(shè)備,動(dòng)態(tài)顯示一行數(shù)據(jù)。

      二、實(shí)驗(yàn)?zāi)康?/p>

      ⑴了解數(shù)碼管動(dòng)態(tài)顯示的原理; ⑵了解用總線方式控制數(shù)碼管顯示。

      三、實(shí)驗(yàn)說(shuō)明

      本實(shí)驗(yàn)系統(tǒng)提供了8位七段碼LED顯示電路,學(xué)生只要按地址輸出相應(yīng)數(shù)據(jù),就可以實(shí)現(xiàn)對(duì)顯示器的控制。

      四、程序框圖

      ORG 0000H LJMP START ORG 0030H START: MOV SP,#60H MOV 50H,#8CH;顯示字符P.MOV 51H,#40H MOV 52H,#79H MOV 53H,#24H MOV 54H,#30H MOV 55H,#19H MOV 56H,#12H MOV 57H,#02H

      LOOP1: LCALL DISPLAY

      LJMP LOOP1

      DISPLAY: MOV P2,#0FH MOV P0,50H LCALL DELAY20MS

      MOV P2,#1FH MOV P0,51H LCALL DELAY20MS

      MOV P2,#2FH MOV P0,52H LCALL DELAY20MS MOV P2,#3FH MOV P0,53H LCALL DELAY20MS

      MOV P2,#4FH MOV P0,54H LCALL DELAY20MS

      MOV P2,#5FH MOV P0,55H LCALL DELAY20MS

      MOV P2,#6FH MOV P0,56H LCALL DELAY20MS

      MOV P2,#7FH MOV P0,57H LCALL DELAY20MS

      LJMP DISPLAY

      DELAY20MS: MOV R7,#20 DELAY1: MOV R6,#100 DELAY2: DJNZ R6,DELAY2 DJNZ R7,DELAY1 RET

      TAB: DB 40H,79H,24H,30H,19H,12H,02H;0 1 2 3 4 5 6 DB 78H,00H,10H,08H,03H,46H,21H,06H,0EH;7 8 9 A B C D E F的字符碼

      TAB1: DB 8CH;P.TAB2: DB 7FH;END 的字符碼的字符碼

      空,不顯示的字符

      鍵盤(pán)電路實(shí)驗(yàn)

      電路圖:

      程序:

      ;用int1中斷實(shí)現(xiàn)按鍵功能,鍵值存放在4fh單元中;通過(guò)P1口輸出按鍵值,用發(fā)光二極管顯示按鍵值;通過(guò)P2.4--P2.6和三八譯碼器輸出八列按鍵掃描碼;通過(guò)P2.0---P2.3讀入按鍵的行值;行列值組合,就是按鍵的鍵值 ORG 0000H LJMP START ORG 0013H LJMP key_value ORG 0030H START: MOV 4fH,#00h;存放按鍵鍵值單元 MOV P1,#00H MOV P2,#0FFH setb ex1 setb it1 setb ea KEY_SCAN: MOV P2,#0FH LCALL DELAY5MS

      MOV P2,#1FH LCALL DELAY5MS

      MOV P2,#2FH LCALL DELAY5MS

      MOV P2,#3FH LCALL DELAY5MS

      MOV P2,#4FH LCALL DELAY5MS

      MOV P2,#5FH LCALL DELAY5MS

      MOV P2,#6FH LCALL DELAY5MS

      MOV P2,#7FH LCALL DELAY5MS

      LJMP KEY_SCAN

      DELAY5MS: MOV R7,#40 DELAY1: MOV R6,#100 DELAY2: DJNZ R6,DELAY2 DJNZ R7,DELAY1 RET

      KEY_VALUE: PUSH ACC PUSH PSW MOV A,P2 MOV 4FH,A MOV P1,A POP PSW POP ACC RETI END

      LED和鍵盤(pán)綜合實(shí)驗(yàn)

      電路圖:

      參考程序:

      ORG 0000H LJMP START ORG 0013H LJMP KEY_VALUE ORG 0030H START: MOV SP,#60H

      MOV 4fH,#00h;存放按鍵鍵值單元 MOV P2,#0FFH setb ex1 setb it1 setb ea

      MOV 50H,#0CH;顯示字符P.MOV 51H,#0CH MOV 52H,#7FH MOV 53H,#7FH MOV 54H,#7FH MOV 55H,#7FH MOV 56H,#7FH MOV 57H,#0CH

      LOOP1: LCALL DISPLAY

      LJMP LOOP1

      DISPLAY: MOV P2,#0FH MOV P0,50H LCALL DELAY20MS

      MOV P2,#1FH MOV P0,51H LCALL DELAY20MS

      MOV P2,#2FH MOV P0,52H LCALL DELAY20MS

      MOV P2,#3FH MOV P0,53H LCALL DELAY20MS

      MOV P2,#4FH MOV P0,54H LCALL DELAY20MS

      MOV P2,#5FH MOV P0,55H LCALL DELAY20MS

      MOV P2,#6FH MOV P0,56H LCALL DELAY20MS

      MOV P2,#7FH MOV P0,57H LCALL DELAY20MS

      LJMP DISPLAY

      DELAY20MS: MOV R7,#20 DELAY1: MOV R6,#100 DELAY2: DJNZ R6,DELAY2 DJNZ R7,DELAY1 RET

      KEY_VALUE: PUSH ACC PUSH PSW MOV 4FH,P2 LCALL KEY_VALUE_DISP POP PSW POP ACC RETI

      KEY_VALUE_DISP: MOV A,4FH ANL A,#0F0H SWAP A MOV DPTR,#TAB MOVC A,@A+DPTR MOV 56H,A MOV A,4FH ANL A,#0FH MOVC A,@A+DPTR MOV 57H,A RET

      TAB: DB 40H,79H,24H,30H,19H,12H,02H;0 1 2 3 4 5 6的字符碼 DB 78H,00H,10H,08H,03H,46H,21H,06H,0EH;7 8 9 A B C D E F的字符碼

      TAB1: DB 8CH;P.的字符碼

      TAB2: DB 7FH;空,不顯示的字符 END

      實(shí)驗(yàn)四 A/D轉(zhuǎn)換實(shí)驗(yàn)

      一、實(shí)驗(yàn)?zāi)康?/p>

      (1)掌握A/D轉(zhuǎn)換與單片機(jī)接口的方法;(2)了解A/D芯片0809轉(zhuǎn)換性能及編程方法;(3)通過(guò)實(shí)驗(yàn)了解單片機(jī)如何進(jìn)行數(shù)據(jù)采集。

      二、實(shí)驗(yàn)內(nèi)容

      利用實(shí)驗(yàn)系統(tǒng)上的0809做A/D轉(zhuǎn)換器,實(shí)驗(yàn)系統(tǒng)上的電位器提供模擬量輸入,編制程序,將模擬量轉(zhuǎn)換成數(shù)字,通過(guò)數(shù)碼管顯示出來(lái)。

      三、程序框圖

      四、實(shí)驗(yàn)電路

      五、實(shí)驗(yàn)步驟

      把0809的零通道INT0用插針接至AINl孔,0809CS位FFE0孔,運(yùn)行程序,數(shù)碼管顯示0809.XX,后二位顯示當(dāng)前采集的電壓轉(zhuǎn)換的數(shù)字量,調(diào)節(jié)W1,該二位將隨著電壓變化而相應(yīng)變化。

      六、思考

      修改程序,用其它通道輪流采樣顯示。

      實(shí)驗(yàn)五 電腦時(shí)鐘(定時(shí)器、中斷綜合實(shí)驗(yàn))

      一、實(shí)驗(yàn)?zāi)康?/p>

      熟悉MCS-51定時(shí)器,串行口和中斷初始化編程方法,了解定時(shí)器的應(yīng)用實(shí)時(shí)程序的設(shè)計(jì)與調(diào)試技巧。

      二、實(shí)驗(yàn)內(nèi)容

      編寫(xiě)程序,從本實(shí)驗(yàn)系統(tǒng)鍵盤(pán)上輸入時(shí)間初值,用定時(shí)器產(chǎn)生0.1S定時(shí)中斷,對(duì)時(shí)鐘計(jì)數(shù)器計(jì)數(shù),并將數(shù)值實(shí)時(shí)地送數(shù)碼管顯示。

      三、程序框圖

      四、實(shí)驗(yàn)步驟

      連續(xù)運(yùn)行程序,在鍵盤(pán)上輸入時(shí)間初值,按執(zhí)行鍵EXEC執(zhí)行,數(shù)碼管上實(shí)時(shí)顯示時(shí)間值。

      五、思考

      (1)電子鐘走時(shí)精度和程序中那些常數(shù)有關(guān)?

      (2)修改程序使定時(shí)器工作方式改變,調(diào)節(jié)有關(guān)參數(shù),進(jìn)一步提高精度。

      六、參考程序

      ORG 0000H LJMP START ORG 000BH LJMP T0_INT ORG 0030H START: MOV 50H,#00H;時(shí)的低位字符碼 MOV 51H,#00H;時(shí)的高位字符碼 MOV 52H,#00H;“-”的字符碼 MOV 53H,#00H;分的低位字符碼 MOV 54H,#00H;分的高位字符碼 MOV 55H,#00H;“-”的字符碼 MOV 56H,#00H;秒的低位字符碼 MOV 57H,#00H;秒的高位字符碼 MOV 5FH,#00H;存放小時(shí)的單元 MOV 5EH,#00H;存放分鐘的單元 MOV 5DH,#00H;存放秒的單元 MOV 5CH,#00H;存放T0中斷次數(shù),50次為1秒

      MOV SP,#60H;設(shè)置堆棧棧頂 MOV TH0,#???;設(shè)置T0定時(shí)器初值 MOV TL0,#??? MOV TMOD,#00000001H;T0工作在定時(shí)方式,工作方式0

      SETB ET0;開(kāi)放T0中斷 SETB EA;開(kāi)放總中斷 SETB TR0;啟動(dòng)定時(shí)器T0 LOOP: mov P2,#11111110H MOV R0,#50H loop1: MOV R7,#08H LOOP2: MOV A,@R0 MOV P1,A LCALL DELAY INC R0 MOV A,P2 RL A

      MOV P2,A DJNZ R7, LOOP2 LJMP LOOP SJMP $

      DELAY: MOV R6,#2;延時(shí)程序 DELAY1: MOV R5,#10 DELAY2: MOV R4,#100 DELAY3: DJNZ R4,DELAY3 DJNZ R5,DELAY2 DJNZ R6,DELAY1 RET 16 T0_INT: CLR TR0 PUSH ACC MOV A,5CH CJNE A,#50H,T0_INT1 MOV 5CH,#00H MOV A,5DH CJNE A,#59H,T0_INT2 MOV 5DH,#00H MOV A,5EH CJNE A,#59H,T0_INT3 MOV 5EH,#00H MOV A,5FH CJNE A,#23H,T0_INT4 MOV 5FH,#00H LJMP T0_END T0_INT1: INC 5CH LJMP T0_END T0_INT2: INC 5DH LJMP T0_END T0_INT3: INC 5EH LJMP T0_END T0_INT4: INC 5FH T0_END: MOV A,5FH

      MOV B,#10 DIV AB MOV 51H,A MOV A,B MOV 50H,A MOV A,5EH MOV B,#10 DIV AB MOV 54H,A MOV A,B MOV 53H,A MOV A,5DH MOV B,#10 DIV AB MOV 57H,A MOV A,B MOV 56H,A POP ACC

      MOV TH0,#??? MOV TL0,#??? SETB TR0 RETI

      實(shí)驗(yàn)六 LCD液晶顯示屏實(shí)驗(yàn)

      一、實(shí)驗(yàn)?zāi)康?/p>

      ⑴掌握單片機(jī)擴(kuò)展液晶顯示接口的設(shè)計(jì)與編程。⑵利用字符式液晶顯示器顯示字符。

      二、實(shí)驗(yàn)內(nèi)容

      編制程序,在液晶顯示器上顯示:

      學(xué)生所在的院系的漢語(yǔ)拼音字母和學(xué)生的名字。分兩行顯示。

      三、實(shí)驗(yàn)電路

      四、參考程序

      DAT1 DAT2 EQU EQU 30H;第一參數(shù)單元 31H;第二參數(shù)單元 32H;指令代碼單元 0100H;指令通道地址 0000H;數(shù)據(jù)通道地址 COM EQU C_ADD EQU D_ADD EQU

      org 0000h ljmp main org 0030h;主程序

      MAIN: MOV SP,#60H;

      lcall delay;上電延時(shí)

      LCALL INT;初始化

      LCALL CLEAR;清緩沖區(qū) TEST: LCALL hgnu_disp;顯示“WELCOM TO HGNU” LCALL PL_XW_ZKB;顯示 “P_L :”

      “X_W :”

      “ZKB:” sjmp test

      ;上電延時(shí)子程序 delay: MOV R6,#50H;MOV R7,#00H;DELY1: NOP DJNZ R7,DELY1;上電延時(shí)

      DJNZ R6,DELY1;ret;讀狀態(tài)字子程序

      R_ST: MOV DPTR,#C_ADD;設(shè)置指令通道 MOVX A,@DPTR;RET;判斷狀態(tài)位STA1,STA0子程序(讀寫(xiě)指令和數(shù)據(jù)),在指令的讀,寫(xiě)

      ;數(shù)據(jù)之前這兩個(gè)標(biāo)志必須同時(shí)為“1” ST01: LCALL R_ST;JNB ACC.0,ST01;JNB ACC.1,ST01;RET;判斷狀位STA2子程序(數(shù)據(jù)自動(dòng)讀狀態(tài)),該位

      ;在數(shù)據(jù)自動(dòng)操作過(guò)程中取代STA0和STA1有效。在連續(xù)讀過(guò)程中每讀一次;之前都要確認(rèn)STA2=1 ST2: LCALL R_ST;JNB ACC.2,ST2;RET;判斷STA3子程序(數(shù)據(jù)自動(dòng)寫(xiě)狀態(tài))ST3: LCALL R_ST;JNB ACC.3,ST3;RET;判斷狀態(tài)位STA6子程序(屏讀/屏拷貝狀態(tài))ST6: LCALL R_ST;JB ACC.6,ERR;RET ERR: LJMP ST6;;出錯(cuò)處理

      ;寫(xiě)指令和寫(xiě)數(shù)據(jù)子程序..;雙字節(jié)參數(shù)指令寫(xiě)入入口

      PR1: LCALL ST01;判斷狀態(tài)位STA1,STA0 MOV A,DAT1;取第一參數(shù)單元數(shù)據(jù)

      LCALL PR13;寫(xiě)入?yún)?shù);單字節(jié)參數(shù)指令寫(xiě)入入口

      PR11: LCALL ST01;判斷狀態(tài)位STA1,STA0 MOV A,DAT2;取第二參數(shù)單元數(shù)據(jù) LCALL PR13;寫(xiě)入?yún)?shù)

      ;無(wú)參數(shù)指令寫(xiě)入入口

      PR12: LCALL ST01;無(wú)參數(shù)指令寫(xiě)入入口

      MOV A,COM;取指令代碼單元數(shù)據(jù)

      MOV DPTR,#c_ADD;設(shè)置指令通道地址/數(shù)據(jù)寫(xiě)入入口

      LJMP PR14;寫(xiě)入指令代碼

      PR13: MOV DPTR,#D_ADD;設(shè)置數(shù)據(jù)通道地址/數(shù)據(jù)寫(xiě)入入口 PR14: MOVX @DPTR,A;寫(xiě)入操作 RET;讀數(shù)據(jù)子程序 PR2: LCALL ST01;判斷狀態(tài)位

      MOV DPTR,#D_ADD;設(shè)置數(shù)據(jù)通道地址

      MOVX A,@DPTR;讀數(shù)據(jù)操作 MOV DAT2,A;數(shù)據(jù)存入第二參數(shù)/數(shù)據(jù)單元

      RET;初始化子程序

      INT:

      ;顯示區(qū)域設(shè)置

      MOV DAT1,#00H;設(shè)置文本顯示區(qū)首地址

      MOV DAT2,#00h;MOV COM,#40H;LCALL PR1;雙字節(jié)參數(shù)指令寫(xiě)入入口

      MOV DAT1,#16;設(shè)置文本顯示區(qū)域?qū)挾?/p>

      MOV DAT2,#00H;即一行顯示所占字節(jié)數(shù)

      MOV COM,#41H;LCALL PR1;雙字節(jié)參數(shù)指令寫(xiě)入入口

      MOV DAT1,#00H;設(shè)置顯示區(qū)域首地址

      MOV DAT2,#00H;或文本屬性區(qū)域首地址

      MOV COM,#42H;LCALL PR1;雙字節(jié)參數(shù)指令寫(xiě)入入口

      MOV DAT1,#10H;設(shè)置圖形顯示區(qū)域?qū)挾?/p>

      MOV DAT2,#00H;或?yàn)槲谋緦傩詤^(qū)域狂寬度

      MOV COM,#43H;即一行顯示所占字節(jié)數(shù)

      LCALL PR1;雙字節(jié)參數(shù)指令寫(xiě)入入口

      ;顯示光標(biāo)設(shè)置

      MOV COM,#0A1H;光標(biāo)形狀設(shè)置

      LCALL PR12;

      ;設(shè)置光標(biāo)初始位置,是字符行和字符列,第0行第15列

      MOV DAT1,#0;光標(biāo)行位置

      MOV DAT2,#0;光標(biāo)列位置

      MOV COM,#21H;LCALL PR1;雙字節(jié)參數(shù)指令寫(xiě)入入口

      ;顯示方式設(shè)置,使用內(nèi)部字符發(fā)生器

      MOV COM,#80H;顯示方式設(shè)置,邏輯“或”合成 LCALL PR12;無(wú)參數(shù)指令寫(xiě)入入口+

      MOV COM,#97H;僅用文本顯示

      LCALL PR12;無(wú)參數(shù)指令寫(xiě)入入口

      ;顯示開(kāi)關(guān)方式

      RET

      ;寫(xiě)數(shù)據(jù)子程序,8*8點(diǎn)陣

      ;R6中裝入顯示位置的列數(shù)(字符的個(gè)數(shù)),每行16個(gè)字符,R7中裝入顯示位置距左上角的字符行數(shù)

      ;5FH單元中裝入待顯示的字符碼 DISP: mov b,r7

      mov a,#16 mul ab mov r7,a CLR C mov a,R6

      ADD A,R7 MOV R6,A;R7*16+R6

      MOV DAT1,R6;設(shè)置顯示RAM首地址,水平方向字符數(shù)

      MOV DAT2,#00H;固定送00H MOV COM,#24H;地址指針指令

      LCALL PR1;MOV

      dat2,5fH;取要顯示的字符

      MOV COM,#0c4H;數(shù)據(jù)寫(xiě),地址不變 LCALL PR11;寫(xiě)入數(shù)據(jù)

      RET;清顯示緩沖區(qū)(16*8單元)clear: MOV 5FH,#00H

      MOV R5,#0 CLEAR0: MOV R4,#0 CLEAR1: MOV A,R5

      MOV R7,A MOV A,R4 MOV R6,A CLEAR2: LCALL DISP

      INC R4 CJNE R4,#16,CLEAR1

      mov r4,#00h

      INC R5

      CJNE R5,#8,CLEAR0 CLEAR9: RET;顯示頻率、相位、占空比、相位差等字符。(P_L :;PL_XW_ZKB:MOV R7,#3 MOV R6,#0 MOV

      5fh,#30H;“P” LCALL DISP MOV R7,#3 MOV R6,#1 MOV

      5fh,#3FH;“_” LCALL DISP MOV R7,#3 MOV R6,#2 MOV

      5fh,#2CH;“L”

      X_W :

      ZKB:)

      LCALL DISP MOV R7,#3 MOV R6,#3 MOV

      5fh,#1AH;“: ” LCALL DISP MOV R6,#0 MOV

      5fh,#38H;“X” LCALL DISP MOV R7,#5 MOV R6,#1 MOV

      5fh,#3FH;“_” LCALL DISP MOV R7,#5 MOV R6,#2 MOV

      5fh,#37H;“W” LCALL DISP MOV R7,#5 MOV R6,#3 MOV

      5fh,#1AH;“: ” LCALL DISP

      MOV R7,#5

      MOV R7,#7 MOV R6,#0 MOV

      5fh,#3AH;“Z” LCALL DISP

      MOV R7,#7 MOV R6,#1 MOV

      5fh,#2BH;“K” LCALL DISP MOV R7,#7 MOV R6,#2 MOV

      5fh,#22H;“B ” LCALL DISP MOV R7,#7 MOV R6,#3 MOV

      5fh,#1AH;“: ” LCALL DISP RET;頂行顯示“黃岡師院物科院“的英文名稱(chēng)。;”welcome to hgnu!“ hgnu_DISP:

      MOV R7,#0;顯示位置的行列數(shù)

      MOV R6,#0 MOV

      5fh,#37H;”W“ LCALL DISP MOV R7,#0 MOV R6,#1 MOV

      5fh,#25H;”E“ LCALL DISP MOV R7,#0 MOV R6,#2 MOV

      5fh,#2CH;”L“ LCALL DISP MOV R7,#0 MOV R6,#3 MOV

      5fh,#23H;”C“ LCALL DISP MOV R7,#0 MOV R6,#4 MOV

      5fh,#2FH;”0“ LCALL DISP MOV R7,#0 MOV R6,#5 MOV

      5fh,#2DH;”M“ LCALL DISP MOV R7,#0 MOV R6,#6 MOV

      5fh,#25H;”E“ LCALL DISP MOV R7,#0 MOV R6,#7 MOV

      5fh,#00H;” “ LCALL DISP MOV R7,#0 MOV R6,#8 MOV

      5fh,#34H;”T“ LCALL DISP MOV R7,#0 MOV R6,#9 MOV

      5fh,#2FH;”O(jiān)“ LCALL DISP MOV R7,#0 MOV R6,#10 MOV

      5fh,#00H;” “ LCALL DISP MOV R7,#0 MOV R6,#11 MOV

      5fh,#28H;”H“ LCALL DISP

      MOV R7,#0 MOV R6,#12 MOV

      5fh,#27H;”G“ LCALL DISP MOV R7,#0 MOV R6,#13 MOV

      5fh,#2EH;”N“ LCALL DISP MOV R7,#0 MOV R6,#14 MOV

      5fh,#35H;”U“ LCALL DISP RET tab: db 10h,11h,12h,13h,14h,15h,16h,17h,18h,19h;”0-----9“

      db 21h,22h,23h,24h,25h,26h;”A-----F" end

      實(shí)驗(yàn)七 直流電機(jī)轉(zhuǎn)速測(cè)量與控制實(shí)驗(yàn)

      一、實(shí)驗(yàn)?zāi)康?/p>

      1.掌握直流電機(jī)的驅(qū)動(dòng)原理。2.了解直流電機(jī)調(diào)速的方法。

      二、實(shí)驗(yàn)內(nèi)容

      1.用0832 D/A轉(zhuǎn)換電路后的輸出經(jīng)放大后驅(qū)動(dòng)直流電機(jī)。

      2.編制程序改變0832輸出經(jīng)放大后的方波信號(hào)的占空比來(lái)控制電機(jī)轉(zhuǎn)速。本實(shí)驗(yàn)中 D/A輸出為雙極性輸出,因此電機(jī)可以正反向旋轉(zhuǎn)。

      三、程序流程

      三、實(shí)驗(yàn)電路

      五、參考程序

      DATA_TH0 EQU 00H DATA_TL0 EQU 00H;信號(hào)周期為130ms DATA_TH1 EQU 20H DATA_TL1 EQU 00H;高電平時(shí)間65ms ORG 0000H LJMP MAIN ORG 0003H LJMP INT_0;啟動(dòng)電機(jī)按鍵

      ORG 000BH LJMP T_0;T0確定輸出信號(hào)的周期(或者頻率)ORG 0013H LJMP INT_1;電機(jī)轉(zhuǎn)動(dòng)方向控制按鍵 ORG 001BH LJMP T_1;T1確定輸出信號(hào)高電平的時(shí)間期

      ORG 0030H MAIN: MOV SP,#60H

      CLR P1.0 CLR P1.1;關(guān)閉電機(jī)

      setb 20h.0;初始化電機(jī)正轉(zhuǎn)

      clr 20h.1;初始狀態(tài)時(shí),電機(jī)停止轉(zhuǎn)動(dòng) MOV TMOD,#11H SETB IT0 SETB EX0 SETB IT1 SETB EX1 SETB ET0 SETB ET1 SETB EA

      SJMP $

      T_0: JNB 20H.1,T_01;

      MOV TH1,#DATA_TH1

      MOV TL1,#DATA_TL1 SETB TR1

      MOV TH0,#DATA_TH0 MOV TL0,#DATA_TL0 SETB TR0 JNB 20H.0,T_02 setb P1.0 clr P1.1 LJMP T_05 T_02: clr P1.0 setb P1.1 LJMP T_05 T_01: CLR P1.0

      CLR P1.1 CLR TR0 CLR TR1 RETI CLR TR1 T_05: T_1: clr p1.0 clr p1.1 RETI int_1: CPL 20H.1;電機(jī)啟動(dòng)標(biāo)志求反,開(kāi)啟電機(jī)或者關(guān)閉電機(jī)

      JNB 20H.1,INT_11;啟動(dòng)標(biāo)志不為1,則停止電機(jī),關(guān)閉定時(shí)器

      MOV TH1,#DATA_TH1;啟動(dòng)標(biāo)志為1,則開(kāi)啟定時(shí)器1和定時(shí)器2,輸出PWM波

      MOV TL1,#DATA_TL1 SETB TR1

      MOV TH0,#DATA_TH0

      MOV TL0,#DATA_TL0 SETB TR0 JNB 20H.0,INT_12;轉(zhuǎn)動(dòng)方向標(biāo)志不為1,則反轉(zhuǎn),否則正轉(zhuǎn) setb P1.0 clr P1.1 LJMP INT_19 setb P1.1 LJMP INT_19 INT_12: clr P1.0 INT_11: CLR P1.0 CLR P1.1 CLR TR0 CLR TR1 INT_19: RETI 26

      INT_0: CPL 20H.0 RETI END

      實(shí)驗(yàn)八 步進(jìn)電機(jī)控制實(shí)驗(yàn)

      一、實(shí)驗(yàn)?zāi)康?/p>

      1.了解步進(jìn)電機(jī)控制的基本原理。2.掌握步進(jìn)電機(jī)轉(zhuǎn)動(dòng)編程方法。

      二、實(shí)驗(yàn)內(nèi)容

      從鍵盤(pán)上輸入正、反轉(zhuǎn)命令,轉(zhuǎn)速參數(shù)和轉(zhuǎn)動(dòng)步數(shù)顯示在顯示器上,CPU再讀取顯示器上顯示的正、反轉(zhuǎn)命令,轉(zhuǎn)速級(jí)數(shù)(16級(jí))和轉(zhuǎn)動(dòng)步數(shù)后執(zhí)行。轉(zhuǎn)動(dòng)步數(shù)減為零時(shí)停止轉(zhuǎn)動(dòng)。

      三、實(shí)驗(yàn)電路圖

      四、參考程序

      ORG 0000H

      ljmp main ORG 000BH LJMP COUNT0 ORG 001BH LJMP COUNT1 ORG 0100H MAIN: MOV P0,#0FFH;輸送脈沖口,SETB P1.2;MOV R0,#1;延時(shí)變化變量 LOOP1: MOV P0,#0FCH LCALL DELAY MOV P0,#0F6H LCALL DELAY MOV P0,#0F3H LCALL DELAY MOV P0,#0F9H LCALL DELAY JNB P1.2,LOOP2 MOV TMOD,#01010101B MOV TH0,#0FFH MOV TL0,#0FFH MOV TH1,#0FFH MOV TL1,#0FFH SETB TR0 SETB TR1 SETB ET0 SETB ET1 SETB EA MOV DPTR,#TABLE MOV A,R0 MOVC A,@A+DPTR MOV P2,A JMP LOOP1 LOOP2: MOV P0,#0FCH LCALL DELAY MOV P0,#0F9H LCALL DELAY MOV P0,#0F3H LCALL DELAY MOV P0,#0F6H LCALL DELAY JB P1.2,LOOP1 MOV TMOD,#01010101B MOV TH0,#0FFH MOV TL0,#0FFH MOV TH1,#0FFH MOV TL1,#0FFH 28 SETB TR0 SETB TR1 SETB ET0 SETB ET1 SETB EA MOV DPTR,#TABLE MOV A,R0 MOVC A,@A+DPTR MOV P2,A JMP LOOP2 SJMP $ COUNT0: MOV TH0,#0FFH;減速中斷 MOV TL0,#0FFH CJNE R0,#9,L4 JMP L5 L4: INC R0

      L5: setb TR0 RETI COUNT1: MOV TH1,#0FFH;加速中斷 MOV TL1,#0FFH CJNE R0,#1,L6 JMP L7 L6: DEC R0 L7: setb TR1 RETI DELAY: MOV A,R0;延時(shí) MOV R1,A L1: MOV R2,#50 L2: MOV R3,#250 L3: DJNZ R3,L3 DJNZ R2,L2 DJNZ R1,L1 RET TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH;顯示程序查表,共陰 END

      第四篇:?jiǎn)纹瑱C(jī)實(shí)驗(yàn) 2

      單片微型計(jì)算機(jī)原理、應(yīng)用及接口技術(shù)

      實(shí)驗(yàn)報(bào)告

      得分:

      年級(jí)專(zhuān)業(yè):

      測(cè)控1303班

      學(xué)生姓名/學(xué)號(hào):崔振振

      /201323030325 評(píng)閱教師:

      提交時(shí)間:2015—2016學(xué)年第1學(xué)期

      單片機(jī)實(shí)驗(yàn)1匯編語(yǔ)言程序設(shè)計(jì)實(shí)驗(yàn)

      ----存儲(chǔ)器塊清零或賦值

      一.實(shí)驗(yàn)?zāi)康?熟悉存儲(chǔ)器的讀寫(xiě)方法,熟悉51匯編語(yǔ)言結(jié)構(gòu)。2 熟悉循環(huán)結(jié)構(gòu)程序的編寫(xiě)。

      熟悉編程環(huán)境和程序的調(diào)試。二.實(shí)驗(yàn)內(nèi)容

      指定存儲(chǔ)器中某塊的起始地址和長(zhǎng)度,要求將其內(nèi)容清零或賦值。例如將4000H開(kāi)始的100個(gè)字節(jié)內(nèi)容清零或全部賦值為33H。三.實(shí)驗(yàn)儀器

      微機(jī)、WAVE6000編程環(huán)境軟件,(單片機(jī)實(shí)驗(yàn)箱)仿真器--仿真器設(shè)置-?

      Lab6000通用微控制器 MCS51實(shí)驗(yàn) 8031

      √ 使用偉福軟件模擬器 勾上

      四、實(shí)驗(yàn)內(nèi)容及步驟

      1、運(yùn)行WAVE 雙擊“WAVE”圖標(biāo),進(jìn)入仿真調(diào)試環(huán)境。最上行為提示行:偉福6000 軟件模擬器(8***)[C:WAVESAMPLES***.PRJ]-[***-C:WAVESAMPLES***.ASM],其中,8***為要仿真的芯片,后面的.PRJ文件是你要調(diào)試的項(xiàng)目,最后一項(xiàng)是錄入的源程序。(如果有項(xiàng)目文件,請(qǐng)點(diǎn)擊菜單 文件-關(guān)閉項(xiàng)目)

      2、仿真器設(shè)置

      使用語(yǔ)言設(shè)置:點(diǎn)擊“仿真器—— 仿真器設(shè)置”

      仿真器設(shè)置:點(diǎn)擊“仿真器—— 仿真器設(shè)置——語(yǔ)言”,選擇“偉福匯編器”“混合十、十六進(jìn)制”;點(diǎn)擊仿真器設(shè)置下的“仿真器”,選擇 S51/S、POD8X5X、8751(或AT89C51);在“使用偉福軟件模擬器”選項(xiàng)上打“√”,點(diǎn)擊“好”。完成軟件模擬仿真器環(huán)境設(shè)置。

      3、程序錄入

      完成下列程序的錄入(SY1.ASM)。(注意:錄入源程序必須使用西文輸入法)錄入步驟為:點(diǎn)擊“文件”——點(diǎn)擊“新建文件”,則顯示器打開(kāi)源程序錄入窗口,文件名默認(rèn)為NONAME1;將SY1.ASM錄入并點(diǎn)擊“文件”———點(diǎn)擊“保存文件”。特別注意:保存文件時(shí)必須加上擴(kuò)展名“.ASM”,并記錄保存的文件夾路徑。

      建立項(xiàng)目,點(diǎn)擊新建項(xiàng)目,選擇剛才新建的文件,下一步可不選擇,然后填寫(xiě)項(xiàng)目名字

      參考程序:

      Block equ 4000h mov dptr, #Block;起始地址 mov r0, #10;清10個(gè)字節(jié) mov a, #33h;Loop: movx @dptr, a inc dptr;指向下一個(gè)地址 djnz r0, Loop;記數(shù)減一 ljmp $ end

      4、對(duì)錄入的源程序SY1.ASM進(jìn)行編譯

      編譯步驟為:點(diǎn)擊“項(xiàng)目———全部編譯”

      若編譯完成,在左下角的“信息窗口”將顯示生成兩個(gè)文件SY1.HEX和SY1.BIN。若源程序在格式上有錯(cuò)誤,則在“信息窗口”中出現(xiàn)錯(cuò)誤提示,請(qǐng)檢查源程序,修改后再進(jìn)行編譯,直至編譯成功。

      窗口最下一行顯示:執(zhí)行時(shí)間和PC、DPTR、A、PSW、SP的當(dāng)前值。

      5、窗口介紹與練習(xí)(1)、左邊窗口:為“項(xiàng)目窗口”和“觀察窗口”: Project: 項(xiàng)目窗口;

      REG: 工作寄存器和部分特殊功能寄存器窗口。SFR: 51系列單片機(jī)特殊功能寄存器窗口。

      另:此窗口最右邊顯示的是某個(gè)特殊功能寄存器(點(diǎn)擊選中左邊的某個(gè)寄存器)的位及對(duì)應(yīng)的二進(jìn)制的值。

      (2)、左下角為“信息窗口”。(3)、右下角為CODE(程序存儲(chǔ)器)窗口和XDATA(片外數(shù)據(jù)存儲(chǔ)器)窗口。(4)、點(diǎn)擊主菜單的“窗口——CPU窗口”,在右部窗口顯示PC值、機(jī)器碼和源程序。(5)、點(diǎn)擊主菜單的“窗口——數(shù)據(jù)窗口——DATA”:顯示片內(nèi)RAM窗口。

      6、調(diào)試程序

      點(diǎn)擊 “執(zhí)行—— 復(fù)位”:使程序指針指向第一條指令(CPU窗口指向0000H)點(diǎn)擊 “執(zhí)行—— 單步”:使程序單步執(zhí)行。

      7、觀察寄存器單元中的內(nèi)容:

      點(diǎn)擊 窗口—— 數(shù)據(jù)窗口-DATA: 可以觀看片內(nèi)RAM 00H 到 FFH 中的內(nèi)容,點(diǎn)擊 窗口—— 數(shù)據(jù)窗口-CODE: 可以觀看程序存儲(chǔ)器 0000H —— FFFFH 中的機(jī)器碼。點(diǎn)擊 窗口—— 數(shù)據(jù)窗口—— XDATA: 可以觀看片外RAM 數(shù)據(jù) 0000H— FFFFH 點(diǎn)擊 窗口—— 數(shù)據(jù)窗口—— DATA: 可以觀看RAM 數(shù)據(jù)00H— FFH 參考程序與流程圖

      實(shí)驗(yàn)心得:

      通過(guò)實(shí)驗(yàn)?zāi)軌蜃屛腋私鈫纹瑱C(jī)內(nèi)部工作的原理,能夠更深一層次的幫助我理解各個(gè)語(yǔ)句命令的功能

      單片機(jī)實(shí)驗(yàn)2存儲(chǔ)塊移動(dòng) 一.實(shí)驗(yàn)?zāi)康?熟悉51匯編語(yǔ)言程序結(jié)構(gòu)。2 熟悉循環(huán)結(jié)構(gòu)程序的編寫(xiě),進(jìn)一 步熟悉指令系統(tǒng)。熟悉編程環(huán)境和程序的調(diào)試。二.實(shí)驗(yàn)內(nèi)容

      將指定源地址(3000H)和長(zhǎng)度(100字節(jié))的存儲(chǔ)塊移動(dòng)到目的地址(4000H)。三.實(shí)驗(yàn)步驟

      同實(shí)驗(yàn)一項(xiàng)目文件建立過(guò)程,然后錄入代碼 四.代碼內(nèi)容

      mov

      r0, #30h mov

      r1, #00h mov

      r2, #40h mov

      r3, #00h

      mov

      r7, #10 Loop: movdph, r0 movdpl, r1 movx a, @dptr movdph, r2 movdpl, r3 movx @dptr, a inc

      r1 inc

      r3 djnz r7, Loop ljmp $

      實(shí)驗(yàn)心得:

      試驗(yàn)中當(dāng)時(shí)挺迷惑dph和dpl的,最終查書(shū)才知道是dptr的另一種表達(dá)方式,從這可以看出有時(shí)候?qū)嶒?yàn)是檢驗(yàn)自己學(xué)習(xí)不足的好方法,從而加深對(duì)本質(zhì)的理解

      單片機(jī)實(shí)驗(yàn)3數(shù)據(jù)排序

      一.實(shí)驗(yàn)?zāi)康?/p>

      1了解數(shù)據(jù)排序的常用算法,掌握冒泡算法。2 進(jìn)一步熟悉編程環(huán)境和調(diào)試方法。3 熟悉匯編程序設(shè)計(jì)。二.實(shí)驗(yàn)內(nèi)容

      將 50H開(kāi)始的10個(gè)隨機(jī)數(shù)按從小到大的順序排列。三.實(shí)驗(yàn)儀器微機(jī)、WAVE6000編程環(huán)境

      試驗(yàn)中由于上電后數(shù)據(jù)都一樣,所以需要手動(dòng)修改50H后10個(gè)數(shù)據(jù)(要排序的數(shù))方法是:窗口---數(shù)據(jù)窗口---DATA 找到50H開(kāi)始的10個(gè)2位16進(jìn)制數(shù),雙擊,修改其數(shù)值如(6,2,4,9,3,7,1,5,8,0)之后編譯(下載),單步執(zhí)行,查看排序執(zhí)行過(guò)程

      四.實(shí)驗(yàn)步驟:同實(shí)驗(yàn)一,值得注意的地方就是修改數(shù)據(jù)

      參考程序:

      Size

      equ

      ;數(shù)據(jù)個(gè)數(shù)

      Array equ

      50h

      ;數(shù)據(jù)起始地址

      Change equ

      0

      ;交換標(biāo)志 Sort:

      mov

      r0, #Array

      mov

      r7, #Size-1

      clr

      Change Goon:

      mov

      a, @r0

      mov

      r2, a

      inc

      r0

      mov

      B, @r0

      cjne a, B, NotEqual

      sjmp Next NotEqual:

      jc

      Next

      ;前小后大, 不交換

      setb Change

      ;前大后小, 置交換標(biāo)志

      xch

      a, @r0

      ;交換

      dec

      r0

      xch

      a, @r0

      inc

      r0 Next:

      djnz r7, Goon

      jb

      Change, Sort

      ljmp $

      end

      實(shí)驗(yàn)心得:

      其實(shí)有時(shí)候挺疑惑偽代碼到底是干什么的,因?yàn)槌绦蛟趫?zhí)行中,不像c語(yǔ)言一樣調(diào)用子函數(shù)能夠讓人很理解,但究其最終的的過(guò)程,還是和c語(yǔ)言是一樣的,具有同樣的思想

      單片機(jī)實(shí)驗(yàn)4 P1口輸入輸出實(shí)驗(yàn)

      一.實(shí)驗(yàn)?zāi)康?/p>

      1.熟悉P1 口的功能。

      2.熟悉延時(shí)子程序或定時(shí)中斷程序的編寫(xiě)和使用。3.初步熟悉單片機(jī)軟硬件設(shè)計(jì)方法。二.實(shí)驗(yàn)內(nèi)容(兩內(nèi)容分開(kāi)做)

      注意:硬件實(shí)驗(yàn)小實(shí)驗(yàn)箱的仿真器設(shè)置:

      選擇仿真器選擇仿真頭選擇CPU G6W

      POD51

      8031

      1.P1口做輸出口接八只發(fā)光二極管,編寫(xiě)程序,使發(fā)光二極管循環(huán)亮滅。

      注意:小實(shí)驗(yàn)箱(G2010)的發(fā)光二級(jí)管LED是低電平亮,高電平滅;

      大實(shí)驗(yàn)箱(LAB6000)的發(fā)光二級(jí)管LED是高電平點(diǎn)亮,低電平滅。

      2.P1.0,P1.1作輸入口接兩個(gè)撥動(dòng)開(kāi)關(guān),P1.2,P1.3作輸出口,接兩個(gè)發(fā)光二極管。編寫(xiě)程序讀取開(kāi)關(guān)狀態(tài),將此狀態(tài)在發(fā)光二極管上顯示出來(lái)。三.實(shí)驗(yàn)儀器

      微機(jī),WAVE6000編程環(huán)境、實(shí)驗(yàn)箱

      注意:當(dāng)P1口用作輸入口時(shí),必須先對(duì)它置”1”。

      編程時(shí)應(yīng)注意P1.0,P1.1作為輸入時(shí)應(yīng)先置1,才能正確讀入值。

      S0,S1就是實(shí)驗(yàn)箱上K0,K1 鍵

      實(shí) 驗(yàn) 說(shuō) 明 . P1 口 是 準(zhǔn) 雙 向 口,它 作 為 輸 出 口 時(shí) 與 一 般 的 雙 向 口 使 用 方 法 相 同。由 準(zhǔn) 雙 向 口 結(jié)構(gòu) 可 知 當(dāng) P1 口 用 為 輸 入 口時(shí), 必 須 先 對(duì) 它 置 “ 1 ”。若 不 先 對(duì) 它 置 “ 1 ”,讀 入 的 數(shù) 據(jù) 是 不 正 確 的。內(nèi)容1大實(shí)驗(yàn)箱參考程序:

      rl

      a Loop:

      call Delay mov

      a, #01h

      djnz r2, Output mov

      r2, #8

      ljmp Loop Output:

      Delay: mov

      P1, a

      mov

      r6, #0 mov

      r7, #0 DelayLoop: djnz r6, DelayLoop djnz r7, DelayLoop ret end 內(nèi)容2大實(shí)驗(yàn)箱參考程序 KeyLeftequ P1.0 KeyRightequ P1.1 LedLeftequ P1.2 LedRightequ P1.3 SETB

      KeyLeft 實(shí)驗(yàn)心得:

      SETB

      KeyRight Loop:

      MOV

      C, KeyLeft MOV

      LedLeft, C MOV

      C,KeyRight MOV

      Ledright,C LJMP

      Loop END

      當(dāng)進(jìn)行實(shí)驗(yàn)時(shí),我一直不明白,為什么可以用OX0000H這樣的值賦給dptr單片機(jī)就知道是對(duì)P0 P2操作,P1能不能這樣使用呢,在實(shí)驗(yàn)中我們看到對(duì)單個(gè)引腳操作時(shí)是直接進(jìn)行賦值的,但最終還是通過(guò)看書(shū)得以理解。

      實(shí)驗(yàn)五計(jì)數(shù)器實(shí)驗(yàn)

      一.實(shí)驗(yàn)?zāi)康?熟悉計(jì)數(shù)器的使用方法。2 熟悉計(jì)數(shù)器的硬件電路連接。3 熟悉計(jì)數(shù)器的軟件設(shè)計(jì)。二.實(shí)驗(yàn)內(nèi)容

      注意:硬件實(shí)驗(yàn) 小實(shí)驗(yàn)箱的仿真器設(shè)置:

      選擇仿真器 選擇仿真頭 選擇CPU G6W POD51 8031 8031內(nèi)部定時(shí)計(jì)數(shù)器0,按計(jì)數(shù)器模式和工作方式1工作,對(duì)P3.4(計(jì)數(shù)器0計(jì)數(shù)脈沖輸入T0)引腳進(jìn)行計(jì)數(shù)。將其計(jì)數(shù)數(shù)值按二進(jìn)制數(shù)用P1口驅(qū)動(dòng)LED燈顯示出來(lái)。

      說(shuō)明

      實(shí) 驗(yàn) 中 內(nèi) 計(jì) 數(shù) 器 起 計(jì) 數(shù) 器 的 作 用,外 部 事 件 計(jì) 數(shù) 沖 由 P3.4 引 入 定 時(shí) 器T0。單 片 機(jī) 在 每 個(gè) 榌 器 周 期 采 樣 一 次 輸 入 波 形。因 此 單 片 機(jī) 至 少 需 要 兩 個(gè) 機(jī) 器 周 期 才 能 椧 到 一 次 跳 變。這 就 要 求 被 采 樣 電平至 少 維 特 一 個(gè) 完 整 的 機(jī) 器 周 期。以 保 證 電平在 變 化 之 前 即 被 采 樣。同 時(shí) 這 就 決 定 了 輸 入 波 形 的 率 不 能 超 過(guò) 機(jī) 器 周 期。

      三.實(shí)驗(yàn)儀器

      微機(jī)、WAVE6000編程環(huán)境,偉福6000實(shí)驗(yàn)箱 注意:P3.4接單次脈沖 實(shí)驗(yàn)連線如圖:

      大實(shí)驗(yàn)箱單次脈沖

      程序流程:

      程序

      mov

      TMOD, #00000101b

      ;方式1,記數(shù)器 mov

      TH0, #0 mov

      TL0, #0 setb TR0

      ;開(kāi)始記數(shù)

      Loop: mov

      P1, TL0

      ;將記數(shù)結(jié)果送P1口 ljmp

      Loop end 實(shí)驗(yàn)心得:

      對(duì)于程序的過(guò)程我沒(méi)有太多的疑問(wèn),能夠更好地理解書(shū)中概念性的知識(shí)。

      實(shí)驗(yàn)六外部中斷實(shí)驗(yàn)

      一.實(shí)驗(yàn)?zāi)康?熟悉外部中斷的硬件電路,中斷技術(shù)的基本使用方法。2 熟悉外部中斷的軟件設(shè)計(jì)。二.實(shí)驗(yàn)內(nèi)容

      注意:硬件實(shí)驗(yàn)小實(shí)驗(yàn)箱的仿真器設(shè)置:

      選擇仿真器選擇仿真頭選擇CPU G6W

      POD51

      8031

      利用實(shí)驗(yàn)箱上的單脈沖按鍵和發(fā)光二極管實(shí)現(xiàn):用單次脈沖申請(qǐng)中斷,在中斷服務(wù)程序中對(duì)輸出信號(hào)進(jìn)行翻轉(zhuǎn)(對(duì)每當(dāng)輸出一個(gè)單次脈沖時(shí)(產(chǎn)生低電平一個(gè)脈沖),發(fā)光二極管(L0)亮滅變化)。

      三.實(shí)驗(yàn)儀器

      微機(jī)、WAVE6000編程環(huán)境,實(shí)驗(yàn)箱

      連線:P1.0連接L0

      INT0連接低電平單次脈沖。實(shí)驗(yàn)電路及連線如下:小實(shí)驗(yàn)箱低電平脈沖見(jiàn)上頁(yè)圖示。

      注意

      中斷服務(wù)程序(ISR)關(guān)鍵: 保護(hù)進(jìn)入中斷時(shí)的現(xiàn)場(chǎng),并在退出中斷之前恢復(fù)現(xiàn)場(chǎng);中斷重入的設(shè)置中斷相關(guān)寄存器的設(shè)置:中斷寄存器IE,中斷觸發(fā)罰方式的設(shè)置。本例中保護(hù)CPU狀態(tài)寄存器PSW等。中斷程序和子程序的區(qū)別。中斷程序不是程序調(diào)用的,中斷發(fā)生時(shí),CPU就執(zhí)行相應(yīng)中斷服務(wù)程序。程序流程圖:

      參考程序:

      LED equ P1.0 LEDBufequ 0 ljmp Start org 3 Interrupt0: push PSW;保護(hù)現(xiàn)場(chǎng) cplLEDBuf;取反LED mov c, LEDBuf mov LED, c pop PSW;恢復(fù)現(xiàn)場(chǎng) reti Start: clrLEDBuf clr LED mov TCON, #01h;外部中斷0下降沿觸發(fā)

      mov IE, #81h;打開(kāi)外部中斷允許位(EX0)及總中斷允許位(EA)ljmp $ end 實(shí)驗(yàn)心得:

      剛開(kāi)始一直在疑惑單片機(jī)進(jìn)入中斷是怎樣進(jìn)行的,是通過(guò)主函數(shù)調(diào)用還是怎樣執(zhí)行的,以前一直不明白為什么主函數(shù)沒(méi)有調(diào)用但是函數(shù)執(zhí)行了,通過(guò)實(shí)驗(yàn)知道對(duì)于中斷服務(wù)子函數(shù)是不需要通過(guò)主函數(shù)調(diào)用的。

      第五篇:?jiǎn)纹瑱C(jī)實(shí)驗(yàn)心得體會(huì)

      單片機(jī)實(shí)驗(yàn)心得體會(huì)

      單片機(jī)實(shí)驗(yàn)心得體會(huì)一:?jiǎn)纹瑱C(jī)實(shí)驗(yàn)心得體會(huì)

      時(shí)間過(guò)得真快,不經(jīng)意間,一個(gè)學(xué)期就到了尾聲,進(jìn)入到如火如荼的期末考試階段。

      在學(xué)習(xí)單片機(jī)這門(mén)課程之前,就早早的聽(tīng)各種任課老師和學(xué)長(zhǎng)學(xué)姐們說(shuō)過(guò)這門(mén)課程的重要性和學(xué)好這門(mén)課程的關(guān)鍵~~多做單片機(jī)實(shí)驗(yàn)。

      這個(gè)學(xué)期,我們除了在課堂上學(xué)習(xí)理論知識(shí),還在實(shí)驗(yàn)室做了7次實(shí)驗(yàn)。將所學(xué)知識(shí)運(yùn)用到實(shí)踐中,在實(shí)踐中發(fā)現(xiàn)問(wèn)題,強(qiáng)化理論知識(shí)。

      現(xiàn)在,單片機(jī)課程已經(jīng)結(jié)束,即將開(kāi)始考試了,需要來(lái)好好的反思和回顧總結(jié)下了。

      第一次是借點(diǎn)亮LED燈來(lái)熟悉keil軟件的使用和試驗(yàn)箱上器材。第一次實(shí)驗(yàn)體現(xiàn)了一個(gè)人對(duì)新事物的接受能力和敏感度。雖然之前做過(guò)許多種實(shí)驗(yàn)。但依舊發(fā)現(xiàn)自己存在一個(gè)很大的問(wèn)題,對(duì)已懂的東西沒(méi)耐心聽(tīng)下去,容易開(kāi)小差;在聽(tīng)老師講解軟件使用時(shí),思路容易停滯,然后就跟不上老師的步驟了,結(jié)果需要?jiǎng)e人再次指導(dǎo);對(duì)軟件的功能沒(méi)有太大的熱情去研究探索,把一個(gè)個(gè)圖標(biāo)點(diǎn)開(kāi),進(jìn)去看看。所以第一次試驗(yàn)相對(duì)失敗。鑒于此,我自己在宿舍下載了軟件,然后去熟悉它的各個(gè)功能,使自己熟練掌握。

      在做實(shí)驗(yàn)中,第二個(gè)問(wèn)題應(yīng)該是準(zhǔn)備不充分吧。一開(kāi)始,由于沒(méi)有課前準(zhǔn)備的意識(shí),每每都是到了實(shí)驗(yàn)室才開(kāi)始編程,完成作業(yè),導(dǎo)致每次時(shí)間都有些倉(cāng)促。后來(lái)在老師的批評(píng)下,認(rèn)識(shí)到這是個(gè)很大的問(wèn)題:老師提前把任務(wù)告訴我們,就是希望我們私下把程序編好。于是我便在上機(jī)之前把程序編好,拷到U盤(pán),這樣上機(jī)時(shí)只需調(diào)試,解決出現(xiàn)的問(wèn)題。這樣就會(huì)節(jié)約出時(shí)間和同學(xué)討論,換種思路,換種方法,把問(wèn)題給吃透。發(fā)現(xiàn)、提出、分析、解決問(wèn)題和實(shí)踐能力是作為我們這個(gè)專(zhuān)業(yè)的基本素質(zhì)。

      三是我的依賴(lài)性很大,剛開(kāi)始編程序時(shí)喜歡套用書(shū)上的語(yǔ)句,卻對(duì)語(yǔ)句的理解不夠。于是當(dāng)程序出現(xiàn)問(wèn)題時(shí),不知道如何修改,眼前的程序都是一塊一塊的被拼湊整合起來(lái)的,沒(méi)法知道哪里錯(cuò)了。但是編程是一件很?chē)?yán)肅的事情,容不得半點(diǎn)錯(cuò)誤。于是便只能狠下決心,堅(jiān)持自己編寫(xiě),即使套用時(shí),也把每條語(yǔ)句弄懂。這也能激發(fā)了學(xué)習(xí)的興趣。

      還有一次實(shí)驗(yàn)是調(diào)出電腦里的程序,讓它在試驗(yàn)箱上實(shí)現(xiàn)其功,讓我們?nèi)ンw會(huì)別人編程的技巧和程序邏輯美感。看了之后,不得不說(shuō)我目前的水平簡(jiǎn)直太小兒科了。還有連線也是個(gè)問(wèn)題,對(duì)試驗(yàn)箱內(nèi)部結(jié)構(gòu)功能的不懂,以至于不知道如何連線讓程序?qū)崿F(xiàn)其功能。這讓我意識(shí)到單片機(jī)是軟件和硬件的結(jié)合,兩者是一個(gè)整體。所以必須把硬件方面加強(qiáng)。

      五是基礎(chǔ)知識(shí)的薄弱,也是最基礎(chǔ)的問(wèn)題吧!在用C語(yǔ)言編程時(shí),才發(fā)現(xiàn)自己C語(yǔ)言真的太差勁了,雖然這門(mén)課程早就學(xué)過(guò),但是就目前所掌握的C語(yǔ)言知識(shí),對(duì)于單片機(jī)編程遠(yuǎn)遠(yuǎn)不夠。C語(yǔ)言也是我們以后學(xué)各種語(yǔ)言的基礎(chǔ),必須要花大量的時(shí)間溫習(xí)強(qiáng)化。通過(guò)這個(gè)學(xué)期的單片機(jī)實(shí)驗(yàn),我發(fā)現(xiàn)了自己很多問(wèn)題,也從中學(xué)到了很多。它不是物理實(shí)驗(yàn)時(shí),只需要記住老師說(shuō)的步驟,順次做完就可以了;并不是matlab實(shí)驗(yàn),只需要你知道一些語(yǔ)句表達(dá),然后在不違背語(yǔ)法的情況下,組合好就可以了;它不是EDA實(shí)驗(yàn),把一節(jié)課混下去就行了,反正大家都不知道,都是混,都跟不上老師的節(jié)奏思路。他需要我們?cè)谡莆沼布幕A(chǔ)上,用單片機(jī)語(yǔ)言在keil軟件上寫(xiě)出一定的程序,然后利用stcisp燒到試驗(yàn)箱上,實(shí)現(xiàn)其特定的功能。而在編程時(shí)需要邏輯力,創(chuàng)新力,知識(shí)組合力,知識(shí)搜索。單片機(jī)在電子技術(shù)應(yīng)用領(lǐng)域中,單片機(jī)的應(yīng)用愈來(lái)愈多地應(yīng)用到各行各業(yè)。要開(kāi)發(fā)單片機(jī)的應(yīng)用,不但要掌握單片機(jī)硬件和軟件方面的知識(shí),而且還要深入了解各應(yīng)用系統(tǒng)的專(zhuān)業(yè)知識(shí),融會(huì)貫通和有機(jī)結(jié)合,才能設(shè)計(jì)出優(yōu)良的應(yīng)用系統(tǒng)。并且需要與時(shí)俱進(jìn),不斷了解各公司最新芯片的結(jié)構(gòu)和應(yīng)用,在實(shí)際應(yīng)用中找到最好的性能價(jià)格比。培養(yǎng)自己接受新知識(shí)的自學(xué)能力,掌握芯片發(fā)展動(dòng)態(tài)。培養(yǎng)自己的創(chuàng)新精神,在原有的基礎(chǔ)上進(jìn)行改進(jìn),使之功能不斷完善。當(dāng)然,最重要到還是態(tài)度,無(wú)論做什么事情,足夠認(rèn)真,足夠堅(jiān)強(qiáng),足夠毅力,足夠決心,足夠勇氣,就一定能辦到。

      >單片機(jī)實(shí)驗(yàn)心得體會(huì)二:?jiǎn)纹瑱C(jī)實(shí)驗(yàn)的心得和體會(huì)>>(819字)

      這是我第一次做單片機(jī)實(shí)驗(yàn),說(shuō)起來(lái)有一些緊張和新奇。在此之前我并沒(méi)有接觸過(guò)單片機(jī),我本以為與之前的光學(xué)實(shí)驗(yàn)及其它實(shí)驗(yàn)差不多,可我進(jìn)到實(shí)驗(yàn)室之后,我就改變了這個(gè)看法。

      單片機(jī)實(shí)驗(yàn)要求的是一種思維的創(chuàng)新,而不是簡(jiǎn)單的重復(fù)老師所說(shuō)的實(shí)驗(yàn)步驟。因此第一次實(shí)驗(yàn),實(shí)驗(yàn)老師向我們講解了CVAVR編譯器的大體情況及使用方法和技巧,并簡(jiǎn)單的向我們示例——如何在CVAVR中編寫(xiě)一段程序。編完程序之后,知道我們?nèi)绾问褂肁VRStudio達(dá)到將編好的程序輸入到單片機(jī)中來(lái)使其運(yùn)行。

      之后老師讓我們以組為單位合作編寫(xiě)一段程序,并使其運(yùn)行。我們組想要編寫(xiě)一個(gè)跑馬燈的程序。在第一次運(yùn)行CVAVR時(shí),我們組就遇到了一個(gè)麻煩,我們?cè)诮⒁粋€(gè)新project文件那里出現(xiàn)了錯(cuò)誤。在保存這個(gè)新project文件的時(shí)候,我們單擊了Save,而不是Generate,SaveandExit.因此它彈不出我們我們所需要的源程序。之后我們通過(guò)詢(xún)問(wèn)其他人解決了這個(gè)問(wèn)題。在編程中,我們開(kāi)始做的是兩盞燈的交替閃爍,間隔時(shí)間是1000ms。在運(yùn)用AVRStudio的時(shí)候,我們又犯了一個(gè)錯(cuò)誤。在我們打開(kāi)編譯好的工程文件時(shí),開(kāi)始調(diào)試,在最后一步點(diǎn)擊Finish時(shí),彈出一對(duì)話框,問(wèn)我們是否更新,然后我們單擊了Yes。這導(dǎo)致了仿真器無(wú)法下次使用。這是由于實(shí)驗(yàn)室中的仿真器是盜版的,無(wú)法進(jìn)行更新。

      經(jīng)過(guò)我們的不斷努力,我們終于實(shí)現(xiàn)了簡(jiǎn)單的跑馬燈的運(yùn)行,便是兩個(gè)燈地交替閃爍。我們感到興奮極了。但是我們并沒(méi)有滿足于當(dāng)前,我們又編寫(xiě)了三個(gè)燈地交替閃爍,四個(gè)及多個(gè)。當(dāng)我們一步步實(shí)現(xiàn)我們的目的時(shí),我得到莫大成就感和自信。

      在這次實(shí)驗(yàn)中,我體會(huì)到了合作的重要性。一個(gè)人也可能實(shí)現(xiàn)這一系列的過(guò)程,但是要花費(fèi)很多精力和時(shí)間。群策群力,分工明確,可以使我們更好、更快地完成我們的工作。在此期間,你可以更好知道自己的不足和缺陷,來(lái)得到改正。還可以知道自己的優(yōu)勢(shì)所在,把握好自己的優(yōu)勢(shì)。

      以上便是我做這次實(shí)驗(yàn)的心得體會(huì)。

      >單片機(jī)實(shí)驗(yàn)心得體會(huì)三:?jiǎn)纹瑱C(jī)實(shí)驗(yàn)心得體會(huì)>>(894字)

      最近自己對(duì)單片機(jī)特別的感興趣,因?yàn)榭吹剿芸刂齐姍C(jī)的轉(zhuǎn)動(dòng),自己覺(jué)得很神奇,單片機(jī)實(shí)訓(xùn)心得體會(huì)。就想弄清楚它到底是怎么做到的?

      我看到書(shū)上講:?jiǎn)纹瑱C(jī)可以用兩種語(yǔ)言編寫(xiě),一種是C語(yǔ)言,另外一種是匯編語(yǔ)言。匯編語(yǔ)言是一種機(jī)器語(yǔ)言,且代碼繁瑣,不易記憶。需要掌握單片機(jī)的內(nèi)部結(jié)構(gòu)和邏輯結(jié)構(gòu),通過(guò)看了幾本書(shū)讓我了解認(rèn)識(shí)到匯編確實(shí)太繁瑣,不過(guò)我學(xué)習(xí)過(guò)C語(yǔ)言,也參加了全國(guó)計(jì)算機(jī)二級(jí)考試,覺(jué)得自己在一方面具有優(yōu)勢(shì),能很快學(xué)好它。

      不過(guò)在學(xué)習(xí)中,我才發(fā)現(xiàn)學(xué)習(xí)單片機(jī)不僅僅需要軟件的知識(shí),還需要硬件的知識(shí)。我買(mǎi)了一個(gè)單片機(jī)在實(shí)踐中就是一個(gè)活生生的例子,沒(méi)有相應(yīng)的硬件知識(shí),我連單片機(jī)怎么和電腦相連都不知道,我為我當(dāng)初的想法感到羞愧。單片機(jī)是一門(mén)很好的學(xué)問(wèn),需要我去鉆研它。

      時(shí)光飛逝,一轉(zhuǎn)眼,一個(gè)學(xué)期又進(jìn)尾聲了,本學(xué)期的單片機(jī)綜合課程設(shè)計(jì)也在一周內(nèi)完成了。

      俗話說(shuō)“好的開(kāi)始是成功的一半”。說(shuō)起課程設(shè)計(jì),我認(rèn)為最重要的就是做好設(shè)計(jì)的預(yù)習(xí),認(rèn)真的研究老師給的題目,選一個(gè)自己有興趣的題目,其次,老師對(duì)實(shí)驗(yàn)的講解要一絲不茍的去聽(tīng)去想,因?yàn)橹挥卸济靼琢耍銎鹪O(shè)計(jì)就會(huì)事半功倍,如果沒(méi)弄明白,就迷迷糊糊的去選題目做設(shè)計(jì),到頭來(lái)一點(diǎn)收獲也沒(méi)有。最后,要重視程序的模塊化,修改的方便,也要注重程序的調(diào)試,掌握其方法。

      雖然這次的課程設(shè)計(jì)算起來(lái)在實(shí)驗(yàn)室的時(shí)間只有三天,不過(guò)因?yàn)槲覀兌加凶约旱膶?shí)驗(yàn)板,所以在宿舍里做實(shí)驗(yàn)的時(shí)間一定不止三天。

      硬件的設(shè)計(jì)跟焊接都要我們自己動(dòng)手去焊,軟件的編程也要我們不斷的調(diào)試,最終一個(gè)能完成課程設(shè)計(jì)的勞動(dòng)成果出來(lái)了,很高興它能按著設(shè)計(jì)的思想與要求運(yùn)動(dòng)起來(lái)。

      當(dāng)然,這其中也有很多問(wèn)題,第一、不夠細(xì)心比如由于粗心大意焊錯(cuò)了線,由于對(duì)課本理論的不熟悉導(dǎo)致編程出現(xiàn)錯(cuò)誤。第二,是在學(xué)習(xí)態(tài)度上,這次課設(shè)是對(duì)我的學(xué)習(xí)態(tài)度的一次檢驗(yàn)。對(duì)于這次單片機(jī)綜合課程實(shí)習(xí),我的第一大心得體會(huì)就是作為一名工程技術(shù)人員,要求具備的首要素質(zhì)絕對(duì)應(yīng)該是嚴(yán)謹(jǐn)。我們這次實(shí)習(xí)所遇到的多半問(wèn)題多數(shù)都是由于我們不夠嚴(yán)謹(jǐn)。第三,在做人上,我認(rèn)識(shí)到,無(wú)論做什么事情,只要你足夠堅(jiān)強(qiáng),有足夠的毅力與決心,有足夠的挑戰(zhàn)困難的勇氣,就沒(méi)有什么辦不到的。

      下載單片機(jī)實(shí)驗(yàn)word格式文檔
      下載單片機(jī)實(shí)驗(yàn).doc
      將本文檔下載到自己電腦,方便修改和收藏,請(qǐng)勿使用迅雷等下載。
      點(diǎn)此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報(bào),并提供相關(guān)證據(jù),工作人員會(huì)在5個(gè)工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦

        單片機(jī)液晶顯示實(shí)驗(yàn)

        實(shí)驗(yàn)八 單片機(jī)液晶顯示實(shí)驗(yàn) 一、實(shí)驗(yàn)?zāi)康?1、了解液晶顯示屏的控制原理及方法。 2、了解點(diǎn)陣漢字的顯示原理。 二、實(shí)驗(yàn)說(shuō)明 1、 利用實(shí)驗(yàn)上的液晶顯示屏電路,編寫(xiě)程序控制......

        單片機(jī)實(shí)驗(yàn)小結(jié)

        單片機(jī)實(shí)驗(yàn)小結(jié) 這學(xué)期的單片機(jī)實(shí)驗(yàn)課程已經(jīng)結(jié)束了,雖然做的實(shí)驗(yàn)是比較簡(jiǎn)答的,但麻雀雖小五臟俱全,因此自己也通過(guò)實(shí)驗(yàn)課學(xué)到了很多知識(shí)。 單片機(jī)實(shí)驗(yàn)課是為了更好的學(xué)習(xí)單片機(jī)......

        單片機(jī)實(shí)驗(yàn)總結(jié)

        單片機(jī)原理及接口技術(shù)實(shí)驗(yàn)總結(jié) 本學(xué)期的單片機(jī)實(shí)驗(yàn)轉(zhuǎn)眼已到尾聲,共做了六項(xiàng)實(shí)驗(yàn),分別是KEIL4、ISP下載軟件的安裝于使用、P1口輸出循環(huán)燈實(shí)驗(yàn)、P1口轉(zhuǎn)彎燈實(shí)驗(yàn)、P3.3口輸入......

        單片機(jī)實(shí)驗(yàn)指導(dǎo)書(shū)

        單片機(jī)實(shí)驗(yàn)指導(dǎo)書(shū)實(shí)驗(yàn)說(shuō)明實(shí)驗(yàn)1:定時(shí)控制實(shí)驗(yàn) 要求:電路連接與編程相結(jié)合,控制燈按一定規(guī)律點(diǎn)亮和熄滅。 注意:燈為低電平驅(qū)動(dòng)。 實(shí)驗(yàn)報(bào)告:說(shuō)明燈亮的方式;畫(huà)出實(shí)際電路圖、程序流......

        單片機(jī)實(shí)驗(yàn)三

        實(shí)驗(yàn)三 單片機(jī)I/O口控制程序?qū)嶒?yàn) 一、實(shí)驗(yàn)?zāi)康暮鸵螅?掌握單片機(jī)串行傳輸輸入輸出的應(yīng)用方法。 二、實(shí)驗(yàn)設(shè)備: 安裝了THGY51的計(jì)算機(jī),單片機(jī)實(shí)驗(yàn)箱。 三、實(shí)驗(yàn)內(nèi)容和步驟: 1、......

        單片機(jī)實(shí)驗(yàn)心得體會(huì)

        單片機(jī)實(shí)驗(yàn)心得體會(huì) 時(shí)間過(guò)得真快,不經(jīng)意間,一個(gè)學(xué)期就到了尾聲,進(jìn)入到如火如荼的期末考試階段。 在學(xué)習(xí)單片機(jī)這門(mén)課程之前,就早早的聽(tīng)各種任課老師和學(xué)長(zhǎng)學(xué)姐們說(shuō)過(guò)這門(mén)課程......

        單片機(jī)實(shí)驗(yàn)安排

        單片機(jī)實(shí)驗(yàn)安排: (實(shí)驗(yàn)前四次 每次做3節(jié)課,后兩次 每次四節(jié)課 ) 第一組17班1-20號(hào)星期二上午第二組17班22-45號(hào)星期二晚上第三組16班1-21號(hào)星期四晚上 前三組實(shí)驗(yàn)時(shí)間:11—16周......

        單片機(jī)實(shí)驗(yàn)教案

        實(shí)驗(yàn)一數(shù)據(jù)傳送 一、實(shí)驗(yàn)?zāi)康?1、 熟悉單片機(jī)指令系統(tǒng),掌握單片機(jī)循環(huán)程序設(shè)計(jì)方法2、 掌握單片機(jī)數(shù)據(jù)排序方法. 二. 實(shí)驗(yàn)內(nèi)容: 預(yù)先向單片機(jī)內(nèi)部RAM 50H 開(kāi)始填入一批數(shù)據(jù)......