機械手順序控制器設計.doc_第1頁
機械手順序控制器設計.doc_第2頁
機械手順序控制器設計.doc_第3頁
機械手順序控制器設計.doc_第4頁
機械手順序控制器設計.doc_第5頁
已閱讀5頁,還剩16頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

課程名稱 單片機原理與應用 課題名稱 機械手順序控制器設計 任 務 書設計內(nèi)容與設計要求設計內(nèi)容:用單片機設計一個機械手順序控制器,用來對某一機械手作業(yè)的8個工序按時間節(jié)拍進行順序控制,并有合適鍵盤操作和的工序指示功能。設計要求:1)確定系統(tǒng)設計方案; 2)進行系統(tǒng)的硬件設計;3)完成必要的參數(shù)計算與元器件選擇;4)完成應用程序設計;*5)進行部分單元電路及應用程序的調(diào)試;主 要 設 計 條 件機械手控制系統(tǒng)的工作時間節(jié)拍為5秒,設作業(yè)工序流程如下: 1、22、33、44、55、66、77、88、1說 明 書 格 式1. 課程設計任務書2. 目錄3. 系統(tǒng)總體方案選擇與說明4. 系統(tǒng)結構框圖與工作原理5. 各單元硬件設計說明及計算方法6. 軟件設計與說明(包括流程圖)7. 調(diào)試結果與必要的調(diào)試說明8. 使用說明9. 程序清單10、總結11、參考文獻附錄附錄a 系統(tǒng)原理圖附錄b 程序清單進 度 安 排設計時間為兩周第一周星期一、上午:布置課題任務,講課及課題介紹 下午:借閱有關資料,總體方案討論星期二、確定總體設計方案星期三、硬件模塊方案設計星期四、軟件模塊方案設計星期五、各硬件模塊設計第二周星期一、各硬件模塊設計星期二、各軟件模塊設計星期三、各軟件模塊設計星期四、寫說明書星期五、上午:寫說明書,整理資料下午:交設計資料,答辯參 考 文 獻參考文獻1、 教材單片微型計算機技術 劉國榮 編 機械工業(yè)出版社2、 單片微型計算機原理、應用及接口技術 張迎新 編 國防工業(yè)出版社3、 單片機實用系統(tǒng)設計技術 房小翠 編 國防工業(yè)出版社4、單片機應用系統(tǒng)設計 何立民 編 北航出版社5、單片機原理及接口技術 曹琳琳編 國防科技大學出版社 機械手順序控制器設計前 言計算機的出現(xiàn)使人類的生活發(fā)生了翻天覆地的變化。單片機也是伴隨著計算機的產(chǎn)生而產(chǎn)生和發(fā)展的。也可以毫不夸張地說,單片機技術的出現(xiàn)給現(xiàn)代工業(yè)測控領域帶來了一次新的技術革命。它使原來用分立元件進行的控制,轉(zhuǎn)變到用程序進行控制,使控制的可靠性增加了,功能增多了,成本降低了,控制更靈活了。最重要的是,使學習和掌握測控技術變得更加容易。許多非自動化控制專業(yè)的人員也能毫不費力地、甚至通過自學單片機技術而成為此專業(yè)的控制專家。因單片機技術的應用而產(chǎn)生了許多新興的專業(yè),它開辟了更多的單片機應用領域,如工業(yè)控制、自動化設備、機床、數(shù)據(jù)采集和處理、智能化儀器儀表、辦公自動化、家電、汽車、醫(yī)療器械等。越來越多的人在關心、學習、從事單片機應用技術。單片微型計算機是把組成微型計算機的各功能部件,既中央處理器cpu、隨機存儲器ram、只讀存儲器rom,i/o接口電路、定時/計數(shù)器以及串行通訊接口等部件制作在一塊集成芯片中,簡稱單片機。它是隨微型計算機的發(fā)展而產(chǎn)生和發(fā)展的,在智能化儀表、檢測和控制系統(tǒng)領域中有著廣泛的應用。目 錄一 系統(tǒng)總體設計 . 31.1 設計內(nèi)容 . 31.2 設計要求. 31.3 設計思路.31.4 系統(tǒng)結構.3二 硬件電路設計與框圖 . 42.1 單片機的選擇 . 42.2 按鍵電路設計與器件選擇 . 52.3 led顯示電路設計 . 62.4 一位顯示器電路 . 72.5 時鐘與復位電路 . 8三 系統(tǒng)軟件設計 . . 93.1 主程序模塊 . . 93.2 數(shù)碼顯示模塊 . . 113.3 延時子程序 . . 123.4 數(shù)據(jù)表 . 12四 調(diào)試說明與調(diào)試結果. 13五 系統(tǒng)功能及操作說明. 135.1 系統(tǒng)功能 . . 135.2 操作說明 . 13六 總結與體會 . 14七 附錄 . 15附錄1 顯示模塊流程圖 . 15附錄2 主程序流程圖 . 16附錄3 硬件電路原理圖 . 17八 參考文獻. 18一、系統(tǒng)的總體設計1.1 設計內(nèi)容該課題是用mcs51單片機實現(xiàn)機械手的控制。要求機械手完成五種加工方法,用相應按鍵選擇;每種加工方法有八道工序,用高低電平信號表示,并用發(fā)光二極管模擬,同時用數(shù)碼管顯示工序步數(shù)。1.2 設計要求1)確定系統(tǒng)設計方案; 2)進行系統(tǒng)的硬件設計;3)完成必要的參數(shù)計算與元器件選擇;4)完成應用程序設計;*5)進行部分單元電路及應用程序的調(diào)試;1.3 設計思路根據(jù)設計要求,初步思路如下:1)將各種加工方法的八道工序?qū)母叩碗娖侥M信號用十六進制表示,存入五個數(shù)據(jù)表中。2)五種加工方法各有一按鍵控制,通過單片機的一端口輸入控制信號,同時在端口的一位設置一停止按鈕,作為一種加工方法的結束。3)用八個led模擬加工工序,接于單片機的一個端口,作為輸出口。4)將工序步數(shù)18對應的數(shù)碼顯示字形存入一數(shù)表,用查表方式在串行口輸出要數(shù)碼顯示的工序步數(shù)字形,然后并行輸入到七段顯示器。1.4 系統(tǒng)結構硬件:實驗室提供的mcs51單片機、七個開關按鈕、八個led燈、一片數(shù)碼管、一片74ls164。 單片機接口分配和接線:p1口作為數(shù)據(jù)輸出端,p1.0p1.7分別接led1led8作為工序信號模擬顯示;p2口作為控制輸入端,p2.0p2.4分別接按鈕k1k5作為加工方法選擇鍵;p2.5接按鈕stop作為停止按鍵;rxd作為串行數(shù)據(jù)輸出端接74ls164的data端,txd作為時鐘脈沖輸出端接clk。寄存器分配:r2作為工序控制寄存器,r0作為輸出顯示間接尋址寄存器,79h作為輸出顯示緩沖區(qū)。r4、r5、r6、r7在延時子程序中使用。二、硬件電路設計與框圖根據(jù)設計要求與設計思路,確定該系統(tǒng)的設計方案,圖1為該系統(tǒng)設計方案的硬件電路設計框圖。硬件電路有四部分組成,即單片機按鍵輸入電路、led顯示驅(qū)動電路、一位顯示器電路和時鐘與復位電路。系統(tǒng)總框圖見圖1。下面我們將分別對硬件電路的設計作詳細介紹。 圖1 系統(tǒng)總框圖2.1 單片機的選擇根據(jù)初步設計方案的分析,設計這樣一個簡單的應用系統(tǒng)可以選擇采用hm0s制造工藝制造的mcs51單片機,都采用40管腳雙列直插式封裝,因此可以選用8031或8051,應用程序直接存放在片內(nèi),不用在內(nèi)部擴展程序存儲器,電路簡化,使整個硬件電路體積小,物美價廉,經(jīng)濟實用。下面對8051的主要特點作簡要說明。p0口(3239腳) 8路漏極開路型雙向并行i/o口。在訪問外部存儲器時,p0口作為低8位地址數(shù)據(jù)總線復用口,可分時操作,先傳送低8位地址,利用ale信號的下降沿將地址鎖存,然后作為8位雙向數(shù)據(jù)總線使用,用來傳送8位數(shù)據(jù)。外部不擴展而芯片應用時,作雙向i/o口使用,p0口能以吸收電流的方式驅(qū)動8個lsttl負載。 p1口(18腳) 具有內(nèi)部上拉電阻的8位準雙向i/o口,在對片內(nèi)eprom編程及校驗時,它接收低8位地址,p1口能驅(qū)動4個lsttl負載。 p2口(2128腳) 8位具有內(nèi)部上拉電阻的準雙向i/o口,在外接存儲器時,p2口作為高8位地址總線,在對片內(nèi)eprom編程及校驗時,它接收高位地址。p2口能驅(qū)動4個lsttl負載。 p3口(1017腳) 8位帶有內(nèi)部上拉電阻的準雙向i/o口。每一位又具有如下特殊功能(或稱第二功能): p3.0(rxd):串行輸入端。 p3.1(txd):串行輸出端。 p3.2(into):外部中斷0輸入端,低電平有效。 p3.3(int1): 外部中斷1輸入端,低電平有效。 p3.4(to):定時/計數(shù)器0外部事件計數(shù)輸入端。 p3.5(t1): 定時/計數(shù)器1外部事件計數(shù)輸入端。 p3.6(wr):外部數(shù)據(jù)存儲器寫選通信號,低電平有效。 p3.7(rd):外部數(shù)據(jù)存儲器讀選通信號,低電平有效。2.2 按鍵電路設計與器件選擇(1) 鍵盤結構的選擇 鍵盤結構可以分為獨立式鍵盤和行列式鍵盤(矩陣式)兩類。本系統(tǒng)只需要六個按鍵,因此選擇獨立式鍵盤。電路有按鍵和六個電阻組成,按鍵可以采用輕觸開關,按鍵分別命名為k1、k2、k3、k4、k5和stop鍵,電阻阻值為61歐。 圖2 鍵盤電路(2) 鍵盤與單片機的接口電路設計 將鍵盤直接與單片機的p2口連接,作為i/o口使用,用p2.0p2.4分別通過電阻與k1k5連接,作為加工方法選擇按鍵;p2.5通過電阻與stop連接,作為工序循環(huán)停止按鍵。(3) 按鍵去抖動的處理 由于機械觸點的彈性作用,在閉合及斷開的瞬間均伴隨有一連串的抖動,而按鍵穩(wěn)定閉合時間的長短開始有鍵閉合嗎?有鍵閉合嗎?等待松鍵延時10ms子程序nnyy 圖3 去按鍵抖動程序流程圖則是由操作人員的按鍵動作決定的,一般為幾秒至數(shù)秒。鍵抖動會引起一次按鍵被誤讀為多次,為了確保cpu對鍵的一次閉合僅作一次處理,我們用軟件去抖動的方法,程序流程圖如圖2,程序見程序清單。2.3 led顯示電路設計 圖4 led顯示電路用單片機的p1口作為i/o口,輸出工序模擬信號,p1.0p1.7分別通過電阻與led1led8連接,電阻可用81歐。當數(shù)據(jù)在p1口輸出時,將驅(qū)動二極管發(fā)光。2.4 一位顯示器電路本系統(tǒng)只需顯示工序進行步數(shù),故只需一位數(shù)碼管顯示器,我們用串行口方式0輸出18的顯示字形碼,但顯示器的驅(qū)動需八位并行數(shù)據(jù),故采用一片74164作為一位數(shù)碼顯示器的靜態(tài)連接端口,74164的低電平輸出電流8ma,可直接驅(qū)動共陽極七段led。2.4.1 174ls164的介紹 我們使用74164作為串行輸入并行輸出的轉(zhuǎn)換。 功能表: 2.4.2 led數(shù)碼管 led數(shù)碼管是單片機控制系統(tǒng)中最常用的顯示器件之一,led數(shù)碼管在單片機系統(tǒng)中的地位類似于crt(陰極射線管)顯示器在臺式微機系統(tǒng)中的地位(crt顯示器是臺史微機系統(tǒng)的標準輸出設備)。led數(shù)碼管用ag段顯示數(shù)字和字符的筆畫,dp顯示小數(shù)點,一英寸以下的led數(shù)碼管內(nèi),每一筆段含有一只led發(fā)光二極管,導通壓降為1.22.5v。根據(jù)led數(shù)碼管內(nèi)各筆段led發(fā)光二極管的連接方式,可以將led數(shù)碼管分為共陰極和共陽極兩大累。本實驗中所用的是共陽極接法。根據(jù)led的結構,不同筆段的組合就可以構成不同的字符,7段可以顯示128種不同的字符,起字符表如下。led顯示器十六進制數(shù)的字形代碼字形 段g f e d c b a共陽極代碼 0暗 亮 亮 亮 亮 亮 亮 03h 1暗 暗 暗 暗 亮 亮 暗 9fh 2亮 暗 亮 亮 暗 亮 亮 25h 3亮 暗 暗 亮 亮 亮 亮 0dh 4亮 亮 暗 暗 亮 亮 暗 99h 5亮 亮 暗 亮 亮 暗 亮 49h 6亮 亮 亮 亮 亮 暗 亮 41h 7暗 暗 暗 暗 亮 亮 亮 1fh 8亮 亮 亮 亮 亮 亮 亮 01h采用軟件查表向74164輸出字形代碼,有單片機的rxd端輸出數(shù)據(jù)到74164的data端,同時txd端輸出移位脈沖接74164的clk作為時鐘。由于顯示器工作是靜態(tài)的,主程序可不必掃描顯示器,從而節(jié)省了主程序的時間。 圖5 數(shù)碼顯示電路2.5 時鐘與復位電路 單片機工作的時間基準是由時鐘電路提供的。在單片機的xtal1和xtal2兩個管腳,接一只晶振和兩只電容就構成了單片機的時鐘電路。電路中電容器c1、c2對振蕩電路起微調(diào)作用,通常的取值范圍為(2040)pf。石英晶體選擇12mhz。單片機的rst管腳為為主機提供一個外部復位信號輸入端口,復位信號是高電平有效,高電平有效的持續(xù)時間應為2個機器周期以上。在此,我們選擇手動復位組合電路,復位以后,單片機各內(nèi)部件恢復到初始狀態(tài)。rst按鍵可以選擇專門的復位按鍵也可以選擇輕觸開關。 圖6 時鐘與復位電路系統(tǒng)硬件原理圖見附錄表。 三、 系統(tǒng)軟件設計3.1 主程序模塊程序開始首先將工序控制寄存器r2清零,將工序模擬顯示燈清零即將p1口清零。然后在程序段sta檢測p2口的輸入情況,如果某一位假設p2.2為高電平,就轉(zhuǎn)到該位對應的按鍵所控制的下一段程序next2處執(zhí)行,先調(diào)用一延時10ms子程序,然后重新判斷該位是否還為高電平,否,就返回sta重新檢測,是,就繼續(xù)執(zhí)行下一步,判斷該為是否變?yōu)榈碗娖剑?,就在此等待松鍵,是,就將該加工方法的工序模擬信號所在的表格標號tab2送查表基址dptr,然后轉(zhuǎn)到主程序端loop執(zhí)行。將工序控制寄存器r2的值給累加器a,然后查表,將查出的值送a到中,再在p1口輸出,即驅(qū)動了led燈顯示,將r2加一準備執(zhí)行下一道工序,然后將r2的值存入顯示緩沖區(qū)79h,將dptr入棧保護,調(diào)用數(shù)碼顯示子程序,將工序步數(shù)在數(shù)碼管同步顯示,然后將dptr出?;謴同F(xiàn)場,調(diào)用延時5s子程序作為工序間隔。再判斷八道工序是否全部執(zhí)行完,若否就轉(zhuǎn)回loop執(zhí)行下一步工序,若已完就判斷停止按鈕是否按下,按下就返回主程序開始處重新開始,沒按下就將r2清零進行下一個工序循環(huán)。其程序流程圖見附錄。主程序清單如下: org 0000h ljmp main org 0030h main:mov r2,#00h ;將工序控制寄存器零 mov p1,#00h ;將p1口清零 mov r0,#00h ;將寄存器r0清零 sta: jb p2.0,next1 ;判斷哪個按鍵被按下就 jb p2.1,next2 轉(zhuǎn)到應程序段處執(zhí)行 jb p2.2,next3 jb p2.3,next4 jb p2.4,next5 ljmp sta next1:lcall dls10ms ;調(diào)用延時10ms子程序 jnb p2.0, sta ;p2.0=0就返回重新判斷 jb p2.0, $ ;p2.0=1等待松鍵 mov dptr, #tab1 ;將表首址給查表基址dptr ljmp loop ;轉(zhuǎn)到loop程序段 next2:lcall dls10ms jnb p2.1, sta jb p2.1, $ mov dptr, #tab2 ljmp loop next3:lcall dls10ms jnb p2.2, sta jb p2.2, $ mov dptr, #tab3 ljmp loop next4:lcall dls10ms jnb p2.3,sta jb p2.3,$ mov dptr,#tab4 ljmp loop next5:lcall dls10ms jnb p2.4,sta jb p2.4,$ mov dptr,#tab5 ljmp loop loop:mov a,r2 ;將r2的值給a movc a,a+dptr ;查表將查出的值送到a中 mov p1,a ;將a中的數(shù)送p1口輸出 inc r2 ;r2自加一 mov 79h,r2 ;將r2的值送輸出緩沖79h push dph ;保護現(xiàn)場 push dpl lcall disp ;調(diào)用數(shù)碼顯示子程序 lcall dls5s ;調(diào)用延時5s子程序 pop dpl ;恢復現(xiàn)場 pop dph cjne r2,#08h,loop ;八步未完成就返回loop jb p2.5,main ;停止按鈕按下就返回main mov r2,#00h ;將r2清零 ljmp loop ;轉(zhuǎn)到loop3.2 數(shù)碼顯示模塊程序開始設置串行口輸出控制字scon為方式0發(fā)送,然后將顯示緩沖區(qū)79h送r0,將08字形代碼表的標志segpt送查表基址dptr,用寄存器間接尋址把要顯示的數(shù)送到a中,查表將查出的字形代碼送到a中,然后將其寫入發(fā)送緩沖器sbuf,八位數(shù)據(jù)開始從rxd端串行發(fā)送到74164中,當八位數(shù)據(jù)發(fā)送完畢時,數(shù)據(jù)和移位脈沖停止發(fā)送,并自動將發(fā)送中斷標志位ti置1,因此設置一檢測指令,判斷ti是否已為1,為1就是已發(fā)送完畢,用軟件將其清零,然后返回主程序。其程序流程圖見附錄。顯示子程序清單如下:disp:mov scon,#00h ;置串行方式0 mov r0,#79h ;將顯示緩沖區(qū)中值送r0 mov dptr,#segpt ;字形表首址送dptr mov a,r0 ;取出要顯示的數(shù)送a movc a,a+dptr ;查出字形 mov sbuf,a ;字形送串行口wait:jnb ti,wait ;輸出完否 clr ti ;完,清中斷標志 ret ;返回3.3 延時子程序我們采用軟件延時,根據(jù)指令占用的機器周期,用寄存器控制次數(shù)的多重循環(huán)來實現(xiàn)。程序清單如下:延時10ms:dls10ms:mov r7,#10 ;1t dl1:mov r6,#249 ;1t dl2:nop ;1t nop ;1t djnz r6,dl2 ;2t r6-10轉(zhuǎn)到dl2 djnz r7,dl1 ;2t r7-10轉(zhuǎn)到dl1 ret ;2t延時5s:dls5s:mov r6,#20 ;1t dl3:mov r5,#251 ;1t dl4:mov r4,#248 ;1t dl5:nop ;1t nop ;1t djnz r4,dl5 ;2t r4-10轉(zhuǎn)到dl5 djnz r5,dl4 ;2t r5-10轉(zhuǎn)到dl4 djnz r6,dl3 ;2t r6-10轉(zhuǎn)到dl3 ret ;2t3.4 數(shù)據(jù)表tab1:db 03h,04h,05h,06h,07h,08h,09h,0ah tab2:db 18h,27h,53h,30h,45h,06h,07h,08h tab3:db 10h,12h,13h,14h,15h,16h,17h,18h tab4:db 78h,34h,5ah,16h,04h,25h,8eh,23h tab5:db 12h,45h,67h,09h,6ch,6bh,98h,26hsegpt:db 03h,9fh,25h,0dh,99h db 49h,41h,1fh,01h ;字形“08” end ;結束四、調(diào)試說明與調(diào)試結果用軟件u51編輯好程序后,匯編、下載然后運行,選擇一種加工方法的按鈕按下程序停止在等待松鍵處,松鍵后程序繼續(xù)運行,工序模擬燈間隔5秒依次點亮工作相應的燈,同時數(shù)碼管顯示工序步數(shù)。按下停止按鈕,在工序完成第八道工序后自動停止,若不按下,則工序繼續(xù)循環(huán)進行。五、系統(tǒng)功能及操作說明5.1 系統(tǒng)功能本設計能夠控制機械手完成五種加工方法。它有五個按鍵,每個按鍵代表一種加工方法,每一種加工方法都包括八道加工工序,執(zhí)行工序時,led燈能夠模擬其工作情況,燈亮表示該項工作進行,燈滅表示該項工作停止,同時顯示器同步顯示工序進行的步數(shù),每道工序間隔5秒鐘。當一種加工方法的八道工序進行完后,若停止按鈕已按下,則機械手的工作停止,未按下則該加工方法繼續(xù)循環(huán)執(zhí)行。5.2 操作說明(1)選擇要進行的加工方法按鈕按下。(2)機械手就開始依次執(zhí)行該加工方法的八道工序,通過led燈的顯示可觀察機械手的工作情況,同時通過顯示器可看到工序的進度。(3)按下停止按鈕可控制該加工方法在八道工序完成后自動停止。若未按下將繼續(xù)循環(huán)執(zhí)行八道工序。六、總結與體會緊張與忙碌使兩周的時間不知不覺地從身邊走過,回想兩周以來的設計過程,期間值得回味的有很多。從接到課題的那一刻起,就

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論