2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩172頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、,項目1信號燈控制,《單片機應用技術》精品課程組,《單片機應用技術》,,本講主要內(nèi)容,6 項目考核,,【教學目標】,1、終極目標: 制作一個彩燈閃爍的單片機控制系統(tǒng)。2、促成目標: (1) 了解單片機的基本概念及MCS系列單片機結構特點;了解典型單片機系列的基本情況;了解MCS系列單片機的發(fā)展及應用領域; (2) 了解MCS-5l單片機內(nèi)部結構和功能; (3) 掌握MCS-5l單片機引腳

2、功能以及工作方式和單片機的存儲器結構的特點、性能; (4) 熟練掌握單片機的指令系統(tǒng)特點; (5) 理解單片機應用系統(tǒng)開發(fā)的基本方法和設計流程;掌握MCS系列單片機的開發(fā)工具;掌握編程軟件、編程器、虛擬設備和仿真器的基本操作方法;了解單片機開發(fā)過程中的操作技巧和注意事項; (6) 掌握簡單的順序、分支、循環(huán)程序結構和子程序的編寫和調(diào)用方法; (7) 掌握延時子程序等典型程序的設計方法;

3、 (8) 初步掌握單片機應用系統(tǒng)分析和軟硬件設計的基本方法,建立單片機系統(tǒng)設計的基本概念;,,設計一個彩燈閃爍的單片機控制系統(tǒng),在單片機的P0.0端口上接一個發(fā)光二極管L1,使L1不停地一亮一滅,一亮一滅的時間間隔為0.2秒,循環(huán)往復。,【工作任務】,,【活動一】總體設計1.系統(tǒng)組成 本系統(tǒng)功能由硬件和軟件兩大部份協(xié)調(diào)完成,硬件部分主要完成信息的顯示;軟件主要完成信號的處理及控制功能等。 本系統(tǒng)的

4、硬件采用模塊化設計,以AT89S52單片機為核心,與LED彩燈閃爍電路組成控制系統(tǒng)。該系統(tǒng)硬件主要包括以下幾個模塊:AT89S52主控模塊、LED彩燈閃爍模塊等。其中AT89S52主要完成外圍硬件的控制以及一些運算功能,LED彩燈電路完成燈光的閃爍功能。系統(tǒng)組成方框圖如圖1.1所示。,【項目實踐】,,圖1.1 LED彩燈閃爍控制系統(tǒng)組成方框圖,【項目實踐】,,模塊化設計(Modular design) 降低了程序設計的復雜性、便于修改

5、、且使得支持系統(tǒng)不同部分的并行開發(fā)實現(xiàn)起來更容易。應用軟件采用模塊化設計方法,該系統(tǒng)軟件主要由主程序、延時子程序模塊等組成,系統(tǒng)軟件結構框圖如圖1.2所示。,圖1.2 單片機彩燈閃爍系統(tǒng)軟件結構框圖,【項目實踐】,,2.系統(tǒng)工作原理 發(fā)光二極管簡稱為LED,由鎵(Ga)與砷(AS)、磷(P)的化合物制成的二極管,當電子與空穴復合時能輻射出可見光,因而可以用來制成發(fā)光二極管,在電路及儀器中作為指示燈,或者組成文字或數(shù)字顯示。

6、磷砷化鎵二極管發(fā)紅光,磷化鎵二極管發(fā)綠光,碳化硅二極管發(fā)黃光。 發(fā)光二極管是一種把電能轉換成光能的半導體器件。它由PN節(jié)組成,在正向偏置的條件下導通,此時會發(fā)射出一定波長的光。發(fā)光二極管的發(fā)光功率近似的與導通電流成正比。目前大多數(shù)產(chǎn)品可以由集成電路直接驅動。,【項目實踐】,,圖1.3 發(fā)光二極管發(fā)光效果圖,圖1.4 發(fā)光二極管發(fā)光實物圖,【項目實踐】,與小白熾燈泡和氖燈相比,發(fā)光二極管的特點是:工作電壓很低(有的僅一點

7、幾伏),工作電流很小(有的僅零點幾毫安即可發(fā)光),抗沖擊和抗震性能好,可靠性高,壽命長;通過調(diào)制通過的電流強弱可以方便地調(diào)制發(fā)光的強弱。由于有這些特點,發(fā)光二極管在一些光電控制設備中用作光源,在許多電子設備中用作信號顯示器。把它的管心做成條狀,用7條條狀的發(fā)光管組成7段式半導體數(shù)碼管,每個數(shù)碼管可顯示0~9十個數(shù)目字。,,發(fā)光二極管有很多類,如圖1.4所示為幾種發(fā)光二極管,其電氣原理圖如圖圖1.5所示,當在它的A和K兩個電極加上合適的電

8、壓的時候,它就會亮起來。說“合適的電壓”,是因為不同的發(fā)光二極管工作電壓并不相同,一般是在1.6~2.8V之間,而工作電流則一般在2~30mA之間,但是實際工作的選擇范圍一般是4~10mA之間。,圖1.5 發(fā)光二極管電氣的電路圖形符號,【項目實踐】,,1.單片機選型 51系列單片機包括許多類型,它們的內(nèi)部結構基本相同。AT89S52是目前應用比較廣泛的51系列兼容單片機中的代表產(chǎn)品。 (1) 主要性能: 與

9、MCS-51單片機產(chǎn)品兼容 8K字節(jié)在系統(tǒng)可編程Flash存儲器 1000次擦寫周期 全靜態(tài)操作:0Hz~33Hz 三級加密程序存儲器 32個可編程I/O口線 三個16位定時器/計數(shù)器 八個中斷源,全雙工UART串行通道 低功耗空閑和掉電模式 掉電后中斷可喚醒 看門狗定時器 雙數(shù)據(jù)指針 掉電標識符,【項目實踐】,【活

10、動二】硬件設計,,(2) 功能特性描述 AT89S52是一種低功耗、高性能CMOS8位微控制器,具有8K在系統(tǒng)可編程Flash存儲器。使用Atmel公司高密度非易失性存儲器技術制造,與工業(yè)80C51 產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8位CPU和在系統(tǒng)可編程Flash,使得AT89S52為眾多嵌入式控制應用系統(tǒng)提供高靈活、超有效的解決方案。(3)

11、AT89S52標準功能 8k字節(jié)Flash,256字節(jié)RAM,32位I/O口線,看門狗定時器,2 個數(shù)據(jù)指針,三個16位定時器/計數(shù)器,一個6向量2級中斷結構,全雙工串行口,片內(nèi)晶振及時鐘電路。另外,AT89S52 可降至0Hz靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU停止工作,允許RAM、定時器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護方式下,RAM內(nèi)容被保存,振蕩器被凍結,單片機一切工作停止,直到下一個

12、中斷或硬件復位為止。,【項目實踐】,,(4) AT89S52芯片引腳結構,圖1.6 AT89S52芯片引腳結構圖 鑒于此,本項目選用AT89S52單片機作為主控制器?!咀⒁狻吭诤竺娴捻椖恐校鐭o特殊說明,均以AT89S52單片機作為主控制器。,【項目實踐】,,2.主控模塊設計 電源、時鐘信號以及復位電路是單片機工作的基本條件,缺一不可。單片機基本系統(tǒng)包括電源電路、時鐘電路、復位電路。(1)

13、 電源電路模塊設計電源模塊為系統(tǒng)板上其它模塊提供+5V電源,系統(tǒng)板為從USB接口獲?。?V電源,只要用相應配套的USB線從電腦主機獲取+5V直流電源。 (2) 時鐘電路模塊設計 單片機的時鐘信號用來為單片機芯片內(nèi)部各種微操作提供時間基準。MCS-51的時鐘信號可以由兩種方式產(chǎn)生,一種是內(nèi)部時鐘方式,利用芯片內(nèi)部的振蕩電路;另一種方式為外部時鐘方式。 由于AT89S52單片機芯片內(nèi)有時鐘振蕩電路,因此本項

14、目中采用內(nèi)部時鐘方式,只要在單片機的XTAL1和XTAL2引腳外接石英晶體和微調(diào)電容,就構成了自激振蕩器并在單片機內(nèi)部產(chǎn)生時鐘脈沖信號,具體電路設計如圖1.3所示。圖中電容C1和C2的作用是穩(wěn)定頻率和快速起振,電容置在5~30pF,在此選擇30pF;晶振X1的振蕩頻率范圍在1.2~12MHz間選擇,本項目中選擇12MHz。時鐘電路為單片機產(chǎn)生時鐘脈沖序列,作為單片機工作的時間基準,典型的晶體振蕩頻率為12MHz。,【項目實踐】,,(3

15、) 復位電路模塊設計 復位電路使單片機或系統(tǒng)中的其他部件處于某種確定的狀態(tài)。當在51單片機的RST引腳引入高電平并保持2個機器周期,單片機內(nèi)部就執(zhí)行復位操作。實際應用中,復位操作有兩種基本形式:一種是上電復位,另一種是按鍵復位。本項目中采用按鍵復位方式,具體電路設計如圖1.3所示。在單片機運行期間,可以利用此按鍵完成復位操作。 【注意】在后面的項目中,如無特殊說明,主控模塊的設計均按此方式設計,不再贅述。3

16、.LED彩燈模塊設計 LED彩燈閃爍輸出電路采用發(fā)光二極管LED,LED的K極通過限流電阻R與單片機的P0口的P0.0連接,LED的A極連接到+5V電源。系統(tǒng)供電為+5V,LED上串接的電阻是1KΩ,如果此時LED上的電壓是2.0V,那么此時通過LED的電流為(5V-2V)/1000Ω=3mA。如果需要提高亮度,電流一般會控制在10mA左右,則此時電阻應該選擇(5V-2V)/10mA=300Ω,所以可以就近選擇330Ω。該

17、模塊與單片機的接口電路如圖1.7所示。,【項目實踐】,,圖1.7 LED彩燈閃爍模塊與單片機的接口電路原理圖,【項目實踐】,,1.算法設計 根據(jù)系統(tǒng)工作原理圖1.7可知: 當P0.0端口輸出高電平,即P0.0=1時,根據(jù)發(fā)光二極管的單向導電性可知,這時發(fā)光二極管L1熄滅;我們可以使用SETB P0.0指令使P0.0端口輸出高電平; 當P0.0端口輸出低電平,即P0.0=0時,發(fā)光二極管L1亮

18、;我們可以使用CLR P0.0指令使P0.0端口輸出低電平。 ① 延時程序設計 由于單片機指令的執(zhí)行時間很短,屬于微秒級,而我們要求的彩燈閃爍時間間隔為0.2秒,相對于微秒來說,相差太大,所以我們在執(zhí)行彩燈點亮和熄滅指令時,插入延時程序,來達到我們的要求。 ② 循環(huán)程序結構設計,【項目實踐】,【活動三】軟件設計,,由于需要控制發(fā)光二極管反復的一亮一滅,在程序中需要反復執(zhí)行該程序段,為了避免在程

19、序中多次的編寫,我們采用循環(huán)結構來實現(xiàn)該功能,可以通過利用條件轉移或無條件轉移指令LJMP或者AJMP來控制程序的跳轉執(zhí)行,達到發(fā)光二極管反復的一亮一滅的目的。 ③ 子程序設計 由于發(fā)光二極管點亮的時間為0.2秒,熄滅的時間也為0.2秒,在程序中需要多次執(zhí)行同樣的計算和操作,如果每次都從頭開始編制該段程序,不僅麻煩,而且浪費存儲空間。對于這種在一個程序中反復出現(xiàn)的程序段,我們采用子程序結構來實現(xiàn)。

20、 當主程序在運行時,需要調(diào)用子程序時,只要執(zhí)行調(diào)用子程序指令ACALL或者LCALL,使主程序跳轉至子程序執(zhí)行,子程序處理完畢,用RET指令返回主程序,繼續(xù)執(zhí)行主程序后面的操作。2.數(shù)據(jù)結構設計 單片機的P0口線的P0.0用于發(fā)光二極管L1亮、滅的控制,當P0.0=0表示L1點亮,當P0.0=1表示L1熄滅;工作寄存器R5、R6、R7為延時子程序的循環(huán)變量。,【項目實踐】,,3.程序設計(1) 主程序設計主程序主

21、要完成硬件初始化、延時子程序調(diào)用等功能。 ① 初始化通過初始化把P0.0設置為0,讓發(fā)光二極管點亮。 ② 循環(huán)閃爍調(diào)用延時子程序,使發(fā)光二極管點亮0.2秒;然后修改P0.0的狀態(tài)為1,再調(diào)用延時子程序,使發(fā)光二極管熄滅0.2秒;最后使程序跳轉到開始重新執(zhí)行,就可以實現(xiàn)發(fā)光二極管循環(huán)閃爍。主程序設計流程圖如圖1.8所示。,【項目實踐】,,,圖1.8主程序設計流程圖,【項目實踐】,,(2) 延時子程序設計

22、 延時子程序完成發(fā)光二極管L1點亮或熄滅的延時時間。延時程序是一種應用較為廣泛的小程序,一般采用多條語句循環(huán)執(zhí)行來實現(xiàn)延時。下面具體介紹其原理: 系統(tǒng)所用的石英晶體振蕩頻率為11.0592MHz,因此,1個機器周期=1/石英頻率*12,即為12/11.0592微秒。 機器周期 微秒MOV R6,#20

23、 ;2個 2LOOP1:MOV R7,#230 ;2個 2DJNZ R7,$ ;2個 2DJNZ R6,LOOP1 ;2個 2 因此,上面的延時程序時間為【2+R6*(2+2*R7+2)】*機器周

24、期=9282*12/11.0592=10.072ms。 由以上可知,當R6=10、R7=230時,延時約5ms;當R6=20、R7=230時,延時約10ms,以此為基本的計時單位。,【項目實踐】,,本項目要求延時0.2秒=200ms,10ms×R5=200ms,則R5=20,設計的延時子程序代碼如下:;******************************************************

25、**********;功能:延時子程序,延時0.2秒;****************************************************************DELAY200ms:MOV R5,#20 ;設置外循環(huán)初始值LOOP1: MOV R6,#20 ;外循環(huán)結構開始,設置內(nèi)循環(huán)初始值LOOP2: MOV R7,#230 ;內(nèi)循

26、環(huán)結構開始DJNZ R7,$ ;反復執(zhí)行本指令,指導R7=0為止DJNZ R6,LOOP2 ;內(nèi)循環(huán)結構判斷條件DJNZ R5,LOOP1 ;外循環(huán)結構判斷條件RET

27、 ;子程序返回,【項目實踐】,,圖1.9延時子程序設計流程圖,【項目實踐】,,4.匯編語言源程序;**************************************************************;功能:主程序;**************************************************************ORG 0000HSTART: CLR

28、P0.0 ;當P0.0端口輸出低電平時,發(fā)光二極管L1點亮;LCALL DELAY200ms ;調(diào)用延時子程序,LED燈點亮200msSETB P0.0 ;當P0.0端口輸出高電平時,發(fā)光二極管L1熄滅;LCALL DELAY200ms ;調(diào)用延時子程序,L1熄滅200msLJMP START ;跳轉到程序開始,L1一亮一滅,循環(huán)往復;***

29、***********************************************************,【項目實踐】,,;功能:延時子程序,延時0.2秒;**************************************************DELAY200ms:MOV R5,#20 ;設置外層循環(huán)變量初始值 LOOP1: MOV R6,#20 ;

30、外循環(huán)結構開始,設置中層循環(huán)變量初始值LOOP2: MOV R7,#230 ;中層循環(huán)結構開始,設置內(nèi)層循環(huán)變量初始值DJNZ R7, $ ;內(nèi)層循環(huán)結構,反復執(zhí)行本指令,直到R7=0為止DJNZ R6, LOOP2 ;內(nèi)循環(huán)結構判斷條件DJNZ R5, LOOP1 ;外循環(huán)結構判斷條件RET ;子程序返回END,【項目實踐】,,#include //頭

31、文件sbit L1=P0^0; //定義P0.0void delay02s(void) //延時0.2秒子程序{ unsigned char i,j,k; for(i=20;i>0;i--) for(j=20;j>0;j--) for(k=230;k>0;k--);},void main(void){ while(1) { L1=0; delay02s();

32、 L1=1; delay02s(); }},5.C語言源程序,【項目實踐】,,【活動四】系統(tǒng)仿真調(diào)試 1.仿真器連接,圖1.10 仿真器的連接,2.仿真器設置,圖1.11 仿真器設置菜單,【項目實踐】,,3.程序編譯調(diào)試 (1) 新建文件 選擇菜單[文件|新建文件],如圖1.12所示。,圖1.12 新建文件,【項目實踐】,,(2) 輸入程序 在出現(xiàn)的源程序窗口中輸入

33、所需編寫的程序,如圖1.13所示。,圖1.13 輸入程序,(3) 保存程序選擇菜單[文件|保存文件],保存時文件名稱必須帶上后綴名“.ASM”,如圖1.14所示。,圖1.14,【項目實踐】,,(4) 建立新項目選擇菜單[文件|新建項目],如圖1.15所示。,圖1.15,【項目實踐】,,(5) 加入模塊文件在彈出的窗口中,加入模塊文件,選擇剛才保存的文件YEGANG.ASM,如圖1.16所示。,圖1.16,(6) 加入包含文件加入

34、包含文件,若沒有包含文件,則可按取消鍵,此處按取消鍵。如圖1.17所示。,圖1.17,【項目實踐】,,,(7)保存項目在保存項目對話框中輸入項目名稱,注意此處無須添加后綴名,軟件會自動將后綴名設成“.PRJ”。按保存鍵將項目存在與你的源程序相同的文件夾下。如圖1.18所示。,(8) 仿真器設置選擇菜單[設置|仿真器設置],在彈出的“仿真器設置”對話框中,按圖1.19設置,選擇“使用偉福軟件模擬器”。,圖1.18,圖1.19,【項目實

35、踐】,,,(9) 文件編譯 選擇菜單[項目|編譯],進行編譯程序,如圖10所示。 如程序正確,編譯后將產(chǎn)生兩種格式的目標文件:二進制格式(BIN)目標文件和英特爾格式(HEX)目標文件,如圖1.20所示。如程序有錯誤,則將在信息窗口指出錯誤指令所在的源程序、行號、錯誤代碼及錯誤原因,則先修改程序,然后再進行編譯程序。,圖1.20,【項目實踐】,,,(10) 程序調(diào)試雙擊項目中YEGANG.ASM文件,在所需設置

36、斷點的指令上右鍵設置斷點,如圖1.21所示。,圖 1.21,在程序調(diào)試時,可選擇菜單[執(zhí)行|全速執(zhí)行]、[執(zhí)行|跟蹤]、[執(zhí)行|單步]、[執(zhí)行|執(zhí)行到光標處] 等命令運行調(diào)試程序,如圖1.22所示。,圖1.22 【執(zhí)行】菜單,【項目實踐】,,,在調(diào)試運行的過程中,通過【窗口】菜單(見圖1-27),可以選擇打開CPU窗口、數(shù)據(jù)窗口等窗口以觀察系統(tǒng)運行過程中有關寄存器的狀態(tài)、存儲器的內(nèi)容等信息,從而判斷程序執(zhí)行是否正確。 (11) 查看

37、結果 選擇菜單[窗口|數(shù)據(jù)窗口|DATA],如圖1.23、1.24所示。,圖1.23,圖1.24,【項目實踐】,,,注意: DATA——片內(nèi)RAM區(qū)域 CODE——ROM區(qū)域 XDATA——片外RAM區(qū)域 PDATA——分頁式數(shù)據(jù)存儲器,51中無用 BIT——位尋址區(qū)域【說明】由于單片機系統(tǒng)的仿真調(diào)試步驟基本相同,在后面的項目設計中,不再贅述。,【項目實踐】,

38、,,【第一部分】單片機的基本知識 單片機是在一塊芯片上集成了中央處理部件(CPU)、存儲器(RAM、ROM)、定時器/計數(shù)器和各種輸入/輸出(I/O)接口(如并行I/O口、串行I/O口和A/D轉換器)等。由于單片機通常是為實時控制應用而設計制造的,因此,又稱為微控制器(MCU)。 一、單片機的發(fā)展概況 單片機自問世以來,性能不斷提高和完善,其資源不僅能滿足很多應用場合的需要,而且具有集成度高、功能強、速度快、

39、體積小、功耗低、使用方便、性能可靠、價格低廉等特點,因此,在工業(yè)控制、智能儀器儀表、數(shù)據(jù)采集和處理、通信系統(tǒng)、網(wǎng)絡系統(tǒng)、汽車工業(yè)、國防工業(yè)、高級計算器具、家用電器等領域的應用日益廣泛,并且正在逐步取代現(xiàn)有的多片微機應用系統(tǒng),單片機的潛力越來越被人們所重視。特別是當前用CMOS工藝制成的各種單片機,由于功耗低,使用的溫度范圍大、抗干擾能力強、能滿足一些特殊要求的應用場合,更加擴大了單片機的應用范圍,也進一步促進了單片機技術的發(fā)展。,【相關

40、知識】,,,自1976年9月Intel公司推出MCS-48單片機以來,單片機就受到了廣大用戶的歡迎。因此,有關公司都爭相推出各自的單片機。如GI公司推出PIC1650系列單片機,Rockwell公司推出了與6502微處理器兼容的R6500系列單片機。它們都是8位機,片內(nèi)有8位中央處理器(CPU)、并行I/O口、8位定時器/計數(shù)器和容量有限的存儲器(RAM、ROM)以及簡單的中斷功能。 1978年下半年Motorola公司推出M68

41、00系列單片機,Zilog公司相繼推出Z8單片機系列。1980年Intel公司在MCS-48系列基礎上又推出了高性能的MCS-51系列單片機。這類單片機均帶有串行I/O口,定時器/計數(shù)器為16位,片內(nèi)存儲容量(RAM,ROM)都相應增大,并有優(yōu)先級中斷處理功能,單片機的功能、尋址范圍都比早期的擴大了,它們是當時單片機應用的主流產(chǎn)品。,【相關知識】,,,1982年Mostek公司和Intel公司先后又推出了性能更高的16位單片機MK682

42、00和MCS-96系列,NS公司和NEC公司也分別在原有8位單片機的基礎上推出了16位單片機HPC16040和μPD783××系列。1987年Intel公司又宣布了性能比8096高兩倍的CMOS型80C196,1988年推出帶EPROM的87C196單片機。由于16位單片機推出的時間較遲、價格昂貴、開發(fā)設備有限等多種原因,至今還未得到廣泛應用。而8位單片機已能滿足大部分應用的需要,因此,在推出16位單片機的同時,高性

43、能的新型8位單片機也不斷問世。如:Motorola公司推出了帶A/D和多功能I/O的68MC11系列,Zilog公司推出了帶有DMA功能的Suqer8,Intel公司在1987年也推出了帶DMA和FIFO的UPI-452等。若要更詳細的了解請上相關的單片機網(wǎng)站。 目前國際市場上8位、16位單片機系列已有很多,但是,在國內(nèi)使用較多的系列是Intel公司的產(chǎn)品,其中又以MCS-51系列單片機應用尤為廣泛,二十幾年經(jīng)久不衰,而且

44、還在更進一步發(fā)展完善,價格越來越低,性能越來越好。,【相關知識】,,,二、單片機的應用 單片機是在一塊芯片上集成了一臺微型計算機所需的CPU、存儲器、輸入/輸出部件和時鐘電路等。因此它具有體積小,使用靈活、成本低、易于產(chǎn)品化、抗干擾能力強,可在各種惡劣環(huán)境下可靠地工作等特點。特別是它應用面廣,控制能力強,使它在工業(yè)控制、智能儀表、外設控制、家用電器、機器人、軍事裝置等方面得到了廣泛的應用。單片機主要可用于以下幾方面:1.

45、智能儀表單片機應用于各種儀器儀表的更新改造,實現(xiàn)儀表的數(shù)字化、智能化、多功能化、綜合化及柔性化,并使長期以來關于測量儀表中的誤差修正和線性化處理等難題迎刃而解。由單片機構成的智能儀表,集測量、處理、控制功能于一體,測量速度和測量精度得到提高,控制功能得到增強,簡化了儀器儀表的結構,利于使用、維修和改進。,【相關知識】,,,2.工業(yè)實時控制 單片機應用于各種工業(yè)實時控制中,如爐溫控制系統(tǒng)、火災報警系統(tǒng)、化學成分的測量和控制等

46、,單片機技術與測量技術、自動控制技術相結合,利用單片機作為控制器,發(fā)揮其數(shù)據(jù)處理和實時控制功能,提高系統(tǒng)的生產(chǎn)效率和產(chǎn)品的自動化程度。采用單片機作為機床數(shù)控系統(tǒng)的控制機,可以提高機床數(shù)控系統(tǒng)的可靠性、增強功能、降低控制機成本,并有可能改變數(shù)控控制機的結構模式。3.機電一體化 單片機促進了機電一體化的發(fā)展,利用單片機改造傳統(tǒng)的機電產(chǎn)品,能夠使產(chǎn)品體積減小、功能增強、結構簡化,與傳統(tǒng)的機械產(chǎn)品相結合,構成了自動化、智能化的機電

47、一體化新產(chǎn)品。例如,在電傳打字機的設計中,由于采用單片機,從而取代了近千個機械部件。,【相關知識】,,,4.通訊接口 在數(shù)據(jù)采集系統(tǒng)中,用單片機對模數(shù)轉換接口進行控制,不僅可以提高采集速度,而且還可以對數(shù)據(jù)進行預處理,如數(shù)字濾波、線性化處理及誤差修正等,在通信接口中,采用單片機,可以對數(shù)據(jù)進行編碼、解碼、分配管理以及接受/發(fā)送等工作。在一般計算機測控系統(tǒng)中,除打印機、鍵盤、磁盤驅動器、CRT等通用外部設備接口外,還有許多外

48、部通信、采集、多路分配管理以及驅動控制等接口,如果完全由主機進行管理,勢必造成主機負擔過重,降低系統(tǒng)的運行速度,降低接口的管理水平。利用單片機進行通訊接口的控制與管理,能夠提高系統(tǒng)的運行速度,減少接口的通信密度,提高接口的管理水平。單片機在計算機網(wǎng)絡和數(shù)字通信中具有非常廣闊的應用前景。,【相關知識】,,,5.家用電器 目前,國內(nèi)外各種家用電器已普通采用MCU代替?zhèn)鹘y(tǒng)的控制電路,使用的MCU大多是小型廉價型的單片機。在這些單片

49、機中集成了許多外設的接口,如鍵盤、顯示器接口及A/D等功能單元,而不用并行擴展總線,故常制作成為單片機應用系統(tǒng)。例如洗衣機、電冰箱、微波爐、電飯鍋、電視機及其他視頻音像設備的控制器。目前的主要發(fā)展趨勢是模糊控制化,以形成眾多的模糊控制家電產(chǎn)品。 此外,單片機成功應用于玩具、游戲機、充電器、IC卡、電子鎖、電子秤、步進電機、電子詞典、照相機、電風扇和防盜報警等日常生活用品中;在汽車的點火控制、變速控制、排氣控制、節(jié)能控

50、制、冷氣控制以及防滑剎車中也有很多應用。總之,單片機技術集計算機技術、電子技術、電氣技術、微電子技術于一身,作為一種智能化的現(xiàn)代開發(fā)工具,從根本上改變了傳統(tǒng)的控制系統(tǒng)設計思想和設計方法,隨著現(xiàn)代電子技術的普及與發(fā)展,其應用領域無所不至,無論是工業(yè)部門、民用部門乃至事業(yè)部門,都有其廣泛應用。,【相關知識】,,,【第二部分】單片機內(nèi)部結構揭秘 MCS-51單片機是在一塊芯片中集成了CPU、RAM、ROM、定時器/計數(shù)器和多種

51、功能的I/O線等一臺計算機所需要的基本功能部件,各功能部件由內(nèi)部總線聯(lián)接在一起。MCS-51單片機內(nèi)包含下列幾個部件,其基本結構如圖1-2所示,【相關知識】,,,頻率基準源,計數(shù)器,中斷,控制,并行 I/O 口,串行輸入,串行輸出,圖1.25 單片機基本結構框圖 由圖可見,51單片機主要由以下幾部分組成:,【相關知識】,,,CPU系統(tǒng):◆ 8位CPU,含布爾處理器;◆ 一個片內(nèi)振蕩器及時鐘電路;◆ 總線邏輯控制

52、;存儲器系統(tǒng):◆ 4K字節(jié)程序存儲器(ROM/EPROM/FLASH,可外擴至64KB);◆ 128字節(jié)數(shù)據(jù)存儲器(RAM,可外擴至64KB);◆ 特殊功能寄存器SFR;并行I/O口系統(tǒng):◆4個8位并行I/O端口線(32條可編程的I/O);其他功能單元:◆ 2個16位定時器/計數(shù)器;◆ 1個可編程全雙工異步串行口;◆ 中斷系統(tǒng)(具有5個中斷源、2個優(yōu)先級嵌套中斷結構),【相關知識】,,MCS-51單片機內(nèi)部結構由微處

53、理器(含運算器和控制器)、存儲器、I/O口以及特殊功能寄存器SFR等構成,芯片的內(nèi)部邏輯結構如圖1.26所示。,,圖1.26芯片的內(nèi)部邏輯結構,【相關知識】,,,一、CPU系統(tǒng) CPU系統(tǒng)主要包含以下部件: ◆ 8位CPU,含布爾處理器; ◆ 一個片內(nèi)振蕩器及時鐘電路; ◆ 總線邏輯控制;(一) 中央處理器(CPU) 中央處理器CPU是單片機的核心

54、部件,由運算器和控制器組成,此外在CPU的運算器中還有一個專門進行位數(shù)據(jù)操作的位處理器。 8位的MCS-51單片機的CPU內(nèi)部有數(shù)術邏輯單元ALU(Arithmetic Logic Unit)、累加器A(8位)、寄存器B(8位)、程序狀態(tài)字PSW(8位)、程序計數(shù)器PC(有時也稱為指令指針,即IP,16位)、地址寄存器AR(16位)、數(shù)據(jù)寄存器DR(8位)、指令寄存器IR(8位)、指令譯碼器ID、控制器等部件組成。MCS—

55、51單片機CPU內(nèi)部結構見圖1.27所示。,【相關知識】,,,圖1.27 MCS—51單片機CPU內(nèi)部結構圖,【相關知識】,,,1.運算器 運算器的功能主要進行算術和邏輯運算,它由算術邏輯單元ALU、累加器ACC、B寄存器、PSW狀態(tài)字寄存器和兩個暫存器組成。ALU是運算器的核心部件,基本的算術邏輯運算都在其中進行。包括加、減、乘、除、增量、十進制調(diào)整和比較等算術運算;與、或、異或等邏輯運算;左移位、右移位和半字節(jié)交換

56、等操作;操作數(shù)暫存于累加器和相應寄存器,操作結果存于累加器,操作結果的狀態(tài)保存于狀態(tài)寄存器(PSW)中。 由于ALU內(nèi)部沒有寄存器,參加運算的操作數(shù),必須放在累加器A中。累加器A也用于存放運算結果。 例如:執(zhí)行指令 ADD A,B 執(zhí)行這條指令時,累加器A中的內(nèi)容通過輸入口In_1輸入ALU,寄存器B通過內(nèi)部數(shù)據(jù)總線經(jīng)輸入口In_2輸入ALU,A+B的結果通過ALU的輸出口Out內(nèi)部數(shù)據(jù)總線,

57、送回到累加器A。,【相關知識】,,,位處理器是單片機中運算器的重要組成部分(圖中未畫出),又稱布爾處理器,專門用來處理位操作,給單片機實現(xiàn)控制功能提供了極大的方便。在硬件上,位處理器以狀態(tài)寄存器中的進位標志位CY為累加器,有以位為單位的RAM和I/O空間,具有相應的指令系統(tǒng),可提供17條位操作指令以實現(xiàn)置位、復位、取反,等于0轉、等于l轉及位與位之間的傳送,邏輯與、或等操作,操作結果送回進位標志位CY。2.控制器 控制

58、器的功能是控制單片機各部件協(xié)調(diào)動作。它由程序計數(shù)器PC、PC加1寄存器、指令寄存器、指令譯碼器、定時與控制電路組成。程序計數(shù)器PC(有時也稱為指令指針,即IP,16位)、地址寄存器AR(16位)、數(shù)據(jù)寄存器DR(8位)、指令寄存器IR(8位)、指令譯碼器ID、控制器等部件組成。其工作過程就是執(zhí)行程序的過程,而程序的執(zhí)行是在控制器的控制下進行的。首先,從片內(nèi)外程序存儲器ROM中取出指令,送指令寄存器。,【相關知識】,,,然后通過指令寄

59、存器再送指令譯碼器,將指令代碼譯成一種或幾種電平信號。與系統(tǒng)時鐘一起,送時序邏輯電路進行綜合后產(chǎn)生各種按一定時間節(jié)拍變化的電平或脈沖控制信號,用以控制系統(tǒng)各部件進行相應的操作,完成指令的執(zhí)行。執(zhí)行程序就是重復這一過程。(1) 程序計數(shù)器PC(Program Counter) 程序計數(shù)器PC用來存放即將要執(zhí)行的指令地址,共16位,可對64K程序存儲器直接尋址。執(zhí)行指令時,PC內(nèi)容的低8位經(jīng)P0口輸出,高8位經(jīng)P2口輸出。也

60、就是說,程序執(zhí)行到什么地方,程序計數(shù)器PC就指到哪里,它始終是跟躥著程序的執(zhí)行。我們知道,用戶程序是存放在內(nèi)部的ROM中的,我們要執(zhí)行程序就要從ROM中一個個字節(jié)的讀出來,然后傳送到CPU中去執(zhí)行,那么ROM具體執(zhí)行到哪一條呢?這就需要我們的程序計數(shù)器PC來指示。 程序計數(shù)器PC具有自動加1的功能,即從存儲器中讀出一個字節(jié)的指令碼后,PC自動加1(指向下一個存儲單元),以實現(xiàn)程序的順序執(zhí)行。PC沒有地址,是不可尋址的,因

61、此,用戶無法對它進行讀寫,但在執(zhí)行轉移、調(diào)用、返回等指令時,能由硬件自動改變其內(nèi)容,以改變程序的執(zhí)行順序。,【相關知識】,,,(2) 指令寄存器IR 指令寄存器的作用就是用來存放即將執(zhí)行的指令代碼。 在這里我們先簡單的了解下CPU執(zhí)行指令的過程,首先由程序存儲器(ROM)中讀取指令代碼送入到指令寄存器IR,經(jīng)指令譯碼器ID譯碼后再由定時與控制電路發(fā)出相應的控制信號,從而完成指令的功能。關于指令在單片機內(nèi)部

62、的執(zhí)行過程,請參考相關書籍。(3) 指令譯碼器ID 用于對送入指令寄存器中的指令進行譯碼,所謂譯碼就是把指令轉變成執(zhí)行此指令所需要的電信號。當指令送入譯碼器后,由譯碼器對該指令進行譯碼,根據(jù)譯碼器輸出的信號,CPU控制電路定時地產(chǎn)生執(zhí)行該指令所需的各種控制信號,使單片機正確的執(zhí)行程序所需要的各種操作。(4) 地址寄存器AR 地址寄存器AR的作用是用來存放將要尋址的外部存儲器單元的地址信息,指令碼所在存儲單

63、元的地址編碼,由程序計數(shù)器PC產(chǎn)生,而指令中操作數(shù)所在的存儲單元地址碼,由指令的操作數(shù)給定。從上圖中我們可以看到,地址寄存器AR通過地址總線AB與外部存儲器相連。,【相關知識】,,,(5) 數(shù)據(jù)寄存器DR 用于存放寫入外部存儲器或I/O端口的數(shù)據(jù)信息??梢?,數(shù)據(jù)寄存器對輸出數(shù)據(jù)具有鎖存功能。數(shù)據(jù)寄存器與外部數(shù)據(jù)總線DB直接相連。(6) 程序狀態(tài)字寄存器PSW 用于記錄運算過程中的狀態(tài),如是否溢出。進位等。

64、 例如,累加器A的內(nèi)容為83H,執(zhí)行指令: ADD A,#8AH;累加器A與立即數(shù)8AH相加,并把結果存放在A中。 指令執(zhí)行后,將產(chǎn)生和的結果為[1]0DH,而累加器A只有8位,只能存放低8位,即0DH,元法存放結果中的最高位B8。為些,在CPU內(nèi)設置一個進位標志位C,當執(zhí)行加法運算出現(xiàn)進位時,進位標志位C為1。(7) 時序部件 由時鐘電路和脈沖分配器組成,用于產(chǎn)生微操

65、作控制部件所需的定時脈沖信號。 (二) 時鐘電路 時鐘電路用于產(chǎn)生單片機工作所需要的時鐘信號;而CPU的時序是指控制器在統(tǒng)一的時鐘信號下,按照指令功能發(fā)出在時間上有一定次序的信號,控制和啟動相關邏輯電路完成指令操作。,【相關知識】,,,1.時鐘電路 8051型單片機芯片內(nèi)有時鐘電路,但石英晶體和微調(diào)電容需要外接。時鐘電路為單片機產(chǎn)生時鐘脈沖序列,作為單片機工作的時間基準,典型的晶體振蕩頻率為12MHz。

66、 MCS-51的時鐘信號可以由兩種方式產(chǎn)生,一種是內(nèi)部方式,利用芯片內(nèi)部的振蕩電路;另一種方式為外部方式,由于MCS-51有HMOS型與CHMOS型,它們的時鐘電路有一定的區(qū)別,這里僅介紹通常所用的HMOS型的時鐘電路。 ① 內(nèi)部時鐘方式 MCS-51內(nèi)部有一個用于構成振蕩器的高增益反相放大器,引腳XTAL1和XTAL2分別是此放大器的輸入端和輸出端。這個放大器與作為反饋元件的片外晶體或陶

67、瓷諧振器一起構成一個自激振蕩器。雖然有內(nèi)部振蕩電路,但要形成時鐘,必須外接元件,圖1-10a是單片機內(nèi)部時鐘方式的電路。外接晶體以及電容Cl和C2構成并聯(lián)諧振電路,接在放大器的反饋回路中,外接電容的大小會影響振蕩器頻率的高低、振蕩器的穩(wěn)定性、起振的快速性和溫度的穩(wěn)定性.,【相關知識】,,,晶體可在 1.2M~12MHz之間任選,電容Cl和C2的一般在20pF~100pF之間選擇。若頻率穩(wěn)定性要求不高,可選用較為廉價的陶瓷諧振器,Cl和C

68、2的典型值約為47pF。在設計印刷電路板時,應采用溫度穩(wěn)定性能好的高頻電容,晶體或陶瓷振蕩器和電容應盡可能與單片機芯片靠近安裝,以減少寄生電容,提高系統(tǒng)穩(wěn)定性和可靠性。,a),b),圖1.28 MCS-51時鐘電路 a)內(nèi)部時鐘方式 b)外部時鐘方式電源,【相關知識】,,,② 外部時鐘方式 外部時鐘方式是利用外部振蕩器信號源即時鐘源直接接入XTAL1或XTAL2。通常XTAL1接地,XTAL2接外部

69、時鐘,電路見圖1-10b。由于XTAL2的邏輯電平不是TTL的,故建議外接一個4.7K~10K的上拉電阻。2.CPU時序 單片機的時序是指CPU在執(zhí)行指令時所需控制信號的時間順序。時序信號是以時鐘脈沖為基準產(chǎn)生的,分為兩大類:一類用于芯片內(nèi)部各功能部件的控制,用戶無須了解,這里不做詳細介紹;另一類用于通過單片機的引腳進行片外存儲器或擴展的I/O端口的控制,該部分時序信號對于分析、設計硬件電路至關重要。 ①

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論