程序題及其答案_第1頁
程序題及其答案_第2頁
程序題及其答案_第3頁
程序題及其答案_第4頁
程序題及其答案_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、1、仔細(xì)閱讀下圖的電氣原理圖,請(qǐng)寫出光 二 極 管 從8個(gè)LED發(fā)光二極管的地址,并寫出程序使8個(gè)發(fā)左 向 右 循 環(huán) 點(diǎn) 亮。67527415373EE 0E47 0*8 ye。H4-=T 5%include <> unsigned char xdata *LEDAD;1918入 U2:aAl U2:B 斗a U/D/一、7404£_i 7404 - % 7404.,7404一 1U1.XTAL1XTAL2P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4-:39.38R37361 fi2 3"4-5RSTPSENALEEAP1.

2、0P1.1P1.2P1.3P1.4P1.5P1.6P1.7P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P22A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INTTP3.4/T0P3.5/T1P3.6/WRP3.7/RD3513433322112223-72T 三 2627T2810iT121314Z55.1617U2:F740480C51數(shù)碼管沒有位驅(qū)動(dòng),建議使用7406進(jìn)行位驅(qū)動(dòng)。#include""table尸0x3f,0x06,0x5b,

3、0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0 x5e,0x79,0x71;int count=99;void delay(int m)int i;for(i=0;i<m;i+ );void Int0() interrupt 0T1作為計(jì)數(shù),記滿1000溢出。答: 1(1) T0 的工作方式 0 時(shí):t ma=213x 1% =213X2us=定時(shí)10ms可達(dá)要求,則X=213-10m%us=213-10000us 2us=3192=C78H=6318H T0 工作在方式 1 時(shí):t ma=216x 12/ =216X2us=fc定

4、時(shí)10ms也可達(dá)要求,則X=216- 10m/=EC78H2usT0 工作在方式 2 或 3 時(shí):t ma)=28x 12/ =28X2us=512us fc定時(shí) 500us,循環(huán) 20 次,X=2 8- 500us/2us=06H(2)方式 0: 213-100=8092=1F9CH=FC1CHX=M- 計(jì)數(shù)值 方式 1: 216-100=FF9CH方式 2 或 3: 28-100=9CH(1) TMOD=0x00;TH0=0x63H;TL0=0x18H;TR0=1;ET0=1;EA=1;(2) TMOD=0x50;TH1=0xffH;TL1=0x9cH;TR1=1;ET1=1;EA=1;8

5、、對(duì)定日器0采用中斷方式編程,晶振頻率為 12 MHz采用方式1計(jì)數(shù),使引腳輸出 周期為4ms的方波,C51源程序如下。1.寫出定時(shí)器0中斷服務(wù)程序 2.主程序中有3個(gè)錯(cuò) 誤,請(qǐng)指出并改正。#include<>sbit P1_1=P1A1; void main(void)TMOD=0x00;TH0= (65536-2000 ) /256 ;TL0=(65536-2000)%256;TF0=0;IE=0X60;while(1); 答: IMTlcase 0x : .; break;default:.;break;10、采用定時(shí)計(jì)數(shù)器T1,設(shè)計(jì)每秒閃爍一次的LED,其中接LED,不畫電

6、路,只需寫出程序(LED共陽極)。#include<>#define uchar unsigned charuchar count;sbit light=P2A0;void main()TMOD=0X10;TH1=(65536-10000*110592/120000)/256;TL1=(65536-10000*110592/120000)%256;ET1=1;EA=1;count=0;TR1=1;while(1);void time1() interrupt 3TH1=(65536-10000*110592/120000)/256;TL1=(65536-10000*110592/1

7、20000)%256;count+;if(count=50) count=0;light=light;11、 試編程對(duì) 8155 進(jìn)行初始化,設(shè) A 口為選通輸出,B 口為選通輸入, C 口作為控制聯(lián)絡(luò)口,并啟動(dòng)定時(shí)器/記數(shù)器按方式1工作,工作時(shí)間為 10ms,定時(shí)器計(jì)數(shù)脈沖頻率為單片機(jī)的時(shí)鐘頻率 24 分頻, fosc=12MHz。解:算得初值=5000 =1388HMOV DPTR,#7F04 ;定時(shí)器低八位寄存器地址 DPTRMOV A,#88H ; 低 8 位初值 AMOVX DPTR,A ;低 8 位初值 低 8 位寄存器INC DPTR ; DPTR旨向定日寸器高 8位MOV A,

8、#13H ;高 8位初值 AMOVX DPTR,A高8位初值 高8位寄存器MOV DPTR,#7F00H; 8155 命令寄存器地址 DPTRMOV A,0C5H ;命令字 AMOVX DPTR,A命令字命令寄存器12、已知如圖,8155的PA 口用于輸出,PB 口用于輸入,PC口用于輸出,請(qǐng):(1) 寫出 8155 的各 I/O 口的口地址和存儲(chǔ)器的地址范圍。(2)編寫出8155初始化程序。B155命令字格式:此出足 FL口地址口名稱CE括而A* A.4心* X H X * m 01xxxxxOOOOlOOH命令口一0 0 10101HPR 口*011*0 i 00LO2HPB 口.0 1

9、I0 110I03HPC 口0 I*1 0 00104HTL 1lJ0 "0105 HTHx X X X X X o 000000000OOOOH 8155*U Gi 1 1 1 1 1 1,OOFFHHAM答:BI55命令字格式:初始化程序:MOV DPTR , #0100HMOV A , #0DHMOVX DPTR , A13、試編程對(duì)8155進(jìn)行初始化,設(shè)A 為選通輸出,B 為選通輸入,C 口作為控制聯(lián)絡(luò)口,并啟動(dòng)定時(shí)器/記數(shù)器按方式1工作,工作時(shí)間為 10ms,定時(shí)器計(jì)數(shù)脈沖頻率為單片機(jī)的時(shí)鐘頻率24分頻,fosc=12MHz。(12分)解:算得初值=5000 =1388HM

10、OV DPTR,#7F04 ; 定時(shí)器低八位寄存器地址DPTR 一MOV A,#88H低8位初值 AMOVX DPTR,A低8位初值 低8位章存器INC DPTR;DPTR旨向定日器高 8位MOV A,#13HMOVX DPTR,A ;高 8 位初值高_(dá)8_寄存器MOV DPTR,#7F00H ; 8155命令寄存器地址DPTRMOV A,0C5H;命令字 AMOVX DPTR,A ;命令字14、應(yīng)用單片機(jī)內(nèi)部定時(shí)器T0工作在方式1下,從輸出周期為2ms的方波脈沖信號(hào),已知單片機(jī)的晶振頻率為 6MHZ請(qǐng)(1)計(jì)算時(shí)間常數(shù) X,應(yīng)用公式X=2=t (f/12)(2)寫出程序清單解:X=216-t

11、(F/12)=216-1*10 -3*6*10 6/12=OFEOCHORG 3000HSTART:MOV TMOD,#01HMOV TL0,#OCHMOV THO,#OFEHSETB TR0LOOP: JBC TFO,DONESJMP LOOPDONE: MOV TL0,#OCHMOV THO,#OFEHCPLSJMP LOOP15、已知一 MCS-51單片機(jī)系統(tǒng)的片內(nèi) RAM20H單元存放了一個(gè) 8位無符號(hào)數(shù)7AH,片外擴(kuò)展RAM勺8000H存放了一個(gè)8位無符號(hào)數(shù)86H,試編程完成以上兩個(gè)單元中的無符號(hào)數(shù)相加,并將和值送往片外 RAM勺01H、00H單元中,同時(shí)將所編寫程序運(yùn)行完成后的數(shù)據(jù)

12、和狀態(tài)添入下表中給出的 PSW勺有關(guān)位以及寄存器 A、DPTM口 RAM單元中。CYADPTR片外01H片外00H片外8000H答:CYADPTR片外01H片外00H片外8000H001H8000H0lH00H86HMOV DPTR , #8000H;加數(shù)單元地址送 DPTRMOVX A , DPTR ;取加數(shù)之一ADD A , 20H;兩數(shù)相加MOV R0 , #00H;和值的低位送片外 00H單元MOVx R0, AINC R0CLR A ;計(jì)算和值的高位ADDC A , #00HMOVx R0, A ;高位送片外 01H單元RET編程要考慮將進(jìn)位位的值作為結(jié)果的一部分取出來。采用其他編程

13、方式也可以,但結(jié)果是不會(huì)改變的,和值=100H16、設(shè)計(jì)一個(gè)2X2行列式鍵盤電路并編寫鍵盤掃描子程序。(20分)解:(1) 2X2行列式鍵盤電路如圖所示。(2)鍵盤掃描子程序:KEY1: ACALL KS1 ;調(diào)用判斷有無鍵按卜子程序JNZ LK1;有鍵按卜,轉(zhuǎn) LK1AJMP KEY1 ;無鍵按卜,返回LK1: ACALL T12MS;調(diào)延時(shí)12ms子程序ACALL KS1;查后無鍵按卜JNZ LK2;若有,則為鍵確實(shí)按下,轉(zhuǎn)逐列掃描AJMP KEY1;無鍵按卜,返回LK2:MOV R4,#00H;首列號(hào) R4 一MOV R2,#FEH;首列掃描字 R2一LK4:MOV A,R2;列掃描字

14、P1MOV P1,A ;使A列線為0MOV A,P1;讀入行狀態(tài)JB ,LONE;第0行無鍵按下,轉(zhuǎn)查A行MOV A,#00H;第0行有鍵按該行首鍵號(hào)#00H AAJMP LKP;轉(zhuǎn)求鍵號(hào)LONE: JB ,NEXT;第,行無鍵按卜,轉(zhuǎn)查卜一列MOV A,#02;第一行有鍵按該行首鍵號(hào)#02 ALKP: ADD A,R4;鍵號(hào)=首行號(hào)+列號(hào)PUSH ACC;鍵號(hào)進(jìn)棧保護(hù)LK3: ACALL KS1;等待鍵釋放JNZ LK3;未釋放,等待POP AC;鍵釋放,鍵號(hào) A一RET;鍵掃描結(jié)束NEXT: INC R4;列號(hào)加1,指向卜一列MOV A,R2;列掃描字 AJNB ,KND;判斷2列全掃描完

15、掃描完,轉(zhuǎn) KNDRLA;沒掃描完,掃描字左移一位,形成下一列掃描字MOVR2,A;掃描字 R2 一AJMPLK4;掃描卜一列AJMPKEY1;全掃描完,返回MOVA,#FCH;全掃描字B AfMOVP1,A;全掃描字所有JMOVA,P1;讀取列值CPLA;取正邏輯,高電平表示有鍵按下ANLA,#0C0H;屏敝低6位,取局2位RET;出口狀態(tài)(A) !=0,有鍵按卜17、編制一個(gè)循環(huán)閃爍燈的程序。有8個(gè)發(fā)光二極管,每次其中某個(gè)燈閃爍點(diǎn)亮10次后轉(zhuǎn)到下一個(gè)閃爍10次,循環(huán)/、止。畫出電路圖。解MOV A,#01H;SHIFT: LCAIL FLASH ;RR ASJMP SHIFTFLASH:

16、MOV R2,#0AHFLASH1; MOV P1,ALCALL DELAYMOV P1,#00HLCALL DELAY燈亮初值調(diào)閃亮10次子程序;右移一位;循環(huán)閃爍10次計(jì)數(shù);點(diǎn)亮;延時(shí);熄滅;延時(shí)DJNZ R2,FLASH1;循環(huán)RET19、蒸汽鍋爐硬件報(bào)警系統(tǒng)如圖2所示,LED4, 3, 2, 1分別為對(duì)應(yīng)液位上限報(bào)警,液位下限報(bào)警,蒸汽壓力上限報(bào)警,蒸汽壓力下限報(bào)警燈。當(dāng)某一限位開關(guān) SL1,SL2,SL3,SL4閉合報(bào)警時(shí),相應(yīng)報(bào)警燈亮。請(qǐng)編程(int0觸發(fā)方式為沿邊觸發(fā))。ORG 0000HAJMP MAIN;上電自動(dòng)轉(zhuǎn)主程序ORG 0003HAJMP ALARM轉(zhuǎn)中斷服務(wù)程序OR

17、G 0200HMAIN: SETB IT0 ;置為邊沿觸發(fā)SETB EX0;允許中斷SETB EA; CPUFF中斷HERE SJMP HERE;等待中斷ORG 0210HALARM MOV A, #0FFH;設(shè) P1 口為輸入口MOV P1, AMOV A, P1;取報(bào)警狀態(tài)SWAP A ; (P174)交換(P130)MOV P1 , A ;輸出報(bào)警信號(hào)9352TWTO二._苴>上幅梃售j.懣料壓力下限假曾上另戲科同上限很笥| I ST' 1S<2.4硬侔推音系統(tǒng)EndRETI20、已知一單片機(jī)應(yīng)用系統(tǒng)如下圖所示。試回答問題并編寫顯示程序,顯示01234567”。74L

18、S244H1554-3 214321 Y?Y?Y ¥5222211114 3 2 14 3 A -A A A A A2 2 2 2 112 1c A .He1 1 u 67 6 5 4-321 口白科口白白白 p _p F p _p p p80C51BBBBBBBB43214321?2222111143214321c 門口AHAA白白 c2 2 2 N1111 u G? 2 3cc c cFPPF ®12J4E67 -E o OBDUB 口 DB - CL76543230E E- E h E- E p E PPPFPPrp26uFHHX:E1MOV R0,#37H1 .寫出

19、各的地址和控制字A 地址:7F01HB 地址:7F02HC 地址:7F03H控制口地址:7F00H控制字:03H2 .顯示程序(參考程序)ORG 0AJMP MAINORG 0BHAJMP TOOORG 30HMAIN:MOV SP,#40HACALL CHUSHIMOV R4,#0FEHMOV DPTR,#7F00HMOV A,#03HMOVX DPTR,AMOV IE,#82HMOV TCON,#10HMOV TMOD,#0HLOOP1:AJMP LOOP1CHUSH:I MOV A,#0HMOV R1,#30HMOV R2,#08HLOOP:MOV R1,AINCAINCR1DJNZ R2,LOOPRETTO0: MOV A,#0HMOV DPT,R #07F02HMOVX DPTR,AMOV A,R4CJNE A,#7FH,LOPMOV R0,#38HLOP:RL AMOV R4,AMOV DPTR,#7F01

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論