


版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、3.13 解:將3個中斷源的中斷請求經過與門連接到MCS-51的外部中斷0的輸入引腳INTO士 o3、2、1中斷源的輸入引腳分別接到PI.O、PI、P1.2引腳上,以備查詢。程序如下:XI EQU 2000H;定義中斷源 1的入口地址X2 EQU 2100H;定義中斷源 2的入口地址X3 EQU 2200H;定義中斷源 3的入口地址ORG 0000HLJMP STARTORG 0003HLJMP INTOOSTART:INTOO: JB P1.0, LP1;查詢中斷源,若此中斷源無中斷則轉LP1UMP 2200H;轉入相應的中斷服務LP1: JB P1.1,LP2;查詢中斷源,若此中斷源無中斷
2、則轉LP2LJMP 2100H;轉入相應的中斷服務LP3: LJMP 2000H;轉入相應的中斷服務XI:RETIX2:.RETIX3:RETI3.19 解:選用定時器/計數器TO作定時器,輸岀為P1.0引腳,2ms的方波可由1ms的高低電平相間隔而成,因而只要每隔1ms對P1.0取反一次即可得到這個方波。程序如下:ORG 0000HLJMP STARTORG 000BHLJMP TOINT;TO中斷入口ORG 0030HSTART : MOV SP,#60H;初始化程序MOV THO, #0FEH;TO賦初值MOV TLO, #0BHMOV TMOD, #01H;定時器/計數器0工作于方式1
3、SETB TRO;啟動TOSETB ETO;開TO中斷SETB EA;開總允許中斷SJMP $TOINT : CPL P1.0MOV TLO, #0BHMOV THO, #0FE0HRETIEND3.20 解:程序如下 :ORG 0000HLJMP STARTORGOIOOHSTART : MOV SP, #60HMOV TMOD, #02HMOVTHO, #0E7HMOV TLO, #0E7HCLRP1.2SETB TROHIGHO : SETB Pl.2HIGH1 : JBC TFO, LOWO ; 50|is 至 U 清 TFO, 轉 LOWOAJMP HIGH1 ;50As 未到,轉
4、HIGH1 等待LOWO : MOV R7, #7 ; 3503=7x50*CLRP1.2 ;Pl.2=0 輸出 350ps 低電平LOW1 : JBC TFO, LOW2 ; 50ps 至 U 清 TFO, LOW2AJMP LOW1LOW2 : DJNZ R7, LOW1 ;7 次未到轉 LOW 1AJMP HIGHO ;7 次到轉 HIGHOEND 3.21 解:選擇 TO 工作于方式 1 定時 500|is12 12-6機器周期 T =lgs fosc=12MHzA(2A16 -X ) xlp,S=500gsX=65036=0FE0CH程序如下:ORG 1000HMOVTMOD, #0
5、1HMOVTHO, #0FEHMOV TLO, #0CHSETB TRODEL : MOV R7, #4;2ms=4x500|isD500 : JBC TFO, D2; 500|is 到清 TFO, 轉移AJMP D500; 50pts 未到,等待D2: CPL P1.0MOVTHO, #0FEH ;重裝初值MOVTLO, #0CHDJNZ R7,D500;4 次未到,轉 D500CPL Pl.1AJMP DEL;4次至! J,轉DELSJMP$END3.22 解:程序如下:ORG 0000HLJMP STARTORG 0030H;設TO為方式1, GATE=1START : MOVTMOD,
6、 #09HMOV TLO, #00HMOVTHO, #00HMOV RO, #4EHJB P3.2, $SETB TROJNB P3.2, $JB P3.2, $;等待P3.2變低;啟動TO工作;等待P3.2變高;等待P3.2再次變低CLRTR9 ;停止計數MOV R0, TLOINC RO存放計數的二進制數低字節(jié)入4EH存放計數的二進制數高字節(jié)入;BCD碼首址MOVRO, THOMOVR1, #50HMOVR5, #3CLR ALOOP1 : MOVR1, A ;清存 BCD 碼單元INCR14EH;BCD碼字節(jié)數DJNZ R5, LOOP1MOV R7, #10H;二進制數位數LOOP2
7、: MOV RO, #4EH ;二進制數首址MOV R6, #2;二進制數字節(jié)數CLRCLOOP3 : MOV A, R0RLC AMOV RO, AINC RODJNZ R6, LOOP3 ;2字節(jié)二進制數左移 1位MOV R5, #3; BCD碼字節(jié)數MOVR1, #50HLOOP4 : MOV A, R1ADDC A, R1; BCD碼乘2力廿C運算DAAMOVR1, AINCR1DJNZ R5, LOOP4DJNZ R7, LOOP2SJMP$END3.32 解:主程序框圖如下COOH. C DELAY OOH C, OOH BB #0011SBUF.ccMU 1 #OFFHAADEL
8、AY :MOVR7,#8DIMOVR6,#250D2MOVR5,#250D3DJNZR5,D3DJNZ R6,D2DJNZ R7,DIRETEND3.33 解:采用查詢方式編寫發(fā)送程序如下SETBMOVAA : ACALLCPL MOV JC KfOV SIMP BB : MOV CCi AJMPORG 0000HLJMP STARTORG 0030HSTART : MOV SCON, #80H ;設定方式 2 發(fā)送MOV PCON, #80HMOV RO, #20H ;給待發(fā)送數據塊地址指針RO置初值MOV R7, #16 ;給數據塊長度計數器R7置初值LS : MOV A, R0 ;取一字
9、節(jié)數據送 AMOV C, PMOV TB8, C ;?隨 A 變,P TB8MOV SBUF, A ;啟動發(fā)送JNB TL $ ;查詢發(fā)送標志,等待一字節(jié)發(fā)送完CLRTI ;清TI標志位DJNZR7, LSRETEND3.34 解:程序如下:ORG 0000HLJMP STARTORG 01 OOHSTART : MOV TMOD, #20H;設定 Tl 為模式 2 定時MOV TH1, #0F3H;送時間常數MOV TL1, #0F3HSETB TRI ;啟動定時器 TlMOV SCON, #0D0H ;串行接口設定為方式3,并允許接收MOV RO, #30HMOV R7, #16JNB R
10、I, $ ;查詢等待接收CLR RIMOV A, SUBF ;從串行接口中讀取數據JNBP, PN ;對該字節(jié)進行查錯處理若P=RB8無錯,否則有錯JNB RB8, PER ; 若 P=l, RB8=0,有'錯,轉岀錯處理LJMP RIG ;若P=l, RB8=1,無錯,轉保存數據PN : JB RB8, PER ;若 P=0, RB8=1,有'錯,轉岀錯處理RIG : MOV R0, A ;若P=0, RB8=0,無錯,保存接收到的數據INC RODJNZ R7, LOOP ;16字節(jié)未接收完,則繼續(xù)CLR 7F ;正確接收完16位數據,清岀錯標志位7FSJMP $PER:
11、SETB 7F ;校驗有錯,置位 7FSJMP $END4.9 解:硬件連接電路圖如圖4.9所示。各芯片的地址范圍為:2764 (1#) :0000H-1FFFH2764 (2#) : 2000H-3FFFH6264 ( 1#) : 4000H-5FFFH6264 (2#) :6000H-7FFFH圖4.9 4.9題硬件連接電路圖5.19 解:硬件電路連接圖如圖5.19所示。當 V0=2.5V程序如下:ORG 0000HLJMP MAIN0RG 01 OOHMAIN : MOV DPTR, #7FFFHNEXT : MOV A, #80HMOVX DPTR, AAC ALL DELAYMOV
12、R4, #04HMOV A, #40HMOVX DPTR, ALOOP:AC ALL DELAYDJNZ R4, LOOPAJMP NEXTDELAY :RETEND5.20 解:硬件電路連接圖如圖 5.20所示。CF 00-07一譏-G-ADC0609IW700-07rWRTAt£0EFOC圖 5.205.20題邏輯電路圖設80C51的時鐘頻率為12MHz,程序如下:ORG 0000HLJMPMAINORG001BHLJMPTl_lORG01 OOHMAINMOV SP,#60H ;設堆棧指針MOVR7, #100 ;置采集次數MOVRl, #30H ;:片外RAM地MOVR0,
13、#00H ;;片外RAM地MOVR2, #20 ;置入初值20 (計Is)MOVR3, #60 ;置入初值60 (計1 min)MOVTOMD, #10H;定時器T1工作于模式MOVTH1, #3CH;計數器初值MOV_TL1, #0B0HSETB EA ;開中斷SETB ET1 ;定時器T1允許中斷SETB TRI ;啟動定時器 T1LOOP : SJMP LOOP ;等待中斷DJNZ R7, LOOP ;是否到 100 次?SJMP $ORG 0200HTl:MOV TH1, #3CH ;中斷服務程序,重新賦計數器初值MOV TL1, #0B0HDJNZ R2, RETI_0 ; Is 未
14、到,返回MOV R2, #20 ;重新置“100 s計數器初值DJNZ R3, RETI_0 ;1 min 未到,返回MOV R6, #8 ;8個通道計數器初值MOV DPTR, #7FF8H ; IN0 地址LOOP1 : MOVX DPTR, A ;啟動 A/D 轉換JB P1.0, $ ;判轉換是否結束MOVX A, DPTR ;讀取轉換結果PUSH DPH ;將通道地址壓入堆棧PUSH DPLMOV DPH, R1 ;將片外 RAM 地址送 DPTRMOV DPL, R0MOVX DPTR, A ;將轉換結果存入片外RAMINC DPTR ;片外 RAM 地址增1MOV Rl, DPH
15、 ;保存片外 RAM 地址MOV R0, DPLPOP DPL ;恢復通道地址POP DPHINC DPTRDJNZ R6, LOOP1 ;8個通道是否采集結束RETI_0 : RETI ;中斷返回END6.11 解:硬件連接電路圖如圖 6.11所示。圖6.11 6.11題擴展鍵盤電路圖程序如下 :ORG 1000HSERKEY: MOVSCON, #00H ; 設置串行口MOV A, #00H; 鍵盤初始化,送 OOH 到列線上LCALL VARTO ; 發(fā)送數據CHK: JNB P1.0, CHK0 ; 檢查是否有鍵按下JNB P1.1.CHK0 ;檢查是否有鍵按下JNB P1.2,CHK
16、0 ; 檢查是否有鍵按下AJMP CHK ; 無鍵按下,繼續(xù)查找CHKO: LCALL DLY1:調用10ms延時子程序,去抖JNB P1.0, CHEN; 確實有鍵按下,轉 CHENJNB Pl.l, CHENJNB P12, CHENAJMP CHK ; 無鍵按下,繼續(xù)查找CHEN: MOV R2. #OFEH ;首列掃描字送 R2,查鍵號,最低MOV R4, #00H: 首列偏移值送 R4CHKN: MOV A, R2 ; 發(fā)送列掃描字LCALL VARTOJB P1.0, CHI ; 檢查 P1.0 有無鍵按下;若無,轉MOV A, #0; 第一行首列值送 A, 00H+ (R4)AJMP CKEY ; 轉求鍵號CHI: JB P1.1,CH2: 檢查 P1.1 有無鍵按下;若無,轉MOV A, #8; 第二行首列值送 ACH2: JBPl.1, NEXT ; 檢查 Pl.1 有無鍵按下;若無,轉MOV A. #16 ; 第三行首列值送 AAJMP CKEY : 轉求鍵號CKEY: ADD
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- T/CECS 10085-2020水泥基透水混凝土用膠接劑
- T/CCS 049-2023綠色煤炭資源評價技術規(guī)范
- T/CCMA 0062-2018流動式起重機用力矩限制器
- T/CCAS 031-2023水泥工廠生料配料在線分析技術應用指南
- T/CBMCA 022-2021陶瓷巖板加工規(guī)范
- T/CBMCA 015-2020陶瓷巖板產品規(guī)范
- 2024年度江蘇省二級造價工程師之土建建設工程計量與計價實務模擬試題(含答案)
- 租客網java面試題及答案
- 規(guī)律問題面試題及答案
- 街道鄉(xiāng)鎮(zhèn)面試題及答案
- 《手術室圍術期的護理》課件
- 2025年企業(yè)合規(guī)管理工作計劃范文
- 施工安全常識試題及答案
- 2025屆湖北省T8聯(lián)盟壓軸卷1英語試題
- 泳池負責人試題及答案
- 《企業(yè)數據中心網絡架構》課件
- 2025新版工程咨詢合同
- 家庭電梯保養(yǎng)合同協(xié)議
- 物業(yè)工程體系文件規(guī)范
- 2025年江西九江市贛鄱砂業(yè)集團有限公司招聘筆試參考題庫含答案解析
- 2025年上半年度蘇州城際鐵路限公司管理崗位公開招聘易考易錯模擬試題(共500題)試卷后附參考答案
評論
0/150
提交評論