實(shí)驗(yàn)1_BCD碼轉(zhuǎn)換成十六進(jìn)制碼_第1頁(yè)
實(shí)驗(yàn)1_BCD碼轉(zhuǎn)換成十六進(jìn)制碼_第2頁(yè)
實(shí)驗(yàn)1_BCD碼轉(zhuǎn)換成十六進(jìn)制碼_第3頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、實(shí)驗(yàn) 1 BCD 碼轉(zhuǎn)換成十六進(jìn)制碼1. 實(shí)驗(yàn)?zāi)康?1) 熟悉編碼轉(zhuǎn)換程序(2) 掌握編寫和運(yùn)行子程序的技巧2 實(shí)驗(yàn)設(shè)備計(jì)算機(jī)一臺(tái)硬件配置: pentium2 及以上配置, 存為 128MB ,硬盤剩余空間 100MB ,配置有串口, 并口, 和 USB 口操作系統(tǒng): Windows98/2000/xp應(yīng)用軟件: KeilC513 實(shí)驗(yàn)容將片 RAM 20H 單元中兩位 BCD 碼轉(zhuǎn)換成相應(yīng)的十六進(jìn)制碼,轉(zhuǎn)換結(jié)果保存于 22H 單元4 實(shí)驗(yàn)原理提示常用 BCD 碼轉(zhuǎn)十六進(jìn)制碼的方法為“乘十加數(shù)”法。例如,將 BCD 碼 10010010(表示十 進(jìn)制數(shù) 92)轉(zhuǎn)換成十六進(jìn)制編碼表示形式,算法為

2、:YH =(09*0A+02) H =5CH 。其中 Y H 為轉(zhuǎn)換后的十六進(jìn)制數(shù)。 再二進(jìn)制運(yùn)算中乘法可以用移位 (左移)實(shí)現(xiàn),*0A可以寫成*08+*02 , 其中 *08 是將被 乘數(shù) 左 移 3 為, *02 是將被乘 數(shù)左移 1 為。 則( 09*0A+02 )H =(09+08+09*02+02) D =(01001000+00010010+00000010) B =(01011100) B =5CH 。5. BCD 碼轉(zhuǎn)換成十六進(jìn)制碼的實(shí)驗(yàn)程序流程圖如圖6. 實(shí)驗(yàn)參考程序ORG 0000HLJMP MAINORG 0030HMAIN: MOV R0,#12HMOV R1,#06H

3、MOV R2,#08HMOV R3,#11HMOV A,R0ADD A,R2DA AMOV R2,AANL A,#0FHMOV R0,AMOV A,R2ANL A,#0F0HSWAP AADD A,R1ADD A,R3DA AMOV R3,AANL A,#0FHMOV R1,AMOV A,R3MOV R3,#0HANL A,#0F0HSWAP AMOV R2,ARETEND7. 實(shí)驗(yàn)要求(1)掌握編碼轉(zhuǎn)換程序的編寫方法(2)根據(jù)實(shí)驗(yàn)任務(wù)要求,編制源程序(3)上機(jī)調(diào)試程序,記錄相關(guān)調(diào)試信息(4)寫出實(shí)驗(yàn)報(bào)告實(shí)驗(yàn) 2 排列程序1. 實(shí)驗(yàn)?zāi)康模?)熟悉 MCS-51 指令系統(tǒng),掌握程序設(shè)計(jì)方法。(2

4、)掌握排序程序算法(3)掌握循環(huán)程序?qū)崿F(xiàn)數(shù)據(jù)排序的基本方法。2. 實(shí)驗(yàn)設(shè)備計(jì)算機(jī)一臺(tái),配置同上3. 實(shí)驗(yàn)容編寫并調(diào)試一個(gè)通用排序子程序,其功能為將 RAM 的 40H4FH 單元 16 個(gè)子字節(jié)無(wú)符 號(hào)二進(jìn)制整數(shù)按從小到大順序排列,將排序后數(shù)據(jù)存儲(chǔ)于 RAM 的 50H5FH 單元中。4. 實(shí)驗(yàn)原理提示從 40H 單元的第一個(gè)數(shù)開始依次和相鄰單元的另一個(gè)數(shù)比較,如果順序?qū)?,則不作任 何操作;如果順序不對(duì),則將這兩個(gè)數(shù)交換位置。這樣,在完成第1遍n-1次比較后,最大的數(shù)到了最后,所以第 2 遍比較只是比較 n-2 次,最多作 n-1 遍比較就可完成排序。在比較 中設(shè)立一個(gè)標(biāo)志位 flag=1 說(shuō)

5、明排序未完成, 進(jìn)入外循環(huán); 若 flag=0 ,說(shuō)明排序已完成, 程序 結(jié)束。實(shí)驗(yàn)程序:ORG 0LJMP MAINORG 40HMAIN: MOV R5,#10HMOV R0,#40HMOV A,#0HMOV R1,#0HMOV R2,#10HLOOP0: ACALL LOOPINC R0INC R1DJNZ R5,LOOP0LOOP1: MOV R0,#40HMOV B,#0FHLOOP2: MOV A,R0MOV 10H,AINC R0MOV 11H,R0LOOP3: CJNE A,11H,LOOP4LOOP4: JC LOOP5MOV A,R0MOV R0,10HDEC R0MOV

6、R0,AINC R0LOOP5: DJNZ B,LOOP2DJNZ R2,LOOP1SJMP $LOOP: MOV DPTR,#TABMOV A,R1MOVC A,A+DPTRMOV R0,ARETTAB: DB 3,5,4,1,7,9,3,4,6,1,12,45,23,17,34,12END實(shí)驗(yàn) 3 定時(shí)器1. 實(shí)驗(yàn)?zāi)康?1) 、加深對(duì) MCS-51 單片機(jī)定時(shí)器部結(jié)構(gòu),工作原理和工作方式的理解(2) 、掌握定時(shí)器工作在定時(shí)器狀態(tài)下的編程方法(3) 、掌握中斷服務(wù)程序的設(shè)計(jì)方法2. 實(shí)驗(yàn)設(shè)備 計(jì)算機(jī),單片機(jī)實(shí)儀, KeilC51 和 Proteus 軟件。3、實(shí)驗(yàn)容定時(shí)器實(shí)驗(yàn)在使用12MHz

7、晶振的條件下,用 T1產(chǎn)生50ms定時(shí),兩個(gè)7段LED數(shù)碼管從“00”開始顯示,每1s加1,到達(dá)“ 59”后,再?gòu)摹?00”開始,完成60s定時(shí) 功能。4、實(shí)驗(yàn)原理提示定時(shí) /計(jì)數(shù)器實(shí)際上是加 1 計(jì)數(shù)器, 當(dāng)它對(duì)具有固定時(shí)間間隔的部機(jī)器周期進(jìn)行 計(jì)數(shù)時(shí),它是定時(shí)器;當(dāng)它對(duì)外部事件進(jìn)行計(jì)數(shù)時(shí),它是計(jì)數(shù)器。MCS-51 單片機(jī)部包括 T0 和 T1 兩個(gè)定時(shí) /計(jì)數(shù)器。每個(gè)定時(shí) /計(jì)數(shù)器有 4 種工作方式。 一、定時(shí)器計(jì)數(shù)初值的確定 在定時(shí)工作狀態(tài)下,輸入的時(shí)鐘脈沖是由晶體振蕩器的輸出經(jīng)1 2分頻取得的,因此,定時(shí)器可看作是對(duì)單片機(jī)機(jī)器周期的計(jì)數(shù)器。若晶振頻率為12MHz,則定時(shí)器的加1計(jì)數(shù)器每

8、隔1 S加1。加1計(jì)數(shù)器滿溢出時(shí)才申請(qǐng)中斷,所以在給加 1 計(jì)數(shù)器賦計(jì)數(shù)初值時(shí),輸入的是加 1 計(jì)數(shù)器計(jì)數(shù)的最大值與這一計(jì)數(shù)的差值。設(shè)加1計(jì)數(shù)器計(jì)數(shù)的最大初值為M,計(jì)數(shù)值為N,計(jì)數(shù)初值為 Cou nt, 則 Count 的計(jì)算方法如下。定時(shí)狀態(tài): Count=M- 定時(shí)時(shí)間 /T ,T=12/fosc若單片機(jī)的時(shí)鐘頻率為 12MHz , T1工作在定時(shí)方式1,定時(shí)時(shí)間為50ms,則 其計(jì)數(shù)初值 Count 為:16Count=M-定時(shí)時(shí)間 /T=2-50000/1=65536-50000=15536=3CB0H所以,定時(shí)器的計(jì)數(shù)初值為 TH1=3CH , TL1=0B0H 。二、定時(shí)器初始化程

9、序 定時(shí)器包括兩個(gè)控制寄存器 TMOD 和 TCON ,向 TMOD 和 TCON 寫入相 應(yīng)的值來(lái)設(shè)置各個(gè)定時(shí)器的操作模式和控制功能。啟動(dòng)定時(shí)器的步驟如下:(1) 、設(shè)定TMOD的值:TMOD=10H,設(shè)置T1工作于定時(shí)方式 1 (16位 方式)(2) 、設(shè)定IE的值:?jiǎn)?dòng)中斷 SETBET1。(3) 、設(shè)定 TL1 和 TH1 的值: TL1=0B0H , TH1=3CH 。( 4)、啟動(dòng) T1 定時(shí): SETBTR1 。實(shí)驗(yàn)電路圖實(shí)驗(yàn)程序流程圖實(shí)驗(yàn)程序ORG0000HAJMPSTARTORG001BHAJMPTIME1ORG0030HSTART:MOVSP, #60HMOVTMOD, #

10、10HSETBEASETBET1MOVR3, #60MOVR0, #0MOVR1, #0MOVTH1, #3CHMOVTL1, #0B0HSETBTR1AJMP$TIME1:PUSHACCPUSHPSWINCR0MOVA, R0CJNEA, #20, T_LP2MOVA, R1MOVB, #10DIVABSWAPALP0:ADDA,BMOVP1, AINCR1CJNER1, #60, LP0MOVR1, #00HMOVR0,#00HMOVTH1, #3CHMOVTL1, #0B0HPOPPSWPOPACCRETIENDT_LP2:試驗(yàn)要求(1)(2)實(shí)驗(yàn)四 -基本輸入 /輸出DELAY: MO

11、VR5,#250D1 :MOVR6,200DJNZR6, $DJNZR5, D1畫出實(shí)驗(yàn)程序流程圖:編寫匯編語(yǔ)言和 C51 程序。 上級(jí)調(diào)試該程序。1.實(shí)驗(yàn)?zāi)康模?) 掌握 MCS-51 單片機(jī) I/O 口的基本輸入 /輸出功能。(2) 學(xué)習(xí)延時(shí)子程序的編寫和使用。2. 實(shí)驗(yàn)設(shè)備 計(jì)算機(jī)一臺(tái);單片機(jī)試驗(yàn)儀一臺(tái); Keil C51 和 Proteus 軟件。3. 實(shí)驗(yàn)容(1)P0 作為輸出口,接 8只發(fā)光二極管,編寫程序使發(fā)光二極管實(shí)現(xiàn)“單燈左移”2)P0 作為輸出口,接 8 只發(fā)光二極管,P2作為輸入口, P2.0和P2.1接兩個(gè)按鍵 PB0和PBi ;當(dāng)按下PB。時(shí)P0 口上連接的8只發(fā)光二

12、極管全亮;當(dāng)按下 PBi時(shí)P0 口上連接的8只發(fā)光二極管全滅。4. 實(shí)驗(yàn)原理提示(1)P0 口為雙向I/O 口,具有較大的負(fù)載能力,除作為地址、數(shù)據(jù)復(fù)用口外,還可以用作 通用I/O 口。P2 口味準(zhǔn)雙向口,常作為通用I/O使用。當(dāng)某一口線作為輸入口線時(shí),必須向鎖存器相應(yīng)位寫入“ 1”,該位才能作為輸入。( 2)常用延時(shí)方法常用循環(huán)指令來(lái)實(shí)現(xiàn)延時(shí),設(shè)晶振為 12MHz ,因此 1 個(gè)機(jī)器周期為 1us。;T1=1 個(gè)機(jī)器周期,設(shè)定外循環(huán)次數(shù)為250次; T2=1 個(gè)機(jī)器周期,設(shè)定循環(huán)次數(shù)為 250 次; T3=2 個(gè)機(jī)器周期,本次執(zhí)行 200 次; T4 =2 個(gè)機(jī)器周期,本次執(zhí)行 250 次T= T1 +( T2 +( T3 *200 ) +T4 ) 250+ T5 =1+ ( 1+( 2*200 )+2)*250+2=100753 個(gè)機(jī)器周期 共延時(shí) 100753*1us=100753us=0.1us5. 實(shí)驗(yàn)電路圖I/O實(shí)驗(yàn)電路圖如下圖所示6 實(shí)驗(yàn)程序流程圖實(shí)驗(yàn)容(1)的輸出實(shí)驗(yàn)程序流程圖如下圖a所示。 實(shí)驗(yàn)容(2)的輸入實(shí)驗(yàn)程序流程圖如下圖b所示。7.實(shí)驗(yàn)程序ORG0000HMOVP0,#0FFHMOVA,#0FEHSTART:MOVP0,AA

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論