




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、班級:機電4 班學號:312010080307415 姓名:李建軍第5、6、7、8章習題一、問答題1說明51單片機讀端口鎖存器的必要性,為什么?答:讀鎖存器是為了避免直接讀端口引腳時,收到外部電路的干擾,而產生的誤讀現象。2請說明為什么使用LED需要接限流電阻,當高電平為+5V時,正常點亮一個LED需要多大阻值的限流電阻(設LED的正常工作電流為8mA,導通壓降為0.6V),為什么?答:因為LED導通時,電壓降是固定的(0.6V)。為了使LED既能正常工作(電流為10mA),又不至于被過大的電流損壞,所以必須加一個限流電阻。3簡述在使用普通按鍵的時候,為什么要進行去抖動處理,如何處理。答:延時
2、處理即可,按鍵抖動會影響到是否真實按鍵。4簡述LED數碼管動態掃描的原理及其實現方式。答:LED分為共陰和共陽,他們由二極管組成,只有滿足壓差的時候,相應的二極管便會亮,利用不同的組合,從而實現對相應數字的輸出。5為什么51單片機在讀口的引腳狀態時,許先向端口寫“1”,請用圖5-1 P1結構圖加以說明。鎖存器DCPQQP1.x讀鎖存器寫鎖存器內部總線讀引腳內部上拉電阻圖5-1 P1口結構圖21V1VCC答:只有先向端口寫1,那么輸出Q非端輸出為0,場效應管V1斷開這時P1.x輸出為1,讀引腳才有效,否則P1.x輸處為0,無法實現對高電平的讀取。5簡述89c51各IO口的驅動能力。答:P0口能驅
3、動8個LSTTL負載,P1、P2、P3都能驅動四個LSTTL負載。6什么是中斷?中斷與子程序最本質的區別?答:中斷是指計算機在執行程序的過程中,當出現異常情況或者特殊情況時,計算機停止現行程序的運行,自動轉向對這些異常情況或者特殊請求的處理,處理結果后再返回現行程序的間斷處,執行原程序。中斷是是隨機的,而子程序是預先設定好的。7編制中斷服務程序時,為什么在主程序的初始化程序中,必須設置EA1 這條指令(或達到同樣功能的對IE賦值的指令),以及在中斷服務程序中為什么通常需要保護現場和恢復現場?答:只有當總中斷允許控制位為1時,EI中的某項中為1時對應的中斷才會被允許。8單片機89C51有哪些中斷
4、源,CPU對其中斷如何請求?答:單片機89C51的5個中斷源分別為 INT0 、 INT1 、 T0 、T1 以及 TXD/RXD 。9簡述單片機89C51中斷的自然優先級順序,如何提高某一中斷源的優先級別。答:中斷源(控制位) 自然優先級外部中斷0最 高定時器/計數器0溢出中斷外部中斷1定時器/計數器1溢出中斷串行口中斷最 低若某幾個控制位為1,則相應的中斷源就規定為高級中斷;反之,若某幾個控制位為0,則相應的中斷源就規定為低級中斷。當同時接收到幾個同一優先級的中斷請求時,響應哪個中斷源則取決于內部硬件查詢順序(即自然優先級)。10簡述51系列單片機中斷響應的條件。答:有中斷源發出中斷請求;
5、中斷總允許位EA=1,即CPU開中斷;申請中斷的中斷源的中斷允許位為1,即中斷沒有屏蔽;無同級或更高級中斷正在被服務;當前的指令周期已經結束;若現在指令為RETI或者是訪問IE或IP指令,則該指令以及緊接著的另一條指令已執行完。11用匯編語言編程時,在51系列單片機執行中斷服務程序的指令較多時,為什么一般都要在入口地址(又稱中斷矢量地址)開始的地方放一條跳轉指令?答:中斷服務程序較長,可以在此處安排一條跳轉指令跳刀另一個地址位置編寫中斷服務程序。12為什么一般都把主程序的起始地址放在0030H之后?答:因為中斷服務的地址一般處在的范圍時0003H0023H,所以在編寫程序的時候要避免主程序與中
6、斷服務程序地址混淆,主程序習慣上從0030H開始。13中斷服務子程序返回指令RETI和普通子程序返回指令RET的區別?答:RETI是中斷服務程序結束標記,CPU在執行完這條指令后,把響應中斷時所在位置的優先級狀態觸發器清零,然后從堆棧中彈出頂上的兩個字節送到程序寄存器PC,CPU從原來中斷處執行被中斷的程序,RET雖然也能控制PC返回原來的中斷地址,但是RET沒有清零優先級狀態觸發器,中斷系統會認為中斷仍在進行,其結果是此同級的中斷請求將不會被響應。14簡述51單片機定時/計數器4種工作模式的特點。答:方式0為13位定時/計數器,THx(x為0或者1)全部8位和TLx低5位(TLx的高3位無效
7、)組成13位加1計數器。方式1為16位定時/計數器。方式2為8位自動重裝定時/計數器,在程序初始化時,TLx和THx由軟件賦予相同的初值,一旦TLx計數溢出,TFx將被置位,同時THx的計數初值自動裝入TLx,從而進入新一輪計數,如此循環。方式3為T0分為兩個獨立的8位C/T;T1停用,TH0作為另一個定時/計數器,占用原定時/計數器T1的控制位TF1和TR1,同時占用了T1的中斷資源,其啟動和關閉受TR1置1或清零控制。TH0只能對機器周期進行計數,因此,TH0只能用作簡單的內部定時,不能對外部脈沖進行計數。TH0是定時器T0附加的8為定時器。因為定時/計數器T1的控制位被占用,為避免沖突,
8、當T0工作在方式3時,T1一定不要用在有中斷的場合,但能以8位的方式工作在方式0、1、2。15定時/計數器用作定時器時,其計數脈沖由誰提供?定時時間與哪些因素有關?答:定時/計數器作為計數器時,計數脈沖來自外部輸入引腳T0或者T1,每次下降沿來臨計數一次。定時時間與單片機采用的晶振有關。16畫出51單片機計數/定時器方式1的邏輯結構框圖,說明它們的工作原理,如何使用門控和非門控啟動計數的方法。答:C/T=0時,計數器對機器周期計數,為定時器,當它為1時,多路開關盒Tx聯通,計數器對外部脈沖計數,下降沿來臨計數1,此時為計數器。GATE為門控制,當它為1時,TRx=1時,控制權由INTx決定,它
9、為1時計數啟動。當GATE=0;此時控制權由TRx決定,當TRx=1時計數啟動。定時器從初值看是計數直到溢出,溢出時,16位加計數器為0,TFx置位,并申請中斷。17在使用8051的定時器/計數器前,應對它進行初始化,其步驟是什么?答: (1)確定T/C的工作方式即對編程TMOD寄存器; (2)計算T/C中的計數初值,并裝載到TH和TL; (3)T/C在中斷方式工作時,須開CPU中斷源中斷即編程IE寄存器; (4)啟動定時器/計數器編程TCON中TR1或TR0位。18在有串行通信時,定時器/計數器1的作用是什么,怎樣確定串行口的波特率?答:在有串行通信時,定時器/計數器1的作用是串行口發生器。
10、串行口的波特率根據串行口的工作方式具有不同的計算方式:方式0的波特率固定為晶體振蕩器的十二分之一;方式1的波特率=2SMOD.(定時器1的溢出率)/32;方式2波特率=2SMOD.(fosc/64); 方式3波特率同方式1(定時器l作波特率發生器)。19簡述89C51串口通信的四種方式及其特點。答:方式0是同步移位寄存器方式,幀格式8位,波特率固定:fosc/12;方式1是8位異步通信方式,幀格式10位,波特率可變:T1溢出率/n(n=32或16);方式2是9位異步通信方式,幀格式樣11位,波特率固定:fosc/n(n=64或32);方式3是9位異
11、步通信方式,幀格式11位,波特率可變:T1溢出率/n(n=32或16);方式1,2,3的區別方要表現在幀格式及波特率兩個方面.方式1與方式2幀格式相同波特率不同:方式1波特率可變與T1溢出率有關;方式2波特率固定.方式1與方式3波特率相同幀格式不同:方式1幀格式10位;方式3幀格式11位.方式1,2,3通信過程完全相同,均為異步通信方式.20單片機的串口可以與PC的串口直接連接進行通訊嗎?為什么?應如何連接?單片機與PC的串行接口圖答21試敘述利用SM2控制位進行多級通訊的過程?答:SM2:多機通信控制位。多機通信是工作于方式2和方式3,SM2位主要用于方式2和方式3。接收狀態,當串行口工作于
12、方式2或3,以及SM2=1時,只有當接收到第9位數據(RB8)為1時,才把接收到的前8位數據送入SBUF,且置位RI發出中斷申請,否則會將接受到的數據放棄。當SM2=0時,就不管第9位數據是0還是1,都會將數據送入SBUF,并發出中斷申請。工作于方式0時,SM2必須為0。22RS485總線有何特點?答:RS485采用差分信號負邏輯,+0.2V+6V表示“0”,- 6V- 0.2V表示“1”。RS485有兩線制和四線制兩種接線,四線制只能實現點對點的通信方式,現很少采用,現在多采用的是兩線制接線方式,這種接線方式為總線式拓樸結構在同一總線上最多可以掛接32個結點。23. 簡述LCM1602的主要
13、顯示性能。答:LCM1602顯示2行,每行16個字符。顯示的字符需存入DDRAM。24.如何用軟件消除鍵盤的抖動?答:延時處理。25如何確定LED數碼顯示器的段碼?答:用萬能表測下就能知道。26段碼表數組變量一定要放在CODE存儲區嗎?放在其它存儲區會減少程序的代碼嗎?答:不一定,不會。二、選擇題1. 89c51單片機在晶振12MHz時,計數器對外部脈沖最大計數頻率為_C_。 A. 12MHz B. 1MHz C. 0.5MHz D. 6MHz2. 89c51外接晶振頻率為6MHz,其計數器允許輸入外部脈沖的最高頻為 A 。 A. 0.25MHz B. 1MHz C. 6MHz D. 12MH
14、z 3. 下列幾種中斷優先級的次序中, B為可實現的次序。 A. ,T1, ,T0,串口 B. 串口,T0,,T1, C. ,T0,T1,串口 D. 串口,,T1,T04. 各中斷源發出的中斷請求信號,都會標記在MCS-51中的 B 中。 (A)TMOD (B) TCON、SCON (C) IE (D) IP6下面哪一種僅適用于定時器T0(D)。A.方式0 B.方式1 C.方式2 D.方式37下列說法正確的是 C A、 各中斷發出的中斷請求信號,都會標記在MCS51系統的IE寄存器中。B、 各中斷發出的中斷請求信號,都會標記在MCS51系統的IP寄存器中。C、 各中斷發出的中斷請求信號,都會標
15、記在MCS51系統的TCON與SCON寄存器中。D、 各中斷發出的中斷請求信號,都會標記在MCS51系統的TMOD寄存器中。8在MCS51中,需要外加電路實現中斷撤除的是: A A、電平方式的外部中斷 B、定時中斷 C、外部串行中斷 D、跳變方式的外部中斷9下列說法
16、正確的是 A A、 特殊功能寄存器PCON,與定時器/計數器的控制無關。B、 特殊功能寄存器TMOD,與定時器/計數器的控制無關。C、 特殊功能寄存器IE, 與定時器/計數器的控制無關。D、 特殊功能寄存器TCON,與定時器/計數器的控制無關。10下列說法中不正確的是 A A、 同一級別的中斷請求按時間的先后順序響應。B、 同級中斷不能嵌套。C、 低優先級中斷請求不能中斷高優先級中斷請求,但是高優先級中斷請求能中斷低優先級中斷請求。D、 同一時間同一級別的多中斷請求,將形成阻塞,系統無法響應。三、填空題1. 89c51有 5 個中斷源,可分為 5 個優先
17、級。上電復位時 TX0 中斷源的優先級別最高。2當單片機接到外設的中斷申請時,單片機響應中斷,單片機將暫停主程序的執行,轉去執行 中斷 程序,執行完 中斷程序 ,再執行 主 程序。389c51單片機的中斷源有: 外部中斷0請求 , 外部中斷1請求 , 定時、計數器T0中斷請求 , 定時、計數器T1中斷請求 , 串行中斷請求 。4閱讀以下程序后填空#include <reg51.h>unsigned char a;void main(void) TMOD=0x02; TL0 =0xd8; TH0 =0xd8; EA=1
18、; ET0=1; TR0=1; while(1); void Timer0() interrupt 1 a+;1)本程序把定時器/計數器 T0 設置成方式 2 。2)本程序執行時,變量a的內容將 溢出時自增 。3)程序在 while(1) 語句處發生中斷,執行完中斷服務程序后,返回到 語句處。4)本程序中斷服務程序的入口地址為000BH 。5)是否可將interrupt 1改為interrupt 3? 不可以 。四、是非題1. MCS-51中的基本型89c51共有五個中斷源,這五個中斷請求源全部來自外部引腳。(×)2. 對MCS-51系列芯片中,當使用內部RAM時,EA引線端應接高電
19、平;而不使用內部RAM時,EA引線端則應接低電平。()3. MCS-51中的89c51單片機P3口的各口線,必須作為第二功能使用。(×)五、編程題1. 在P3.2-P3.4三個引腳上分別接有三個發光二極管,用C51編程實現三個發光二極管依次閃亮,循環不止。電路原理圖如圖5-2所示。圖5-3 LED循環閃爍程序框圖圖5-2 LED循環閃爍原理圖圖解:#include ”reg51.h”Sbit LED1=P32;Sbit LED1=P33;Sbit LED1=P34;Void delayms(unsigned int x)Unsigned char j;While(x-)For (j=
20、0;j<113;j+);Void main(void)While(1)LED1=0;LED2=1;LED3=1;delayms(1000);LED1=1;LED2=0;LED3=1;delayms(1000);LED1=1;LED2=1;LED3=0;delayms(1000);2電路原理圖如圖5-4。編寫程序LED顯示00,每秒鐘加1,至99,如此循環不止。圖5-4 兩位LED數碼管靜態顯示解:#include<reg51.h>#define uchar unsigned char#define uint unsigned intUchar code dispcode=0x
21、c0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff;Void delayms(uint x)Unchar j;While(x-)For (j=0;j<113;j+);Void main(void)Uchar num=0;While(1)P1=dispcodenum/10;P3=dispcodenum%10;Delayms(1000);Num+;If(num>99) num=0;3設計一動態顯示4位8段LED數碼管的電路原理圖,并編寫程序顯示“5678”。圖5-6 4位LED動態顯示解:7根據圖5-7的電路原理,設計一個獨立式鍵盤
22、管理程序,在檢測到鍵按下時,點亮對應的LED。鍵閉合時,采用軟件延時消抖的處理,鍵釋放時不加消抖動處理。圖5-7解:#ifndef _KEY_H_#define _KEY_H_#include<reg51.h>#define uchar unsigned char#define UP 0x01#define DOWN 0x02#define ENTER 0X03Sbit UP_key=P10;Sbit DOWN_key=P11;Sbit ENTER_key=P12;Void delayms(unsigned int x)Unchar j;While(x-)For(j=0;j<
23、113;j+);Unchar KeyScanNUM(void)Unchar key=0;UP_key=1;DOWN_key=1;ENTER_key=1;If(UP_key=0)delayms(10);if(UP_key=0) key=UP;else key=0;If(DOWN_key=0)delayms(10);if(DOWN_key=0) key=DOWN;else key=0;If(ENTER_key=0)delayms(10);if(ENTER_key=0) key=ENTER;else key=0;Return key;#endif 39 8根據圖5-8所示電路,(1)編寫LED(09
24、)的段碼;(2)設計一個程序,開機后LED顯示0,以后每按一次鍵,顯示的數字加1,顯示9后,再回到0,并照此循環。圖5-8解:9用Proteus設計一個4x4的鍵盤,一位7段LED數碼管顯示的電路,編寫程序將按鍵的編碼顯示出來(0F)。圖5-9解:10利用51單片機的定時器和中斷方式,在共陽極的兩個LED上顯示0099(每次增加1秒)反復循環的秒鐘。請設計電路原理圖和程序。解:#include<reg51.h>#define uchar unsigned char#define uint unsigned intUchar code dispcode=0xc0,0xf9,0xa4,
25、0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff;Void delayms(uint x)Unchar j;While(x-)For (j=0;j<113;j+);Void main(void)Uchar num=0;While(1)P2=dispcodenum/10;P3=dispcodenum%10;Delayms(1000);Num+;If(num>99) num=0;11如圖5-11,編寫程序,每次按鍵使外部中斷0產生中斷,在中斷服務程序中使外接發光二極管LED改變一次亮滅狀態。解:程序如下: 5V INT0 P1.05V圖5.11 原理圖#i
26、nclude<reg51.h>Sbit P1_0=P10;Void main(void)IT0=1;EA=1;EX0=1;While(1);Void int0(void) interrupt 0P1_0=P10;12如圖5.12,已知MCS-51單片機系統晶振頻率為12MHz,試編寫程序,用定時器T0,工作方式2,使P1.0引腳輸出如下周期方波。0.1ms 0.1ms 圖5.12 方波圖解:#include<reg51.h>Sbit P1_0=P10;Void main(void)TMOD=0x02;TL0=0x9c;THO=0x9c;EA=1;ET0=1;While(
27、1); Void timer0() interrupt 1P1_0=P10;13如圖5.13,用P1.0驅動LED亮1秒、滅1秒地閃爍,設晶振頻率為12MHz。解:S為TimeCounterP1.089C51+5V200圖5.13 原理圖圖5.14 定時器例2程序框圖#include<reg51.h>#define unchar unsigned charSbit Led=P10;Unchar TimeCouter=100;Void main(void)TMOD=0x10;TL1=0xf0;TH1=0xd8;EA=1;ET1=1;TR1=1;Led=0While(1); Void Timer1() interrupt 3TL1=0xf0;TH1=0x
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 九年級法治與道德思想政治課程計劃
- 高層建筑外委試驗檢測計劃
- 博士論文撰寫學習計劃
- 大學2024學年度人才培養計劃
- 小學2025年秋季學期德育領導小組計劃
- 幼兒園防震減災科普教育工作計劃
- 小學六年級語文趣味學習復習計劃
- 校企合作計劃書范文
- 2025年跌倒小組校園安全計劃
- 鋼結構廠房施工物資資源配備計劃
- 軟件質量標準與檢驗指南
- DB35T 2192-2024河湖智慧監管體系構建導則
- 無人機課程培訓大綱
- 車間洗手消毒管理制度
- 腹膜透析飲食知識
- 感染性疾病分子診斷試劑行業深度調研及發展戰略咨詢報告
- ISO45001 2024職業健康安全管理體系要求及使用指南
- 音樂劇排練流程
- 高壓電纜故障搶修施工方案
- 2025-2030中國三元乙丙橡膠行業發展趨勢及發展前景研究報告
- 2025年統編版一年級上冊語文識字表字帖
評論
0/150
提交評論