




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、前 言 單片機(jī)是一種集成在電路芯片,是采用超大規(guī)模集成電路技術(shù)把具有數(shù)據(jù)處理能力的中央處理器cpu隨機(jī)存儲(chǔ)器ram、只讀存儲(chǔ)器rom、多種i/o口和中斷系統(tǒng)、定時(shí)器/計(jì)時(shí)器等功能(可能還包括顯示驅(qū)動(dòng)電路、脈寬調(diào)制電路、模擬多路轉(zhuǎn)換器、a/d轉(zhuǎn)換器等電路)集成到一塊硅片上構(gòu)成的一個(gè)小而完善的計(jì)算機(jī)系統(tǒng)。單片機(jī)簡(jiǎn)又稱(chēng)為微型控制器,是微型計(jì)算機(jī)的一個(gè)重要分支。單片機(jī)是70年代中期發(fā)展起來(lái)的一種大規(guī)模集成電路芯片,是cpu、ram、rom、i/o接口和中斷系統(tǒng)于同一硅片的器件。單片機(jī)是靠程序運(yùn)行的,并且可以修改。通過(guò)不同的程序?qū)崿F(xiàn)不同的功能,尤其是特殊的獨(dú)特的一些功能,這是別的器件需要費(fèi)很大力氣才能做
2、到的,有些則是花大力氣也很難做到的。一個(gè)不是很復(fù)雜的功能要是用美國(guó)50年代開(kāi)發(fā)的74系列,或者60年代的cd4000系列這些純硬件來(lái)搞定的話,電路一定是一塊大pcb板!但是如果要是用美國(guó)70年代成功投放市場(chǎng)的系列單片機(jī),結(jié)果就會(huì)有天壤之別!只因?yàn)閱纹瑱C(jī)的通過(guò)你編寫(xiě)的程序可以實(shí)現(xiàn)高智能,高效率,以及高可靠性! 由于單片機(jī)對(duì)成本是敏感的,所以目前占統(tǒng)治地位的軟件還是最低級(jí)匯編語(yǔ)言,它是除了二進(jìn)制機(jī)器碼以上最低級(jí)的語(yǔ)言了,既然這么低級(jí)為什么還要用呢?很多高級(jí)的語(yǔ)言已經(jīng)達(dá)到了可視化編程的水平為什么不用呢?原因很簡(jiǎn)單,就是單片機(jī)沒(méi)有家用計(jì)算機(jī)那樣的cpu,也沒(méi)有像硬盤(pán)那樣的海量存儲(chǔ)設(shè)備。一個(gè)可視化高級(jí)語(yǔ)
3、言編寫(xiě)的小程序里面即使只有一個(gè)按鈕,也會(huì)達(dá)到幾十k的尺寸!對(duì)于家用pc的硬盤(pán)來(lái)講沒(méi)什么,可是對(duì)于單片機(jī)來(lái)講是不能接受的。 單片機(jī)在硬件資源方面的利用率必須很高才行,所以匯編雖然原始卻還是在大量使用。一樣的道理,如果把巨型計(jì)算機(jī)上的操作系統(tǒng)和應(yīng)用軟件拿到家用pc上來(lái)運(yùn)行,家用pc的也是承受不了的80年代以來(lái),單片機(jī)發(fā)展迅速,各類(lèi)新產(chǎn)品不斷涌現(xiàn),出現(xiàn)了許多高性能新型機(jī)種,現(xiàn)已逐漸成為工廠自動(dòng)化和各控制領(lǐng)域的支柱產(chǎn)業(yè)之一。報(bào)警器是一種為防止或預(yù)防某事件發(fā)生所造成的后果,以聲音、光、氣壓等形式來(lái)提醒或警示我們應(yīng)當(dāng)采取某種行動(dòng)的電子產(chǎn)品。隨著科技的進(jìn)步,機(jī)械式報(bào)警器越來(lái)越多地被先進(jìn)的電子報(bào)警器代替,經(jīng)常
4、應(yīng)用于系統(tǒng)故障、安全防范、交通運(yùn)輸、醫(yī)療救護(hù)、應(yīng)急救災(zāi)、感應(yīng)檢測(cè)等領(lǐng)域,與社會(huì)生產(chǎn)、生活密不可分。分為:智能家用防盜報(bào)警器門(mén)磁感應(yīng)器。家庭盜賊侵入主要是門(mén)和窗,門(mén)盜的比例又大于窗盜。在每個(gè)住戶(hù)大門(mén)上安裝有一個(gè)門(mén)磁感應(yīng)器。如有盜匪撬門(mén),門(mén)磁感應(yīng)器會(huì)即刻將此信息傳輸給家庭報(bào)警主機(jī),主機(jī)報(bào)警,將此信息傳輸?shù)娇刂浦行模行臅?huì)立即顯示報(bào)警地點(diǎn)、性質(zhì)(門(mén)盜)。窗盜采用紅外線感應(yīng)探頭在每套房的窗口及陽(yáng)臺(tái)進(jìn)行布防,當(dāng)有盜賊從窗口或陽(yáng)臺(tái)進(jìn)入時(shí),探測(cè)器立即通過(guò)家庭主機(jī)傳輸至控制中心。同時(shí),家庭主機(jī)也報(bào)警,控制中心會(huì)立即顯示出報(bào)警地點(diǎn)、性質(zhì)(窗盜)。煤氣泄漏也是現(xiàn)代家庭不得不防的安全措施,這里采用了煤氣感應(yīng)報(bào)警器,
5、安裝于廚房。當(dāng)煤氣泄漏時(shí),達(dá)到一定濃度后,感應(yīng)器立即將此信號(hào)通過(guò)家庭主機(jī)傳輸?shù)綀?bào)警中心。所以本課程設(shè)計(jì)介紹了簡(jiǎn)易報(bào)警器的設(shè)計(jì)和運(yùn)用。掌握單片機(jī)的技術(shù)和運(yùn)用到實(shí)踐中。 目 錄一,設(shè)計(jì)任務(wù)及要求二,報(bào)警器的設(shè)計(jì)方框圖三,設(shè)計(jì)方案選擇四,8051單片機(jī)引腳圖與引腳功能簡(jiǎn)介五,報(bào)警器的說(shuō)明六,在8051中變頻的實(shí)現(xiàn)七,波特率的確定八,主程序介紹九,子程序的調(diào)用十,中斷請(qǐng)求心得體會(huì)參 考 文 獻(xiàn)一,設(shè)計(jì)任務(wù)及要求:題目:變頻報(bào)警控制系統(tǒng)。要求:利用8051單片機(jī)的引腳進(jìn)行按鍵報(bào)警,接開(kāi)關(guān)1,用小喇叭發(fā)出頻率為10khz報(bào)警的聲音,持續(xù)20s。按開(kāi)關(guān)2,小喇叭發(fā)出頻率為10khz和5khz的震蕩報(bào)警的聲音
6、,持續(xù)60s。任務(wù):1,涉及硬件電路圖,畫(huà)出電路原理圖; 2,畫(huà)出程序流程圖; 3編制程序,寫(xiě)出源程序代碼; 4,寫(xiě)出5000子的詳細(xì)說(shuō)明書(shū),要求字跡工整,原理敘述正確,會(huì)計(jì)算主 要元器件的一些參數(shù),并選擇元器件。 5,個(gè)人總結(jié)。二,報(bào)警器的設(shè)計(jì)方框圖按下s1指令跳轉(zhuǎn)到itip按下s2指令跳轉(zhuǎn)到itip1開(kāi)始jc判斷c=0jc判斷c=1喇叭報(bào)警喇叭報(bào)警jc判斷c=0指令跳轉(zhuǎn)到itip喇叭報(bào)警三,設(shè)計(jì)方案選擇方案一用8051單片機(jī)的引腳進(jìn)行按鍵報(bào)警,如下圖,按下開(kāi)關(guān)s1按下列程序進(jìn)行運(yùn)行,80c51org 0000hreset:ajmp mainorg 0003hajmp it0porg 001
7、bhajmp it1porg 0100hmain: mov sp,#60h mov b,#10mov tmod,#11hmov tl0,#0b0hmov th1,#3chmov tli,#34hmov th1,#0fehsetb tr0 setb tr1 setb et0setb et1setb eahere: ajmp hereit0p: mov tl0,#0b0hmov th1,#3ch djnz b,loop cpl cloop:reti it1p: jc it1p1mov tl1,#34hmov th1,#0fehajmp qfit1p1:mov tl1,#1ahmov th1,#0f
8、fhqf: cpl p3.4retiret方案二利用8051單片機(jī)的引腳進(jìn)行按鍵報(bào)警,接開(kāi)關(guān)s1,用小喇叭發(fā)出頻率為10khz報(bào)警的聲音,持續(xù)20s。按開(kāi)關(guān)s2,小喇叭發(fā)出頻率為10khz和5khz的震蕩報(bào)警的聲音,持續(xù)60s。80c51org 0000hreset:ajmp main ;轉(zhuǎn)主程序org 001bh ;t1中斷入口ajmp it1p ;轉(zhuǎn)t1中斷處理程序it1porg 0100hmain: mov sp,#60h ;設(shè)堆棧指針mov r0,#100 ;置1khz時(shí)計(jì)數(shù)初值mov r1,#20mov tmod,#10h ; 設(shè)置t1為方式1mov tli,#34h ;t1置1kh
9、z時(shí)初值mov th1,#0fehsetb tr1 ;啟動(dòng)t1setb et1 ;允許t1中斷setb ea ;cpu開(kāi)中斷here: ajmp here ;自身跳轉(zhuǎn)it1p: ;t1中斷服務(wù)程序jc it1p1 ;c=0 1s1khz方波。c=1,跳轉(zhuǎn)到it1p1mov tl1,#34hmov th1,#0fehdjnz r0, qfmov r0,#100djnz r1, qf setb cmov r2,#200 ;置2khz時(shí)計(jì)數(shù)初值mov r3,#20it1p1: ;1s2 khz方波程序mov tl1,#1ah mov th1,#0ffhdjnz r2,qfmov r2 #200din
10、z r3,qf clr cmov r0,#100 ;重置1khz時(shí)計(jì)數(shù)初值mov r1,#20qf: cpl p3.4 ;p3.4的狀態(tài)取反retiret方案一與方案二相比方案二要更為好一些,能夠更加好的實(shí)現(xiàn)設(shè)計(jì)課題的要求。接開(kāi)關(guān)s1,用小喇叭發(fā)出頻率為10khz報(bào)警的聲音,持續(xù)20s。按開(kāi)關(guān)s2,小喇叭發(fā)出頻率為10khz和5khz的震蕩報(bào)警的聲音,持續(xù)60s。所以我們選擇的是方案二為本次課程設(shè)計(jì)的主要方案。四,8051單片機(jī)引腳圖與引腳功能簡(jiǎn)介 電源: vcc - 芯片電源,接+5v; vss - 接地端; 時(shí)鐘:xtal1、xtal2 - 晶體振蕩電路反相輸入端和輸出端。 控制線:控制線
11、共有4根, 1 ale/prog:地址鎖存允許/片內(nèi)eprom編程脈沖 ale功能:用來(lái)鎖存p0口送出的低8位地址 prog功能:片內(nèi)有eprom的芯片,在eprom編程期間,此引腳輸入 編程脈沖。 2 psen:外rom讀選通信號(hào)。 3 rst/vpd:復(fù)位/備用電源。 rst(reset)功能:復(fù)位信號(hào)輸入端。 vpd功能:在vcc掉電情況下,接備用電源。 4 ea/vpp:內(nèi)外rom選擇/片內(nèi)eprom編程電源。 ea功能:內(nèi)外rom選擇端。 vpp功能:片內(nèi)有eprom的芯片,在eprom編程期間,施加編程電源vpp。 i/o線 80c51共有4個(gè)8位并行i/o端口:p0、p1、p2、
12、p3口,共32個(gè)引腳。p3口還具有第二功能,用于特殊信號(hào)輸入輸出和控制信號(hào)(屬控制總線)。80c51是標(biāo)準(zhǔn)的40引腳雙列直插式集成電路芯片,引腳分布請(qǐng)參照-單片機(jī)引腳圖: l p0.0p0.7 p0口8位雙向口線(在引腳的3932號(hào)端子)。 l p1.0p1.7 p1口8位雙向口線(在引腳的18號(hào)端子)。 l p2.0p2.7 p2口8位雙向口線(在引腳的2128號(hào)端子)。 l p3.0p3.7 p3口8位雙向口線(在引腳的1017號(hào)端子)。 運(yùn)算部件:它包括算術(shù)、邏輯部件alu、布爾處理器、累加器acc、寄存器b、暫存器tmp1和tmp2、程序狀態(tài)字寄存器psw以及十進(jìn)制調(diào)整電路等。運(yùn)算部件
13、的功能是實(shí)現(xiàn)數(shù)據(jù)的算術(shù)邏輯運(yùn)算、位變址處理和數(shù)據(jù)傳送操作。 mcs-51單片機(jī)的alu功能十分強(qiáng),它不僅可對(duì)8位變量進(jìn)行邏輯“與”、“或”、“異或”、循環(huán)、求補(bǔ)、清零等基本操作,還可以進(jìn)行加、減、乘、除等基本運(yùn)算。為了乘除運(yùn)算的需要,設(shè)置了b寄存器。在執(zhí)行乘法運(yùn)算指令時(shí),用來(lái)存放其中一個(gè)乘數(shù)和乘積的高8位數(shù);在執(zhí)行除法運(yùn)算指令時(shí),b中存入除數(shù)及余數(shù)。mcs-51單片機(jī)的alu還具有一般微機(jī)alu,如z80、mcs-48所不具備的功能,即布爾處理功能。單片機(jī)指令系統(tǒng)中的布爾指令集、存儲(chǔ)器中的位地址空間與cpu中的位操作構(gòu)成了片內(nèi)的布爾功能系統(tǒng),它可對(duì)位(bit)變量進(jìn)行布爾處理,如置位、清零、求
14、補(bǔ)、測(cè)試轉(zhuǎn)移及邏輯“與”、“或”等操作。在實(shí)現(xiàn)位操作時(shí),借用了程序狀態(tài)標(biāo)志器(psw)中的進(jìn)位標(biāo)志cy作為位操作的“累加器”。 運(yùn)算部件中的累加器acc是一個(gè)8位的累加器(acc也可簡(jiǎn)寫(xiě)為a)。從功能上看,它與一般微機(jī)的累加器相比沒(méi)有什么特別之處,但需要說(shuō)明的是acc的進(jìn)位標(biāo)志cy就是布爾處理器進(jìn)行位操作的一個(gè)累加器。mcs-51單片機(jī)的程序狀態(tài)psw,是一個(gè)8位寄存器,它包含了程序的狀態(tài)信息。 2、控制部件 控制部件是單片機(jī)的神經(jīng)中樞,它包括時(shí)鐘電路、復(fù)位電路、指令寄存器、譯碼以及信息傳送控制部件。它以主振頻率為基準(zhǔn)發(fā)出cpu的時(shí)序,對(duì)指令進(jìn)行譯碼,然后發(fā)出各種控制信號(hào),完成一系列定時(shí)控制的
15、微操作,用來(lái)控制單片機(jī)各部分的運(yùn)行。其中有一些控制信號(hào)線能簡(jiǎn)化應(yīng)用系統(tǒng)外圍控制邏輯,如控制地址鎖存的地址鎖存信號(hào)ale,控制片外程序存儲(chǔ)器運(yùn)行的片內(nèi)外存儲(chǔ)器選擇信號(hào)ea,以及片外取指信號(hào)psen。五,報(bào)警器的說(shuō)明在機(jī)殼的一側(cè)裝有面板,面板上開(kāi)設(shè)有面板孔,另一側(cè)裝有電源端子、信號(hào)端子,在機(jī)殼內(nèi)裝有變壓整流電路和電路板,在電路板上裝有邏輯門(mén)啟動(dòng)、譯碼、振蕩發(fā)聲集成電路、上拉電阻、延時(shí)阻容元件、限流電阻、驅(qū)動(dòng)三極管、定時(shí)阻容元件、隔直電容、揚(yáng)聲器、發(fā)光二極管限流電阻、發(fā)光二極管;、其電路結(jié)構(gòu)為:信號(hào)端子接上拉電阻、邏輯門(mén)啟動(dòng)集成電路、譯碼集成電路,邏輯門(mén)啟動(dòng)集成電路接延時(shí)阻容元件,延時(shí)阻容元件接振蕩
16、發(fā)聲集成電路和定時(shí)阻容元件,聲音信號(hào)經(jīng)隔直電容接揚(yáng)聲器,譯碼集成電路經(jīng)限流電阻接驅(qū)動(dòng)三極管,驅(qū)動(dòng)三極管輸出經(jīng)發(fā)光二極管限流電阻接發(fā)光二極管,驅(qū)動(dòng)三極管中有一只的發(fā)射極接變壓整流電路,其它驅(qū)動(dòng)三極管的發(fā)射極接振蕩發(fā)聲集成電路的輸出,信號(hào)端子中的公共端子接變壓整流電路,變壓整流電路接電源端子。六,在8051中變頻的實(shí)現(xiàn)計(jì)數(shù)初值的計(jì)算時(shí)或計(jì)數(shù)方式下計(jì)數(shù)初值如何確定,定時(shí)器選擇不同的工作方式,不同的操作模式其計(jì)數(shù)值均不相同。若設(shè)最大計(jì)數(shù)值為 m ,各操作模式下的 m 值為: 模式 0 : m=2 13 =8192 模式 1 : m=2 16 =65536 模式 2 : m=2 8 =256 模式 3
17、: m=256 ,定時(shí)器 t0 分成 2 個(gè)獨(dú)立的 8 位計(jì)數(shù)器,所以 th0 、 tl0 的 m 均為 256 。 因?yàn)?mcs-51 的兩個(gè)定時(shí)器均為加 1 計(jì)數(shù)器,當(dāng)初到最大值( 00h 或 0000h )時(shí)產(chǎn)生溢出,將 tf 位置 1 ,可發(fā)出溢出中斷,因此計(jì)數(shù)器初值 x 的計(jì)算式為: x=m- 計(jì)數(shù)值式中的 m 由操作模式確定,不同的操作模式計(jì)數(shù)器的長(zhǎng)不相同,故m值也不相同。而式中的計(jì)數(shù)值與定時(shí)器的工作方式有關(guān)。 1 、計(jì)數(shù)工作方式時(shí) 計(jì)數(shù)工作方式時(shí),計(jì)數(shù)脈沖由外部引入,是對(duì)外部沖進(jìn)行計(jì)數(shù),因此計(jì)數(shù)值根據(jù)要求確定。其計(jì)數(shù)初值: x=m- 計(jì)數(shù)值 例如:某工序要求對(duì)外部脈沖信號(hào)計(jì) 10
18、0 次, x=m-100 2 、定時(shí)工作方式時(shí) 定時(shí)工作方式時(shí),因?yàn)橛?jì)數(shù)脈沖由內(nèi)部供給,是對(duì)機(jī)器周期進(jìn)行計(jì)數(shù),故計(jì)數(shù)脈沖頻率為 f cont =f osc × 1/12 、計(jì)數(shù)周期 t=1/f cont =12/f osc 定時(shí)工作方式的計(jì)數(shù)初值 x 等于: x=m- 計(jì)數(shù)值 =m-t/t=m- ( f osc × t ) /12 式中: f osc 為振蕩器的振蕩頻率, t 為要求定時(shí)的時(shí)間。 定時(shí)器有兩種工作方式 :即定時(shí)和計(jì)數(shù)工作方式。由 tmod 的 d6 位和 d2 位選擇,其中 d6 位選擇 t1 的工作方式, d2 位選擇 t0 的工作方式。 =0 工作在定時(shí)
19、方式, =1 工作在計(jì)數(shù)方式。并有四種操作模式: 1 、模式 0 : 13 位計(jì)數(shù)器, tli 只用低 5 位。 2 、模式 1 : 16 位計(jì)數(shù)器。 3 、模式 2 : 8 位自動(dòng)重裝計(jì)數(shù)器, thi 的值在計(jì)數(shù)中不變, tli 溢出時(shí), thi 中的值自動(dòng)裝入 tli 中。 4 、模式 3 : t0 分成 2 個(gè)獨(dú)立的 8 位計(jì)數(shù)器, t1 停止計(jì)數(shù)。mcs-51 有 5 個(gè)中斷源,可分為 2 個(gè)中斷優(yōu)先級(jí),即高優(yōu)先級(jí)和低優(yōu)先級(jí),中斷自然優(yōu)先級(jí): 外部中斷 0 ;定時(shí)器 0 中斷; 外部中斷 1 ;定時(shí)器 1 中斷 ;串行口中斷 ;定時(shí)器 2 中斷 ( 1 )同級(jí)或高優(yōu)先級(jí)的中斷正在進(jìn)行中
20、;( 2 )現(xiàn)在的機(jī)器周期還不是執(zhí)行指令的最后一上機(jī)器周期,即正在執(zhí)行的指令還沒(méi)完成前不響應(yīng)任何中斷;( 3 )正在執(zhí)行的是中斷返回指令 ret1 或是訪問(wèn)專(zhuān)用寄存器 ie 或 ip 的指令,換而言之,在 reti 或者讀寫(xiě) ie 或 ip 之后,不會(huì)馬上響應(yīng)中斷請(qǐng)求,至少要在執(zhí)行其它一要指令之扣才會(huì)響應(yīng)。 (一)中斷響應(yīng)條件 cpu 響應(yīng)中斷的條件有: ( 1 )有中斷源發(fā)出中斷請(qǐng)求; ( 2 )中斷總允許位 ea=1 ,即 cpu 開(kāi)中斷;( 3 )申請(qǐng)中斷的中斷源的中斷允許位為 1 ,即沒(méi)有被屏蔽。所以為10khz是算的初始值為65536100*6/12=所以tl1=th1=程序如下mo
21、v tl1,#34hmov th1,#0feh為20khz是算的初始值為6553650*6/12=所以tl1=th1=程序如下mov tl1,#34hmov th1,#0feh所以用8051的定時(shí)器1產(chǎn)生一個(gè)10khz的方波,和一個(gè)20khz的方波。有p3.4輸出。給發(fā)聲器,發(fā)出報(bào)警。七,波特率的確定: 對(duì)方式0來(lái)說(shuō),波特率已固定成fosc12,隨著外部晶振的頻率不同,波特率亦不相同。常用的fosc有12mhz和6mhz,所以波特率相應(yīng)為1000×103和500×103位s。在此方式下,數(shù)據(jù)將自動(dòng)地按固定的波特率發(fā)送接收,完全不用設(shè)置。對(duì)方式2而言,波特率的計(jì)算式為2smo
22、d·fosc64。當(dāng)smod0時(shí),波特率為fm64;當(dāng)smod1時(shí),波特率為fosc32。在此方式下,程控設(shè)置smod位的狀態(tài)后,波特率就確定了,不需要再作其它設(shè)置。對(duì)方式1和方式3來(lái)說(shuō),波特率的計(jì)算式為2smod32×t1溢出率,根據(jù)smod狀態(tài)位的不同,波特率有tl32溢出率和t116溢出率兩種。由于t1溢出率的設(shè)置是方便的,因而波特率的選擇將十分靈活。前已敘及,定時(shí)器tl有4種工作方式,為了得到其溢出率,而又不必進(jìn)入中斷服務(wù)程序,往往使t1設(shè)置在工作方式2的運(yùn)行狀態(tài),也就是8位自動(dòng)加入時(shí)間常數(shù)的方式。由于在這種方式下,t1的溢出率(次秒)計(jì)算式可表達(dá)成:八,主程序介紹
23、main: mov sp,#60h ;設(shè)堆棧指針mov r0,#100 ;置1khz時(shí)計(jì)數(shù)初值mov r1,#20mov tmod,#10h ; 設(shè)置t1為方式1mov tli,#34h ;t1置1khz時(shí)初值mov th1,#0fehsetb tr1 ;啟動(dòng)t1setb et1 ;允許t1中斷setb ea ;cpu開(kāi)中斷起始程序org 0000hreset:ajmp main ;轉(zhuǎn)主程序org 001bh ;t1中斷入口ajmp it1p ;轉(zhuǎn)t1中斷處理程序it1porg 0100h九,子程序的調(diào)用子程序是微機(jī)基本程序結(jié)構(gòu)中的1種,基本程序結(jié)構(gòu)包括順序(簡(jiǎn)單)、分支(判斷)、循環(huán)、子程序
24、和查表等5種。 子 程序是一組可以公用的指令序列,只要給出子程序的入口地址就能從主程序轉(zhuǎn)入子程序。子程序在功能上具有相對(duì)的獨(dú)立性,在執(zhí)行主程序的過(guò)程中往往被多次調(diào) 用,甚至被不同的程序所調(diào)用。一般微機(jī)首先執(zhí)行主程序,碰到調(diào)用指令就轉(zhuǎn)去執(zhí)行子程序,子程序執(zhí)行完后,返回指令就返回主程序斷點(diǎn)(即調(diào)用指令的下一條指 令),繼續(xù)執(zhí)行沒(méi)有處理完的主程序,這一過(guò)程叫做(主程序)調(diào)用子程序過(guò)程。子程序結(jié)構(gòu)可簡(jiǎn)化程序,防止重復(fù)書(shū)寫(xiě)錯(cuò)誤,并可節(jié)省內(nèi)存空間。計(jì)算機(jī)中經(jīng)常把常用的各種通用的程序段編成子程序,提供給用戶(hù)使用。用戶(hù)在自己編寫(xiě)的程序中,只要會(huì)調(diào)用這些子程序,就可大大簡(jiǎn)化用
25、戶(hù)編程的困難。 中斷是計(jì)算機(jī)中央處理單元cpu與外設(shè)i/o交換數(shù)據(jù)的一種方式,除此方式外,還有無(wú)條件、條件(查詢(xún))、存貯器直接存取dma和i/o通道等四種方式。由于無(wú)條件不可靠,條件效率低,dma和i/o通道兩方式硬件復(fù)雜,而中斷方式cpu效率高,因此一般大多采用中斷方式。本課題中也采用了子程序的調(diào)用。it1p: ;t1中斷服務(wù)程序jc it1p1 ;c=0 1s1khz方波。c=1,跳轉(zhuǎn)到it1p1mov tl1,#34hmov th1,#0fehdjnz r0, qfmov r0,#100djnz r1, qf setb cmov r2,#200 ;置
26、2khz時(shí)計(jì)數(shù)初值mov r3,#20it1p1: ;1s2 khz方波程序mov tl1,#1ah mov th1,#0ffhdjnz r2,qfmov r2 #200dinz r3,qf clr cmov r0,#100 ;重置1khz時(shí)計(jì)數(shù)初值mov r1,#20十,中斷請(qǐng)求外部中斷請(qǐng)求源:即外中斷0和1,經(jīng)由外部管腳引入的,在單片機(jī)上有兩個(gè)管腳,名稱(chēng)為int0、int1,也就是p3.2、p3.3這兩個(gè)管腳。在內(nèi)部的tcon中有四位是與外中斷有關(guān)的。it0:int0觸發(fā)方式控制位,可由軟件進(jìn)和置位和復(fù)位,it0=0,int0為低電平觸發(fā)方式,it0=1,int0為負(fù)跳變觸發(fā)方式。這兩種方
27、式的差異將在以后再談。ie0:int0中斷請(qǐng)求標(biāo)志位。當(dāng)有外部的中斷請(qǐng)求時(shí),這位就會(huì)置1(這由硬件來(lái)完成),在cpu響應(yīng)中斷后,由硬件將ie0清0。it1、ie1的用途和it0、ie0相同。(2)內(nèi)部中斷請(qǐng)求源tf0:定時(shí)器t0的溢出中斷標(biāo)記,當(dāng)t0計(jì)數(shù)產(chǎn)生溢出時(shí),由硬件置位tf0。當(dāng)cpu響應(yīng)中斷后,再由硬件將tf0清0。tf1:與tf0類(lèi)似。ti、ri:串行口發(fā)送、接收中斷,在串行口中再講解。2、中斷允許寄存器ie在mcs51中斷系統(tǒng)中,中斷的允許或禁止是由片內(nèi)可進(jìn)行位尋址的8位中斷允許寄存器ie來(lái)控制的。qf: cpl p3.4 ;p3.4的狀態(tài)取反retiret心得體會(huì)本系統(tǒng)的設(shè)計(jì)思想來(lái)源于生活,所以所具有的功能也是為生活的方便而設(shè)置的。兩個(gè)星期的課程設(shè)計(jì)結(jié)束了,從中我學(xué)到了很多東西且感悟良多體會(huì)到了課本聯(lián)系實(shí)際學(xué)以至用設(shè)計(jì)思想實(shí)際動(dòng)手能力都有所提高.初學(xué)單片機(jī)時(shí)覺(jué)得它深?yuàn)W難懂枯燥無(wú)味通過(guò)課程設(shè)計(jì)我體會(huì)到了編程的靈活性并對(duì)它產(chǎn)生了濃厚的愛(ài)好.以前所學(xué)過(guò)的知識(shí),而且學(xué)到了很多在書(shū)本上所沒(méi)有學(xué)到過(guò)的知識(shí)。課程設(shè)計(jì)從設(shè)計(jì)電路到調(diào)試結(jié)束我們失敗很多次也修改很多次可謂是屢敗屢戰(zhàn),可我們并未氣餒我們堅(jiān)持
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)用耗材購(gòu)銷(xiāo)合同
- 品牌服務(wù)協(xié)議合同
- 會(huì)議場(chǎng)地租賃費(fèi)用合同
- 電力系統(tǒng)自動(dòng)化控制原理測(cè)試卷
- 教學(xué)場(chǎng)地租賃合同協(xié)議
- 國(guó)際貿(mào)易合同樣書(shū)一年
- 樓面天棚保溫施工方案
- 五方通話對(duì)講布線施工方案
- 嘉定區(qū)衛(wèi)生間施工方案
- 礦場(chǎng)塌陷區(qū)改造方案
- 工程部SOP(標(biāo)準(zhǔn)操作手冊(cè))
- 消費(fèi)者行為學(xué)課件
- 【小升初】部編版2022-2023學(xué)年四川省綿陽(yáng)市語(yǔ)文升學(xué)分班考真題專(zhuān)項(xiàng)模擬試卷(04 現(xiàn)代文閱讀)含解析
- 人教版(2019)高中英語(yǔ)必修第二冊(cè):Unit5Music單元測(cè)試(含答案與解析)
- 21級(jí)全新版大學(xué)進(jìn)階英語(yǔ)2 國(guó)際班 教案
- 圖解心經(jīng)心得整理分享PPT課件
- 武漢市第五醫(yī)院重離子治療中心項(xiàng)目可行性研究報(bào)告
- (完整版)學(xué)生課堂學(xué)習(xí)自我評(píng)價(jià)表
- 《英語(yǔ)專(zhuān)業(yè)畢業(yè)論文寫(xiě)作指導(dǎo)》
- SAE-J400-2002-中文版
- 不銹鋼電梯門(mén)套安裝技術(shù)交底_
評(píng)論
0/150
提交評(píng)論