版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第第1頁共27頁《單片機(jī)原理及應(yīng)用》編程題題庫參考答案六、編程(每題10分)1、內(nèi)部RAM30H和31H單元中存放著2個(gè)0-9的ASCII碼(高位字節(jié)在前),請(qǐng)將其轉(zhuǎn)換為壓縮BCD碼(高位在前)并存入外部RAM2300H單元中。解:ORG0HLJMPSTARTORG30HSTARTMOVA,30HANLA,#0FHSWAPAMOVR0,AMOVA,31HANLA,#0FHORLA,R0MOVDPTR ,#2300HMOVX@DPTR,AEND評(píng)分辦法:不要求寫出程序的注釋。程序設(shè)計(jì)思路正確可得 5分,指令完全寫對(duì)可得10分。若僅寫對(duì)少量指令,可酌情給1-3分;若僅有少量指令寫錯(cuò),可酌情扣 1-3分。2、將存放在內(nèi)部RAM30H-35H單元的壓縮型BCD碼轉(zhuǎn)換成相應(yīng)的ASCII碼,依次存放到外部RAM2100H開始的單元區(qū)中。ORG0HLJMPSTARTORG30HSTART:MOVR0,#30HMOVR2,#06HMOVDPTR,#2100HLOOP:MOVA,@R0SWAPAANLA,#0FHORLA,#30HMOVX@DPTR,AINCDPTRMOVA,@R0ANLA,#0FHORLA,#30HMOVX@DPTR,AINCDPTRINCR0DJNZR2,LOOPSJMP$END評(píng)分辦法:不要求寫出程序的注釋。程序設(shè)計(jì)思路正確可得 5分,指令完全寫對(duì)可得10分。若僅寫對(duì)少量指令,可酌情給1-3分;若僅有少量指令寫錯(cuò),可酌情扣 1-3分。3、內(nèi)部RAM20H和30H開始的單元分別存放著16個(gè)16進(jìn)制數(shù),請(qǐng)將對(duì)應(yīng)單元的內(nèi)容相加(不考慮溢出),并將和存入外部RAM2000H開始的單元中。解: ORG0LJMPSTARTORG30HSTART:MOVR0,#20HMOVR1,#30HMOVDPTR,#2000HMOVR2,#08H ; 每個(gè)單元存放2個(gè)16進(jìn)制數(shù),故16個(gè)16進(jìn)制數(shù)占用8個(gè)單元LOOP:MOVA,@R0ADDA,@R1MOVX@DPTR,AINCR0INCR1INCDPTRDJNZR2,LOOPSJMP$END評(píng)分辦法:不要求寫出程序的注釋。程序設(shè)計(jì)思路正確可得 5分,指令完全寫對(duì)可得 10分。若僅寫對(duì)少量指令,可酌情給1-3分;若僅有少量指令寫錯(cuò),可酌情扣 1-3分。
4、請(qǐng)編寫多字節(jié)無符號(hào)數(shù)減法程序。被減數(shù)存放在內(nèi)部 RAM20H開始的8個(gè)單元中,減數(shù)存放在內(nèi)部RAM30H開始的8個(gè)單元,請(qǐng)將差存放到外部RAM2000H開始的8個(gè)單元中,借位存放到0V標(biāo)志中。注意:所有數(shù)據(jù)均按照從低字節(jié)到高字節(jié)的順序存放。ORG0LJMPSTARTORG30HSTART:MOVR0,#20HMOVR1,#30HMOVDPTR,#2000HMOVR2,#08HCLRCLOOP:MOVA,@R0SUBBA,@R1MOVX@DPTR,AINCROINCR1INCDPTRDJNZR2,LOOPMOVOV,CSJMP$END評(píng)分辦法:不要求寫出程序的注釋。程序設(shè)計(jì)思路正確可得 5分,指令完全寫對(duì)可得10分。若僅寫對(duì)少量指令,可酌情給1-3分;若僅有少量指令寫錯(cuò),可酌情扣 1-3分。5、內(nèi)部RAM40H和41H單元中存放著2個(gè)0-9的ASCII碼(高位字節(jié)在前),請(qǐng)將其轉(zhuǎn)換為壓縮BCD碼(高位在前)并存入外部 RAM2000H單元中。解:ORG0HLJMPSTARTORG30HSTARTMOVA,40HANLA,#0FHSWAPAMOVR0,AMOVA,41HANLA,#0FHORLA,R0MOVDPTR,#2000HMOVX@DPTR,AEND評(píng)分辦法:不要求寫出程序的注釋。程序設(shè)計(jì)思路正確可得5分,指令完全寫對(duì)可得10分。若僅寫對(duì)少量指令,可酌情給1-35分,指令完全寫對(duì)可得10分。若僅寫6、將存放在內(nèi)部RAM20H-2FH單元的壓縮型BCD碼(高位在前)轉(zhuǎn)換成相應(yīng)的ASCII碼,依次存放到外部RAM1000H開始的單元區(qū)中。ORG0HLJMPSTARTORG30HSTART:MOVR0,#20HMOVR2,#10HMOVDPTR,#1000HLOOP:MOVA,@R0SWAPAANLA,#0FHORLA,#30H (或ADDA,#30H)MOVX@DPTR,AINCDPTRMOVA,@R0ANLA,#0FHORLA,#30H (或ADDA,#30H)MOVX@DPTR,AINCDPTRINCR0DJNZR2,LOOPSJMP$END評(píng)分辦法:不要求寫出程序的注釋。程序設(shè)計(jì)思路正確可得 5分,指令完全寫對(duì)可得10分。若僅寫對(duì)少量指令,可酌情給 1-3分;若僅有少量指令寫錯(cuò),可酌情扣 1-3分。7、內(nèi)部RAM30H和38H開始的單元分別存放著8個(gè)壓縮BCD碼,請(qǐng)將對(duì)應(yīng)單元的內(nèi)容相加(不考慮溢出),并將和存入外部RAM1000H開始的單元中。解: ORG0LJMPSTARTORG30HSTART:MOVR0,#30HMOVDPTR,#1000HMOVR2,#08LOOP:MOVA,@R0ADDA,@R1DAAMOVX@DPTR,AINCR0INCR1INCDPTRDJNZR2,LOOPSJMP$END評(píng)分辦法:不要求寫出程序的注釋。程序設(shè)計(jì)思路正確可得 5分,指令完全寫對(duì)可得 10分。若僅寫對(duì)少量指令,可酌情給1-3分;若僅有少量指令寫錯(cuò),可酌情扣 1-3分。&請(qǐng)編寫多字節(jié)無符號(hào)數(shù)加法程序。被加數(shù)存放在內(nèi)部 RAM20H開始的8個(gè)單元中,加數(shù)存放在內(nèi)部RAM30H開始的8個(gè)單元,請(qǐng)將和存放到外部RAM2000H開始的8個(gè)單元中,進(jìn)位存放到F0標(biāo)志中。注意:所有數(shù)據(jù)均按照從低字節(jié)到高字節(jié)的順序存放。ORG0LJMPSTARTORG30HSTART:MOVR0,#20HMOVR1,#30HMOVDPTR,#2000HMOVR2,#08HCLRCLOOP:MOVA,@R0ADDCA,@R1MOVX@DPTR,AINCROINCR1INCDPTRDJNZR2,LOOPMOVF0,CSJMP$END評(píng)分辦法:不要求寫出程序的注釋。程序設(shè)計(jì)思路正確可得 5分,指令完全寫對(duì)可得 10分。若僅寫TOC\o"1-5"\h\z對(duì)少量指令,可酌情給1-3分;若僅有少量指令寫錯(cuò),可酌情扣 1-3分。9、兩個(gè)8字節(jié)壓縮BCD碼分別存放在內(nèi)部RAM30H和40H開始的連續(xù)單元中(低位字節(jié)在前) ,請(qǐng)將二者求和(不考慮溢出情況),并將和存入外部RAM1000H開始的單元中。解:ORG0MOVR0,#30HMOVR1,#40HMOVDPTR,#1000HMOVR2,#8CLRCLOOP:MOVA,@R0ADDCA,@R1DAAMOVX@DPTR,AINCR0INCR1INCDPTRDJNZR2,LOOPSJMP$ENDTOC\o"1-5"\h\z評(píng)分辦法:程序設(shè)計(jì)思路正確可得5分;對(duì)于僅寫出部分指令的學(xué)生可酌情給1-4分;程序編制正確可得滿分,若存在少量錯(cuò)誤,可酌情扣 1-3分。10、將存放在內(nèi)部RAM20H-2FH單元的十六進(jìn)制數(shù)轉(zhuǎn)換成 ASCII碼,依次存放到外部RAM2000H開始的單元中。解:MOVR0,#20HMOVR2,#16MOVDPTR,#2000HMOVR3,DPHMOVR4,DPLLOOP:MOVA,@R0ANLA,#0FHMOVDPTR,#TABMOVCA,@A+DPTRMOVDPH,R3MOVDPL,R4MOVX@DPTR,AINCDPTRMOVR3,DPHMOVR4,DPLMOVA,@R0SWAPAANLA,#0FHMOVDPTR,#TABMOVCA,@A+DPTRMOVDPH,R3MOVDPL,R4MOVX@DPTR,AINCDPTRMOVR3,DPHMOVR4,DPLINCRODJNZR2,LOOPSJMP$TAB:DB '0123456789ABCDEFEND評(píng)分辦法:程序設(shè)計(jì)思路正確可得 5分;對(duì)于僅寫出部分指令的學(xué)生可酌情給 1-4分;程序編制正確可得滿分,若存在少量錯(cuò)誤,可酌情扣 1-3分。11、內(nèi)部RAM30H和外部RAM2200H開始的單元分別存放著兩個(gè) 8字節(jié)十六進(jìn)制數(shù)(低位字節(jié)存放在前),請(qǐng)將二者相加(不考慮溢出情況) ,并將和存入內(nèi)部RAM40H開始的單元中。解:ORG0MOVR0,#30HMOVR1,#40HMOVDPTR,#2200HMOVR2,#8CLRCLOOP:MOVXA,@DPTRADDCA,@R0MOV@R1,AINCR0INCR1INCDPTRDJNZR2,LOOPSJMP$評(píng)分辦法:程序設(shè)計(jì)思路正確可得5分;對(duì)于僅寫出部分指令的學(xué)生可酌情給 1-4分;程序編制正確可得滿分,若存在少量錯(cuò)誤,可酌情扣 1-3分。12、請(qǐng)編寫多字節(jié)無符號(hào)數(shù)減法程序。被減數(shù)存放在內(nèi)部 RAM30H開始的8個(gè)單元中,減數(shù)存放在內(nèi)部RAM38H開始的8個(gè)單元,請(qǐng)將差存放到外部 RAM1000H開始的8個(gè)單元中,借位存放到F0標(biāo)志中。注意:所有數(shù)據(jù)均按照從低字節(jié)到高字節(jié)的順序存放。解:ORG0LJMPSTARTORG30HSTART:MOVR0,#30HMOVR1,#38HMOVDPTR,#1000HMOVR2,#8CLRCLOOP:MOVA,@R0SUBBA,@R1MOVX@DPTR,AINCR0INCR1INCDPTRDJNZR2,LOOPMOVC,F0SJMP$評(píng)分辦法:程序設(shè)計(jì)思路正確可得5分;對(duì)于僅寫出部分指令的學(xué)生可酌情給 1-4分;程序編制正確可得滿分,若存在少量錯(cuò)誤,可酌情扣 1-3分。13、請(qǐng)編寫多字節(jié)無符號(hào)數(shù)減法程序。被減數(shù)存放在內(nèi)部 RAM20H開始的16個(gè)單元中,減數(shù)存放在內(nèi)部RAM30H開始的16個(gè)單元,請(qǐng)將差存放到外部 RAM2000H開始的16個(gè)單元中,借位存放到OV標(biāo)志中。注意:所有數(shù)據(jù)均按照從低字節(jié)到高字節(jié)的順序存放。解: ADDR1EQU20HADDR2EQU30HLENEQU16ADDR3EQU2000HORG0LJMPSTARTORG30HSTART: MOVR0,#ADDR1MOVR1,#ADDR2MOVDPTR,#ADDR3MOVR2,#LENCLRC
LOOP: MOVA,@R0SUBBA,@R1MOVX@DPTR,AINCROINCR1INCDPTRDJNZR2,LOOPMOVOV,CSJMP$END評(píng)分辦法:程序設(shè)計(jì)思路正確可得5分,指令完全寫對(duì)可得10分。不要求使用偽指令。若僅寫對(duì)少量指令,可酌情給1-3分;若僅有少量指令寫錯(cuò),可酌情扣 1-3分。14、將存放在內(nèi)部RAM20H-3FH單元的壓縮BCD碼轉(zhuǎn)換成ASCII碼,依次存放到外部RAM2300H開始的單元中。(注:每個(gè)單元均先轉(zhuǎn)換高四位)解:LENEQU20HADDR1EQU20HADDR2EQU2300HORG0LJMPSTARTORG30HSTART:MOVR0,#ADDR1MOVDPTR,#ADDR2MOVR2,#LENLOOP:MOVA,@R0ANLA,#0F0HSWAPAORLA,#30H( 或ADDA,#30H)MOVX@DPTR,AINCDPTRMOVA,@R0ANLA,#0FHORLA,#30H( 或ADDA,#30H)MOVX@DPTR,AINCDPTRINCR0DJNZR2,LOOPSJMP$END評(píng)分辦法:程序設(shè)計(jì)思路正確可得 5分,指令完全寫對(duì)可得10分。不要求使用偽指令。若僅寫對(duì)少量指令,可酌情給1-3分;若僅有少量指令寫錯(cuò),可酌情扣 1-3分。15、將存放在內(nèi)部RAM30H-35H單元的十六進(jìn)制數(shù)轉(zhuǎn)換成相應(yīng)的 ASCII碼,依次存放到外部1100H開始的單元區(qū)中。(注:每個(gè)字節(jié)轉(zhuǎn)換時(shí)先轉(zhuǎn)換高四位)RAM解:ORG0RAMMOVMOVMOVR0,#30HDPTR,#1100HR2,#6LOOP:MOVA,@R0 ;取需要轉(zhuǎn)換的數(shù)ANLA,#0F0H ;屏敝低4位SWAPAPUSHDPHPUSHDPL ;保護(hù)目的地址MOVDPTR,#TABMOVCA,@A+DPTR;查表得ASCII碼POPDPLPOPDPH ;恢復(fù)目的地址MOVX@DPTR,A ;存轉(zhuǎn)換后的ASCII碼INCDPTR ;修改目的地址指針MOVA,@R0 ;取需要轉(zhuǎn)換的數(shù)ANLA,#0FH ;屏蔽高4位PUSHDPHPUSHDPL ;保護(hù)目的地址MOVDPTR,#TABMOVCA,@A+DPTR;查表得ASCII碼POPDPLPOPDPH ;恢復(fù)目的地址MOVX@DPTR,AINCDPTR ;修改目的地址指針I(yè)NCR0 ;修改源地址指針DJNZR2,LOOP ;未轉(zhuǎn)換完則繼續(xù)SJMP$TABDB'0123456789ABCDEFEND評(píng)分辦法:程序設(shè)計(jì)思路正確可得5分,指令完全寫對(duì)可得10分。若僅寫對(duì)少量指令,可酌情給1-3分;若僅有少量指令寫錯(cuò),可酌情扣 1-3分。16、內(nèi)部RAM30H開始的單兀中存放著16個(gè)0-9的ASCII碼(高位字節(jié)在前),請(qǐng)將其轉(zhuǎn)換為壓縮BCD碼(咼位在前)并存入外部RAM1000H開始的單元中。解: ORG0MOVR0,#30HMOVDPTR,#1000HMOVR2,#8 ;16個(gè)ASCII碼轉(zhuǎn)換為8個(gè)壓縮BCD碼LOOP:MOVA,@R0ANLA,#0FH;屏蔽咼4位得到BCD碼SWAPAMOVR1,AINCRO ;指向下一個(gè)ASCII碼MOVA,@R0ANLA,#0FH;屏蔽咼4位得到BCD碼ORLA,R1;合成壓縮BCD碼MOVX@DPTR,A;存壓縮BCD碼INCDPTRINCR0DJNZR2,LOOPSJMP$END評(píng)分辦法:程序設(shè)計(jì)思路正確可得5分,指令完全寫對(duì)可得10分。若僅寫對(duì)少量指令,可酌情給1-3分;若僅有少量指令寫錯(cuò),可酌情扣 1-3分。17、設(shè)有兩個(gè)長度為16字節(jié)的一維數(shù)組(數(shù)組的每個(gè)兀素為1個(gè)字節(jié)),分別存放在外部RAM0200H和0300H為首址的存儲(chǔ)區(qū)域中,試編與程序求其對(duì)應(yīng)項(xiàng)之和(不考慮溢出的情況),結(jié)果存放在以0400H為首址的外部RAM中。解: 參考程序清單如下:ORG0MOVR2,#16 ;數(shù)組長度為16個(gè)字節(jié)MOVR3,#02H ;數(shù)組1的首地址高8位MOVR4,#03H ;數(shù)組2的首地址高8位MOVR5,#04H ;和數(shù)組的首地址高8位MOVDPL,#0;數(shù)據(jù)指針低8位清零LOOP: MOVDPH,R3第6頁MOVXA,@DPTR;取被加數(shù)MOVR1,A ;存被加數(shù)MOVDPH,R4MOVXA,@DPTR;取加數(shù)ADDA,R1 ;求和MOVDPH,R5MOVX@DPTR,A;存和INCDPL ;指向下一字節(jié)DJNZR2,LOOP;未加完則循環(huán)END評(píng)分辦法::程序設(shè)計(jì)思路正確可得5分,指令完全寫對(duì)可得10分。若僅寫對(duì)少量指令,可酌情給1-3分;若僅有少量指令寫錯(cuò),可酌情扣 1-3分。18、編程求內(nèi)部RAM中40HH4FH共16個(gè)單元中的內(nèi)容的和(結(jié)果為2字節(jié)),并將和放入50H和5伯單元中(高8位在50H)。解:參考程序清單如下:ORG0LJMPORGSTART30HSTART:MOVR0,#40H ;數(shù)據(jù)區(qū)首地址送R0MOVR2,#165單元數(shù)送R2MOVR3,#0 ;和的高8位清零CLRA ;和的低8位清零LOOP:CLRCADDA,@R0 ;求和JNCNEXT ;沒有進(jìn)位則轉(zhuǎn)移INCR3 ;和的高8位存儲(chǔ)單兀內(nèi)容加1NEXT:INCR05指向下一個(gè)單兀DJNZR2,LOOP5沒加完則循環(huán),和在 R3和A中MOV51H,A :1存低8位結(jié)果MOV50H,R35存咼8位結(jié)果SJMP$END評(píng)分辦法:程序設(shè)計(jì)思路正確可得 5分,指令完全寫對(duì)可得10分。若僅寫對(duì)少量指令,可酌情給1-3分;若僅有少量指令寫錯(cuò),可酌情扣 1-3分。19、有一個(gè)長度為16字節(jié)的ASCII碼字符串存放在外部RAM1000H為首址的存儲(chǔ)區(qū)域中,字符串中的每一個(gè)字符均不相同,試編寫程序查找字符串中是否存在 ASCII碼“9”。如果在字符串中存在ASCII共27頁ORG0MOVORG0MOVR0,#37HMOVR1,#47HMOVR2,#8CLRCLOOP:MOVA,@R0SUBBA,@R1MOV@R0,ADECR0DECR1值。ORG0MOVDPTR,#2000HMOVXA,@DPTR;取數(shù)據(jù)塊的第一個(gè)數(shù)MOV30H,A ;存入結(jié)果單元22、設(shè)外部RAM2000H單元為數(shù)據(jù)塊的起始地址,數(shù)據(jù)塊長度為 10,試編程求數(shù)據(jù)塊中的最小值,存入內(nèi)部RAM30H單元。解:設(shè)計(jì)思路:將數(shù)據(jù)塊的第1個(gè)數(shù)據(jù)放入結(jié)果單元,然后依次與剩余的 9個(gè)數(shù)據(jù)進(jìn)行比較。如果新的數(shù)據(jù)比結(jié)果單元中的數(shù)據(jù)還小則將該數(shù)據(jù)存入結(jié)果單元, 9次比較完成則結(jié)果單元中的數(shù)據(jù)就是最小碼“9”,則將其存儲(chǔ)單元的地址存放到內(nèi)部 RAM30H和31H單元中(高8位地址在30H單元中),同時(shí)將0V標(biāo)志位清零。否則,將30H和31H單元的內(nèi)容清零,并將0V標(biāo)志位置“1”。解:ORG0MOVSP,#60HMOVDPTR,#1000HMOVR2,#16LOOP:MOVXA,@DPTRCJNEA,#39H,EXITMOV30H,DPHMOV31H,DPLCLROVSJMP$EXIT:INCDPTRDJNZR2,LOOPMOV30H,#0MOV31H,#0SETBOVSJMP$END評(píng)分辦法:程序設(shè)計(jì)思路正確可得5分,指令完全寫對(duì)可得10分。若僅寫對(duì)少量指令,可酌情給1-3分;若僅有少量指令寫錯(cuò),可酌情扣 1-3分。20、有兩個(gè)8字節(jié)的16進(jìn)制數(shù)a和b,它們分別存放在內(nèi)部RAM中30H?37H和40H?47H的單元中(高位字節(jié)在前)。請(qǐng)編程求a-b,并將差存入30H開始的內(nèi)部RAM單元中(高位字節(jié)在前)。若差小于零則將F0標(biāo)志位置“1”,否則清零。解:設(shè)計(jì)思路:從16進(jìn)制數(shù)的最低位字節(jié)(37H和47H)開始相應(yīng)字節(jié)帶借位相減,然后修改地址指針在對(duì)次低位字節(jié)進(jìn)行相減, 一共循環(huán)8次完成兩個(gè)8字節(jié)16進(jìn)制數(shù)的相減。最后將Cy標(biāo)志的內(nèi)容傳送給F0標(biāo)志位即可。DJNZR2,L00PMOVF0,CSJMP$END評(píng)分辦法:程序設(shè)計(jì)思路正確可得5分,指令完全寫對(duì)可得10分。若僅寫對(duì)少量指令,可酌情給1-3分;若僅有少量指令寫錯(cuò),可酌情扣 1-3分。21、若外部RAM的(3000H)=X,(3001H)=Y,編程實(shí)現(xiàn)Z=X*X+2Y,并將結(jié)果存到片內(nèi)RAM的40H單元(設(shè)Zv256。解: X EQUl3000HY EQU3001HZ EQU40HORG0MOVDPTR,#X ;變量X的地址送DPTRMOVXA,@DPTR ;取變量XMOVB,A ;變量X的值送給B寄存器MULAB ;求X*X,根據(jù)題意知積為1字節(jié)(在A中)MOVR0,A ;X*X的結(jié)果存入R0中INC【DPTR ;指向變量YMOVXA,@DPTR ;取變量YMOVB,#2MULAB ;求2*Y,根據(jù)題意知積為1字節(jié)(在A中)ADDA,R0 ;求X*X+2*YMOV乙A ;和存入40H單元SJMP$;停機(jī)END評(píng)分辦法:不要求寫出程序的注釋和使用偽指令。程序設(shè)計(jì)思路正確可得 5分,指令完全寫對(duì)可得10分。若僅寫對(duì)少量指令,可酌情給 1-3分;若僅有少量指令寫錯(cuò),可酌情扣 1-3分。MOVR2,#9 ;共比較9次INCDPTR ;指向第2個(gè)數(shù)LOOP:CLRCMOVXA,@DPTRSUBBA,30HJNCLP ;沒有借位則說明結(jié)果單兀的數(shù)小,不用更換最小值MOVXA,@DPTRMOV30H,A ;更換最小值LP: INCDPTR ;指向下一個(gè)數(shù)DJNZR2,LOOP;沒有比較完則繼續(xù)循環(huán)SJMP$;停機(jī)END評(píng)分辦法:不要求寫出程序的注釋。程序設(shè)計(jì)思路正確可得5分,指令完全寫對(duì)可得10分。若僅寫對(duì)少量指令,可酌情給1-3分;若僅有少量指令寫錯(cuò),可酌情扣1-3分。23、若外部RAM的1000H)=X,(1001H)=Y,請(qǐng)編程實(shí)現(xiàn)Z=2X+Y*Y+5(設(shè)Z<65536),并將結(jié)果保存到片內(nèi)RAM的30H和31H單兀(31H單兀存放結(jié)果的高8位,30H單兀存放結(jié)果的低8位)。解: XEQU1000HZHEQU31HZLEQU30HORG0MOVZH,#0 ;結(jié)果單元清零MOVZL,#0MOVDPTR,#1000HMOVXA,@DPTR;取X的值MOVB,#2MULAB ;計(jì)算2XADDA,ZLMOVZL,A ;存結(jié)果低8位MOVA,B ;取乘積咼8位ADDA,ZHMOVZH,A ;存結(jié)果高8位INCDPTR ;指向YMOVXA,@DPTR;取YMOVB,AMULAB ;計(jì)算Y*YADDA,ZL ;計(jì)算結(jié)果低8位MOVZL,A第8頁MOVA,B ;取乘積的咼8位ADDCA,ZH ;計(jì)算結(jié)果高8位,注意必須帶進(jìn)位加MOVZH,AMOVA,ZLADDA,#5 ;計(jì)算結(jié)果加5MOVZL,AMOVZH,A ;存結(jié)果低8位ADDCA,#0 ;將低8位進(jìn)位加到結(jié)果咼8位,注意必須帶進(jìn)位加MOVZH,A ;存結(jié)果高8位END評(píng)分辦法:不要求寫出程序的注釋和使用偽指令。程序設(shè)計(jì)思路正確可得 5分,指令完全寫對(duì)可得10分。若僅寫對(duì)少量指令,可酌情給1-3分;若僅有少量指令寫錯(cuò),可酌情扣 1-3分。24、設(shè)外部RAM1000H單元為數(shù)據(jù)塊的起始地址, 數(shù)據(jù)塊長度為60字節(jié),試編程求數(shù)據(jù)塊中所有數(shù)據(jù)的和,并將其存入內(nèi)部RAM30H和31H單兀(30H單兀存放和的低8位,31H單兀存放和的高8位)。解:ADDREQU100HH ;數(shù)據(jù)塊首地址LENEQU60 ;數(shù)據(jù)塊長度ZHEQU31H ;和的高8位地址ZLEQU30H ;和的低8位地址ORG0MOVDPTR,#ADDR;數(shù)據(jù)塊首地址送DPTRMOVR7,#LEN;數(shù)據(jù)塊長度送R7MOVZH,#0 ;結(jié)果單元清零MOVZL,#0LOOP:MOVXA,@DPTR;取數(shù)據(jù)ADDA,ZL ;將數(shù)據(jù)加到結(jié)果單元的低8位MOVZL,A ;存結(jié)果低8位MOVA,ZH ;取結(jié)果高8位ADDCA,#0 ;將低8位計(jì)算的進(jìn)位加到高8位中MOVZH,A ;存咼8位INCDPTR ;修改地址指針,指向下一個(gè)數(shù)據(jù)DJNZR7,LOOP;沒有計(jì)算完則繼續(xù)SJMP$END評(píng)分辦法:不要求寫出程序的注釋和使用偽指令。程序設(shè)計(jì)思路正確可得 5分,指令完全寫對(duì)可得10分。若僅寫對(duì)少量指令,可酌情給 1-3分;若僅有少量指令寫錯(cuò),可酌情扣 1-3分。共27頁25、若外部25、若外部RAMW(1000H)=X,內(nèi)部RAM(30H)=Y,請(qǐng)編程實(shí)現(xiàn)Z=X*X+3Y+18(設(shè)Z<65536),并將結(jié)果保存到片內(nèi)RAM的40H和41H單元(41H單元存放結(jié)果的高8位,40H單元存放結(jié)果的低8位)。5分,指令完全寫對(duì)可得解: XEQIJ1000HYEQU30HZHEQU41HZLEQU40HORG0MOVZH,#0 ;結(jié)果單元清零MOVZL,#OMOVDPTR,#1000HMOVXA,@DPTR;取X的值MOVB,AMULAB ;計(jì)算X*XADDA,ZLMOVZL,A ;存結(jié)果低8位MOVA,B ;取乘積咼8位ADDA,ZHMOVZH,A ;存結(jié)果高8位MOVXA,Y ;取YMOVB,#3MULAB ;計(jì)算3*YADDA,ZL ;計(jì)算結(jié)果低8位MOVZL,AMOVA,B ;取乘積的咼8位ADDCA,ZH ;計(jì)算結(jié)果高8位,注意必須帶進(jìn)位加MOVZH,AMOVA,ZLADDA,#18 ;計(jì)算結(jié)果加18MOVZL,A ;存結(jié)果低8位MOVA,ZH ;取結(jié)果高8位ADDCA,#0 ;將低8位進(jìn)位加到結(jié)果高8位,注意必須帶進(jìn)位加MOVZH,A ;存結(jié)果高8位END評(píng)分辦法:不要求寫出程序的注釋和使用偽指令。程序設(shè)計(jì)思路正確可得10分。若僅寫對(duì)少量指令,可酌情給 1-3分;若僅有少量指令寫錯(cuò),可酌情扣 1-3分。26、若外部RAM^(1000H)=X,請(qǐng)編程實(shí)現(xiàn)Y=X+2X+1(設(shè)Y<65536),并將結(jié)果保存到片內(nèi) RAM的30H和31H單元(31H單元存放結(jié)果的高8位,30H單元存放結(jié)果的低8位)。解:ORG0MOV30H,#0 ;結(jié)果單元清零MOV31H,#0MOVDPTR,#1000HMOVA,@DPTR ;取X的值MOVB,AMULAB ;求X的平方MOV30H,A ;存低8位MOVA,BMOV31H,A ;存咼8位MOVXA,@DPTR ;取X的值MOVB,#2MOVAB ;求2XADDA,30H ;求低8位和MOV30H,A ;存和的低8位MOVA,B ;取積的高8位ADDCA,31H ;求咼8位和MOV31H,A ;存和的高8位MOVA,30HADDA,#1 ;加1MOV30H,A ;存和的低8位MOVA,31HADDCA,#0 ;和的高8位加上低8位運(yùn)算的進(jìn)位MOV31H,A ;存和的高8位SJMP$;停機(jī)END評(píng)分辦法:不要求寫出程序的注釋。程序設(shè)計(jì)思路正確可得 5分,指令完全寫對(duì)可得 10分。若僅寫對(duì)少量指令,可酌情給1-3分;若僅有少量指令寫錯(cuò),可酌情扣 1-3分。27、設(shè)外部RAM2000H單元為數(shù)據(jù)塊的起始地址,數(shù)據(jù)塊長度為 100字節(jié)。假設(shè)在數(shù)據(jù)塊中存在唯一的一個(gè)ASCII字符“A”試編程找到它,并將其在外部 RAM的存放地址存入內(nèi)部RAM30H和31H單元中(30H單元存放地址的高8位,31H單元存放地址的低8位)。解:ORG0MOVDPTR,#2000H;數(shù)據(jù)塊首地址送DPTRMOVR2,#100 ;數(shù)據(jù)塊長度送R2LOOPMOVXA,@DPTR;取數(shù)據(jù)CJNEA,#41H,NEXT;數(shù)據(jù)不是“A'則轉(zhuǎn)移MOVA,DPHMOV30H,A ;存咼8位地址MOVA,DPLMOV31H,A ;存低8位地址SJMP$;停機(jī)NEXT:INCDPTR ;修改地址指針DJNZR2,LOOP;沒有找到則繼續(xù)SJMP$;停機(jī)評(píng)分辦法:不要求寫出程序的注釋。程序設(shè)計(jì)思路正確可得 5分,指令完全寫對(duì)可得 10分。若僅寫對(duì)少量指令,可酌情給1-3分;若僅有少量指令寫錯(cuò),可酌情扣 1-3分。28、若內(nèi)部只人皿的(20H)=a,外部RAM(1300H)=b,請(qǐng)編程實(shí)現(xiàn)y=a2+b2+5(設(shè)y<65536),并將結(jié)果保存到片內(nèi)RAM的30H和31H單元(31H單元存放結(jié)果的高8位,30H單元存放結(jié)果的低8位)。解:ORG0MOVA,20H ;取aMOVB,AMULAB ;求a2MOV30H,A ;存和的低8位MOVA,BMOV31H,A ;存和的高8位MOVDPTR,#1300HMOVXA,@DPTR;取bMOVB,AMULAB ;求b2ADDA,30H ;求a2+b2MOV30H,AMOVA,BADDCA,31HMOV31H,AMOVA,30HADDA,#5 ;加5MOV30H,AMOVA,31H第10頁ADDCA,#0 ;加上低8位的進(jìn)位MOV31H,ASJMP$;停機(jī)END評(píng)分辦法:不要求寫出程序的注釋。程序設(shè)計(jì)思路正確可得 5分,指令完全寫對(duì)可得 10分。若僅寫對(duì)少量指令,可酌情給1-3分;若僅有少量指令寫錯(cuò),可酌情扣 1-3分。29、若內(nèi)部只人皿的(30H)=X,(31H)=Y,請(qǐng)編程實(shí)現(xiàn)Z=X+5Y(設(shè)Z<65536),并將結(jié)果保存到片外RAM的1000H和1001H單元(1001H單元存放結(jié)果的高8位,1000H單元存放結(jié)果的低8位)。解: ORG0MOVDPTR,#1000H;結(jié)果地址指針賦值MOVA,30H ;取XMOVB,AMULAB ;求X2MOVX@DPTR,A;存X2低8位INCDPTR ;指向結(jié)果單兀咼8位MOVA,BMOVX@DPTR,A;2存X高8位DECDPL ;指向結(jié)果單元低8位MOVA,31H ;取YMOVB,#5MULAB ;求5YMOVR0,AMOVXA,@DPTRADDA,R0 ;2求X+5Y的低8位和MOVX@DPTR,A;存X2+5Y的低8位和INCDPTR ;指向結(jié)果單兀咼8位MOVXA,@DPTR;取結(jié)果單兀咼8位ADDCA,B ;求X2+5Y的高8位和(注意加上低8位的進(jìn)位)MOVX@DPTR,A;存X2+5Y的高8位和SJMP$;停機(jī)END評(píng)分辦法:不要求寫出程序的注釋。程序設(shè)計(jì)思路正確可得5分,指令完全寫對(duì)可得10分。若僅寫對(duì)少量指令,可酌情給 1-3分;若僅有少量指令寫錯(cuò),可酌情扣1-3分。30、設(shè)內(nèi)部RAM20H單元為數(shù)據(jù)塊的起始地址,數(shù)據(jù)塊長度為32字節(jié)。請(qǐng)將整個(gè)數(shù)據(jù)塊求和(共32字節(jié)的數(shù)據(jù)求和,設(shè)和小于65536),并把和存入外部RAM1000H和1001H的單兀中(和的高8位存入1001H單元)。共27頁解:ORG0MOVR0,#20H ;數(shù)據(jù)塊首地址送R0MOVR2,#32 ;數(shù)據(jù)塊長度送R2CLRA ;累加器清零MOVDPTR,#1000H;指向和的低8位MOVX@DPTR,A;和的低8位清零INCDPTR ;指向和的高8位MOVX@DPTR,A;和的高8位清零DECDPL ;指向和的低8位LOOP:MOVA,@R0 ;取數(shù)據(jù)MOVR1,A ;暫存在R1MOVXA,@DPTR;取和的低8位ADDA,R1 ;求和MOVX@DPTR,A;存和的低8位INCDPTR ;指向和的高8位MOVXA,@DPTR;取和的高8位ADDCA,#0 ;將和的低8位的進(jìn)位加到高8位中MOVX@DPTR,A;存和的高8位DECDPL ;指向和的低8位INCRO ;數(shù)據(jù)塊指針加1DJNZR2,LOOP;沒有加完則循環(huán)SJMP$;停機(jī)END評(píng)分辦法:不要求寫出程序的注釋。程序設(shè)計(jì)思路正確可得5分,指令完全寫對(duì)可得10分。若僅寫對(duì)少量指令,可酌情給1-3分;若僅有少量指令寫錯(cuò),可酌情扣1-3分。31、若內(nèi)部RAMW(20H)=a,(21H)=b,請(qǐng)編程實(shí)現(xiàn)y=a2+b2(設(shè)y<65536),并將結(jié)果保存到片外RAM勺2000H和2001H單元(2001H單元存放結(jié)果的高8位,2000H單元存放結(jié)果的低8位)。解:ORG0MOVDPTR,#2000H;結(jié)果單元低8位地址送DPTRMOVA,20H ;取a的值MOVB,AMULAB ;求a2MOVX@DPTR,A ;存a2低8位MOVA,BINCDPTR ;指向結(jié)果單兀咼8位MOVX@DPTR,A ;存結(jié)果高8位DECDPL ;指向結(jié)果單元低8位MOVA,21H ;取b的值MOVB,AMULAB ;求b2MOVR0,A ;暫存b2的低8位MOVXA,@DPTR ;取結(jié)果低8位ADDA,R0 ;求低8位的和MOVX@DPTR,A ;存結(jié)果低8位INCDPTR ;指向結(jié)果單兀咼8位MOVXA,@DPTR ;取結(jié)果高8位ADDCA,B ;加上b2的高8位和低8位求和的進(jìn)位MOVX@DPTR,A ;存結(jié)果高8位SJMP$;停機(jī)END評(píng)分辦法:不要求寫出程序的注釋,也不要求使用子程序。程序設(shè)計(jì)思路正確可得對(duì)可得10分。若僅寫對(duì)少量指令,可酌情給1-3分;若僅有少量指令寫錯(cuò),可酌情扣32、將內(nèi)部RAM40H為起始地址的32個(gè)連續(xù)單元中的十六進(jìn)制數(shù)轉(zhuǎn)換成5分,指令完全寫1-3分。ASCH碼存入外部RAM3000H開始的存儲(chǔ)單元中。解: ORG0MOVR0,#40H ;源數(shù)據(jù)塊首地址送R0MOVR2,#32 ;數(shù)據(jù)塊長度送R2MOVDPTR,#3000H;目的數(shù)據(jù)塊首地址送DPTRLOOP:MOVA,@R0 ;取待轉(zhuǎn)換數(shù)據(jù)ANLA,#0F0H ;取咼四位數(shù)據(jù)SWAPA ;高低四位數(shù)據(jù)交換PUSHDPH ;保護(hù)目標(biāo)地址指針PUSHDPLMOVDPTR,#TAB;數(shù)據(jù)指針指向表格首地址MOVCA,@A+DPTR;查表得到ASCII碼POPDPL ;恢復(fù)目標(biāo)地址指針POPDPHMOVX@DPTR,A;存轉(zhuǎn)換結(jié)果INCDPTR ;指向下一個(gè)存儲(chǔ)單元MOVA,@R0 ;取待轉(zhuǎn)換數(shù)據(jù)ANLA,#0FH;取低四位數(shù)據(jù)PUSHDPH ;保護(hù)目標(biāo)地址指針PUSHDPLMOVDPTR,#TAB;數(shù)據(jù)指針指向表格首地址MOVCA,@A+DPTR;查表得到ASCII碼POPDPL ;恢復(fù)目標(biāo)地址指針POPDPHMOVX@DPTR,A;存轉(zhuǎn)換結(jié)果INCDPTR ;指向下一個(gè)存儲(chǔ)單兀INCR0 ;指向下一個(gè)待轉(zhuǎn)換數(shù)據(jù)DJNZR2,LOOP;沒有轉(zhuǎn)換完則繼續(xù)SJMP$;停機(jī)TAB:DB'0123456789ABCDEFEND評(píng)分辦法:不要求寫出程序的注釋。程序設(shè)計(jì)思路正確可得 5分,指令完全寫對(duì)可得10分。若僅寫對(duì)少量指令,可酌情給1-3分;若僅有少量指令寫錯(cuò),可酌情扣 1-3分。33、設(shè)內(nèi)部RAM20H單元為數(shù)據(jù)塊的起始地址,數(shù)據(jù)塊長度為 10H,數(shù)據(jù)為8位無符號(hào)數(shù),試編程找出數(shù)據(jù)塊中的最小值,并將其存入 40H單元。解:ORG0MOVR0,#20H ;數(shù)據(jù)區(qū)首地址送R0MOVR2,#10H ;數(shù)據(jù)塊長度送R2MOV40H,#0FFH ;結(jié)果單兀送入最大值LOOP:MOVA,@R0 ;取數(shù)據(jù)CLRC ;清進(jìn)位SUBBA,40H ;利用減法判斷該數(shù)據(jù)是否比最小值單元的數(shù)???JNCNEXT ;如果沒有借位說明待比較數(shù)據(jù)比最小值單兀的值大則轉(zhuǎn)移MOVA,@R0 ;取最小值MOV40H,A ;存最小值NEXT:INCR0 ;修改地址指針DJNZR2,LOOP;沒有比較完則繼續(xù)比較。SJMP$;停機(jī)END評(píng)分辦法:不要求寫出程序的注釋。程序設(shè)計(jì)思路正確可得 5分,指令完全寫對(duì)可得10分。若僅寫對(duì)少量指令,可酌情給1-3分;若僅有少量指令寫錯(cuò),可酌情扣 1-3分。34、比較兩個(gè)等長ASCII碼字符串是否相等。字符串長度存放在內(nèi)部 RAM2FH單元,兩字符串分別存放在內(nèi)部RAM30H和40H開始的單元中。如果兩個(gè)字符串相等,則 CY=1,否則,CY=0解:ORG0MOVR0,#30H ; 第一個(gè)字符串首地址送R0MOVR1,#40H ;第二個(gè)字符串首地址送 R1MOVR2,2FH ;取字符串長度LOOP:MOVA,@R0 ;取第一個(gè)字符串的字符CLRCSUBBA,@R1 ;比較兩個(gè)字符是否相等JNZSTOP ;結(jié)果不為零說明兩個(gè)字符串不相等INCR0 ;修改地址指針I(yè)NCR1DJNZR2,LOOP;沒有比較完則繼續(xù)SETBC ;比較完,置兩字符串相等標(biāo)志SJMP$;停機(jī)STOP:CLRC ;兩字符串不相等,清進(jìn)位標(biāo)志SJMP$;停機(jī)END評(píng)分辦法:不要求寫出程序的注釋。程序設(shè)計(jì)思路正確可得 5分,指令完全寫對(duì)可得 10分。若僅寫對(duì)少量指令,可酌情給1-3分;若僅有少量指令寫錯(cuò),可酌情扣 1-3分。35、將MCS5吶部RAM60H?65H單元存放的12個(gè)16進(jìn)制數(shù)變?yōu)锳SCII碼,存放到0100H單元開始的外部RAM中。解: ADDR1EQU60HADDR2EQU0100HLENEQU6ORG0MOVR0,#ADDR1;待轉(zhuǎn)換數(shù)據(jù)首地址送R0MOVDPTR,#ADDR2;轉(zhuǎn)換后ASCII碼存放首地址送DPTRMOVR2,#LEN;原數(shù)據(jù)長度送R2LOOP:MOVA,@R0 ;取待轉(zhuǎn)換數(shù)據(jù)ANLA,#0FH ;取待轉(zhuǎn)換數(shù)據(jù)低四位PUSHDPH ;保護(hù)目的區(qū)地址指針PUSHDPLMOVDPTR,#TAB;碼表首地址送DPTRMOVCA,@A+DPTR;查表POPDPL ;恢復(fù)目的區(qū)地址指針POPDPHMOVX@DPTR,A;存轉(zhuǎn)換好的ASCII碼INCDPTR ;目的地址加1MOVA,@R0 ;取待轉(zhuǎn)換數(shù)據(jù)SWAPA ;高低四位交換
ANLA,#OFH;PUSHDPH ;PUSHDPLMOVDPTR,#TABMOVCA,@A+DPTRPOPDPL;POPDPHMOVX@DPTR,AINCDPTR;INCRO;取待轉(zhuǎn)換高四位數(shù)據(jù)保護(hù)目的區(qū)地址指針碼表首地址送DPTR取待轉(zhuǎn)換高四位數(shù)據(jù)保護(hù)目的區(qū)地址指針碼表首地址送DPTR查表恢復(fù)目的區(qū)地址指針存轉(zhuǎn)換好的ASCII碼目的地址加1原地址指針加1DJNZR2,LOOPSJMP$ ;TAB:DBEND0123456789ABCDEF評(píng)分辦法:不要求使用偽指令,也不要求寫出程序的注釋。程序設(shè)計(jì)中也可以先轉(zhuǎn)換高四位。程序設(shè)
計(jì)思路正確可得5分,指令完全寫對(duì)可得 10分。若僅寫對(duì)少量指令,可酌情給 1-3分;若僅有少量指令寫錯(cuò),可酌情扣1-3分。5分,指令完全寫對(duì)可得 10分。若僅寫對(duì)1-3分。36、將片外數(shù)據(jù)存儲(chǔ)器的2500H單元與5分,指令完全寫對(duì)可得 10分。若僅寫對(duì)1-3分。單元中,即(2500H)+(2501H)t(2503H)(2502H)。解:ORG0MOVDPTR,#2500H;指向被加數(shù)MOVXA,@DPTR;取被加數(shù)MOVR0,A ;存被加數(shù)INCDPTR ;指向加數(shù)MOVXA,@DPTR;取加數(shù)ADDA,R0 ;求和DAA ;十進(jìn)制調(diào)整INCDPTR ;指向和的低8位MOVX@DPTR,A;存和的低8位INCDPTR ;指向和的高8位ADDCA,#0 ;計(jì)算和的高8位MOVX@DPTR,A;存和的高8位SJMP$;停機(jī)END評(píng)分辦法:要求寫出程序的注釋。程序設(shè)計(jì)思路正確可得少量指令,可酌情給1-3分;若僅有少量指令寫錯(cuò),可酌情扣
37、設(shè)單片機(jī)的晶體震蕩頻率為 12MHz利用定時(shí)器T0編程由P1.2輸出周期為10ms的方波。(要求:T0工作在方式1下,采用中斷方式工作)解:周期為10ms則半周期為5ms,因此T0的定時(shí)初值為65536—5000/1=60536=0EC78HORG0LJMPSTARTORG000BHLJMPTSORG30HSTART:MOVTMOD,#01HMOVTH0,#0ECHMOVTL0,#78HSETBET0SETBTR0SETBEACLRP1.2SJMP$TS:CLRTR0MOVTH0,#0ECHMOVTL0,#78HSETBTR0CPLP1.2RETIEND評(píng)分辦法:不要求寫出程序的注釋。 T0的方式控制字寫對(duì)和定時(shí)初值計(jì)算正確可各得 1分;程序設(shè)計(jì)思路正確可得4分,指令完全寫對(duì)可得滿分(10分)。若少量指令寫錯(cuò)可酌情扣 1-2分;若僅寫出少量指令可酌情給1-2分。38、已知8051單片機(jī)應(yīng)用系統(tǒng)的晶體振蕩頻率為 12MHz請(qǐng)利用定時(shí)器T0實(shí)現(xiàn)在P1.0引腳上輸出周期為100mS的方波。(要求:采用中斷方式, T0工作在方式1下)解:輸出方波周期為100mS故半周期為50mS因此T0的定時(shí)初值是65536-50000/1=15536=3CB0HORG0HLJMPSTARTORG000BHLJMPTSORG30HSTART:MOVTMOD,#01HMOVTH0,#3CHMOVTL0,#0B0HSETBET0SETBTR0SETBEACLRP1.2SJMP$TS:CLRTR0MOVTH0,#3CHMOVTL0,#0B0HSETBTR0CPLP1.2RETIEND評(píng)分辦法:不要求寫出程序的注釋。T0的方式控制字寫對(duì)和定時(shí)初值計(jì)算正確可各得 1分;程序設(shè)計(jì)思路正確可得4分,指令完全寫對(duì)可得滿分(10分)。若少量指令寫錯(cuò)可酌情扣1-2分;若僅寫出少量指令可酌情給1-2分。39、設(shè)8031單片機(jī)應(yīng)用系統(tǒng)的晶振頻率為 12MHz請(qǐng)利用T0在P1.0和P1.1弓I腳上輸出頻率為20Hz、互補(bǔ)(兩個(gè)波形互為反相)的方波。要求:采用中斷方式, T0工作在方式1。解:輸出頻率為20Hz,則周期為1/20=50mS半周期為50/2=25mST0的定時(shí)初值為:65536-25000/1=40536=9E58HORG0HLJMPSTARTORG000BHLJMPTSORG30HSTART:MOVTMOD,#01H ;T0設(shè)定為定時(shí)器,工作方式 1MOVTH0,#9EHMOVTL0,#58HSETBET0SETBEASETBTR0CLRP1.0SETBP1.1SJMP$TS :CLRTR0MOVTH0,#9EHMOVTL0,#58H第14頁SETBTR0CPLP1.0CPLP1.1RETIEND評(píng)分辦法:不要求寫出程序的注釋。T0的方式控制字寫對(duì)和定時(shí)初值計(jì)算正確可各得 1分;程序設(shè)計(jì)思路正確可得4分,指令完全寫對(duì)可得滿分(10分)。若少量指令寫錯(cuò)可酌情扣1-2分;若僅寫出少量指令可酌情給1-2分。40、8031單片機(jī)應(yīng)用系統(tǒng)的晶體振蕩器頻率為 12MHz請(qǐng)利用定時(shí)器T0編程實(shí)現(xiàn)在P1.7引腳輸出頻率為20Hz的方波。要求:采用中斷方式, T0工作在方式1下。20Hz方波的周期是1/20=50mS則其半周期為50/2=25mST0的定時(shí)初值為:65536-25000*12/12=40536=9E58HORG0HLJMPSTARTORG000BHLJMPTSORG30HSTART:MOVTMOD,#01H ;T0設(shè)定為定時(shí)器,工作方式1MOVTH0,#9EHMOVTL0,#58HSETBET0SETBEASETBTR0SJMP$TS :CLRTR0MOVTH0,#9EHMOVTL0,#58HSETBTR0RETIEND評(píng)分辦法:不要求寫出程序的注釋。T0的方式控制字寫對(duì)和定時(shí)初值計(jì)算正確可各得 1分;程序設(shè)計(jì)思路正確可得4分,指令完全寫對(duì)可得滿分(10分)。若少量指令寫錯(cuò)可酌情扣1-2分;若僅寫出少量指令可酌情給1-2分。41、設(shè)單片機(jī)的晶體振蕩頻率為 12MHz利用定時(shí)器T0編程由P1.0和P1.1輸出周期為10ms互補(bǔ)(互為反相)的方波。(要求:T0工作在方式1下,采用中斷方式工作)解:周期為10ms則半周期為5ms,因此T0的定時(shí)初值為65536—5000*12/12=60536=0EC78H共27頁ORG0LJMPSTARTORG000BHLJMPTSORG30HSTART:MOVTMOD,#01HMOVTH0,#0ECHMOVTL0,#78HSETBET0SETBTR0SETBEACLRP1.0SETBP1.1SJMP$TS :CLRTR0MOVTH0,#0ECHMOVTL0,#78HSETBTR0CPLP1.0CPLP1.1RETIEND評(píng)分辦法:不要求寫出程序的注釋。T0的方式控制字寫對(duì)和定時(shí)初值計(jì)算正確可各得1分;程序設(shè)計(jì)思路正確可得4分,指令完全寫對(duì)可得滿分(10分)。若少量指令寫錯(cuò)可酌情扣 1-2分;若僅寫出少量指令可酌情給1-2分。42、已知8051單片機(jī)應(yīng)用系統(tǒng)的晶體振蕩頻率為 12MHz請(qǐng)利用定時(shí)器T1實(shí)現(xiàn)在P1.0和P1.1引腳上輸出互補(bǔ)(互為反相)的周期為 100mS的方波。(要求:采用中斷方式, T1工作在方式1下)解:輸出方波周期為100mS故半周期為50mS因此T1的定時(shí)初值是65536-50000*12/12=15536=3CB0HORG0HLJMPSTARTORG001BHLJMPTSORG30HSTART:MOVTMOD,#10H (或#1XH)MOVTH1,#3CHMOVTL1,#0B0HSETBET1SETBTR1SETBEACLRP1.0SETBP1.1SJMP$TS:CLRTR1MOVTH1,#3CHMOVTL1,#0B0HSETBTR1CPLP1.0CPLP1.1RETIEND評(píng)分辦法:不要求寫出程序的注釋。 T1的方式控制字寫對(duì)和定時(shí)初值計(jì)算正確可各得1分;程序設(shè)計(jì)思路正確可得4分,指令完全寫對(duì)可得滿分(10分)。若少量指令寫錯(cuò)可酌情扣 1-2分;若僅寫出少量指令可酌情給1-2分。43、設(shè)8031單片機(jī)應(yīng)用系統(tǒng)的晶振頻率為 12MHz請(qǐng)利用T0在P1.0引腳上輸出頻率為20Hz的方波。要求:采用中斷方式, T0工作在方式1。解:輸出頻率為20Hz,則周期為1/20=50ms半周期為50/2=25msT0的定時(shí)初值為:65536-25000*12/12=40536=9E58HORG0HLJMPSTARTORG000BHLJMPTSORG30HSTART:MOVTMOD,#01H ;T0設(shè)定為定時(shí)器,工作方式1MOVTH0,#9EHMOVTL0,#58HSETBET0SETBEASETBTR0CLRP1.0SJMP$TS :CLRTR0MOVTH0,#9EHMOVTL0,#58H
SETBTROCPLP1.0RETIEND評(píng)分辦法:不要求寫出程序的注釋。TO的方式控制字寫對(duì)和定時(shí)初值計(jì)算正確可各得 1分;程序設(shè)計(jì)思路正確可得4分,指令完全寫對(duì)可得滿分(10分)。若少量指令寫錯(cuò)可酌情扣1-2分;若僅寫出少量指令可酌情給1-2分。44、8031單片機(jī)應(yīng)用系統(tǒng)的晶體振蕩器頻率為 12MHz請(qǐng)利用定時(shí)器T1編程實(shí)現(xiàn)在P1.6和P1.7引腳輸出互補(bǔ)(互為反相)的、頻率為 20Hz的方波。要求:采用中斷方式, T1工作在方式1下。解:20Hz方波的周期是1/20=50ms,則其半周期為50/2=25msT1的定時(shí)初值為:65536-25000/1=40536=9E58HORG0HLJMPSTARTORG001BHLJMPTSORG30HSTART:MOVTMOD,#10H ;T1設(shè)定為定時(shí)器,工作方式1MOVTH1,#9EHMOVTL1,#58HSETBET1SETBEACLRP1.6SETBP1.7SETBTR1SJMP$TS :CLRTR1MOVTH1,#9EHMOVTL1,#58HSETBTR1CPLP1.6CPLP1.7RETIEND評(píng)分辦法:不要求寫出程序的注釋。T1的方式控制字寫對(duì)和定時(shí)初值計(jì)算正確可各得 1分;程序設(shè)計(jì)思路正確可得4分,指令完全寫對(duì)可得滿分(10分)。若少量指令寫錯(cuò)可酌情扣1-2分;若僅寫出少量指令可酌情給1-2分。45、設(shè)單片機(jī)的晶體振蕩頻率為 6MHz利用定時(shí)器T1編程由P1.6和P1.7輸出周期為500卩s、互補(bǔ)(互為反相)的方波。(要求:T1工作在方式2下,采用中斷方式工作)解:T1定時(shí)器的初值=256-6*250/12=13仁83HORG0LJMPSTARTORG1BHLJMPTSORG30HSTART: MOV TMOD,#20HMOVTH1,#131MOVTL1,#131SETBET1SETBEA(SETBTR1CLRP1.6SETBP1.7SJMP$TS: CPLP1.6CPLP1.7或MOVIE,#88H)或MOVIE,#88H)END評(píng)分辦法:寫對(duì)定時(shí)器方式字和初值各給僅寫出少量指令,可酌情給 1-3分。1分,設(shè)計(jì)思路正確給4分,程序編制正確可得滿分。若46、已知8051單片機(jī)應(yīng)用系統(tǒng)的晶體振蕩頻率為 12MHz請(qǐng)利用定時(shí)器T1實(shí)現(xiàn)在P1.0和1分,設(shè)計(jì)思路正確給4分,程序編制正確可得滿分。若上輸出互補(bǔ)(互為反相)的周期為 2ms的方波。(要求:采用中斷方式, T1工作在方式2下)解:半周期=1ms。方式2定時(shí)設(shè)定為250卩s,其初值=256-250*12/12=6。只要T1中斷4次計(jì)數(shù)即為1ms。ORG0LJMPSTARTORG1BHLJMPTSORG30HSTART:MOVTMOD,#20HMOVTH1,#6MOVTL1,#6SETBET1SETBEASETBTROCLRP1.0SETBP1.1MOVR2,#4SJMP$TS: DJNZR2,TS1MOVR2,#4CPLP1.0CPLP1.1TS1:RETIEND評(píng)分辦法:寫對(duì)定時(shí)器方式字和初值各給 1分,設(shè)計(jì)思路正確給4分,程序編制正確可得滿分。 若僅寫出少量指令,可酌情給 1-3分。47、設(shè)8031單片機(jī)應(yīng)用系統(tǒng)的晶振頻率為 12MHz請(qǐng)利用T1在P1.0引腳上輸出頻率為1Hz的方波。要求:采用中斷方式,T1工作在方式1。解:1Hz方波的周期為1s,半周期為500ms??刹捎肨1定時(shí)50ms并對(duì)中斷計(jì)數(shù)10次來實(shí)現(xiàn)500ms定時(shí)。50ms定時(shí)初值=65536—50000*12/12=15536=3CB0HORG0LJMPSTARTORG1BHLJMPTSORG30HMOVTMOD,#10HMOVTH1,#3CHMOVTL1,#0B0HSETBET1SETBEA( 或MOVIE,#88H)MOVR2,#10CLRP1.0SETBTR1SJMP$TS:CLRTR1MOVTH1,#3CHMOVTL1,#0B0HSETBTR1DJNZR2,TS1第17頁MOVR2,#10CPLP1.0TS1:RETI評(píng)分辦法:寫對(duì)定時(shí)器方式字和初值各給 1分,設(shè)計(jì)思路正確給4分,程序編制正確可得滿分。若僅寫出少量指令,可酌情給 1-3分。48、8051單片機(jī)應(yīng)用系統(tǒng)的晶體振蕩器頻率為 6MHz請(qǐng)利用定時(shí)器T1編程實(shí)現(xiàn)在P1.0和P1.1弓I腳輸出互補(bǔ)(互為反相)的、頻率為 20Hz的方波。要求:采用中斷方式, T1工作在方式2下。解:20Hz方波的半周期為25msT1的0.5ms定時(shí)初值=256—500*6/12=6ORG0LJMPSTARTORG1BHLJMPTSORG30HSTART:MOVTMOD,#20HMOVTH1,#6MOVTL1,#6MOVR2,#50;50*0.5ms=25msCLRP1.0SETBP1.1SETBET1SETBEA;( 或MOVIE,#88H)SETBTR1SJMP$TS:DJNZR2,TS1MOVR2,#50CPLP1.0CPLP1.1TS1:RETI評(píng)分辦法:寫對(duì)定時(shí)器方式字和初值各給 1分,設(shè)計(jì)思路正確給4分,程序編制正確可得滿分。若僅寫出少量指令,可酌情給 1-3分。49、8751單片機(jī)應(yīng)用系統(tǒng)的晶體振蕩器頻率為 12MHz請(qǐng)利用定時(shí)器T0編程實(shí)現(xiàn)在P1.7引腳輸出頻率為20Hz的方波。要求:采用中斷方式, T0工作在方式1下。解:20Hz方波的周期是1/20=0.05s=50ms,則半周期為25ms共27頁25ms將P1.7取反即可得到20Hz的方波。的定時(shí)初值=65536-25000*12/12=40536=9E58H因此只要每隔T0ORG0LJMPSTARTORG0BHLJMPTSORG30HSTART:MOVTMOD,#01H;MOVTH0,#9EHMOVTL0,#58HCLRP1.7SETBET0SETBEA(SETBTR0 ;SJMP$TS:CLRTR05MOVTH0,#9EHMOVTL0,#58HSETBTR0 ;CPLP1.7RETI設(shè)定T0為定時(shí)器,方式1或兩條指令合并為MOVIE,#82H)啟動(dòng)T0定時(shí)停止T0定時(shí)啟動(dòng)T0定時(shí)ENDMOVTL1,#58HCLRP1.0SETBP1.1SETBET1SETBEA(或兩條指令合并為MOVIE,#88H)SETBTR1 ;啟動(dòng)T1定時(shí)SJMP$CLRTR15停止T1定時(shí)MOVTH1,#9EHTS:MOVSETBCPLCPLRETITL1,#58HTR1P1.0P1.1啟動(dòng)T1定時(shí)END評(píng)分辦法:T1的方式字和定時(shí)初值寫對(duì)可各得1分;程序設(shè)計(jì)思路正確可得4分,指令完全寫對(duì)可得滿分(10分)。在中斷服務(wù)程序中可以省略T1的停止與啟動(dòng)指令。若少量指令寫錯(cuò)可酌情扣 1-2分;若僅寫出少量指令可酌情給1-2分。評(píng)分辦法:T0的方式字和定時(shí)初值寫對(duì)可各得1分;程序設(shè)計(jì)思路正確可得4分,指令完全寫對(duì)可得滿分(10分)。在中斷服務(wù)程序中可以省略T0的停止與啟動(dòng)指令。若少量指令寫錯(cuò)可酌情扣 1-2分;若僅寫出少量指令可酌情給1-2分。51、已知8051單片機(jī)應(yīng)用系統(tǒng)的晶體振蕩頻率為12MHz請(qǐng)利用定時(shí)器T0實(shí)現(xiàn)在P1.0引腳上輸出頻率為2kHz的方波。(要求:采用中斷方式, T0工作在方式2下)解:2kHz方波的周期是1/2000=0.5ms=500卩s,則半周期為250卩s。因此只要每隔250卩s將P1.0取反即可得到互補(bǔ)的2kHz方波。50、設(shè)8051單片機(jī)應(yīng)用系統(tǒng)的晶振頻率為 12MHz請(qǐng)利用T1在P1.0和P1.1弓I腳上輸出頻率為20Hz、互補(bǔ)(兩個(gè)波形互為反相)的方波。要求:采用中斷方式, T1工作在方式1。解:20Hz方波的周期是1/20=0.05s=50ms,則半周期為25m&因此只要每隔25ms將P1.0和P1.1取反即可得到互補(bǔ)的20Hz方波。T1的定時(shí)初值=65536-25000*12/12=40536=9E58HORG0LJMPSTARTORG1BHLJMPTSORG30HSTART:MOVTMOD,#10H; 設(shè)定T1為定時(shí)器,方式1MOVTH1,#9EHT0的定時(shí)初值=256-250*12/12=6ORG0LJMPSTARTORG0BHLJMPTSORG30HSTART:MOVTMOD,#02H;設(shè)定T0為定時(shí)器,MOVTH0,#6MOVTL0,#6CLRP1.0SETBET0SETBEA (或兩條指令合并為SETBTR0 ;啟動(dòng)T0定時(shí)SJMP$TS:CPLP1.0方式2MOVIE,#82H)RETIEND評(píng)分辦法:T0方式字和定時(shí)初值寫對(duì)可各得 1分;程序設(shè)計(jì)思路正確可得4分,指令完全寫對(duì)可得滿分(10分)。若少量指令寫錯(cuò)可酌情扣 1-2分;若僅寫出少量指令可酌情給 1-2分。定時(shí)100ms中斷,對(duì)T0中斷計(jì)5次實(shí)現(xiàn)500ms定時(shí)。T0的定時(shí)初值為65536—100000*6/12=15536=03CBCH參考程序清單如下:ORG0LJMPSTARTORG0BHLJMPTSORG0LJMPSTARTORG0BHLJMPTSORG30HSTART:MOVTMOD,#01H;設(shè)定T0為定時(shí)器,方式1MOVTH0,#3CHMOVTL0,#0B0H;50ms定時(shí)初值送T0MOVR2,#10 ;中斷10次SETBET0SETBEA ;(或兩條指令合并為MOVIE,#82H)SETBTR0 ;啟動(dòng)定時(shí)SJMP$;等待中斷TS:CLRTR0MOVTH0,#3CHMOVTL0,#0B0H;50ms定時(shí)初值送T0SETBTR0DJNZR2,NEXTMOVR2,#10CPLP1.052、設(shè)單片機(jī)的晶體振蕩頻率為 12MHz利用定時(shí)器T0編程由P1.0輸出周期為1秒的方波。(要求:T0工作在方式1下,采用中斷方式工作)解:周期為1秒的方波只需要每隔0.5秒將P1.0取反即可。將T0設(shè)定為50ms定時(shí)中斷,中斷10次即是0.5秒,這時(shí)將P1.0取反即可。T0的定時(shí)初值=65536—50000*12/12=15536=3CB0HNEXT:RETIEND評(píng)分辦法:T0的方式字和定時(shí)初值寫對(duì)可各得 1分;程序設(shè)計(jì)思路正確可得 4分,指令完全寫對(duì)可得滿分(10分)。若少量指令寫錯(cuò)可酌情扣 1-2分;若僅寫出少量指令可酌情給 1-2分。53、設(shè)單片機(jī)的晶體振蕩頻率為 6MHz利用定時(shí)器T0編程由P1.0和P1.1輸出周期為1s、互補(bǔ)(互為反相)的方波。(要求:T0工作在方式1下,采用中斷方式工作)解:周期為1s則半周期為500ms,只需要每隔500ms將P1.0和P1.1的輸出取反即可??梢岳?T0ORG30HSTART:MOVTMOD,#01HMOVTH0,#03CHMOVTL0,#0B0HMOVR2,#5 ;SETBET0SETBTR0SETBEACLRP1.0SETBP1.1SJMP$TS:CLRTR0;MOVTH0,#03CHMOVTL0,#0B0HSETBTR0;DJNZR2,TS1MOVR2,#5 ;CPLP1.0CPLP1.1TS1:RETIEND中斷5次為500ms該指令可以省略該指令可以省略恢復(fù)中斷次數(shù)初值評(píng)分辦法:T0方式字和定時(shí)初值寫對(duì)可各得 1分;程序設(shè)計(jì)思路正確可得 4分,指令完全寫對(duì)可得滿分(10分)。若少量指令寫錯(cuò)可酌情扣 1-2分;若僅寫出少量指令可酌情給 1-2分。54、8031單片機(jī)應(yīng)用系統(tǒng)的晶體振蕩器頻率為 6MHz請(qǐng)利用定時(shí)器T0編程實(shí)現(xiàn)在P1.0引腳輸出頻率為0.1Hz的方波。要求:采用中斷方式, T0工作在方式1下。解:0.伯z方波的周期是1/0.1=10s,則其半周期為10/2=5s,每5s將P1.0取反即可??梢岳肨0定時(shí)100ms中斷,對(duì)100ms中斷計(jì)50次即可實(shí)現(xiàn)5s定時(shí)。T0的定時(shí)初值為:65536-100000*6/12=15536=3CBCH參考程序清單如下:ORG0HLJMPSTARTORG000BHLJMPTSORG30HSTART:MOVTMOD,#01HMOVTH0,#3CHMOVTL0,#0B0HMOVR2,#32HSETBET0SETBEASETBTR0SJMP$TS:CLRTR0 ;MOVTH0,#3CHMOVTL0,#0B0HSETBTR0 ;DJNZR2,NEXTMOVR2,#32HCPLP1.0NEXT:RETI設(shè)定為定時(shí)器,工作方式 1此指令可以省略此令可以省略END評(píng)分辦法:T0方式字和定時(shí)初值寫對(duì)可各得1分;程序設(shè)計(jì)思路正確可得4分,指令完全寫對(duì)可得滿分(10分)。若少量指令寫錯(cuò)可酌情扣 1-2分;若僅寫出少量指令可酌情給 1-2分。55、設(shè)單片機(jī)的晶體振蕩頻率為 3MHz利用定時(shí)器T0編程由P1.6和P1.7輸出周期為10s、互補(bǔ)(互為反相)的方波。(要求:T0工作在方式1下,采用中斷方式工作)解:方波周期是10秒,只需要每隔5秒將P1.6和P1.7取反即可。用T0產(chǎn)生100ms定時(shí)中斷,對(duì)該中斷計(jì)50次即可得到5秒定時(shí)。T0的定時(shí)初值=65536—100000X3-12=40536=9E58HORG0LJMPSTARTORG0BHLJMPTSORG30HSTART:MOVSP,#60HMOVTMOD,#01HMOVTH0,#9EHMOVTL0,#58HSETBET0SETBEACLRP1.6MOVR2,#32H(或MOVR2,#50)SETBTR0SJMP$TS:MOVTH0,#9EHMOVTL0,#58HDJNZR2,TS1MOVR2,#32H(或MOVR2,#50)CPLP1.6CPLP1.7TS1:RETIEND評(píng)分辦法:T0方式字和定時(shí)初值寫對(duì)可各得 1分;程序設(shè)計(jì)思路正確可得 4分,指令完全寫對(duì)可得滿分(10分)。若少量指令寫錯(cuò)可酌情扣 1-2分;若僅寫出少量指令可酌情給 1-2分。56、89C51單片機(jī)應(yīng)用系統(tǒng)的晶體振蕩器頻率為 12MHz請(qǐng)利用定時(shí)器T1編程實(shí)現(xiàn)在P1.0引腳輸出頻率為2Hz的方波。要求:T1采用中斷方式工作,工作在方式 1下。解:2Hz方波其周期為0.5秒,只需要每隔0.25秒將P1.0取反即可。T1在12MHz晶振下定時(shí)時(shí)間最大為65.536ms,因此只需要50ms定時(shí)中斷,然后對(duì)中斷計(jì)5次即可實(shí)現(xiàn)0.25秒定時(shí)。T1的50ms定時(shí)初值為:65536—50000X12-12=15536=3CB0H程序清單如下:ORG0LJMPSTARTORG1BHLJMPTSORG30HSTART:MOV SP,#60HMOVTMOD,#10HMOVTH1,#3CHMOVTL1,#0B0HSETBET1SETBEAMOVR2,#5SETBTR1SJMP$T1T1的方式控制字和定時(shí)初值寫對(duì)可各得 1分;程10分)。若少量指令寫錯(cuò)可酌情扣 1-2分;若僅寫出TS:MOVTH1,#3CHMOVTL1,#0B0HDJNZR2,TS1MOVR2,#5CPLP1.0TS1:RETIEND評(píng)分辦法:T1的方式字和定時(shí)初值寫對(duì)可各得 1分;程序設(shè)計(jì)思路正確可得 4分,指令完全寫對(duì)可得滿分(10分)。若少量指令寫錯(cuò)可酌情扣 1-2分;若僅寫出少量指令可酌情給 1-2分。57、設(shè)單片機(jī)的晶體振蕩頻率為12MHzP1.0接有一個(gè)共陰極驅(qū)動(dòng)方式連接的發(fā)光二極管。 現(xiàn)要求利用定時(shí)器T1編程使該發(fā)光二極管每10秒鐘點(diǎn)亮一次,每次點(diǎn)亮?xí)r間為1秒。(要求:T1工作在方式1下,采用中斷方式工作,在中斷服務(wù)程序中控制發(fā)光二極管的亮與滅)解:共陰極驅(qū)動(dòng)的發(fā)光二極管需要高電平點(diǎn)亮,故當(dāng) P1.0為1時(shí)發(fā)光二極管點(diǎn)亮。由于一個(gè)周期為10秒,因此需要一個(gè)1秒鐘的定時(shí),同時(shí)需要一個(gè)閃爍標(biāo)志位來表明 LED的亮與滅。T1的定時(shí)時(shí)間選擇50ms,這樣中斷20次即為1秒鐘,其定時(shí)初值為:65536 —50000*12/12=15536=3CB0HFLASH1 BIT00H ;LED亮與火的標(biāo)志,“1”表示亮ORG0LJMPSTARTORG1BHLJMPTSORG30HSTART:MOV TMOD,#10H;設(shè)定T1為定時(shí)器,方式1MOVTH1,#3CHMOVTL1,#0B0HMOVR2,#20 ;中斷20次為1秒MOVR3,#9 ;LED熄滅的時(shí)間為9秒SETBET1 ;允許T1中斷SETBEA ;開中斷SETBFLASHSETBP1.0 ;點(diǎn)亮LEDSETBTR1 ;啟動(dòng)計(jì)數(shù)SJMP$TS:MOVTH1,#3CHMOVTL1,#0B0HDJNZR2,TS2 ;沒到1秒鐘則返回MOVR2,#20JBFLASH,TS1;若LED亮則轉(zhuǎn)移DJNZR3,TS2 ;沒到9秒鐘則返回MOVR3,#9SETBP1.0 ;點(diǎn)亮LEDSETBFLASHSJMPTS2TS1:CLRP1.0 ;1秒到,熄滅LEDCLRFLASHTS2:RETIEND評(píng)分辦法:不要求寫出程序的注釋和使用偽指令。序設(shè)計(jì)思路正確可得4分,指令完全寫對(duì)可得滿分(少量指令可酌情給1-2分。58、89C51單片機(jī)應(yīng)用系統(tǒng)的晶體振蕩器頻率為 6MHz單片機(jī)的P1.7引腳接有一個(gè)共陽極驅(qū)動(dòng)方式連接的發(fā)光二極管,請(qǐng)利用定時(shí)器 T0編程實(shí)現(xiàn)使該發(fā)光二極管點(diǎn)亮 1秒鐘,熄滅1秒鐘的循環(huán)。(要求:T0采用中斷方式工作,工作在方式 1下,在中斷服務(wù)程序中控制發(fā)光二極管的亮與滅。 )解:由于LED是亮與滅的時(shí)間均為 1秒,故需要一個(gè)1秒的定時(shí)程序??梢岳?T0定時(shí)100ms(或50ms)中斷10次(或20次)來實(shí)現(xiàn)1秒的定時(shí)。T0的定時(shí)初值為:65536 —100000*6/12=15536=3CB0H(或65536—50000*6/12=40536=9E58HORG0LJMPSTARTORG0BHLJMPTSSTART:MOV TMOD,#15設(shè)T0為定時(shí)器,方式1MOVTH0,#3CH;100ms定時(shí)初值MOVTL0,#0B0HSETBET0SETBEAMOVR2,#10 ;中斷10次為1秒SETBTR0SJMP$TS:MOVTH0,#3CH;100ms定時(shí)初值MOVTL0,#0B0HDJNZR2,TS1 ;1秒沒到則返回MOVR2,#10 ;1秒鐘中斷次數(shù)送R2CPLP1.7 ;改變LED的狀態(tài)
TS1:RETIEND評(píng)分辦法:不要求寫出程序的注釋。T0方式字和定時(shí)初值計(jì)算正確可各得1分;程序設(shè)計(jì)思路正確可得4分,指令完全寫對(duì)可
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年高職有色金屬材料(合金制備)試題及答案
- 2025-2030熱水器產(chǎn)業(yè)運(yùn)行態(tài)勢(shì)分析及未來銷售規(guī)模預(yù)測(cè)研究報(bào)告
- 扶余市2024-2025學(xué)年第一學(xué)期六年級(jí)英語期末學(xué)業(yè)展示考試題目及答案
- 人力資源管理的趨勢(shì)與創(chuàng)新
- 2025至2030中國長租公寓資產(chǎn)證券化路徑與租金收益率測(cè)算研究報(bào)告
- 2025至2030中國寵物食品行業(yè)消費(fèi)行為與品牌戰(zhàn)略研究報(bào)告
- 2025-2030汽車零部件制造業(yè)發(fā)展現(xiàn)狀深度研討及行業(yè)變革趨勢(shì)研究報(bào)告
- 2025-2030汽車輪胎制造業(yè)材料研究與市場(chǎng)質(zhì)量分析
- 2025-2030汽車維修保養(yǎng)行業(yè)市場(chǎng)生態(tài)平衡分析連鎖經(jīng)營模式建議
- 2025-2030汽車電子手剎系統(tǒng)技術(shù)政策與終端消費(fèi)者購買意愿市場(chǎng)動(dòng)態(tài)分析報(bào)告
- 物理學(xué)科組長年終工作總結(jié)
- 子宮肌瘤超聲表現(xiàn)課件
- 2025年公安招聘輔警考試筆試題庫(含答案)
- 山東省濰坊市部分縣市2024-2025學(xué)年高一下學(xué)期期中質(zhì)量監(jiān)測(cè)歷史試題(解析版)
- 2025至2030中國HPLC系統(tǒng)和配件行業(yè)項(xiàng)目調(diào)研及市場(chǎng)前景預(yù)測(cè)評(píng)估報(bào)告
- GB 46034-2025公眾聚集場(chǎng)所投入使用營業(yè)消防安全檢查規(guī)則
- 監(jiān)理歸檔資料培訓(xùn)課件
- 消防監(jiān)督檢查課件
- 2025年保安服務(wù)行業(yè)研究報(bào)告及未來發(fā)展趨勢(shì)預(yù)測(cè)
- GB/T 9754-2025色漆和清漆20°、60°和85°光澤的測(cè)定
- 運(yùn)輸合同轉(zhuǎn)包協(xié)議書范本
評(píng)論
0/150
提交評(píng)論