實(shí)驗(yàn)一 學(xué)習(xí)PROTEUS的基本使用方法_第1頁
實(shí)驗(yàn)一 學(xué)習(xí)PROTEUS的基本使用方法_第2頁
實(shí)驗(yàn)一 學(xué)習(xí)PROTEUS的基本使用方法_第3頁
實(shí)驗(yàn)一 學(xué)習(xí)PROTEUS的基本使用方法_第4頁
實(shí)驗(yàn)一 學(xué)習(xí)PROTEUS的基本使用方法_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、實(shí)驗(yàn)一 學(xué)習(xí)(xux)PROTEUS的基本使用方法共二十八頁2.源程序:; Test program for external memory.; Write data to memory, then read it back.; The program loops forever. org 0loop1: SETB P1.0 JNB P1.1 ,PP1 JMP LOOP1 PP1: CLR P1.0 jmp PP1org 0:程序開始Loop1:循環(huán)SETB P1.0:將位P1.0設(shè)置為1JNB P1.1 ,PP1:判斷P1.1是否為1,若等于1,則順序(shnx)執(zhí)行,否則轉(zhuǎn)移JMP LOO

2、P1:轉(zhuǎn)移指令,跳轉(zhuǎn)到LOOP1PP1: CLR P1.0:將位P1.0設(shè)置為0jmp PP1:轉(zhuǎn)移指令,跳轉(zhuǎn)到PP1END:結(jié)束運(yùn)行共二十八頁七段數(shù)碼管的使用(shyng)若f=12MHZ,延遲時(shí)間為0.1s,求X=?解:一個(gè)(y )機(jī)器周期為1212us1us 2+X(2+2002+2)=0.110 X=(0.110-2)/(2+2002+2)=248D=F8H共二十八頁MOV A,#3FH:將數(shù)據(jù)3FH送到累加器A中CPL A:將A中的數(shù)據(jù)取反,即00111111取反為11000000,轉(zhuǎn)換十六進(jìn)制為C0HMOV P1,A:將A中的數(shù)據(jù)送到P1口中,此時(shí)數(shù)碼管顯示(xinsh)的數(shù)字為0

3、ACALL DELAY:延時(shí)0.1s同理:MOV A,#06HCPL AMOV P1,A:此時(shí)數(shù)碼管顯示的數(shù)字為1ACALL DELAYMOV A,#66HCPL AMOV P1,A此時(shí)數(shù)碼管顯示的數(shù)字為2ACALL DELAYMOV A,#4FHCPL AMOV P1,A此時(shí)數(shù)碼管顯示的數(shù)字為3ACALL DELAYMOV A,#66HCPL AMOV P1,A此時(shí)數(shù)碼管顯示的數(shù)字為4ACALL DELAYDELAY: MOV R7,#1(X):下面指令執(zhí)行1次 DEL1:MOV R6,#200:執(zhí)行200次DEL2 DEL2:DJNZ R6,DEL2 若R6-1=0,則往下執(zhí)行,否則轉(zhuǎn)移

4、DJNZ R7,DEL1 若R7-1=0,則往下執(zhí)行,否則轉(zhuǎn)移 RETEND 結(jié)束運(yùn)行共二十八頁 實(shí)驗(yàn)三 中斷(zhngdun)功能的使用共二十八頁1、要求單片機(jī)接收(jishu)中斷信號(hào)后,在LED上輪流顯示不同的數(shù)據(jù)org 0 程序開始AJMP MAINorg 0003HAJMP WBIORG 0030HMAIN:MOV P1,#0FFH 設(shè)置初值CLR IT0 允許中斷SETB EX0 SETB EA HERE: AJMP HEREWBI:MOV A,#08H 08H00001000顯示8 mov R0,#20 循環(huán)20次KK: MOV P1,ARR ADJNZ R0,KKRETI 返回

5、主程序END2、要求單片機(jī)接收中斷信號(hào)后,輪流點(diǎn)亮發(fā)光管org 0AJMP MAINorg 0003HAJMP WBIORG 0030HMAIN:MOV P1,#0FFH 設(shè)置初值CLR IT0SETB EX0SETB EA 允許中斷HERE: AJMP HEREWBI:MOV A,#0FEH 0FEH為11111110最后一個(gè)燈被點(diǎn)亮mov R0,#20 循環(huán)20次KK: MOV P1,A 點(diǎn)亮發(fā)光(f un)二極管RR ADJNZ R0,KKRETI 返回主程序END共二十八頁實(shí)驗(yàn)四 定時(shí)器實(shí)驗(yàn) 1、單片機(jī)P1.0產(chǎn)生方波,高低電平時(shí)間(shjin)長度一致。 2、單片機(jī)P1.0產(chǎn)生占方波

6、,高低電平時(shí)間相差一倍。共二十八頁ORG 00H 程序開始JMP MAINORG 001BHJMP II1MAIN:MOV TMOD, #10H T1為方式(fngsh)1,產(chǎn)生周期是500s的脈沖方波 MOV TH1, #0FFH MOV TL1,#83H 定時(shí)250s產(chǎn)生一次變換 SETB EA 允許中斷 SETB ET1 SETB TR1 啟動(dòng)定時(shí) PP: SJMP PP 等待中斷II1:MOV TH1,#0FFH 重新設(shè)置初值MOV TL1,#83H CPL P1.0 輸出取反 RETI2、單片機(jī)P1.0產(chǎn)生占方波,高低電平時(shí)間相差一倍。MAIN: MOV TMOD, #10H ; T

7、1為方式(fngsh)1,PP3: MOV TH1, #0FFH MOV TL1, #38H ; 設(shè)置高低電平的時(shí)間值 SETB TR1 ; 啟動(dòng)定時(shí) JMP PP PP: JBC TF1,PP2 SJMP PP PP2: CPL P1.0 JMP PP5 SJMP PP4PP4: MOV TL1,#9CH MOV TH1,#0FFH ; 設(shè)置高低電平的時(shí)間值 SJMP PPPP5: JNB P1.0,PP3 JB P1.0,PP4共二十八頁單片機(jī)實(shí)驗(yàn)五 定時(shí)器實(shí)驗(yàn)(C語言方法)主要是學(xué)會(huì)定時(shí)器實(shí)驗(yàn)程序的編寫(binxi),示波器的正確使用。學(xué)會(huì)用中斷方式編寫(binxi)并運(yùn)行。學(xué)會(huì)用查詢方

8、式編寫(binxi)并運(yùn)行。共二十八頁查詢方式 #include sbit P1_0=P10; 取p1口第零位(ln wi) void main(void) TMOD=0 x01; 指的是采用T0方式,將M1置0,M0置1,是方式一的定時(shí)器 TR0=1; 啟動(dòng)定時(shí)器0for(;) 無終止地執(zhí)行循環(huán)體 TH0=-(1000/256); 定1000us,把高8位送TH0 TL0=-(1000%256); 低8位送TL0 dowhile( !TF0); 無限循環(huán)直到while中的條件為假 P1_0=!P1_0; P1_0這個(gè)變量按位取反再賦給自己 TF0=0; TF0等于0候循環(huán)進(jìn)行TF0等于0的時(shí)

9、候結(jié)束 中斷方式 #include sbit P1_0=P10; 取p1口第零位 void timer0(void) interrupt 1 using 1 指的是采用T0方式,將M1置0,M0置1,是方式一的定時(shí)器 P1_0=!P1_0; P1_0這個(gè)變量按位取反再賦給自己 TH0=-(1000/256); 定1000us,把高8位送TH0 TL0=-(1000%256); 低8位送TL0void main(void) TMOD=0 x01; 指的是采用T0方式,將M1置0,M0置1,是方式一的定時(shí)器 P1_0=0; P1_0為0 TH0=-(1000/256); 把高8位送TH0 TL0=

10、-(1000%256); 低8位送TL0 EA=1; 允許中斷 ET0=1; TR0=1; 啟動(dòng)定時(shí)dowhile(1); 無限循環(huán)直到(zhdo)while中的條件為假 共二十八頁單片機(jī)實(shí)驗(yàn)(shyn)六 串口通迅實(shí)驗(yàn)(shyn)串口通迅實(shí)驗(yàn)程序的編寫、七段LED使用共二十八頁1.MOV TMOD,#20HMOV TH1,#0F3HMOV TL1,#0F3HSETB TR1MOV PCON,#80HMOV SCON,#50H以上為初始化過程以及(yj)工作方式為方式1TX: MOV A,P1SWAP A將寄存器A中數(shù)據(jù)的高四位和低四位的值交換MOV SBUF,A把累加器A中的數(shù)放到SBUF中

11、WAIR1: JBC TI, PP檢測T1,T1=1,清0后,進(jìn)行PP,否則循環(huán)SJMP WAIR1PP: NOPEND2.MOV TMOD,#20HMOV TH1,#0F3HMOV TL1,#0F3HSETB TR1MOV PCON,#80HMOV SCON,#50H以上為初始化過程(guchng)以及工作方式為方式1RX:JBC RI,NEXT檢測R1,R1=1,清0后,進(jìn)行NEXT,否則循環(huán)SJMP RXNEXT:MOV A,SBUF把SBUF中的數(shù)放到累加器A中MOV P1,A把累加器A中的數(shù)放到P1中NOPSJMP RX END共二十八頁單片機(jī)實(shí)驗(yàn)七 D/A實(shí)驗(yàn) 學(xué)習(xí)(xux)實(shí)現(xiàn)D

12、/A轉(zhuǎn)換的方法共二十八頁共二十八頁ORG 0START:MOV DPTR,#7FFFH 選中0832STEP1: MOV A,#00H D/A數(shù)據(jù)初值STEP2:MOVX DPTR,A 轉(zhuǎn)換(zhunhun) INC A 累加器自動(dòng)加1 CJNE A,#0FFH,STEP2 判斷累加器是否加滿,執(zhí)行step2,否則順序執(zhí)行STEP3:DEC A 累加器自動(dòng)減1 MOVX DPTR,A 轉(zhuǎn)換 CJNE A,#01H,STEP3 判斷累加器是否為1,如果不是繼續(xù)執(zhí)行step3,否則順序執(zhí)行 AJMP STEP1 跳轉(zhuǎn)step1 RET END共二十八頁單片機(jī)實(shí)驗(yàn)八 A/D轉(zhuǎn)換設(shè)計(jì)(shj)簡單的數(shù)

13、據(jù)采集系統(tǒng)共二十八頁ORG 0000HAJMP MAIN 跳轉(zhuǎn)到主程序ORG 0013HAJMP PP1 跳轉(zhuǎn)到PP1MAIN: MOV DPTR,#7FFFH 選中0832 SETB IT1 下降沿觸發(fā) SETB EX1 允許外部中斷 SETB EA 總開關(guān)打開 MOV P1,#00H 設(shè)置(shzh)P1的初值READ:MOVX DPTR,A 啟動(dòng)A/DHERE:SJMP HERE 死循環(huán),直至A/D轉(zhuǎn)換完進(jìn)行下面的程序PP1: MOVX A,DPTR 將DPTR 中的數(shù)據(jù)傳遞到A中 MOV P1,A 將A中的數(shù)據(jù)傳遞到P1中 MOVX DPTR,A 重新啟動(dòng)A/DRETI 中斷返回指令E

14、ND 結(jié)束共二十八頁IO口擴(kuò)展實(shí)驗(yàn)(shyn) 利用273,244進(jìn)行IO口擴(kuò)展:共二十八頁org 0CLR P2.5MOV DPTR, #0DFFH 設(shè)置成可以讀數(shù)據(jù)的狀態(tài)MOVX A,DPTR 8031讀入數(shù)據(jù)(shj)MOV DPTR, #7FFFH MOVX DPTR,A 寫入控制字END共二十八頁單片機(jī)實(shí)驗(yàn)(shyn)十 8255IO口擴(kuò)展實(shí)驗(yàn)共二十八頁ORG 0MOV DPTR,#7F03HMOV A,#90H 設(shè)置工作方式(fngsh)PP:MOVX DPTR,AMOV DPTR,#7F00H MOVX A,DPTR 讀入數(shù)據(jù)MOV DPTR,#7F01H MOVX DPTR,A

15、 讀出數(shù)據(jù)JMP PPEND共二十八頁實(shí)驗(yàn)十一 D/A轉(zhuǎn)換 1、利用DAC0832 進(jìn)行D/A轉(zhuǎn)換,產(chǎn)生三角波, 并用示波器觀察波形。 2、實(shí)驗(yàn)報(bào)告中應(yīng)包括(boku):原理圖、 源程序以及實(shí)驗(yàn)分析 利用DAC0832 的雙緩沖模式進(jìn)行D/A轉(zhuǎn)換,產(chǎn)生兩組同步 三角波,用視波器觀察波形。共二十八頁共二十八頁實(shí)驗(yàn)(shyn)源程序:(C語言)#include#include#define DAC1 XBYTE0 xfeff#define DAC2 XBYTE0 xfDff#define DAOUT XBYTE0 xEfffvoid main(void) unsigned char data1=0X00,data2=0Xff;while(1) DAC1= data1;DAC2=data2;DAOUT= data2;共二十八頁IO口擴(kuò)展實(shí)驗(yàn)實(shí)驗(yàn)程序的C語言編寫。利用(lyng)74LS244,74LS273進(jìn)行IO口擴(kuò)展,讀入按鍵信息,在LED上顯示出來。共二十八頁#includeunsigned char xdata * port; /定義訪問的外部端口變量(binling)void main()unsigned char tmp;port=0 xfeff; /定義外部端口地址* port=0 xff;while(1)tmp=* port; /從74LS244讀取數(shù)據(jù)if(tm

溫馨提示

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