![計(jì)算機(jī)應(yīng)用畢業(yè)論文--電梯模型程序源代碼_第1頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/20/99c0fee0-6b32-41d8-8b3b-f027ea919749/99c0fee0-6b32-41d8-8b3b-f027ea9197491.gif)
![計(jì)算機(jī)應(yīng)用畢業(yè)論文--電梯模型程序源代碼_第2頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/20/99c0fee0-6b32-41d8-8b3b-f027ea919749/99c0fee0-6b32-41d8-8b3b-f027ea9197492.gif)
![計(jì)算機(jī)應(yīng)用畢業(yè)論文--電梯模型程序源代碼_第3頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/20/99c0fee0-6b32-41d8-8b3b-f027ea919749/99c0fee0-6b32-41d8-8b3b-f027ea9197493.gif)
![計(jì)算機(jī)應(yīng)用畢業(yè)論文--電梯模型程序源代碼_第4頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/20/99c0fee0-6b32-41d8-8b3b-f027ea919749/99c0fee0-6b32-41d8-8b3b-f027ea9197494.gif)
![計(jì)算機(jī)應(yīng)用畢業(yè)論文--電梯模型程序源代碼_第5頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/20/99c0fee0-6b32-41d8-8b3b-f027ea919749/99c0fee0-6b32-41d8-8b3b-f027ea9197495.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、計(jì)算機(jī)應(yīng)用畢業(yè)論文-電梯模型程序源代碼 BUF1 EQU 20H ;S1-5 BUF2 EQU 21H ;PC1-5BUF3 EQU 22H ;PO1-8BUF4 EQU 23H ;FL1-5BUF5 EQU 24H ;PBO1-8LBUF1 EQU 25H ;NOW(S1-5) LBUF2 EQU 26H ;NOW(PC1-5) LBUF3 EQU 27H ;NOW(PO1-8)NOW EQU 28H ;現(xiàn)停靠位 NEXT0 EQU 29H ;下一??课籒EXT2 EQU 2AH ;暫存下一停靠位 FXTD EQU 2BH ;方向+電源(00000000向下走停下) ; (00000010向
2、上走停下) ; (00000001向下運(yùn)行) ; (00000011向上運(yùn)行) OK EQU 2CH ;(00可啟動(dòng),0FF不可啟動(dòng))INPUT EQU 0B000HOUTPUT EQU 0F000H S15 EQU 8000H PC15 EQU 9000HPO18 EQU 0A000HFL15 EQU 0C000HPBO18 EQU 0D000H CONTR EQU 0E000HORG 00H JMP START START:CALL RESERT ;復(fù)位 CALL SCAN ;掃描 ZZZ:CALL ANALYZ ;分析CALL CONTROL ;控制JMP ZZZ RESERT:MOV
3、SP, #30H ;置堆棧 MOV R7, #00H ;延時(shí)(保證8255A可靠復(fù)位)DJNZ R7, MOV DPTR, #INPUT ;設(shè)置8255A全輸入 MOV A, 10011011BMOVX DPTR,A MOV DPTR, #OUTPUT ;設(shè)置8255A全輸出 MOV A, 10000000B MOVX DPTR,A MOV R4, #32 ;清緩沖區(qū) MOV R0, #BUF1 CLEAR:MOV R0, #00H INC R0 DJNZ R4 , CLEARMOV TMOD, #11H ;設(shè)置TMINE0,TIME1工作于MODE1下MOV IE, #10000101B ;
4、INT0,INT1中斷使能MOV IP, #00H ;同優(yōu)先級(jí)MOV TCON, #00000101B ;下降沿觸發(fā)MOV DPTR, #CONTR ;電梯復(fù)位至一層MOV A, 01HMOVX DPTR,AMOV DPTR, #S15 NEXT1:MOVX A, DPTRANL A, 01H JZ NEXT1 MOV DPTR, #CONTR MOV FXTD, #02H MOV A, FXTD MOVX DPTR,A ;設(shè)置方向+電源MOV NOW, 01H ;設(shè)置現(xiàn)停靠RET SCAN:MOV DPTR, #S15 ;掃描電梯狀態(tài) MOVX A, DPTR MOV BUF1, A MOV
5、 DPTR, #FL15 ;輸出電梯狀態(tài) MOVX DPTR,A ORL LBUF1,A MOV DPTR, #PC15 ;掃描電梯內(nèi)部按鈕狀態(tài) MOVX A, DPTR MOV BUF2, AORL LBUF2,AMOV DPTR, #PO18 ;掃描電梯外部按鈕狀態(tài)MOVX A, DPTRMOV BUF3, AMOV DPTR, #PBO18 ;輸出按鈕表示燈MOVX DPTR,AMOV LBUF3,ARET ANALYZ:MOV A, LBUF2ADD A, LBUF3JNZ K1 ;無(wú)按鈕按下不分析 LJMP EXIT1 K1:MOV A, FXTD ANL A, #02HJNZ UP
6、 ;轉(zhuǎn)向上狀態(tài)處理向下?tīng)顟B(tài)處理 DOWN:JB NOW.1,A1JB NOW.2,A2JB NOW.3,A3JB NOW.4,A4 A1:MOV R0, #00000001B ;現(xiàn)??课?啟動(dòng)前??课粸?層,可響應(yīng)向下去1層的命令JMP A0 A2:MOV R0, #00000011B ;3層,去2,1層的命令JMP A0 A3:MOV R0, #00000111B ;4層,去3,2,1層的命令JMP A0 A4:MOV R0, #00001111B ;5層,去4,3,2,1層的命令 A0:MOV A, LBUF2 ANL A, R0 ;存在的可響應(yīng)的向下的命令(內(nèi)部的) MOV R0, A
7、MOV A, #00H ;暫存在R0JB LBUF3.5,B1 ORL A, #00001000B ;外部有4層向下的命令 樓層 5 4 4 3 3 2 2 1 B1:JB LBUF3.3,B2 ; 方向 下 上 下 上 下 上 下 上 ORL A, #00000100B ;3層向下 LBUF3 7 6 5 4 3 2 1 0 B2:JB LBUF3.1,B3 ; NEXT 0 0 0 X X X X X ORL A, #00000010B ;2層向下 B3:ANL A, R0 ;得出向下的下一個(gè)停靠位JB ACC.3,C1JB ACC.2,C2JB ACC.1,C3JB ACC.0,C4 C
8、1:MOV NEXT0, #00001000B ;下一停靠位為4層JMP C0 C2:MOV NEXT0, #00000100B ;是3層JMP C0 C3:MOV NEXT0, #00000010B ;是2層 JMP C0 C4:MOV NEXT0, #00000001B ;是1層 C0:MOV A, NEXT0MOV NEXT2,AANL A, 0FFHJNZ EXIT1 ;有向下的命令結(jié)束->到控制,沒(méi)有執(zhí)行向上的命令 UP :JB NOW.0,D1 ;向上狀態(tài)處理JB NOW.1,D2 JB NOW.2,D3 JB NOW.3,D4 D1:MOV R0, #00011110B ;
9、現(xiàn)??课?啟動(dòng)前??课粸?層,可響應(yīng)向下去2,3,4,5層的命令 JMP D0 D2:MOV R0, #00011100B ;2層,去3,4,5層的命令JMP D0 D3:MOV R0, #00011000B ;3層,去4,5層的命令 JMP D0 D4:MOV R0, #00010000B ;4層,去5層的命令 D0:MOV A, LBUF2 ;存在的可響應(yīng)的向上的命令(內(nèi)部的) ANL A, R0 ;暫存在R0MOV R0, A MOV A, #00H JNB LBUF3.2,E1 ORL A, #00000010B ;外部有2層向上的命令 E1:JNB LBUF3.4,E2 ORL A,
10、 #00000100B ;3層向上 E2:JNB LBUF3.6,E3 ORL A, #00001000B ;4層向上 E3:ANL A, R0 ;得出向上的下一個(gè)??课?JB ACC.1,F1 JB ACC.2,F2 JB ACC.3,F3JB ACC.4,F4 F1:MOV NEXT0, #00000010B ;下一??课粸?層 JMP XF0 F2:MOV NEXT0, #00000100B ;下一停靠位為3層JMP XF0 F3:MOV NEXT0, #00001000B ;下一??课粸?層JMP XF0 F4:MOV NEXT0, #00010000B ;下一停靠位為5層 XF0:M
11、OV A, NEXT0 MOV NEXT2,A ANL A, 0FFH JNZ EXIT1 LJMP DOWN ;沒(méi)有向上的命令執(zhí)行向下的命令,有向上的命令結(jié)束->到控制 EXIT1:RETCONTROL:MOV A, FXTD ANL A, 01H JNZ TOSTOP ;跳到停止?fàn)顟B(tài)下處理;TORUN: MOV A, OK ANL A, 0FFH ;可以啟動(dòng)嗎? JZ K2 JMP EXIT2 K2:MOV A, NEXT0 ;有運(yùn)行命令嗎? ANL A, 0FFH JNZ K3 JMP EXIT2 K3:MOV A, NEXT0 SUBB A, NOWJC DOWN1 ;下一停靠位
12、-現(xiàn)??课?lt;0,向下運(yùn)行 ;UP1: MOV DPTR, #CONTR MOV FXTD, #00000011B MOV A, FXTDMOVX DPTR,A ;啟動(dòng)向下 MOV NEXT0, A MOV NEXT0, #00H ;清 下一停靠位 JB ACC.3,G1 JB ACC.2,G2JB ACC.1,G3 G1:ANL LBUF3,#10111111B ;清4層向上的命令(外部的) JMP G0 G2:ANL LBUF3,#11101111B ;清3層向上的命令(外部的) JMP G0 G3:ANL LBUF3,#11111011B ;清2層向上的命令(外部的) G0:JMP
13、K4 DOWN1:MOV DPTR, #CONTR MOV FXTD, #00000001B MOV A, FXTDMOVX DPTR,A ;啟動(dòng)向上MOV A, NEXT0MOV NEXT0,#00H ;清 下一停靠位 JB ACC.3,H1JB ACC.2,H2JB ACC.1,H3 H1:ANL LBUF3,#11011111B ;清4層向下的命令(外部的)JMP H0 H2:ANL LBUF3,#11110111B ;清3層向下的命令(外部的)JMP H0 H3:ANL LBUF3,#11111101B ;清2層向下的命令(外部的) H0:JMP K4 K4:CPL AANL LBUF
14、2,A ;清內(nèi)部的命令MOV OK, 0FFH ;設(shè)置不可以啟動(dòng)TOSTOP:MOV A, NEXT2SUBB A, LBUF1 JZ STOP1 ;到下一??课涣藛??沒(méi)有跳出再->掃描JMP EXIT2 STOP1:MOV DPTR, #CONTRANL FXTD, #11111110B ;保留方向MOV A, FXTDMOVX DPTR,A ;停下電梯MOV A, LBUF1SUBB A, #00010000B ;到5層了嗎? JZ CHANG1 SUBB A, #00000001B ;到1層了嗎?JZ CHANG2 JMP K5CHANG1:MOV FXTD, #00000000B
15、 ;到了轉(zhuǎn)變下次的運(yùn)行方向JMP K5 CHANG2:MOV FXTD,#00000010B ;到了轉(zhuǎn)變下次的運(yùn)行方向 K5:CALL DELAY1 ;啟動(dòng)延時(shí) EXIT2:RET DELAY1:MOV R3, #40 ;延時(shí)2秒SETB TR0 AGAIN:MOV TH0, (65535-50000)/256MOV TL0, (65535-50000) MOD 256 LOOP2:JBC TF0, LOOP1JMP LOOP2 LOOP1 JNZ R3, AGAIN CLR TR0 MOV OK, #00H ;設(shè)置可以啟動(dòng)RET END-王棟loading.2006-2-4計(jì)算機(jī)應(yīng)用畢業(yè)論文
16、電梯模型 電梯模型目錄前言第一章 MCS-51概述1.1 8051/8255A簡(jiǎn)介及功能特點(diǎn)1.2 MCS-51對(duì)系統(tǒng)環(huán)境的要求1.3 MCS-51的技術(shù)指標(biāo)第二章 電梯模型總體設(shè)計(jì)2.1系統(tǒng)需求分析2.2系統(tǒng)設(shè)計(jì)目標(biāo)2.3電梯模型開(kāi)發(fā)步驟2.4硬件電路設(shè)計(jì)2.5系統(tǒng)流程圖2.6軟件程序設(shè)計(jì)2.7軟件硬件結(jié)合調(diào)試第三章 個(gè)人模塊的實(shí)現(xiàn)3.1我的任務(wù) 第四章 小結(jié)附錄 參考文獻(xiàn) (老師評(píng)語(yǔ))前 言在與時(shí)俱進(jìn)的今天,科技的發(fā)展讓人類(lèi)的生活發(fā)生了翻天覆地的變化,電子硬件技術(shù)發(fā)展一日千里,從8086/8088到今天的P4超線程,讓我們?cè)缫蚜?xí)慣了現(xiàn)代化的生活。至從單片機(jī)進(jìn)入我國(guó),比較有影響的是INTEL
17、的NCS-48系列和Zilog公司的Z80系列,經(jīng)過(guò)多年來(lái),單片機(jī)已發(fā)展到16位(甚至更高)。今天單片機(jī)主要應(yīng)用于智能產(chǎn)品、智能儀表、數(shù)控型控制機(jī)、智能接口等諸多自動(dòng)化控制領(lǐng)域,已經(jīng)形成了計(jì)算機(jī)領(lǐng)域的一個(gè)重要分支。隨著人類(lèi)生活節(jié)奏的加快,以及人類(lèi)對(duì)自動(dòng)化的需求,電梯以成為高層建筑的必備設(shè)施,人們每天乘坐電梯給生活工作帶來(lái)了許多方便。我們?cè)O(shè)計(jì)的電梯模型在硬件方面采用當(dāng)前流行的MCS-51/8051。利用它的輸入輸出、定時(shí)器和中斷等功能,結(jié)合一些門(mén)電路和外部光柵隔離原器件,8255A擴(kuò)展輸入輸出端口,控制一個(gè)24V電源驅(qū)動(dòng)的5層電梯模型,實(shí)現(xiàn)真實(shí)的電梯運(yùn)行、??亢烷_(kāi)門(mén)、關(guān)門(mén)及關(guān)門(mén)及時(shí)響應(yīng)防止落人,
18、電梯位置顯示,電梯內(nèi)外部按鈕響應(yīng)顯示等全部基本功能,軟件采用MCS-51匯編語(yǔ)言,連接、仿真調(diào)試采用TDN-MI單片機(jī)開(kāi)發(fā)實(shí)驗(yàn)系統(tǒng),設(shè)計(jì)使用了MCS-51單片機(jī)強(qiáng)大的功能,以及單片機(jī)的擴(kuò)展能力,充分體現(xiàn)了單片機(jī)在各種領(lǐng)域的實(shí)用價(jià)值。我們?cè)O(shè)計(jì)小組共三人,王棟、曹中科、黃炯安。我們把總體任務(wù)劃分為三個(gè)設(shè)計(jì)模塊,硬件電路設(shè)計(jì),軟件程序設(shè)計(jì),軟件硬件結(jié)合調(diào)試,經(jīng)過(guò)團(tuán)隊(duì)合作共同努力,最后完成整個(gè)電梯模型設(shè)計(jì)。在此要感謝李順增老師!我們能夠完成本次設(shè)計(jì)與第一章MCS-51概述1.1 8051/8255A簡(jiǎn)介及功能特點(diǎn) (一)8051 8051是MCS-51系列單片機(jī)中的代表產(chǎn)品,它內(nèi)部集成了功能強(qiáng)大的中央
19、處理器,包含了硬件乘除法器、21個(gè)專(zhuān)用控制寄存器、4kB的程序存儲(chǔ)器、128字節(jié)的數(shù)據(jù)存儲(chǔ)器、4組8位的并行口、兩個(gè)16位的可編程定時(shí)/計(jì)數(shù)器、一個(gè)全雙工的串行口以及布爾處理器。 MCS-51具有比較大的尋址空間,地址線寬達(dá)16條,即外部數(shù)據(jù)存儲(chǔ)器和程序存儲(chǔ)器的尋址范圍達(dá)216=64kB,這作為單片機(jī)控制來(lái)說(shuō)已是比較大的,這同時(shí)具備對(duì)I/O口的訪問(wèn)能力。此外,MCS-51采用模塊化結(jié)構(gòu),可方便地增刪一個(gè)模塊就可引腳和指令兼容的新產(chǎn)品。從而容易使產(chǎn)品形成系列化。 由于MCS-51集成了幾乎完善的8位中央處理單元,處理功能強(qiáng),中央處理單元中集成了方便靈活的專(zhuān)用寄存器,硬件的加、減、乘、除法器和布爾
20、處理機(jī)及各種邏輯運(yùn)算和轉(zhuǎn)移指令,這給應(yīng)用提供了極大的便利。 MCS-51的指令系統(tǒng)近乎完善,指令系統(tǒng)中包含了全面的數(shù)據(jù)傳送指令、完善的算術(shù)和邏輯運(yùn)算指令、方便的邏輯操作和控制指令、對(duì)于編程來(lái)說(shuō),是相當(dāng)靈活和方便的。 MCS-51單片機(jī)的工作頻率為2-12MHz,當(dāng)振蕩頻率為12MHz時(shí),一個(gè)機(jī)器周期為1us,這個(gè)速度應(yīng)該說(shuō)是比較快的。 8051中集成了完善的各種中斷源,用戶可十分方便地控制和使用其功能,使得它的應(yīng)用范圍加大可以說(shuō)它可以滿足絕大部分的應(yīng)用場(chǎng)合。 MCS-51把微型計(jì)算機(jī)的主要部件都集成在一塊心片上,使得數(shù)據(jù)傳送距離大大縮短,可靠性更高,運(yùn)行速度更塊。由于屬于芯片化的微型計(jì)算機(jī),各
21、功能部件在芯片中的布局和結(jié)構(gòu)達(dá)最優(yōu)化,抗干擾能力加強(qiáng),工作亦相對(duì)穩(wěn)定。因此,在工業(yè)測(cè)控系統(tǒng)中,使用單片機(jī)是最理想的選擇。單片機(jī)屬于典型的嵌入式系統(tǒng),所以它是低端控制系統(tǒng)最佳器件。(二)8255A Intel8255A是一種通用的可編程并行I/O接口芯片,也是應(yīng)用最廣泛的并行I/O接口芯片。 8255A的結(jié)構(gòu) 8255A由4部分組成: (1)數(shù)據(jù)總線緩沖器 (2)三個(gè)8位端口PA、PB、PC,其中PC口可分為兩個(gè)4位端口,可分別同端口A和端口B,配合使用,可以用作控制信號(hào)輸出等。 (3)A組和B組的控制電路。 (4)讀/寫(xiě)控制邏輯。 8255A有三種工作方式:方式0、方式1和方式2。 (1):方
22、式0基本輸入/輸出 在此工作方式下,每個(gè)口都作為基本的輸入輸出口,C口的高4位和低4位以及A口和B口都可獨(dú)立地設(shè)置為輸入口和輸出口。在此工作方式下:輸出的數(shù)據(jù)被鎖存,而輸入的數(shù)據(jù)不被鎖存。(2):方式1選通輸入/輸出 此工作方式下,三個(gè)端口分為A、B兩組,A、B兩個(gè)口仍用作數(shù)據(jù)輸入輸出口,而C口分成兩部分,分別作為A口和B口的聯(lián)絡(luò)信號(hào)。在8255A中,聯(lián)絡(luò)信號(hào)是3位,兩個(gè)數(shù)據(jù)口,共用去C口的6位,剩余的兩位仍可作為數(shù)據(jù)位使用。 (3):方式2雙向選通輸入/輸出 此工作方式只限于A組使用,它用A口的8位數(shù)據(jù)線,用C口的5位進(jìn)行聯(lián)絡(luò)。工作時(shí)輸入輸出都能被鎖存。當(dāng)A口工作在方式2時(shí),B口可以在方式0
23、或方式1工作。 8255A的初始化 在使用8255A時(shí),首先要由CPU對(duì)8255A寫(xiě)入控制命令字。 有兩種控制命令字:方式選擇控制字和C口按位置位/復(fù)位控制字。 8255A的各種工作方式都要由控制命令字來(lái)設(shè)定,這個(gè)設(shè)置過(guò)程稱(chēng)為初始化。(三)周邊電路元器件 8255A 1.2 MCS-51對(duì)系統(tǒng)環(huán)境的要求 MCS-51的開(kāi)發(fā)環(huán)境要求較低,軟件資源十分豐富,硬件只需配備一臺(tái)PC,一臺(tái)仿真編程器即可實(shí)現(xiàn)產(chǎn)品開(kāi)發(fā),我們?cè)谲浖矫娌捎脜R編語(yǔ)言編寫(xiě)代碼,在硬件方面我們使用個(gè)人電腦結(jié)合西安唐都科教儀器公司開(kāi)發(fā)的TDN-MI單片機(jī)開(kāi)發(fā)實(shí)驗(yàn)系統(tǒng)。TDN-MI主要功能包括:程序的輸入、信息的保存、程序的運(yùn)行和調(diào)試
24、、以及應(yīng)用系統(tǒng)的仿真、程序的固化等。其中TDN-MI和個(gè)人PC之間采用RS232串行接口連接。1.3 MCS-51技術(shù)指標(biāo)第二章 電梯模型總體設(shè)計(jì)2.1 系統(tǒng)需求分析電梯模型設(shè)計(jì)的最終目的是模擬真實(shí)電梯。因此,設(shè)計(jì)的關(guān)鍵之一是要詳細(xì)地了解真實(shí)的電梯所有功能,還有電梯有關(guān)方便乘客的人性化設(shè)計(jì)之處。圍繞以上要求完成模型設(shè)計(jì)。需求分析:1每次電梯啟動(dòng)時(shí)電梯可靠停留至底層;2安全、可靠、準(zhǔn)確的運(yùn)送乘客到達(dá)目標(biāo)樓層;3可響應(yīng)當(dāng)前所有乘客的指令,合理安排所有乘客及時(shí)到達(dá)目標(biāo)樓層;4當(dāng)電梯關(guān)門(mén)過(guò)程中乘客可自行控制電梯門(mén)打開(kāi),防止有落人現(xiàn)象;5隨時(shí)反映電梯所處樓層及運(yùn)行趨勢(shì),及時(shí)反映乘客的指令被響應(yīng);6當(dāng)電梯
25、出現(xiàn)事故時(shí),故障導(dǎo)向安全;22 系 統(tǒng) 設(shè) 計(jì) 目 標(biāo)系統(tǒng)目標(biāo)是總體設(shè)計(jì)的根據(jù),是系統(tǒng)設(shè)計(jì)實(shí)現(xiàn)的前提。1. 第一次電梯啟動(dòng)時(shí),電梯自動(dòng)復(fù)位至底層;2. 在每次電梯運(yùn)行前,自行檢查門(mén)是否可靠關(guān)閉,方可啟動(dòng),電梯停止時(shí)自行檢測(cè)可靠到達(dá)目標(biāo)樓層,方可開(kāi)門(mén);3. 電梯自動(dòng)響應(yīng)電梯內(nèi)部和外部樓層乘客的指令,根據(jù)當(dāng)前運(yùn)行趨勢(shì),正確安排乘客到達(dá)目標(biāo)樓層,杜絕乘客指令不響應(yīng)的現(xiàn)象;4. 當(dāng)電梯到達(dá)可靠目標(biāo)樓層時(shí),自動(dòng)開(kāi)門(mén),無(wú)乘客進(jìn)入時(shí)自動(dòng)關(guān)門(mén),繼續(xù)運(yùn)行,關(guān)門(mén)后延時(shí)0.5秒,在此過(guò)程中電梯內(nèi)外部乘客可控制開(kāi)關(guān)門(mén),防止落人現(xiàn)象;5. 電梯到達(dá)相應(yīng)樓層時(shí),點(diǎn)亮所在樓層指示燈,樓層外乘客按下按鈕時(shí)點(diǎn)亮按鈕指示燈,告之
26、乘客指令以被響應(yīng);6. 當(dāng)電梯到達(dá)頂層或底層時(shí),自動(dòng)改變運(yùn)行趨勢(shì), 2.4硬件電路設(shè)計(jì)硬件電路設(shè)計(jì)一般包括兩個(gè)部分的內(nèi)容:一是擴(kuò)展單片機(jī)芯片內(nèi)部單元的功能,如ROM、RAM、定時(shí)/記數(shù)器、I/O接口線等的容量不滿足應(yīng)用系統(tǒng)的要求時(shí),就需要設(shè)計(jì)相應(yīng)的功能擴(kuò)展電路;二是根據(jù)應(yīng)用系統(tǒng)的功能要求配置一定的外部設(shè)備,如鍵盤(pán)、顯示器、打印機(jī)、A/A、D/A等。(一)對(duì)應(yīng)用系統(tǒng)進(jìn)行擴(kuò)展與配置時(shí),應(yīng)充分考慮如下的設(shè)計(jì)原則。1盡可能選擇典型電路,并符合單片機(jī)的常規(guī)使用要求。2擴(kuò)展與配置的數(shù)量應(yīng)充分滿足應(yīng)用系統(tǒng)功能的要求并留有余地,以便能方便地進(jìn)行功能擴(kuò)展和進(jìn)一步的開(kāi)發(fā)。3應(yīng)充分結(jié)合軟件方案老考慮硬件結(jié)構(gòu)。4整個(gè)
27、系統(tǒng)中的相關(guān)器件應(yīng)盡可能做到性能匹配,如選用的晶振頻率較高時(shí),就應(yīng)選擇存取速度較高的芯片。5應(yīng)重視整個(gè)系統(tǒng)的可靠性及抗干擾設(shè)計(jì),如充分篩選芯片和器件,增加去耦電路,采取隔離和屏蔽等措施。(二)電梯模型結(jié)構(gòu) (三)電梯模型連線及端口功能INPUT 00接傳感器SI1輸出S1(第五層到達(dá)信號(hào)); INPUT 01接傳感器SI2輸出S2(第四層到達(dá)信號(hào)); INPUT 02接傳感器SI3輸出S3(第三層到達(dá)信號(hào)); INPUT 03接傳感器SI4輸出S4(第二層到達(dá)信號(hào)) INPUT 04接傳感器SI5輸出S5(第一層到達(dá)信號(hào))INPUT 05接(第五層請(qǐng)求下)按鍵PB1輸出插孔PO8; INPUT
28、 06接(第四層請(qǐng)求上)按鍵PB2輸出插孔PO7; INPUT 07接(第四層請(qǐng)求下)按鍵PB3輸出插孔PO6; INPUT 08接(第三層請(qǐng)求上)按鍵PB4輸出插孔PO5; INPUT 09接(第三層請(qǐng)求下)按鍵PB5輸出插孔PO4; INPUT 10接(第二層請(qǐng)求上)按鍵PB6輸出插孔PO3; INPUT 11接(第二層請(qǐng)求下)按鍵PB7輸出插孔PO2;INPUT 12接(第一層請(qǐng)求上)按鍵PB8輸出插孔PO1; INPUT 13接(到第五層) 按鍵 5 輸出插孔 PC5; INPUT 14接(到第四層) 按鍵 4 輸出插孔 PC4; INPUT 15接(到第三層) 按鍵 3 輸出插孔 P
29、C3; INPUT 16接(到第二層) 按鍵 2 輸出插孔 PC2; INPUT 17接(到第一層) 按鍵 1 輸出插孔 PC1; INPUT 18接(關(guān)門(mén)信號(hào)) 按鍵 PK1 輸出插孔 PK1; INPUT 19接(開(kāi)門(mén)信號(hào)) 按鍵 PG1 輸出插孔 PG1; OUTPUT 00接第五層到達(dá)指示燈FL5; OUTPUT 01接第四層到達(dá)指示燈FL4; OUTPUT 02接第三層到達(dá)指示燈FL3; OUTPUT 03接第二層到達(dá)指示燈FL2; OUTPUT 04接第一層到達(dá)指示燈FL1; OUTPUT 06接電機(jī)啟、停(電梯啟、停) TD; OUTPUT 07接電機(jī)正、反轉(zhuǎn)(電梯升、降)ZF;
30、 OUTPUT 08接(第五層請(qǐng)求下)指示燈PBO1;OUTPUT 09接(第四層請(qǐng)求上)指示燈PBO2; OUTPUT 010接(第四層請(qǐng)求下)指示燈PBO3; OUTPUT 011接(第三層請(qǐng)求上)指示燈PBO4; OUTPUT 012接(第三層請(qǐng)求下)指示燈PBO5; OUTPUT 013接(第二層請(qǐng)求上)指示燈PBO6; OUTPUT 014接(第二層請(qǐng)求下)指示燈PBO7; OUTPUT 015接(第一層請(qǐng)求上)指示燈PBO8;(五)硬件功能實(shí)現(xiàn)1、利用8051的P0連接2個(gè)8255A作為數(shù)據(jù)線輸入,輸出使用,其中第一個(gè)8255A工作于全輸入工作方式,第2個(gè)8255A工作于全輸出工作
31、方式。2、利用8051的P2.4、P2.5、P2.6、P2.7進(jìn)行部分編址,配合與非門(mén)74LS08和74LS04連接于8255A的A0、A1、/CS、/RD或/WR片選2個(gè)8255A。地址編碼如下:(部分選址 線選)P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.08XXX 1 0 0 0 X X X X9XXX 1 0 0 1 X X X XAXXX 1 0 1 0 X X X XBXXX 1 0 1 1 X X X XCXXX 1 1 0 0 X X X XDXXX 1 1 0 1 X X X XEXXX 1 1 1 0 X X X XFXXX 1 1 1 1
32、X X X X3、利用8051的TIME0、TIME1工作于MODE1-16位的定時(shí),TIME0定時(shí)2秒,TIME1定時(shí)0.5秒。4、利用8051的INT0、INT1的2個(gè)外部中斷,設(shè)置為下降沿觸發(fā),其中INT0連接外部輸入PK1,INT1連接外部輸入PG1。5、利用光柵隔離輸入、輸出24V電壓控制電梯模型動(dòng)作。2.5 系統(tǒng)流程圖 2.6 軟件程序設(shè)計(jì)對(duì)MCS-51單片機(jī)的應(yīng)用開(kāi)發(fā),除了必須保證硬件電路的正確連接以外,更重要的工作是進(jìn)行軟件的開(kāi)發(fā)。單片機(jī)同其他微型計(jì)算機(jī)一樣,如果沒(méi)有軟件的支持,所設(shè)計(jì)車(chē)的試驗(yàn)樣機(jī)就沒(méi)有任何用途。而同一臺(tái)試驗(yàn)樣機(jī)之所以也能應(yīng)用于不同的場(chǎng)合,不僅是因?yàn)樗B接的外
33、圍設(shè)備不同,更重要的是因?yàn)橹С炙ぷ鞯能浖煌T陂_(kāi)發(fā)應(yīng)用時(shí),應(yīng)掌握一定的程序設(shè)計(jì)原則和開(kāi)發(fā)方法。軟件的設(shè)計(jì)原則:設(shè)計(jì)一個(gè)好的應(yīng)用軟件,必須充分考慮如下的一些設(shè)計(jì)原則。(1) 軟件在結(jié)構(gòu)上應(yīng)清晰、簡(jiǎn)潔、流程合理。(2) 各功能子程序應(yīng)實(shí)現(xiàn)模塊化、子程序化,以便于調(diào)試、連接、移植和修改。(3) 程序存儲(chǔ)區(qū)、數(shù)據(jù)存儲(chǔ)區(qū)應(yīng)合理規(guī)劃,做到既節(jié)約內(nèi)存容量,又方便操作。(4) 運(yùn)行狀態(tài)應(yīng)實(shí)現(xiàn)標(biāo)志化管理,對(duì)各功能程序的運(yùn)行狀態(tài)、運(yùn)行結(jié)果以及運(yùn)行要求都要設(shè)置狀態(tài)標(biāo)志以便查詢(xún)。(5) 對(duì)需要特殊抗干擾的應(yīng)用系統(tǒng)應(yīng)采用軟件抗干擾措施,以提高系統(tǒng)的可靠性。(6)如有必要可增加加密措施,以保護(hù)自身的合法的知識(shí)產(chǎn)權(quán)權(quán)利
34、(二)初始化部分流程圖 初始化部分代碼:BUF1 EQU 20H ;S1-5 BUF2 EQU 21H ;PC1-5BUF3 EQU 22H ;PO1-8BUF4 EQU 23H ;FL1-5BUF5 EQU 24H ;PBO1-8LBUF1 EQU 25H ;NOW(S1-5) LBUF2 EQU 26H ;NOW(PC1-5) LBUF3 EQU 27H ;NOW(PO1-8)NOW EQU 28H ;現(xiàn)??课?NEXT0 EQU 29H ;下一停靠位NEXT2 EQU 2AH ;暫存下一??课?FXTD EQU 2BH ;方向+電源(00000000向下走停下)(00000010向上走停
35、下) ;(00000001向下運(yùn)行) (00000011向上運(yùn)行) OK EQU 2CH ;(00可啟動(dòng),0FF不可啟動(dòng))INPUT EQU 0B000HOUTPUT EQU 0F000H S15 EQU 8000H PC15 EQU 9000HPO18 EQU 0A000HFL15 EQU 0C000HPBO18 EQU 0D000H CONTR EQU 0E000HRESERT: MOV SP, #30H ;置堆棧 MOV R7, #00H ;延時(shí)(保證8255A可靠復(fù)位)DJNZ R7, MOV DPTR, #INPUT ;設(shè)置8255A全輸入 MOV A, 10011011BMOVX
36、DPTR,A MOV DPTR, #OUTPUT ;設(shè)置8255A全輸出 MOV A, 10000000B MOVX DPTR,A MOV R4, #32 ;清緩沖區(qū) MOV R0, #BUF1 CLEAR:MOV R0, #00H INC R0 DJNZ R4 , CLEARMOV TMOD, #11H ;設(shè)置TMINE0,TIME1工作于MODE1下MOV IE, #10000101B ;INT0,INT1中斷使能MOV IP, #00H ;同優(yōu)先級(jí)MOV TCON, #00000101B ;下降沿觸發(fā)MOV DPTR, #CONTR ;電梯復(fù)位至一層MOV A, 01HMOVX DPTR
37、,AMOV DPTR, #S15 NEXT1:MOVX A, DPTRANL A, 01H JZ NEXT1 MOV DPTR, #CONTR MOV FXTD, #02H MOV A, FXTD MOVX DPTR,A ;設(shè)置方向+電源MOV NOW, 01H ;設(shè)置現(xiàn)??縍ET(三)掃描部分流程圖2掃描部分代碼SCAN:MOV DPTR, #S15 ;掃描電梯狀態(tài) MOVX A, DPTR MOV BUF1, A MOV DPTR, #FL15 ;輸出電梯狀態(tài) MOVX DPTR,A ORL LBUF1,A MOV DPTR, #PC15 ;掃描電梯內(nèi)部按鈕狀態(tài) MOVX A, DPTR
38、MOV BUF2, AORL LBUF2,AMOV DPTR, #PO18 ;掃描電梯外部按鈕狀態(tài)MOVX A, DPTRMOV BUF3, AMOV DPTR, #PBO18 ;輸出按鈕表示燈MOVX DPTR,AMOV LBUF3,ARET (四)分析部分流程圖分析部分代碼ANALYZ:MOV A, LBUF2ADD A, LBUF3JNZ K1 ;無(wú)按鈕按下不分析 LJMP EXIT1 K1:MOV A, FXTD ANL A, #02HJNZ UP ;轉(zhuǎn)向上狀態(tài)處理向下?tīng)顟B(tài)處理 DOWN:JB NOW.1,A1JB NOW.2,A2JB NOW.3,A3JB NOW.4,A4 A1:M
39、OV R0, #00000001B ;現(xiàn)??课?啟動(dòng)前??课粸?層,可響應(yīng)向下去;1層的命令JMP A0 A2:MOV R0, #00000011B ;3層,去2,1層的命令JMP A0 A3:MOV R0, #00000111B ;4層,去3,2,1層的命令JMP A0 A4:MOV R0, #00001111B ;5層,去4,3,2,1層的命令 A0:MOV A, LBUF2 ANL A, R0 ;存在的可響應(yīng)的向下的命令(內(nèi)部的) MOV R0, A MOV A, #00H ;暫存在R0JB LBUF3.5,B1 ORL A,#00001000B ;外部有4層向下的命令 樓層 5 4 4
40、 3 3 2 2 1B1:JB LBUF3.3,B2 ; 方向 下 上 下 上 下 上 下 上 ORL A,#00000100B ;3層向下 LBUF3 7 6 5 4 3 2 1 0 B2:JB LBUF3.1,B3 ; NEXT 0 0 0 X X X X X ORL A, #00000010B ;2層向下 B3:ANL A, R0 ;得出向下的下一個(gè)??课籎B ACC.3,C1JB ACC.2,C2JB ACC.1,C3JB ACC.0,C4 C1:MOV NEXT0, #00001000B ;下一停靠位為4層JMP C0 C2:MOV NEXT0, #00000100B ;是3層JMP
41、 C0 C3:MOV NEXT0, #00000010B ;是2層 JMP C0 C4:MOV NEXT0, #00000001B ;是1層 C0:MOV A, NEXT0MOV NEXT2,AANL A, 0FFHJNZ EXIT1 ;有向下的命令結(jié)束->到控制,沒(méi)有執(zhí)行向上的命令 UP :JB NOW.0,D1 ;向上狀態(tài)處理JB NOW.1,D2 JB NOW.2,D3 JB NOW.3,D4 D1:MOV R0, #00011110B ;現(xiàn)??课?啟動(dòng)前??课粸?層,可響應(yīng);向下去2,3,4,5層的命令 JMP D0 D2:MOV R0, #00011100B ;2層,去3,4,5層的命令JMP D0 D3:MOV R0, #00011000B ;3層,去4,5層的命令 JMP D0 D4:MOV R0, #00010000B ;4層,去5層的命令 D0:MOV A, LBUF2 ;存在的可響應(yīng)的向上的命令(內(nèi)部的) ANL A, R0 ;暫存在R0MOV R0, A MOV A, #00H JNB LBUF3.2,E1 ORL A, #00000010B ;外部有2層向上的命令 E1:JNB LBUF3.4,E2 ORL A, #00000100B ;3層向上 E2:JNB LBUF3.6
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 宜賓市荒山土地承包合同范本
- 動(dòng)漫作品授權(quán)合作合同范本
- 企業(yè)用人正式合同范例
- 淺析京劇發(fā)聲與民歌唱法美聲唱法的關(guān)系
- 加盟押金店合同范例
- 2025年度市政道路施工建設(shè)投資合作協(xié)議
- MW光伏電站項(xiàng)目EC總承包合同范本
- 三方合租協(xié)議合同范本
- 制砂機(jī)租賃合同范本
- 保險(xiǎn)內(nèi)勤銷(xiāo)售合同范例
- 餐飲服務(wù)與管理(高職)PPT完整全套教學(xué)課件
- 成人學(xué)士學(xué)位英語(yǔ)1000個(gè)高頻必考詞匯匯總
- 2023年菏澤醫(yī)學(xué)專(zhuān)科學(xué)校單招綜合素質(zhì)模擬試題及答案解析
- 常見(jiàn)食物的嘌呤含量表匯總
- 人教版數(shù)學(xué)八年級(jí)下冊(cè)同步練習(xí)(含答案)
- SB/T 10752-2012馬鈴薯雪花全粉
- 2023年湖南高速鐵路職業(yè)技術(shù)學(xué)院高職單招(英語(yǔ))試題庫(kù)含答案解析
- 濕型砂中煤粉作用及檢測(cè)全解析
- 積累運(yùn)用表示動(dòng)作的詞語(yǔ)課件
- 機(jī)動(dòng)車(chē)登記證書(shū)英文證書(shū)模板
- 第8課《山山水水》教學(xué)設(shè)計(jì)(新人教版小學(xué)美術(shù)六年級(jí)上冊(cè))
評(píng)論
0/150
提交評(píng)論