單片機(jī)原理及應(yīng)用C答案.doc
《單片機(jī)原理及應(yīng)用C答案.doc》由會(huì)員分享,可在線閱讀,更多相關(guān)《單片機(jī)原理及應(yīng)用C答案.doc(5頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
《單片機(jī)原理及應(yīng)用》模擬卷3 一、 分析程序的執(zhí)行結(jié)果,將結(jié)果填寫到空格中。 1、 MOV 40H,#80H MOV R0,#40H MOV A,@R0 ;(A= 80H ) MOV B,#20H DIV AB ;(A= 04H B= 00H ) MOV @R0,A ;最終結(jié)果存于內(nèi)存單元 40H 中。 2、MOV A,#2AH RR A MOV B,A MUL AB ;(A= B9H B= 01H ) (OV= 1 CY= 0 ) 3、 MOV A,#0B2H MOV R1,#055H ANL A,R1 ;(A= 10H ) ORL A,R1 ;(A= 55H ) XRL A,R1 ;(A= 00H ) SWAP A ;(A= 00H ) 4、 MOV 25H,#39H CLR 2AH ;(25H)=( 00111001 B) CPL 2CH ;(25H)=( 00101001 B) SETB 2EH ;(25H)=( 01101001 B) MOV C,28H ;( PSW中C 的內(nèi)容= 1 ) 2、 程序設(shè)計(jì) 1、 MCS51 內(nèi)部RAM 40H~60H 單元存放著有符號(hào)16 進(jìn)制數(shù),將其中能被2 整除的數(shù),存放到0090H 單元開始的外部RAM中。[ ] 解: ORG 0000H JMP START START: MOV SP,#60H MOV DPTR,#0090H MOV R0,#40H MOV R1, #21 LOOP0: MOV A,@R0 MOV B, #2 DIV AB MOV R2, B CJNZ R2, #0, LOOP1 ;余數(shù)為0 則繼續(xù),不為0 則轉(zhuǎn)移 MOV A,@R0 MOV @DPTR,A INC DPTR LOOP1: INC R0 DJNZ R1, LOOP0 END 2、某一故障檢測(cè)系統(tǒng),當(dāng)出現(xiàn)故障時(shí),線路出現(xiàn)下降沿;沒有故障時(shí),線路為高電平。出現(xiàn)故障時(shí),相應(yīng)的指示燈變亮。故障消失后,指示燈熄滅。試用解 MSC1211為單片機(jī)實(shí)現(xiàn)該故障檢測(cè)功能,畫出電路原理圖,并寫出相應(yīng)程序。答:如圖所示,使用P10作為故障指示燈,故障源從P32輸入, 相應(yīng)的程序?yàn)椋? ORG 0000H AJMP MAIN ORG 0003H LI: CLR P1.0 JNB P1.0,LI RETI ORG 1000H SETB IT0 SETB EX0 SETB EA HERE:SETB P1.0 AJMP HERE END 3設(shè)有甲、乙兩臺(tái)單片機(jī),以工作方式3進(jìn)行串行通訊,設(shè)晶振為11.0592MHz,波特率為9600,甲機(jī)將內(nèi)存單元中的120個(gè)數(shù)據(jù)作補(bǔ)偶校驗(yàn)后發(fā)送給乙機(jī),乙機(jī)對(duì)接收到的數(shù)據(jù)進(jìn)行奇偶校驗(yàn),若校驗(yàn)正確,則從機(jī)發(fā)送00H給甲機(jī),甲機(jī)繼續(xù)發(fā)送數(shù)據(jù),校驗(yàn)不正確,則發(fā)送0FFH給甲機(jī),甲機(jī)重新發(fā)送原數(shù)據(jù),編寫乙機(jī)的接收程序。(應(yīng)在適當(dāng)?shù)牡胤郊映绦蜃⑨專? 解:ORG 0000H AJMP MAIN ORG 0023H LJMP SE2_INT MAIN: MOV SP,#60H MOV TMOD #20H MOV TH1,#0FDH ;設(shè)置波特率為9600bps MOV TL1,#0FDH MOV SCON,#90H ;串行口工作方式3,允許接收 MOV DPTR,#2000H;接收數(shù)據(jù)區(qū) MOV R1,#120 SETB TR1 SETB EA SETB ES SJMP $ ;等待接收中斷 SE2_INT: JB RI,LOOPA CLR T1 LJMP ENDR LOOPA:CLR RI MOV A,SBUF MOV C,P ;奇偶校驗(yàn) JC LOOP1 ;如8位數(shù)是奇,則轉(zhuǎn)LOOP1再檢測(cè)RB8位 ORL C,RB8 ; 如8位數(shù)為偶,再檢測(cè)RB8位,RB8=1,則9位數(shù)據(jù)為奇,補(bǔ)偶 JC LOOP2 ;錯(cuò),轉(zhuǎn)LOOP2 LJMP LOOP3 ;補(bǔ)偶正確,轉(zhuǎn)LOOP3 LOOP1: ANL C, RB8 ;8位數(shù)為奇,再檢測(cè)RB8位 JC LOOP3 ;RB8=1,補(bǔ)偶正確,轉(zhuǎn)LOOP3 LOOP2: MOV A ,#0FFH ;檢測(cè)不正確發(fā)送FF給甲機(jī) MOV SBUF,A JMP ENDR LOOP3: MOVX @DPTR ,A MOV A,#00H MOV SBUF,A INC DPTR DJNZ R1, ENDR CLR ES ;停止接收 ENDR: RETI 4、變量k從20變到200,變化步長(zhǎng)為20。對(duì)于每一個(gè)值,使用整形數(shù)算術(shù)運(yùn)算計(jì)算8*k,k*k*k和(40*k/150)^3。這三個(gè)值通過MSC1211的D/A轉(zhuǎn)換后同步輸出(均使用電壓輸出模式)。試編寫程序?qū)崿F(xiàn)。 解: #include 〈Reg1211.h〉 data unsigned int i , j ; void main (void) { PDCON &=0x37 ; //同時(shí)開啟ADC和DAC模塊 ADCON0 =0x30 ; //內(nèi)部參考電壓2.5V DACSEL =6; //選擇將要訪問DAC加載寄存器LOADCON DACL = 0XFC ; //設(shè)置DAC1、2、3通道同步更新模式 DACSEL = 4; //選擇DAC0、1控制寄存器 DACL =0x24; //DAC IDAC 關(guān)閉,內(nèi)部參考電壓 DACH =0x24; //DAC1 IDAC 關(guān)閉,內(nèi)部參考電壓 DACSEL=5; //選擇 DAC2、3控制寄存器 DACL =0x24 ; //DAC2 IDAC 關(guān)閉,內(nèi)部參考電壓 DACH=0x24; //DAC3 IDAC 關(guān)閉,內(nèi)部參考電壓 while (1) { DACSEL = 0; //選擇DAC1數(shù)據(jù)寄存器 DAC = 0x8000 ;//送DAC1要轉(zhuǎn)換的數(shù)據(jù) for (j=0 ; j <100 ; j++ ) ;// 延時(shí) DAC =0 ; for (i=20 ; i<200 ; i+=20 ) ; { DACSEL = 1; DAC = 8*k ; DACSEL =2 ; DAC = k*k*k ; DECSEL = 3; j = 40*k/150 ; j = j^3 ; DACSEL = 6 ; DACL = 0XFC ; } } }- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 單片機(jī) 原理 應(yīng)用 答案
鏈接地址:http://ioszen.com/p-6575302.html