單片機(jī)控制裝置與調(diào)試任務(wù)一 單片機(jī)概述及應(yīng)用_第1頁
單片機(jī)控制裝置與調(diào)試任務(wù)一 單片機(jī)概述及應(yīng)用_第2頁
單片機(jī)控制裝置與調(diào)試任務(wù)一 單片機(jī)概述及應(yīng)用_第3頁
單片機(jī)控制裝置與調(diào)試任務(wù)一 單片機(jī)概述及應(yīng)用_第4頁
單片機(jī)控制裝置與調(diào)試任務(wù)一 單片機(jī)概述及應(yīng)用_第5頁
已閱讀5頁,還剩43頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第一局部

全國中職學(xué)校單片機(jī)控制裝置與調(diào)試技能大賽模塊分析制作人:付少華2021年10月?單片機(jī)控制裝置與調(diào)試?重慶大學(xué)出版社任務(wù)一單片機(jī)概論及應(yīng)用在工業(yè)控制領(lǐng)域的廣泛應(yīng)用。從上世紀(jì)80年代,由當(dāng)時(shí)的4位、8位單片機(jī),開展到現(xiàn)在的32位300M的高速單片機(jī)。單片微型計(jì)算機(jī)簡稱單片機(jī),是典型的嵌入式微控制器〔MicrocontrollerUnit〕。圖1.1芯片實(shí)物圖

2.單片機(jī)根本結(jié)構(gòu)

MCS-51系列單片機(jī)的內(nèi)部功能模塊圖如圖1.2所示。從圖1.2中可看出,MCS-51單片機(jī)組成結(jié)構(gòu)中包含運(yùn)算器、控制器、片內(nèi)存儲(chǔ)器、4個(gè)I/O口、串行口、定時(shí)器/計(jì)數(shù)器、中斷系統(tǒng)、振蕩器等功能部件。其中還包括堆棧指針存放器SP,程序計(jì)數(shù)器PC,程序狀態(tài)字存放器PSW,數(shù)據(jù)指針存放器DPTR。具體功能如下:圖1.2單片機(jī)內(nèi)部功能模塊圖〔1〕.運(yùn)算器從邏輯功能上看,計(jì)算機(jī)網(wǎng)絡(luò)可以分成兩個(gè)子網(wǎng):資源子網(wǎng)和通信子網(wǎng)。1.資源子網(wǎng):提供資源共享所需的硬件、軟件及數(shù)據(jù)等資源,提供訪問計(jì)算機(jī)網(wǎng)絡(luò)和處理數(shù)據(jù)的能力。主要由主機(jī)系統(tǒng)、終端和終端控制器組成。2、通信子網(wǎng):完成數(shù)據(jù)的傳輸、交換以及控制,提供計(jì)算機(jī)網(wǎng)絡(luò)的功能。包括傳輸線路、節(jié)點(diǎn)交換機(jī)、網(wǎng)控中心等設(shè)備,是一個(gè)計(jì)算機(jī)網(wǎng)絡(luò)性能優(yōu)劣的關(guān)鍵?!?〕.控制器控制器由程序計(jì)數(shù)器、指令存放器、指令譯碼器、時(shí)序發(fā)生器和操作控制器等組成,是發(fā)布命令的“決策機(jī)構(gòu)〞,即協(xié)調(diào)和指揮整個(gè)微機(jī)系統(tǒng)的操作。其主要功能有:①從內(nèi)存中取出一條指令,并指出下一條指令在內(nèi)存中的位置。②對(duì)指令進(jìn)行譯碼和測試,并產(chǎn)生相應(yīng)的操作控制信號(hào),以便于執(zhí)行規(guī)定的動(dòng)作。③指揮并控制CPU、內(nèi)存和輸入輸出設(shè)備之間數(shù)據(jù)流動(dòng)的方向?!?〕.主要存放器③指令存放器IR和指令譯碼器ID指令包括操作碼和操作數(shù)。指令存放器是用來保存當(dāng)前正在執(zhí)行的一條指令。當(dāng)執(zhí)行一條指令時(shí),先把它從內(nèi)存中取到數(shù)據(jù)存放器中,然后再傳送到指令存放器。當(dāng)系統(tǒng)執(zhí)行給定的指令時(shí),必須對(duì)操作碼進(jìn)行譯碼,以確定所要求的操作,指令譯碼器就是負(fù)責(zé)這項(xiàng)工作的。其中,指令存放器中操作碼字段的輸出就是指令④程序計(jì)數(shù)器PCPC用于確定下一條指令的地址,以保證程序能夠連續(xù)地執(zhí)行下去,因此通常又被稱為指令地址計(jì)數(shù)器。在程序開始執(zhí)行前必須將程序的第一條指令的內(nèi)存單元地址〔即程序的首地址〕送入PC,使它總是指向下一條要執(zhí)行指令的地址。⑤地址存放器AR地址存放器用于保存當(dāng)前CPU所要訪問的內(nèi)存單元或I/O設(shè)備的地址。由于內(nèi)存與CPU之間存在著速度上的差異,所以必須使用地址存放器來保持地址信息,直到內(nèi)存讀/寫操作完成為止。二、單片機(jī)外部引腳

51系列和52系列單片機(jī)有40個(gè)引腳,其引腳圖和各個(gè)引腳功能如下講解。外部引腳示意圖如圖1.3所示。2、主電源引腳VCC(40腳):接+5V電源正端。VSS(20腳):接+5V電源地端。3、外接晶體引腳XTAL1(19腳):接外部石英晶體的一端。在單片機(jī)內(nèi)部,它是一個(gè)反相放大器的輸入端,這個(gè)放大器構(gòu)成了片內(nèi)振蕩器。當(dāng)采用外部時(shí)鐘時(shí),對(duì)于HMOS單片機(jī),該引腳接地;對(duì)于CHMOS單片機(jī),該引腳作為外部振蕩信號(hào)的輸入端。4、輸入/輸出引腳(1)P0口(39~32腳):P0.0~P0.7統(tǒng)稱為P0口。在不接片外存儲(chǔ)器與不擴(kuò)展I/O口時(shí),可作為準(zhǔn)雙向輸入/輸出口。在接有片外存儲(chǔ)器或擴(kuò)展I/O口時(shí),P0口分時(shí)復(fù)用為低8位地址總線和雙向數(shù)據(jù)總線。

(2)P1口(1~8腳):P1.0~P1.7統(tǒng)稱為P1口,可作為準(zhǔn)雙向I/O口使用。對(duì)于52子系列,P1.0與P1.1還有第二功能:P1.0可用作定時(shí)器/計(jì)數(shù)器2的計(jì)數(shù)脈沖輸入端T2,P1.1可用作定時(shí)器/計(jì)數(shù)器2的外部控制端T2。(3)P2口(21~28腳):P2.0~P2.7統(tǒng)稱為P2口,一般可作為準(zhǔn)雙向I/O口使用;在接有片外存儲(chǔ)器或擴(kuò)展I/O口且尋址范圍超過256字節(jié)時(shí),P2口用作高8位地址總線。

(4)P3口(10~17腳):P3.0~P3.7統(tǒng)稱為P3口。除作為準(zhǔn)雙向I/O口使用外,還可以將每一位用于第二功能,而且P3口的每一條引腳均可獨(dú)立定義為第一功能的輸入輸出或第二功能。P3口的第二功能如表1.1所示。5、控制線〔1〕ALE/PROG(30腳):地址鎖存有效信號(hào)輸出端。ALE在每個(gè)機(jī)器周期內(nèi)輸出兩個(gè)脈沖。在訪問片外程序存儲(chǔ)器期間,下降沿用于控制鎖存P0輸出的低8位地址;在不訪問片外程序存儲(chǔ)器期間,可作為對(duì)外輸出的時(shí)鐘脈沖或用于定時(shí)目的。但要注意,在訪問片外數(shù)據(jù)存儲(chǔ)器期間,ALE脈沖會(huì)跳空一個(gè),此時(shí)作為時(shí)鐘輸出就不妥了。對(duì)于片內(nèi)含有EPROM的機(jī)型,在編程期間,該引腳用作編程脈沖PROG的輸入端。

〔2〕PSEN(29腳):片外程序存儲(chǔ)器讀選通信號(hào)輸出端,低電平有效。當(dāng)從外部程序存儲(chǔ)器讀取指令或常數(shù)期間,每個(gè)機(jī)器周期該信號(hào)兩次有效,以通過數(shù)據(jù)總線P0口讀回指令或常數(shù)。在訪問片外數(shù)據(jù)存儲(chǔ)器期間,PSEN信號(hào)將不出現(xiàn)。(3)RST/VPD(9腳):RST即為RESET,VPD為備用電源。該引腳為單片機(jī)的上電復(fù)位或掉電保護(hù)端。當(dāng)單片機(jī)振蕩器工作時(shí),該引腳上出現(xiàn)持續(xù)兩個(gè)機(jī)器周期的高電平,就可實(shí)現(xiàn)復(fù)位操作,使單片機(jī)回復(fù)到初始狀態(tài)。上電時(shí),考慮到振蕩器有一定的起振時(shí)間,該引腳上高電平必須持續(xù)10ms以上才能保證有效復(fù)位。當(dāng)VCC發(fā)生故障,降低到低電平規(guī)定值或掉電時(shí),該引腳可接上備用電源VPD(+5V)為內(nèi)部RAM供電,以保證RAM中的數(shù)據(jù)不喪失。(4)EA/VPP(31腳):EA為片外程序存儲(chǔ)器選用端。該引腳有效(低電平)時(shí),只選用片外程序存儲(chǔ)器,否那么單片機(jī)上電或復(fù)位后選用片內(nèi)程序存儲(chǔ)器。對(duì)于片內(nèi)含有EPROM的機(jī)型,在編程期間,此引腳用作21V編程電源VPP的輸入端。綜上所述,MCS-51系列單片機(jī)的引腳可歸納為以下兩點(diǎn):第一點(diǎn):單片機(jī)功能多,引腳數(shù)少,因而許多引腳都具有第二功能。第二點(diǎn):單片機(jī)對(duì)外呈現(xiàn)3總線形式,由P2、P0口組成16位地址總線;由P0口分時(shí)復(fù)用為數(shù)據(jù)總線;由ALE、PSEN、RST、EA與P3口中的INT0、INT1、T0、T1、WR、RD共10個(gè)引腳組成控制總線,如圖1.4所示。由于是16位地址線,因此,可使片外存儲(chǔ)器的尋址范圍到達(dá)64KB。 圖1.4總線結(jié)構(gòu)圖

三、單片機(jī)應(yīng)用領(lǐng)域

單片機(jī)廣泛應(yīng)用于儀器儀表、家用電器、醫(yī)用設(shè)備、航空航天、專用設(shè)備的智能化管理及過程控制等領(lǐng)域,大致可分如下幾個(gè)范疇:1.在智能儀器儀表上的應(yīng)用

單片機(jī)具有體積小、功耗低、控制功能強(qiáng)、擴(kuò)展靈活、微型化和使用方便等優(yōu)點(diǎn),廣泛應(yīng)用于儀器儀表中,結(jié)合不同類型的傳感器,可實(shí)現(xiàn)諸如電壓、功率、頻率、濕度、溫度、流量、速度、厚度、角度、長度、硬度、元素、壓力等物理量的測量。采用單片機(jī)控制使得儀器儀表數(shù)字化、智能化、微型化,且功能比起采用電子或數(shù)字電路更加強(qiáng)大。例如精密的測量設(shè)備〔功率計(jì),示波器,各種分析儀〕。2.在工業(yè)控制中的應(yīng)用用單片機(jī)可以構(gòu)成形式多樣的控制系統(tǒng)、數(shù)據(jù)采集系統(tǒng)。例如工廠流水線的智能化管理,電梯智能化控制、各種報(bào)警系統(tǒng),與計(jì)算機(jī)聯(lián)網(wǎng)構(gòu)成二級(jí)控制系統(tǒng)等。3.在家用電器中的應(yīng)用

可以這樣說,現(xiàn)在的家用電器根本上都采用了單片機(jī)控制,從電飯褒、洗衣機(jī)、電冰箱、空調(diào)機(jī)、彩電、其他音響視頻器材、再到電子秤量設(shè)備,五花八門,無所不在。4.在計(jì)算機(jī)網(wǎng)絡(luò)和通信領(lǐng)域中的應(yīng)用

現(xiàn)代的單片機(jī)普遍具備通信接口,可以很方便地與計(jì)算機(jī)進(jìn)行數(shù)據(jù)通信,為在計(jì)算機(jī)網(wǎng)絡(luò)和通信設(shè)備間的應(yīng)用提供了極好的物質(zhì)條件,現(xiàn)在的通信設(shè)備根本上都實(shí)現(xiàn)了單片機(jī)智能控制,從,機(jī)、小型程控交換機(jī)、樓宇自動(dòng)通信呼叫系統(tǒng)、列車無線通信、再到日常工作中隨處可見的移動(dòng),集群移動(dòng)通信,無線電對(duì)講機(jī)等。

5.單片機(jī)在醫(yī)用設(shè)備領(lǐng)域中的應(yīng)用

單片機(jī)在醫(yī)用設(shè)備中的用途亦相當(dāng)廣泛,例如醫(yī)用呼吸機(jī),各種分析儀,監(jiān)護(hù)儀,超聲診斷設(shè)備及病床呼叫系統(tǒng)等等。此外,單片機(jī)在工商,金融,科研、教育,國防航空航天等領(lǐng)域都有著十分廣泛的用途。四、KEILC51軟件的使用

單片機(jī)要運(yùn)行,就必須將程序代碼下載到程序存儲(chǔ)器內(nèi)部,但是在寫進(jìn)單片機(jī)之前要先將你寫的程序轉(zhuǎn)換成*.hex或*.bin的文件。不同系列的單片機(jī)都有不同的軟件對(duì)其進(jìn)行編譯,而keilCx51是一個(gè)專為51系列單片機(jī)提供的軟件開發(fā)平臺(tái)根本上現(xiàn)在的所有51系列內(nèi)核的單片機(jī)都是使用keil來調(diào)試和編譯,在上面編寫好程序后,將其編譯成*.hex的十六進(jìn)制燒寫文件。然后再燒寫到單片機(jī)系統(tǒng)中去。最后單片機(jī)就會(huì)按照你寫程序的邏輯思維在電路上運(yùn)行。下面以keilCx51V8.08版本為例,介紹如何使用Keil的集成開發(fā)環(huán)境。1.建立工程〔1〕雙擊桌面,啟動(dòng)Keil3軟件,界面如圖1-5所示。圖1-5啟動(dòng)Keil3軟件界面〔2〕點(diǎn)擊NewProject,建立工程界面如圖1-6所示。

圖1-6建立工程界面2、新建一個(gè)工程

〔1〕.點(diǎn)擊“Project〞菜單,選擇下拉菜單的“NewμVisionProject〞,會(huì)彈出如圖1-7的窗口,在文件名一欄中填入你的想要的工程文件名,文件名是任由你決定的,但是一般是取帶有特定意義的為文件名,這樣比較容易管理和理解。在這里就取“test〞意為測試的意思。圖1-7建立新工程名界面然后點(diǎn)擊保存。文件的擴(kuò)展名為*.uv2(如圖1-8),這是keil工程文件擴(kuò)展名,以后我們直接雙擊翻開這個(gè)文件就可以了。〔2〕.點(diǎn)擊保存之后會(huì)彈出如圖1-9的窗口,要求選擇芯片的型號(hào),在這里我們選擇“Atmel〞內(nèi)面的AT89S52如圖1-10所示。

圖1-9選擇設(shè)備系列芯片型號(hào)界面圖1-10選擇具體芯片型號(hào)界面

〔3〕.完成上一步之后點(diǎn)擊確認(rèn)。有可能會(huì)出現(xiàn)圖1-11的對(duì)話框其意思是把標(biāo)準(zhǔn)8051的啟動(dòng)代碼復(fù)制到本工程中去你只需要“否(N)〞就可以了。圖1-11啟動(dòng)代碼復(fù)制到本工程中界面〔4〕.完成以上步驟之后我們就可以見到的keil界面如圖1-12所示。

圖1-12keil完整界(5).我們現(xiàn)在來編寫第一個(gè)程序。點(diǎn)擊“File〞的下拉菜單中選擇“New〞的選項(xiàng)(或者點(diǎn)擊圖標(biāo))如圖1-13所示。)如圖1-13所示。圖1-13新建文件界面(6).這時(shí)光標(biāo)會(huì)在新建的“Text1〞這個(gè)文本框中閃爍。其實(shí)現(xiàn)在已經(jīng)可以編寫程序了,但是建義大家還是先將這個(gè)空白文件保存好之后再來編寫。點(diǎn)擊“File〞的下拉菜單中的“SaveAs〞此時(shí)會(huì)彈出圖1-14的對(duì)話框。在文件名中填入你想要的文件名,但是文件名最好是具有一定的代表意義,這樣比較容易管理和理解。這里特別要注意的就是,如果我們用C語言來寫程序的話,那么文件的擴(kuò)展名一定要為.c,但是如果我們用的是匯編語言來寫程序,那么文件的擴(kuò)展名一定要為.asm,由于我們現(xiàn)在用C語言來編寫程序,所以這里就取“test.c〞,單擊“保存〞。原來的那個(gè)“Text1〞的文件已經(jīng)變成了我們剛剛的那個(gè)“test.c〞文件。當(dāng)你按上面的程序步驟完成之后,還是看見“Text1〞沒有變這“test.c〞文件,那只是你的keil沒有刷新,你把它最小化,然后再復(fù)原就可以了。

圖1-14保存文件對(duì)話框(7).完成上一步之后,回到了圖1-12的編輯界面,單擊“Target〞前面的“+〞號(hào),然后在“SourceGroup1〞上右擊一下,選中“AddFilestoGroup,SourceGroup1〞就會(huì)彈出圖1-15的對(duì)話框,選擇我們剛剛建立的那個(gè)“test.c〞的文件。圖1-15添加文件對(duì)話框(8).選擇完之后,我們已經(jīng)發(fā)現(xiàn)那剛剛在圖1-12右邊的“SourceGroup1〞下面多了一個(gè)“test.c〞,如圖1-16所示。圖1-16添加文件之后的對(duì)話框(9)將文件參加“SourceGroup1〞之后,增加文件的對(duì)話框并沒有消失。這時(shí)其對(duì)話框還在等待添加其它的文件,如果你再單擊“Add〞,就會(huì)出現(xiàn)圖1-17的對(duì)話框,其意思是提示用戶所選的文件已經(jīng)在列表中。這時(shí)點(diǎn)擊“確定〞返回到增加對(duì)話框,然后點(diǎn)擊“Close〞返回主界面。再在“SourceGroup1〞前面的“+〞號(hào)中點(diǎn)擊一下,你就會(huì)見到“test.c〞這個(gè)文件已在工程當(dāng)中。到這里一個(gè)完整的工程工程就建立完成了,下面讓我們來學(xué)習(xí)如何調(diào)試程序。#include<reg52.h>//包含所用單片機(jī)對(duì)應(yīng)的頭文件voiddelay_ms(unsignedinttime)//延時(shí)1毫秒程序n是形式參數(shù)圖1-17所選的文件已在列表中界面{unsignedinti,j;for(i=time;i>0;i--)//i不斷減1一直到i>0條件不成立為止for(j=112;j>0;j--)//j不斷減1一直到j(luò)>0條件不成立為止{;}}voidmain(void){while(1){P1=0x00;//點(diǎn)亮P1端口delay_ms(500);//把實(shí)際參數(shù)500傳給n延時(shí)500毫秒也就是0.5秒P1=0xff;//熄滅P1端口delay_ms(500);//把實(shí)際參數(shù)500傳給n延時(shí)500毫秒也就是0.5秒}}上面是一個(gè)簡單的C語言程序,只要將該程序的代碼燒寫到設(shè)備的電路中去,實(shí)驗(yàn)?zāi)K就會(huì)實(shí)現(xiàn)“亮,延時(shí)500毫秒,滅,延時(shí)500毫秒〞這樣不斷循環(huán)閃爍。對(duì)于上面的程序,如果你是是一個(gè)初學(xué)者,可能還有好多問題是不明白的,在這里我們暫時(shí)不用去管它,在以后節(jié)章中我們會(huì)詳細(xì)去研究它,在這里只是讓大家有一個(gè)初步的認(rèn)識(shí)。把程序裝入keil之后的畫面如圖1-18所示。

圖1-18附有程序的界面3、設(shè)置工程〔1〕.在圖1-18的畫面中點(diǎn)擊,會(huì)彈出如圖1-19的對(duì)話框。其中有10個(gè)選擇頁。選擇“Target〞項(xiàng),也就是圖1-19的界面。圖1-19目標(biāo)選項(xiàng)界面

在圖1-19中,晶振的頻率值12MHZ,默認(rèn)是所選單片機(jī)最高的可用頻率值。該設(shè)置值與單片機(jī)最終在電路運(yùn)行中的程序代碼是無關(guān)的,這只是供我們?cè)谲浖{(diào)試時(shí),顯示程序執(zhí)行的時(shí)間(關(guān)下如何看時(shí)間,這個(gè)在后面節(jié)章中會(huì)

溫馨提示

  • 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)論