下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、頁(yè)腳內(nèi)容頁(yè)眉內(nèi)容單片機(jī)原理及應(yīng)用模擬卷1除非特別聲明,編程題可以使用匯編語(yǔ)言編寫(xiě),也可以使用c 語(yǔ)言編寫(xiě)1、分析程序的執(zhí)行結(jié)果,將結(jié)果填寫(xiě)到空格中。ORG0000HMOV30H,#50HMOVR0,#30HMOVA,R0;(A= 50H)MOVA,#79HMOVB,#20H;(A= 79HB= 20H)DIVAB;(A= 03HB= 19H)PUSH BMOVB,#0AHMULAB;(A= 1EHB= 0)POPBADDA,B;(A=37HB=19H)MOV30H,A;(30H 單元的內(nèi)容=37H)MOV20H,30HCLR01H;(20H 單元的內(nèi)容=37H)MOVA,20H;(PSW 中
2、P 的內(nèi)容=1)CPLARRA;(PSW 中 C 的內(nèi)容=0)SWAP A;(A= 46H)ADDC A,#0F0H;(A=36H);(PSW 中 P 的內(nèi)容=0);(PSW 中 C 的內(nèi)容=1)RLA;(A= 6CH);(PSW 中 P 的內(nèi)容=0);(PSW 中 C 的內(nèi)容=0)LOOP: AJMPLOOP2、將 MCS51 內(nèi)部 RAM60H65H 單元存放的 12 個(gè) 16 進(jìn)制數(shù)變?yōu)?ASCII 碼, 放到 0090H 單元開(kāi)始的外部 RAM 中。使用匯編語(yǔ)言編寫(xiě)ORG 0000H AJMP MAINORG 0030HMIAN:MOV R0,#50H頁(yè)眉內(nèi)容頁(yè)腳內(nèi)容MOV R1,#0
3、6HMOV R2,#02HMOV DPTR,#2800HMOV A,R0MOV B,ACH:ANL A,#0FHPUSH ACCSUB A,#0AHJNC AD37POP ACCADD A,#30HJMP SAVAD37:POP ACCADD A,#37HSAV:DJNZ R2,LLMOVX DPTR,A INC DPTR SWAP BMOV B,AJMP CHLL:INC R0DJNZ R1,DONE DONE:HLT END3、某一故障檢測(cè)系統(tǒng),當(dāng)出現(xiàn)故障 1 時(shí),線路 1 上出現(xiàn)上升沿;當(dāng)出現(xiàn)故障 2 時(shí),線路 2 上出現(xiàn)下降沿。沒(méi)有故障時(shí),線路 1 為低電平,線路 2 為高電平。出現(xiàn)故
4、障時(shí),相應(yīng)的指示燈變亮。故障消失后,指示燈熄滅。試用 MSC1211 為單片機(jī)實(shí)現(xiàn)該故障檢測(cè)功能,畫(huà)出電路原理圖,并寫(xiě)出相應(yīng)程序。解答:如下圖所示:故障 1 從 P32 輸入,利用 INT0,故障 2 從 P33 輸入,利用 INT1,使用 L1 作為故障 1 的指示燈,L2 作為故障 2 的指示燈。頁(yè)眉內(nèi)容頁(yè)腳內(nèi)容程序清單:ORG 0000HAJMP MIANORG 0003HAJMP GUIORG 0013HAJMP GU2ORG 1000HMAIN: MOV TCON,#05HMOV IE,#85HHERE: SETB P1.0SETB P1.1GU1:CLR P1.0JB P3.2,G
5、U1RETIGU2: CLR P1.1JB P3.3,GU2RETIEND4、利用 MSC1211 或 8051 設(shè)計(jì)應(yīng)答方式下的多機(jī)通訊程序。通訊參數(shù):晶振 為11.0592MHz, 9600, n, 8,1。通訊過(guò)程如下:主機(jī)首先發(fā)送從機(jī)地址, 從機(jī)收到地址后進(jìn)行比較,如果地址相符,則將從機(jī)地址回發(fā)給主機(jī)作為應(yīng) 答信號(hào)。主機(jī)收到從機(jī)的地址應(yīng)答信號(hào)后,將內(nèi)存單元中的 120 個(gè)數(shù)據(jù)發(fā)送 給從機(jī),并進(jìn)行數(shù)據(jù)塊校驗(yàn)(將各個(gè)數(shù)據(jù)進(jìn)行異或),若校驗(yàn)正確,則從機(jī)頁(yè)眉內(nèi)容頁(yè)腳內(nèi)容發(fā)送 00H 給主機(jī),否則發(fā)送 OFFH 給主機(jī),主機(jī)重新發(fā)送數(shù)據(jù)。(應(yīng)在適當(dāng) 的地方加程序注釋)解:主機(jī)程序如下:ORG00
6、00HLJMPMAINT :跳至主程序入口地址ORG0023H:串行口中斷服務(wù)程序入口LJMPINTSTMOVSCON,#90H:置工作方式 2,并允許接收MOVTMOD,#20H:置 T1 工作方式 2MOVTH1,#0FDHMOVTL1,#0FDHMOVDPTR,#ADDR :設(shè)置數(shù)據(jù)塊首址 ADDR 的地址指針MOVR0,#120:設(shè)置發(fā)送字節(jié)數(shù)MOVR1,#00H:設(shè)置校驗(yàn)和的初值MOVR2,#NAMESETBTB8:置位 TB8 位,作為發(fā)送地址楨信息特征SETBTR1SETBEA : CPU 開(kāi)中斷SETBES :允許串行口中斷MOVA,R2 :發(fā)送地址楨信息MOVSBUF, AS
7、JMP$MAINT :;中斷服務(wù)程序頁(yè)眉內(nèi)容頁(yè)腳內(nèi)容INTST : MOV A,TB8 ;判斷是發(fā)送地址還是數(shù)據(jù),若為數(shù)據(jù)則轉(zhuǎn) LOOPOCJNE A,01H,LOOPOCLR TI ;地址楨信息發(fā)送完后清發(fā)送中斷LOOPO : JBRI,LOOP1 ;檢查是否是接受中斷?若 RI=1 則轉(zhuǎn)入接受乙機(jī)發(fā)送應(yīng)答信息CLR TI ;因 RI=0,表明是甲機(jī)發(fā)送中斷數(shù)據(jù)的中斷請(qǐng)求。CPU 響應(yīng)MOVA,TB8 :CJNEA,#01H,繼續(xù)發(fā)送數(shù)據(jù)LOO3 :右為發(fā)送數(shù)據(jù)中斷則轉(zhuǎn)LOOP3LJMPENDT:甲機(jī)發(fā)送一數(shù)據(jù)完畢跳至中斷返回程序CLRRI:清接受中斷標(biāo)志MOVA,TB8 :判斷是發(fā)送地址還
8、是數(shù)據(jù),若為數(shù)據(jù)則轉(zhuǎn)LOOP2CJNEA,#01H, LOOP4 :若 TB8 為 0 則接受的為乙機(jī)數(shù)據(jù)校驗(yàn)應(yīng)答MOVA,SBUF:取乙機(jī)的應(yīng)答數(shù)據(jù)中斷,在中斷服務(wù)程序中應(yīng)清中斷標(biāo)志LOOP1:頁(yè)眉內(nèi)容頁(yè)腳內(nèi)容LOOP4 : MOVA,SBUF ;取乙機(jī)的應(yīng)答數(shù)據(jù)CJNE寺 L/、V-新發(fā)送A,#00H,LOOP5;若數(shù)據(jù)發(fā)送不正確,則轉(zhuǎn)LOOP5 重CLR ES ;全部發(fā)送完畢,禁止串行口中斷LOOP5 : MOVDPTR,#ADDR ;設(shè)置數(shù)據(jù)塊首址 ADDR 的地址指針MOV R0, #120;設(shè)置發(fā)送字節(jié)數(shù)MOV R1,#00H;設(shè)置校驗(yàn)和的初值LJMPLOOP2 : MOVMOVR
9、ETILOOP2A, R2 ;發(fā)送地址楨信ENDT : RETIEND從機(jī)程序如下:ORG 0000HLJMPMAINR ;跳至主程序入口地址ORG0023H ;串行口中斷服務(wù)程序入口LJMPINTSR_ 一_ . . .iiiii r r .、.r、 _ 、/z. r . t . t rMAINR : MOVSCON,#0B0H;置丄作方式 2,開(kāi)允許接收MOVTMOD,#20H;置 T1 工作方式 2MOVTH1,#0FDHMOVTL1,#0FDHMOVDPTR,#ADDR;設(shè)置數(shù)據(jù)塊接收首址為 ADDRCJNE A , R2,LOOP2;若乙機(jī)應(yīng)答信息不是從機(jī)地址,則地址傳送不正確,則轉(zhuǎn)
10、 LOOP2 程序重新發(fā)送地址信息,否則清 TB8,發(fā)送數(shù)據(jù)MOVINCDECCJNER1,ADPTR;修改地址指針RO ;修改發(fā)送字節(jié)數(shù)記數(shù)值RO, #00H,ENDT;判別 120 個(gè)字節(jié)數(shù)據(jù)都發(fā)送完沒(méi)有。如果沒(méi)有發(fā)送完則跳至中斷返回程序。繼續(xù)發(fā)送MOV A,R1MOV SBUF,A ;數(shù)據(jù)全部發(fā)送完畢則發(fā)送校驗(yàn)和LJMP ENDTLOOP3 : MOVXA,DPTRMOVSBUF, AXRLA,R1CLR TB8;取下一個(gè)數(shù);啟動(dòng)串行口,發(fā)送新的數(shù)據(jù)頁(yè)眉內(nèi)容頁(yè)腳內(nèi)容MOVR2,#NAMEMOVR1,#00H;設(shè)置校驗(yàn)和的初值SETBRB8;置位 RB8 位,作為接受地址信息特征SETBT
11、R1SETBEA;CPU 開(kāi)中斷SETBES;允許串行口中斷SJMP$;中斷服務(wù)程序A , RB8 ;判斷是接收地址還是數(shù)據(jù),若為數(shù)據(jù)則轉(zhuǎn)LOOP0A,01H,LOOP0RI ;地址楨信息接受完后清接收中斷A,SBUFA,R2LOOP;若地址相符則轉(zhuǎn) LOOP,否則中斷返回INTSR : MOVCJNECLRMOVXRLJZLJMPLOOP: CLRCLRMOVMOVLJMPLOOP0 : JB送的數(shù)據(jù)頁(yè)眉內(nèi)容頁(yè)腳內(nèi)容ENDRSM2RB8A,R2SBUF,A ;想主機(jī)發(fā)送從機(jī)地址ENDRRI,LOOP1 ;檢查是否是接受中斷?若 RI=1 則轉(zhuǎn)入接受甲機(jī)發(fā)CLR TI ;因 RI=0,表明是乙
12、機(jī)發(fā)送中斷數(shù)據(jù)的中斷請(qǐng)求。CPU 響應(yīng)中斷,在中斷服務(wù)程序中應(yīng)清中斷標(biāo)志JZRIGHTLJMP WRONGRIGHT : MOV A,#00HMOV SBUF, ALJMPENDRWRONG : MOVA,#0FFHMOVSBUF, AMOVDPTR,#ADDR ;設(shè)置數(shù)據(jù)塊接收首址為 ADDRMOVRO, #120;設(shè)置接收字節(jié)數(shù)LJMPENDRENDR : RETIENDDECR0JZLOOP2 ;數(shù)據(jù)未接收完則中斷返回,MOVA,SBUF;取甲機(jī)發(fā)送的數(shù)據(jù)MOVXDPTR, AXRLA,R1MOVR1,ALOOP2 : MOVA,SBUF:取甲機(jī)發(fā)送的校驗(yàn)和LJMP ENDR ;甲機(jī)發(fā)送
13、一數(shù)據(jù)完畢跳至中斷返回程序LOOP1 : CLR RI ;清接受中斷標(biāo)志若接收完則轉(zhuǎn) LOOP2,校驗(yàn)XRL A,R1頁(yè)眉內(nèi)容頁(yè)腳內(nèi)容5、利用 MSC1211 的 A/D 構(gòu)成數(shù)據(jù)采集系統(tǒng)。使用模擬通道 0 進(jìn)行連續(xù)數(shù)據(jù)采 集,采集 8 次后取得平均值,存放到預(yù)先分配好的 100 個(gè)內(nèi)存單元中,這 100 個(gè)單元存滿后,再?gòu)牡谝粋€(gè)單元進(jìn)行覆蓋保存。寫(xiě)出完整的程序清單(應(yīng) 在適當(dāng)?shù)牡胤郊映绦蜃⑨?。解:#include#in cludeextern void autobaud(void);/ 聲明外部函數(shù)exter n void bipolar(void);float a100=0,w8=0;i
14、 nt out=0;lo ng result,temp;i nt j;int AUX in terrupts(void)i nterrupt6 usi ng1 中斷服務(wù)程序if(PAI=6)處理 AD 中斷wout+=bipolar();temp=wout;SUMR0=temp&Oxff;SUMR1=(temp8) &Oxff;SUMR2=(temp16 )&Oxff;SUMR3=(temp24)&Oxff;if(out=8) SUM=SUMR324+SUMR216+SUMR1=100)j=0;min (void)float dummy;int decimati on;decimationg=1440; 抽取因子PDCON&=0 x77 ; 打開(kāi) ADCACLK=9 ; 模擬采樣頻率ADMUX=0; 使用通道 0頁(yè)眉內(nèi)容頁(yè)腳內(nèi)容ADCON0=0 x30; 內(nèi)部基準(zhǔn) 2.5V,緩沖器關(guān),BOD 關(guān),PGA=
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年中國(guó)汽車儀表板行業(yè)市場(chǎng)供需態(tài)勢(shì)及未來(lái)趨勢(shì)研判報(bào)告
- 餐飲服務(wù)合同范本
- 樁機(jī)分包合同范本
- 水上抽沙合同范本
- 水泥授權(quán)合同范本
- 雨棚生產(chǎn)合同范本
- 零食購(gòu)銷合同范本
- 地暖打壓合同范本
- 大學(xué)就業(yè)協(xié)議合同
- 吊機(jī)租賃協(xié)議合同
- 裝配式建筑施工重點(diǎn)難點(diǎn)及保證措施
- 主動(dòng)脈夾層的護(hù)理常規(guī)
- 2025年出入境管理信息系統(tǒng)考試試卷及答案
- 肉牛合作養(yǎng)殖方案(3篇)
- 骨盆骨折患者麻醉管理要點(diǎn)
- 2025貴陽(yáng)人文科技學(xué)院教師招聘考試試題
- 高職院校產(chǎn)教融合共同體建設(shè)國(guó)內(nèi)外研究動(dòng)態(tài)及啟示
- T/CWAN 0068-2023銅鋁復(fù)合板
- 兒童寓言故事-烏鴉喝水
- 弱電系統(tǒng)維護(hù)中的安全和文明措施
- 緊急狀態(tài)下護(hù)理人力資源調(diào)配
評(píng)論
0/150
提交評(píng)論