揚(yáng)大電氣單片機(jī)實驗程序_第1頁
揚(yáng)大電氣單片機(jī)實驗程序_第2頁
揚(yáng)大電氣單片機(jī)實驗程序_第3頁
揚(yáng)大電氣單片機(jī)實驗程序_第4頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、-精選文檔 -3.1Keil 集成開發(fā)環(huán)境熟悉及匯實驗編程序MOV 31H,A1.3.MOV 20H,#98HMAIN:MOV A,20HMOV 30H,#2MOV B, #100MOV 31H,#3DIV ABMOV 3AH,#4MOV 30h, AMOV 43H,#3XCH A, BMOV R0,#30HMOV B, #10MOV R7,#10DIV ABMOV A,#00HMOV 31H,ALOOP:MOV R0,AMOV 32H,BINC R0RETDJNZ R7,LOOPENDRET2.ENDMOV 20H,#78H4.MOV A,20HMAIN:ANL A,#0FHMOV 30H,

2、#3ADD A,#30HMOV 31H,#5MOV 30H,AMOV 3FH,#6MOV A,20HMOV R0,#30HANL A,#0F0HMOV R1,#40HSWAP AMOV R7,#16ADD A,#30H可編輯-精選文檔 -LOOP:MOV A,R0NOPMOV R1,ADELAY2:INC R0DJNZ R6,DELAY2INC R1DJNZ R7,DELAY1DJNZ R7,LOOPRETRETENDEND2.ORG0000H并行 I/O接口實驗AJMPMAIN1. ORG0000HORG0100HAJMPMAINMAIN:SETBP1.0ORG0100HSETBP1.1MA

3、IN:LOOP:MOVC,P1.0MOVA,#0FEHMOVP1.2,CLIGHT:MOVC,P1.1MOVP1,AMOVP1.3,CRRAAJMPLOOPMOVP1,ASJMP$ACALL DELAYENDAJMPLIGHTDELAY:3.ORG0000HMOVR7,#250AJMPMAINDELAY1:ORG0100HMOVR6,#250MAIN:可編輯-精選文檔 -SETBP1.7DJNZR4,T164LOOP:DEL:MOVR5,#04HMOVC,P1.7DEL1:MOVR6,#0FFHMOVP1.1,CDEL2:MOVR7,#0FFHMOVP1.0,CDEL3:DJNZR7,DEL3

4、AJMP LOOPDJNZR6,DEL2SJMP $DJNZR5,DEL1ENDEND3.3 點陣式 LED 顯示實驗2.1.ORG0ORG0000HSJMPMAINLJMPMAINORG30HORG0030HMAIN:MAIN:MOVA,#0FEHMOVR1,#10MOVR4,#8LCALLT164X: MOVDPTR,#TABXSJMPMAINMOVB,#0FEH;B 寄存器作列值變換T164:RLCACLRCMOVP3.3,CMOVR2,#8;R2 作列循環(huán)計數(shù)MOVP3.4,CLCALLLOOPSETBP3.2DJNZR2,LOOPCLR P3.2DJNZR1,XLCALLDELSJM

5、PMAIN可編輯-精選文檔 -DJNZR4,T164LOOP:MOVA,#0RETMOVP1,#0FFH;延時子程序MOVR4,#8;R4 作行串并轉(zhuǎn)換計數(shù)DEL:MOVR5,#20;行值設(shè)置DEL1:MOVR6,#125MOVCA,A+DPTRDEL2:DJNZR6,DEL2INCDPTRDJNZR5,DEL1LCALLT164RET;列值設(shè)置MOVP1,BTABX:DBMOVA,B7EH,0BDH,0DBH,0E7H,0E7H,0DBH,0BDH,7EHRL ATABT:DBMOVB,A0FCH,0FCH,0FCH,00H,00H,0FCH,0FCH,0FCH;延時TABL:DB00H,0

6、0H,3FH,3FH,3FH,3FH,3FH,3FHLCALLDELTABE:DB00H,00H,24H,24H,24H,24H,24H,24HRET3.4 I2C 總線和 8 段 LED 顯示實驗1.SJMPMAIN內(nèi)容 1 ,顯示 12345678;串并轉(zhuǎn)換程序;*T164:RLC A*MOVP3.3,C; 定義器件地址及存放單元MOVP3.4,CZLG7290EQU70H;ZLG7290的器件地址SETBP3.2SLA DATA63H;器件的從地址CLR P3.2可編輯-精選文檔 -SUBADATA64H;器件的子地址MOVA,#1FH;將熄滅碼依次填入顯緩區(qū); 定義變量單元MOVR2,

7、#8ACK BIT 10H;應(yīng)答標(biāo)志位MLOOP: M OVR0,ANUMBYTEDATA62H;讀 / 寫的字節(jié)數(shù)變量INC R0MTDEQU6EH;發(fā)送數(shù)據(jù)緩沖器DJNZR2,MLOOPDISBUFEQU66H;66H6DH 為顯示緩沖區(qū),CC: MOVR0,#DISBUF66H 對應(yīng)最右一位MOVR3,#08HMOV A,#08H;以上定義一般不要改動AA: MOV R0,A; I2C 引腳定義INC R0SDABIT P3.0DEC ASCL BITP3.1DJNZ R3,AARST BIT P3.6LCALLLEDDISP;調(diào)用顯示程序;*LCALLDELAY;延時*SJMPCCOR

8、G0000H$INCLUDE(LEDDISP_ASM.INC);包含 LED 顯示模LJMPMAIN塊程序ORG0030HENDMAIN:2.MOVSP,#70H;設(shè)堆棧,建議堆棧設(shè)在此處ZLG7290EQU70HSLADATA63HLCALLRE7290;復(fù)位 RE7290SUBADATA64HMOVR0,#DISBUF ; 顯緩區(qū)首地址(66H )ACKBIT10H可編輯-精選文檔 -NUMBYTEDATA62HINC R0MTDEQU6EHMOV A,BDISBUFEQU66HMOV B,#10SDABITP3.0DIV ABSCLBITP3.1MOV R0,ARSTBITP3.6INC

9、 R0MOV A,BORG0000HMOV R0,ALJMPMAINLCALLLEDDISPORG0030HLCALLDELAYMAIN:MOVSP, #70HSJMPAALCALLRE7290$INCLUDE(LEDDISP_ASM.INC)MOVR0, #DISBUFENDMOVA, #1FH3.5 中斷實驗MOVR2, #81.MLOOP: M OVR0, AORG 0INCR0LJMP MAINDJNZR2, MLOOPORG 0003HAA:MOVR0, #DISBUFLJMP INT00MOV A,P1ORG 30HMOV B,#64HMAIN:SETB EADIV ABSETB

10、EX0MOV R0,ASETB IT0可編輯-精選文檔 -SETB P1.0RLAHERE:JMP HERECHULI1: CJNER1,#1,CHULI2/R1為 1,右移一INT00:CPL P1.0位循環(huán)點亮RETIRRAENDCHULI2: CJNER1,#2,CHULI3/R1為 2,左移兩2.位循環(huán)點亮ORG0000HRLALJMPMAINRLAORG0003HCHULI3: CJNER1,#3,DELAY/R1為 3,右LJMPINTT0移兩位循環(huán)點亮ORG0100HRRAMAIN:SETBEX0RRASETBIT0DELAY:LCALLDELSETBEADJNZR5,DELAY

11、/ 每一次調(diào)用DEL 延MOVR1,#0時 50ms ,調(diào)用R5 次MOVA,#0FCH/ 點亮最低位DJNZR4,DL/ 每輪位移 R4 次應(yīng)送值LJMPCL/ 一輪結(jié)束,從頭再來,主CL:MOVR4,#8/移位 7次要從新賦值 R4DL:MOVR5,#10/50MS*10DEL:MOVR6,#200/ 較精確 50ms 延MOVP1,A時CHULI:CJNER1,#0,CHULI1/R1 為 0 ,左移一DEL1:MOVR7,#123位循環(huán)點亮NOP可編輯-精選文檔 -DEL2:DJNZR7,DEL2ADD A,#1DJNZR6,DEL1MOV 30H,ARETMOV A,31HADDC

12、A,#0MOV 31H,AINTT0:INCR1MOV A,30HCJNER1,#4,FANHUICPL AMOVR1,#0MOV P1,AFANHUI:RETIRETIENDEND3.3.6 定時 / 計數(shù)器實驗ORG 01.LJMP MAIN;調(diào)用 LED 顯示的示例程序: 將按鍵連到 T0引腳,程序ORG 0003H對按鍵次數(shù)計數(shù)并顯示。LJMP INTOOORG 30H;*MAIN:SETB EA*SETB EX0; 定義器件地址及存放單元SETB IT0ZLG7290EQU70H;ZLG7290的器件地址SETB P1.0SLA DATA63H;器件的從地址MOV 30H,#0SUB

13、ADATA64H;器件的子地址ORG 50H; 定義變量單元HERE:JMP HEREACK BIT10H;應(yīng)答標(biāo)志位INTOO:MOV A,30HNUMBYTEDATA62H;讀 / 寫的字節(jié)數(shù)變量可編輯-精選文檔-MTDEQU6EH;發(fā)送數(shù)據(jù)緩沖器DJNZR2, MLOOPDISBUFEQU66H;66H6DH 為顯示緩沖區(qū),MOVTMOD,#05H66H 對應(yīng)最右一位MOVTH0,#0;以上定義一般不要改動MOVTL0,#0SETBET0; I2C 引腳定義SETBEASDABIT P3.0SETBTR0SCL BIT P3.1PLAY:MOVR1,TL0RST BIT P3.6MOVA

14、,R1;*ORG0000HLJMPMAINORG0100HCPL AMOVR1,AMOVP1,R1MOVB,#100MOVA,TL0MAIN:DIV ABMOVSP,#70H;設(shè)堆棧,建議堆棧設(shè)在此處MOV68H,AMOVA,BLCALLRE7290;復(fù)位 RE7290MOVB,#10MOVR0,#DISBUF ;顯緩區(qū)首地址( 66H )DIV ABMOVA,#1FH;將熄滅碼依次填入顯緩區(qū)MOV67H,AMOVR2, #8MOV66H,BMLOOP: M OVR0, AINCR0MOVB,#100可編輯-精選文檔 -MOVA,TH0MOVB,#20;設(shè)循環(huán)次數(shù) 20 次DIV ABMOVT

15、MOD,#01HMOV6BH,AMOVTL0,#0B0HMOVA,BMOVTH0,#3CHMOVB,#10SETB TR0DIV ABSETB ET0MOV6AH,ASETB EAMOV69H,BHERE: SJMP HERE;原地循環(huán),等待中斷LCALLLEDDISPIT0P: MOV TL0,#0B0H;重裝初值LCALLDELAYMOV TH0,#3CHLJMPPLAYDJNZ B,LOOPMOV B,#20$INCLUDE(LEDDISP_ASM.INC)CPL P1.0ENDLOOP: RETI;返回“ SJMP HERE ”2.處ORG 0000HENDLJMP MAIN3.ORG

16、 000BHORG 0000HLJMP IT0PLJMP MAINORG 0100HORG 000BHMAIN:LJMP IT0PMOVSP,#60H;設(shè)堆棧指針ORG 001BH可編輯-精選文檔 -LJMP IT1PT2:CJNE R0,#2,T3ORG 0100HMOV DPTR,#TAB2MAIN: MOV SP ,#60HT3:CJNE R0,#1,T4MOV TMOD,#16H;IT0 計數(shù), IT1 定時MOV DPTR,#TAB3MOV TL0,#0FFHT4:CJNE R0,#0,T5MOV TH0,#0FFHMOV DPTR,#TAB4SETB TR0T5:MOV R2,DP

17、LSETB ET0MOV R3,DPHMOV TL1,#0B0HLOOP: MOV DPL,R2MOV TH1,#3CHMOV DPH,R3SETB ET1MOV R1,#8SETB EALOOP1:CLR ASETB PT1MOVC A,A+DPTRCLR PT0MOV P1,AMOV R0,#3;03 ,選擇顯示的效果 4種MOV C,TF0;IT0 溢出置 1MOV R1,#8;走馬燈JC DEMOV B,#10;顯示延遲所需的循環(huán)次數(shù)LCALL DEL10 詞INC DPTRHERE: AJMP HEREDJNZ R1,LOOP1IT0P: CJNE R0,#0FFH,TAJMP LO

18、OPMOV R0,#3DE:DEC R0T:CJNE R0,#3,T2RETIMOV DPTR,#TAB1IT1P: MOV TL1,#0B0H;延時可編輯-精選文檔 -MOV TH1,#3CHORG0100HDJNZ B,LOPMAIN:MOVSP,#60HMOV B,#10MOVR0,#30HCLR TR1MOV30H,#30HLOP:RETI;返回“ IT1P ”處MOV31H,#31HDEL:SETB TR1MOV32H,#32HZIJI: JB TR1,ZIJIMOV33H,#33HRETMOV34H,#34HTAB1:DBMOV35H,#35H0FEH,0FDH,0FBH,0F7H

19、,0EFH,0DFH,0BFH,7FHMOV36H,#36HTAB2:DBMOV37H,#37H7FH,0BFH,0DFH,0EFH,0F7H,0FBH,0FDH,0FEHMOVTMOD,#20HTAB3:DBMOVTL1,#0FAH7FH,0FEH,0BFH,0FDH,0DFH,0FBH,0EFH,0F7HMOVTH1,#0FAHTAB4:DBMOVSCON,#50H7EH,0BDH,0DBH,0E7H,0DBH,0BDH,7EH,0FFHSETB TR1ENDSETB ES3.7 串行通信實驗SETB EA1.發(fā)送MOVR1,#8ORG 0000HMOVSBUF,R0AJMP MAINSJ

20、MP $ORG 0023HSINT:CLRTIAJMP SINTDJNZ R1,LP可編輯-精選文檔 -sjmpti_endSINTR:lp: INCR0CLR RIMOV SBUF,R0MOV A,SBUFti_end:RETIMOV R0,AENDINC R0接受RETIORG 0000HENDAJMP MAIN2. 發(fā)送ORG 0023HORG0000HAJMP SINTRLJMPMAINORG 0100HORG0100HMAIN:MAIN:MOVSCON,#40HMOV SP ,#60HMOVTMOD,#20HMOV R0,#40HMOVTH1,#0FDHMOV TMOD,#20HMO

21、VTL1,#0FDHMOV TH1,#0FAHSETBTR1MOV TL1,#0FAHTRANSLATE:MOVA,P1MOV SCON,#50HMOVSBUF,ASETB TR1WAIT:JBC TI,NEXTSETB EASJMPWAITSETB ESNEXT:SJMPTRANSLATESJMP $ORG 0150HEND可編輯-精選文檔 -接受ORG0100HORG0000HMAIN:SETBIT0LJMPMAINSETBEAORG0100HSETBEX0MAIN:MOVSCON,#50HMOVDPTR,#7FFCHMOVTMOD,#20HMOVA,#00HMOVTH1,#0FDHMOV

22、XDPTR,AMOVTL1,#0FDHSJMP$SETBTR1QAZ:MOVDPTR,#7FFCHRECEIVE:JBC RI,NEXTMOVXA,DPTRSJMPRECEIVEMOVP1,#0FFHNEXT:MOVA,SBUFMOVP1,AMOVP1,AMOVA,#00HSJMPRECEIVEMOVXDPTR,ARETIENDEND2.3.8A/D 轉(zhuǎn)換實驗ZLG7290EQU70H;ZLG7290 的器件1.地址ORG0000HSLA DATA63H;器件的從地址LJMPMAINSUBADATA64H;器件的子地址ORG0003H; 定義變量單元LJMPQAZACK BIT 10H;應(yīng)答標(biāo)志位可編輯-精選文檔 -NUMBYTEDATA62H;讀 / 寫的字節(jié)數(shù)變MOVTL0,#00H量SETBIT0MTDEQU6EH;發(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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論