Ⅰ 已知,AT89C51單片機晶振為6MHZ,工作於定時方式1,現要求定時10毫秒,請計算數初值(
要求定時 10 000us。
晶振 = 6MHz,機器周期T是 2us。
定時 5000T 即可。
初值:65536 - 5000 = 60536 = EC78H
MOV TMOD, #01H ;T0工作於定時方式1
MOV TH0, #0ECH ;寫初值
MOV TL0, #078H
Ⅱ AT89S51單片機的時鍾周期 ,機器周期,指令周期是如何定義的 就是這三個周期分別是怎麼定義的。
時鍾周期:通常為節拍脈沖或T周期,既主頻的倒數,它是處理操作的最基本的單位。 機器周期:為了便於管理,常把一條指令的執行過程劃分為若干個階段,每一階段完成一項工作。例如,取指令、存儲器讀、存儲器寫等,這每一項工作稱為一個基本操作。完成一個基本操作所需要的時間稱為機器周期。 指令周期:單片機從內存取出一條指令並執行這條指令的時間總和。一般由若干個機器周期組成。
Ⅲ AT89C51單片機流水燈空循環多少次可以延時兩秒
這取決於所使用的晶振頻率,AT89C51的話一個機器周期等於12個振盪周期,如你用12MHz的晶振,則一個機器周期等於1us,這樣的話就用循環空語句的方式產生延時
,至於延時兩秒的話你自己算就行了,不過建議不要用延時的方式,用定時器中斷更好,你慢慢體會吧。
Ⅳ 已知at89s51單片機晶振頻率f=24hz,則其機器周期tcy為多少,如果要求讓定時器ti
首先,晶振是 24MHz,不是 24Hz。其次,標准51單片機,機器周期 T=12/fosc=12/24MHz=0.5μs。
至於題目中的「如果……」那就沒辦法了。
Ⅳ 當AT89C51單片機外接晶振為6MHz時,其震盪周期、狀態時鍾周期、機器周期、指令周期的值各是多少
振盪周期:也稱時鍾周期,是指為單片機提供時鍾信號的振盪源的周期(也叫時鍾周期),當採用6MHz晶振時,一個振盪周期是1/6M秒。
狀態周期:每個狀態周期為時鍾周期的2倍,一個狀態周期為,2/6M秒。
機器周期:一個機器周期包含6個狀態周期,也就是12個時鍾周期,一個狀態周期為12/6M秒。
指令周期:它是指CPU完成一條操作的所需的全部時間。每條指令執行時間都是有一個或幾個機器周期組成。MCS-51系統中,有單周期指令、雙周期指令和四周期指令。
(5)at89c51單片機的機器周期等於擴展閱讀:
微處理器內通過內部匯流排把ALU、計數器、寄存器和控制部分互聯,並通過外部匯流排與外部的存儲器、輸入輸出介面電路聯接。外部匯流排又稱為系統匯流排,分為數據匯流排DB、地址匯流排AB和控制匯流排CB。通過輸入輸出介面電路,實現與各種外圍設備連接。
接外部晶振和微調電容的一端,在片內它是振盪器反相放大器(該放大器構成片內振盪器振盪器的頻率是晶體振盪頻率)和時鍾發生器的輸入端;若使用外部時鍾時,該引腳接地(對於HMOS單片機)或懸空(對於CHMOS單片機)。
接外部晶振和微調電容的另一端,在片內它是振盪器反相放大器的輸出;若使用外部時鍾時,對於HMOS單片機,該引腳接外部時鍾的輸入;對於CHMOS單片機,該引腳應懸空。
地址寄存器用於保存當前CPU所要訪問的內存單元或I/O設備的地址。由於內存與CPU之間存在著速度上的差異,所以必須使用地址寄存器來保持地址信息,直到內存讀/寫操作完成為止。
當CPU向存儲器存數據、CPU從內存取數據和CPU從內存讀出指令時,都要用到地址寄存器和數據寄存器。同樣,如果把外圍設備的地址作為內存地址單元來看的話,那麼當CPU和外圍設備交換信息時,也需要用到地址寄存器和數據寄存器。
Ⅵ AT89C51單片機響應外部中斷的典型時間是多少在哪些情況下,CPU將推遲對外
AT89C51單片機響應外部中斷的典型時間是3個至8個機器周期,在已有同級別中斷或高級別中斷在進行處理過程中,CPU將推遲對中斷請求的響應。
Ⅶ 有沒有單片機的考試樣卷啊
這里有一份試卷及答案。現在無法上傳文件了。
1.除了單片機這一名稱之外,單片機還可稱為微控制器和 嵌入式控制器。
2.單片機與普通微型計算機的不同之處在於其將CPU、存儲器、I/O口三部分集成於一塊晶元上。
3.在AT89C51單片機中,如果採用6MHz晶振,一個機器周期為2µs。
4.AT89C51單片機的機器周期等於12個時鍾振盪周期。
5.內部RAM中,位地址為40H、88H的位,該位所在位元組的位元組地址分別為28H和88H。
6.片內位元組地址為2AH單元的最低位的位地址是50H;片內位元組地址為88H單元的最低位的位地址是88H。
7.若A中的內容為63H,那麼,P標志位的值為0。
8.AT89C51單片機復位後,R4所對應的存儲單元的地址為04H,因上電時PSW = 00H。這時當前的工作寄存器區是0組工作寄存器區。
9.內部RAM中,可作為工作寄存器區的單元地址為00 H~1F H。
10.通過堆棧操作實現子程序調用,首先要把PC的內容入棧,以進行斷點保護。調用返回時,再進行出棧保護,把保護的斷點送回到PC。
11.AT89C51單片機程序存儲器的定址范圍是由程序計數器PC的位數所決定的,因為AT89C51單片機的PC是16位的,因此其定址的范圍為64 KB。
12.在基址加變址定址方式中,以A作為變址寄存器,以PC或DPTR作為基址寄存器。
13.指令格式是由操作碼和操作數組成,也可僅由操作碼組成。
14.假定累加器A中的內容為30H,執行指令1000H:MOVC A,@A+PC
後,把程序存儲器1031H單元的內容送入累加器A中。
15.在AT89C51單片機中,PC和DPTR都用於提供地址,但PC是為訪問
程序存儲器提供地址,而DPTR是為訪問數據存儲器提供地址。
16.在寄存器間接定址方式中,其「間接」體現在指令中寄存器的內容不是操作數,而是操作數的地址。
17.外部中斷1的中斷入口地址為0013H。定時器1的中斷入口地址為001BH。
18.若(IP) = 00010100B,則優先順序最高者為外部中斷1,最低者為定時器T1。
19.AT89C51單片機響應中斷後,產生長調用指令LCALL,執行該指令的過程包括:首先把 PC 的內容壓入堆棧,以進行斷點保護,然後把長調用指令的16位地址送 PC ,使程序執行轉向程序存儲器中的中斷地址區。
20.判斷AT89C51單片機對外中斷請求源響應的最快響應時間為3個機器周期對
21.幀格式為1個起始位,8個數據位和1個停止位的非同步串列通信方式是方式1。
22.在串列通信中,收發雙方對波特率的設定應該是相等的。
23.單片機存儲器的主要功能是存儲程序,數據
24.在存儲器擴展中,無論是線選法還是解碼法最終都是為擴展晶元的片選端提供片選控制信號。
25.起止范圍為0000H~3FFFH的存儲器的容量是16 KB。
26.在AT89C51單片機中,PC和DPTR都用於提供地址,但PC是為訪問
程序存儲器提供地址,而DPTR是為訪問數據存儲器提供地址。
27.11條地址線可選2KB個存儲單元,16KB存儲單元需要14條地址線。
28.4KB RAM存儲器的首地址若為0000H,則末地址為0FFF H。
1.微處理器、微計算機、微處理機、CPU、單片機它們之間有何區別?
微處理器、微處理機和CPU都是中央處理器的不同稱謂;而微計算機、單片機都是一個完整的計算機系統,單片機特指集成在一個晶元上的用於測控目的的單片微計算機。
2.MCS-51系列單片機的基本型晶元分別為哪幾種?它們的差別是什麼?
答:MCS-51系列單片機的基本型晶元分別是8031、8051和8751。它們的差別是在片內程序存儲器上。8031無片內程序存儲器,8051片內有4KB的程序存儲器ROM,而8751片內集成有4KB的程序存儲器EPROM。
3.為什麼不應當把51系列單片機稱為MCS-51系列單片機?
答:因為MCS-51系列單片機中的「MCS」是Intel公司生產的單片機的系列符號,而51系列單片機是指世界各個廠家生產的所有與8051的內核結構、指令系統兼容的單片機。
4.AT89C51單片機相當於MCS-51系列單片機中的哪一種型號的產品?
答:相當於MCS-51系列中的87C51,只不過是AT89C51晶元內的4KB Flash存儲器取代了87C51片內的4KB的EPROM。
5.AT89C51單片機的片內都集成了哪些功能部件?各個功能部件的最主要的功能是什麼?
(1)1個微處理器(CPU);(2)128個數據存儲器(RAM)單元;(3)4KB Flash程序存儲器;(4)4個8位可編程並行I/O口(P0口、P1口、P2口、P3口);(5)1個全雙工串列口;(6)2個16位定時器/計數器;(7)一個中斷系統,5個中斷源,2個優先順序;(8)21個特殊功能寄存器(SFR)。
6.說明AT89C51單片機的引腳的作用,該引腳接高電平和低電平時各有何種功能?
答:當腳為高電平時,單片機讀片內程序存儲器(4KB Flash),但在PC值超過0FFFH(即超出4KB地址范圍)時,將自動轉向讀外部程序存儲器內的程序。當腳為低電平時,對程序存儲器的讀操作只限定在外部程序存儲器,地址為0000H~FFFFH,片內的4KB Flash程序存儲器不起作用。
7.64KB程序存儲器空間有5個單元地址對應AT89C51單片機5個中斷源的中斷入口地址,請寫出這些單元的入口地址及對應的中斷源。
答:64KB程序存儲器空間中有5個特殊單元分別對應於5個中斷源的中斷服務程序的入口地址,見下表。
表 5個中斷源的中斷入口地址
入口地址
中斷源
0003H
外部中斷0 ()
000BH
定時器0 (T0)
0013H
外部中斷1 ()
001BH
定時器1 (T1)
0023H
串列口
8.說明偽指令的作用。「偽」的含義是什麼?常用偽指令的功能如何?
答:偽指令不屬於指令系統中的匯編語言指令,它是程序員發給匯編程序的控制命令。只有在匯編前的源程序中才有偽指令。所以「偽」體現在匯編後,偽指令沒有相應的機器代碼產生。
9.解釋手工匯編、機器匯編、交叉匯編、反匯編術語概念。
答:(1)手工匯編:手工編程,首先把程序用助記符指令寫出,然後通過查指令的機器代碼表,逐個把助記符指令「翻譯」成機器代碼,這種人工查表「翻譯」指令的方法稱為手工匯編。
(2)機器匯編:是藉助於微型計算機上的軟體(匯編程序)來代替手工匯編,完成把助記符指令「翻譯」成機器代碼的工作。
(3)交叉匯編:使用微型計算機來完成匯編,而匯編後得到的機器代碼卻是在另一台計算機(這里是單片機)上運行,稱這種機器匯編為交叉匯編。
(4)反匯編:將二進制的機器代碼語言程序翻譯成匯編語言源程序的過程。
10.設計子程序時應注意哪些問題?
答:(1)子程序的第一條指令前必須有標號。(2)使用子程序調用指令時,有兩條調用指令可供使用。
①使用絕對調用指令(ACALL addr11)要注意,被調用的子程序的首地址與本絕對調用指令的下一條指令的高5位地址相同,即只能在同一2KB程序存儲區內。②使用長調用指令(LCALL addr16)時,addr16為直接調用的子程序的目標地址,也就是說,被調用的子程序可放置在64KB程序存儲器區的任意位置。(3)子程序結構中必須用到堆棧,堆棧通常用來保護斷點和現場保護。4)子程序返回主程序時,最後一條指令必須是RET指令。(5)子程序可以嵌套,即主程序可以調用子程序,子程序又可以調用另外的子程序。
11.中斷服務子程序與普通子程序有哪些相同和不同之處?
答:RETI指令在返回時,同時清除中斷系統中相應的優先順序觸發器,以允許下次中斷,而RET指令則沒有這個操作。除了這一點兩條指令不同外,其他操作都相同。
12.中斷響應的條件是什麼?
答:總中斷允許開關接通EA=1;該中斷源發出中斷請求;該中斷源的中斷允許位=1;五統計或更高級中斷正在被服務。
13.AT89C51單片機響應外部中斷的典型時間是多少?在哪些情況下,CPU將推遲對外部中斷請求的響應?
答;最短為是三的個周期,最長為8個周期,當遇到才開始執行RETI或訪問IE或IP的指令則需把當前指令執行完再繼續執行一條指令後才能響應中斷。
14.定時器/計數器用作定時器模式時,其計數脈沖由誰提供?定時時間與哪些因素有關?
答:定時器/計數器用作定時器時,其計數脈沖由系統振盪器產生的內部時鍾信號12分頻後提供。定時時間與時鍾頻率和定時初值有關。
15.定時器/計數器用作計數器模式時,對外界計數頻率有何限制?
答:由於確認1次負跳變要花2個機器周期,即24個振盪周期,因此外部輸入的計數脈沖的最高頻率為系統振盪器頻率的1/24。
16.定時器/計數器的工作方式2有什麼特點?適用於哪些應用場合?
答:定時器/計數器的工作方式2具有自動恢復初值的特點,適用於精確定時,如波特率的產生。
17.一個定時器的定時時間有限,如何用兩個定時器的串列定時來實現較長時間的定時?
答:方法1,在第一個定時器的中斷程序里關閉本定時器的中斷程序,設置和打開另一個定時器;在另一個定時器的中斷程序中關閉本定時中斷,設置和打開另一個定時器。這種方式的定時時間為兩個定時器定時時間的和。
18.THx與TLx(x = 0,1)是普通寄存器還是計數器?其內容可以隨時用指令更改嗎?更改後的新值是立即刷新還是等當前計數器計滿後才能刷新?
答:THx與TLx(x=0,1)是由特殊功能寄存器構成的計數器,其內容可以隨時用指令更改,更改後的新值立即刷新。但在讀THx、TLx值時,應該先讀THx值,後讀TLx,再讀THx值。若兩次讀得THx值相同,則可確定讀得的內容正確。若前後兩次讀得的THx值有變化,再重復上述過程。
19.在非同步串列通信中,接收方是如何知道發送方開始發送數據的?
當接收方檢測到RXD引腳上的有效的負跳變時,即可知道發送方開始發送數據。
20.串列口有幾種工作方式?有幾種幀格式?各種工作方式的波特率如何確定?
串列口有4種工作方式:方式0、方式1
方式2、方式3。有3種幀格式,方式2和3
具有相同的幀格式。
方式0的發送和接收都以fosc/12為固定波特率。
方式1的波特率=2SMOD/32×定時器T1的溢出率。
方式2的波特率=2SMOD/64×fosc。
方式3的波特率=2SMOD/32×定時器T1的溢出率。
21.為什麼定時器/計數器T1用作串列口波特率發生器時,常採用方式2?若已知時鍾頻率、通信波特率,如何計算其初值?
答:(1)因為定時器/計數器在方式2下,初值可以自動重裝,這樣在進行串口波特率發生器設置時,就避免了重裝參數的操作,且減少了重裝參數的誤差。
22.簡述利用串列口進行多機通信的原理。
答:以方式1為例。發送過程:數據位由TXD端輸出,發送1幀信息為10位,當CPU執行1條數據寫發送緩沖器SBUF的指令,就啟動發送。發送開始時,內部發送控制信號SEND變為有效,將起始位向TXD輸出,此後,每經過1個TX時鍾周期,便產生1個移位脈沖,並由TXD輸出1個數據位。8位數據位全部輸出完畢後,置1中斷標志位TI,然後SEND信號失效。
接收過程:當檢測到起始位的負跳變時,則開始接收。接收時,定時控制信號有2種。其中一種是位檢測器采樣脈沖,它的頻率是RX時鍾的16倍。也就是在1位數據期間,有16個采樣脈沖,以波特率的16倍速率采樣RXD引腳狀態,當采樣到RXD端從1到0的跳變時就啟動檢測器,接收的值是3次連續采樣,取其中2次相同的值,以確認是否是真正的起始位的開始,這樣能較好地消除干擾引起的影響,以保證可靠無誤地開始接收數據。
23.為什麼AT89C51單片機串列口的方式0幀格式沒有起始位(0)和停止位(1)?
答:串列口的方式0為同步移位寄存器輸入/輸出方式,常用於外接移位寄存器,以擴展並行I/O口,一般不用於兩個89C51之間的串列通信。該方式以fosc/12的固定波特率從低位到高位發送或接收數據。
24.直接以TTL電平串列傳輸數據的方式有什麼缺點?
答:優點是連線簡單,缺點是抗干擾性能差,傳輸距離短。
25.在AT89C51單片機系統中,外接程序存儲器和數據存儲器共16位地址線和8位數據線,為何不會發生沖突?
答:因為控制信號線的不同。外擴的RAM晶元既能讀出又能寫入,所以通常都有讀、寫控制引腳,記為和,它們分別與89C51的和引腳相連。
外擴的EPROM在正常使用中只能讀出,不能寫入,故EPROM晶元沒有寫入控制引腳,只有讀出引腳,記為,該引腳與89C51單片機的相連。
26.I/O介面和I/O埠有什麼區別?I/O介面的功能是什麼?
答: I/O埠簡稱I/O口,常指I/O介面電路中具有埠地址的寄存器或緩沖器。I/O介面是指單片機與外設間的I/O介面晶元。
I/O介面的功能:(1)實現和不同外設的速度匹配;(2)輸出數據緩存;(3)輸入數據三態緩沖。
27.I/O數據傳送由哪幾種傳送方式?分別在哪些場合下使用?
答:(1)同步傳送方式。同步傳送又稱無條件傳送。當外設速度可與單片機速度相比擬時,常常採用這種方式。最典型的同步傳送就是單片機和外部數據存儲器之間的數據傳送。(2)查詢傳送方式。查詢傳送又稱有條件傳送,也稱非同步傳送。單片機通過查詢得知外設准備好後,再進行數據傳送。非同步傳送的優點是通用性好,硬體連線和查詢程序十分簡單,但是效率不高。為了提高單片機的工作效率,通常採用中斷方式。(3)中斷傳送方式。中斷傳送方式是利用AT89C51本身的中斷功能和I/O介面的中斷功能來實現I/O數據的傳送。單片機只有在外設准備好後,發出數據傳送請求,才中斷主程序,進入與外設進行數據傳送的中斷服務程序,進行數據的傳送。中斷服務完成後又返回主程序繼續執行。因此,採用中斷方式可以大大提高單片機的工作效率。
28.常用的I/O埠編址有哪兩種方式?它們各有什麼特點?AT89C51單片機的I/O埠編址採用的是哪種方式?
答:有兩種。(1)獨立編址方式。就是I/O地址空間和存儲器地址空間分開編址。其優點是,I/O地址空間和存儲器地址空間相互獨立,界限分明。但是,卻需要設置一套專門的讀/寫I/O的指令和控制信號。(2)統一編址方式。它是把I/O埠的寄存器與數據存儲器單元同等對待,統一編址。統一編址的優點是不需要專門的I/O指令,直接使用訪問數據存儲器的指令進行I/O操作,簡單、方便且功能強大。89C51單片機使用的是I/O和外部數據存儲器RAM統一編址的方式。
29.82C55的「方式控制字」和「PC口按位置位/復位控制字」都可以寫入82C55的同一控制寄存器,82C55是如何來區分這兩個控制字的?
答:82C55通過寫入控制字寄存器的控制字最高位來判斷,最高位為1時,為方式控制字;最高位為0時,為PC口按位置位/復位控制字。
30.為什麼要消除按鍵的機械抖動?軟體消除按鍵機械抖動的原理是什麼?
答:在按鍵的閉合和斷開過程中,由於開關的機械特性,導致了按鍵抖動的產生。如果不消除按鍵的機械抖動,按鍵的狀態讀取將有可能出現錯誤。消除按鍵抖動一般是採用軟體或硬體去抖。軟體去抖的原理是,在第一次檢測到有鍵按下時,該鍵所對應的行線為低電平,執行一端延時10ms的子程序後,確認該行線電平是否仍然為低電平,如果仍為低電平,則確認該行確實有鍵按下。
31.LED的靜態顯示方式與動態顯示方式有何區別?各有什麼優缺點?
答:靜態顯示時,數據是分開送到每一位LED上的。而動態顯示時,則數據是同時送到每一個LED上,再根據位選線來確定是哪一位LED被顯示。靜態顯示亮度很高,但口線佔用較多。動態顯示口線佔用較少,適合用在顯示位數較多的場合。
32.說明矩陣式鍵盤按鍵按下的識別原理。
答:按鍵設置在行、列線交點上,行、列線分別連接到按鍵開關的兩端。行線通過上拉電阻接到+5V上,無按鍵按下時,行線處於高電平狀態,而當有按鍵按下時,行線電平狀態將由與此行線相連的列線的電平決定。列線的電平如果為低,則行線電平為低;列線的電平如果為高,則行線的電平亦為高。將行、列線信號配合起來並做適當的處理,才能確定閉合鍵的位置。
33.鍵盤有哪3種工作方式,它們各自的工作原理及特點是什麼?
答:(1)編程掃描方式。當單片機空閑時,才調用鍵盤掃描子程序,反復掃描鍵盤,等待用戶從鍵盤上輸入命令或數據,響應鍵盤的輸入請求。(2)定時掃描方式。單片機每隔一定的時間對鍵盤掃描一次。(3)中斷掃描方式。只有在鍵盤有鍵按下時,才執行鍵盤掃描程序並執行該按鍵功能程序,如果無鍵按下,單片機將不理睬鍵盤。
Ⅷ AT89C51單片機指令及其工作周期
AT89C51單片機指令系統完全和mcs-51一樣,共111條,有
單周期指令,比如:MOV A,#01H
雙周期指令,比如:SJMP $
四周期指令,比如:DIV AB
Ⅸ 51單片機的機器周期和晶振頻率有何關系當fOSC=8MHz時,機器周期是多少
機器周期X振盪頻率= 12。當fosc=8MHz時,機器周期為1.5微秒。
因為規定一個機器周期為12個振盪周期,而振盪周期是振盪頻率fosc的倒數,所以一個機器周期=12/fosc,當fosc=8MHz時,代入公式,機器周期為12/(8MHz)s,即1.5us。
(9)at89c51單片機的機器周期等於擴展閱讀:
51單片機是對所有兼容Intel 8031指令系統的單片機的統稱。該系列單片機的最早是Intel的8004單片機,後來隨著Flash rom技術的發展,8004單片機取得了長足的進展,成為應用最廣泛的8位單片機之一,其代表型號是ATMEL公司的AT89系列(如AT89C51),它廣泛應用於工業測控系統之中。
對於單片機中周期定義:
振盪周期:單片機外接石英晶體振盪器的周期。如外接石英晶體的頻率若為12MHz(如上圖),那麼其振盪周期就是1/12微秒。
機器周期:單片機完成一次完整的具有一定功能的動作所需的時間周期。如一次完整的讀操作或寫操作對應的時間。一個機器周期=6個狀態周期=12個振盪周期。