【正文】
and automatically replace the tool on the robot wrist, the pletion corresponds of , e up to say from a certain meaning, the development history of industrial robot is the development history that welds robot.Know to all, weld to process to request that welder have to have welltrained operation technical ability, abundant fulfillment experience, stability of weld level。馬老師,謝謝您對(duì)我的幫助!同時(shí),也感謝我的父母,是他們給我創(chuàng)造了條件,讓我能夠接受大學(xué)的熏陶,我一定會(huì)努力學(xué)習(xí),不辜負(fù)您們對(duì)我的期望!最后,我要以最真摯的感情來改寫指導(dǎo)本次畢設(shè)設(shè)計(jì)的老師,是您們用辛勤的勞動(dòng)、無私的奉獻(xiàn)幫助我完成了畢業(yè)設(shè)計(jì)。馬老師對(duì)新知識(shí),新事物都有自己獨(dú)到的見解,讓我受益匪淺。當(dāng)我迷茫時(shí),馬老師會(huì)給出自己的意見讓我參考,讓我不再迷茫。致 謝此次畢業(yè)設(shè)計(jì)是在我的指導(dǎo)教師馬東老師的精心指導(dǎo)及全力支持下完成的。如可以補(bǔ)充一個(gè)動(dòng)作時(shí)間查詢功能,在想要查詢各個(gè)動(dòng)作時(shí)間時(shí)使用;動(dòng)作時(shí)間只設(shè)定了時(shí)標(biāo)時(shí)、分、秒,使其只能實(shí)現(xiàn)當(dāng)日定時(shí),可以改進(jìn)程序使動(dòng)作時(shí)間可以設(shè)定年、月、日、星期、時(shí)、分、秒所有時(shí)標(biāo)。第六部分是結(jié)論和這次畢設(shè)的一點(diǎn)心得。第四部分對(duì)本課題的軟件進(jìn)行了詳細(xì)的介紹,詳盡闡述了主要的子程序。第二部分對(duì)方案進(jìn)行了較為完整的論證。結(jié)論本文主要闡述了基于單片機(jī)實(shí)現(xiàn)的多路定時(shí)控制系統(tǒng)的整個(gè)設(shè)計(jì)過程和制作過程。動(dòng)作時(shí)間到后,燈0和燈7滅,其他燈亮。如上一次動(dòng)作結(jié)果為燈0和燈7亮,其他燈滅。解決方法:延長按鍵檢測程序中的去抖時(shí)間。解決方法:改變進(jìn)入條件,使按鍵1按下就可以進(jìn)入動(dòng)作時(shí)間設(shè)定模式。在調(diào)試過程中,主要遇到以下問題:(1)在時(shí)間校準(zhǔn)過程中出現(xiàn)按下鍵3,時(shí)標(biāo)不加1的現(xiàn)象,查找原因是因?yàn)榘存I檢測程序有問題,解決方法:在按鍵檢測函數(shù)后添加一個(gè)Yes函數(shù),作用是確認(rèn)有按鍵按下,按鍵檢測只能檢測出按下鍵的鍵值,然后在每個(gè)涉及按鍵語句的前面都加上一條“K=Yes()”語句。,功能是通電后數(shù)碼管顯示8,結(jié)果是數(shù)碼管顯示8但亮度弱,原因是數(shù)碼管為共陰數(shù)碼管,換數(shù)碼管,改相關(guān)程序后亮度夠。檢查程序知,是P3口賦初值不正確,修改初值后按鍵好使。插牢之后,所有的燈正常顯示。 軟硬結(jié)合調(diào)試硬件和軟件調(diào)試之后,進(jìn)行軟硬結(jié)合調(diào)試。檢查結(jié)果:LCD1602有條數(shù)據(jù)線虛焊;按鍵也存在虛焊。檢查結(jié)果:單片機(jī)上的EA管腳未接電源;DS1302的主電源引腳為VCC2,接成了VCC1。Keil提供包括C編譯器、宏匯編、連接器、庫管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,由以下幾部分組成:μVisionIDE集成開發(fā)環(huán)境(包括工程管理器、源程序編輯器、程序調(diào)試器)、C51編譯器、A51匯編器、LIB51庫管理器、BL51連接/定位器、OH51目標(biāo)文件生成器以及Monitor5RTX51實(shí)時(shí)操作系統(tǒng)??傊?,該軟件是一款集單片機(jī)和SPICE分析于一身的仿真軟件,功能極其強(qiáng)大。在硬件仿真系統(tǒng)中具有全速、單步、設(shè)置斷點(diǎn)等調(diào)試功能,同時(shí)可以觀察各個(gè)變量、寄存器等的當(dāng)前狀態(tài),因此在該軟件仿真系統(tǒng)中,也必須具有這些功能;同時(shí)支持第三方的軟件編譯和調(diào)試環(huán)境,如KeilC51uVision2等軟件。目前支持的單片機(jī)類型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各種外圍芯片。具有模擬電路仿真、數(shù)字電路仿真、單片機(jī)及其外圍電路組成的系統(tǒng)的仿真、RS232動(dòng)態(tài)仿真、I2C調(diào)試器、SPI調(diào)試器、鍵盤和LCD系統(tǒng)仿真的功能;有各種虛擬儀器,如示波器、邏輯分析儀、信號(hào)發(fā)生器等。5 系統(tǒng)的安裝調(diào)試 仿真與編程軟件簡介 仿真軟件簡介仿真軟件采用Proteus ISSI軟件,ProteusISIS是英國Labcenter公司開發(fā)的電路分析與實(shí)物仿真軟件。(2)按鍵2,設(shè)定動(dòng)作性質(zhì)為開。例如,設(shè)置路徑2和路徑3動(dòng)作次第為0、動(dòng)作性質(zhì)為開,設(shè)置步驟如下:(1)按鍵7,進(jìn)入動(dòng)作次第與動(dòng)作性質(zhì)設(shè)定模式,此時(shí)數(shù)碼管顯示0,對(duì)應(yīng)次第0,在該模式中,數(shù)碼管顯示幾表示對(duì)應(yīng)的次第是幾,不再對(duì)應(yīng)支路。動(dòng)作開對(duì)應(yīng)實(shí)物上的燈亮,動(dòng)作關(guān)對(duì)應(yīng)實(shí)物上的燈滅。例如,選中支路2和支路3的操作步驟如下:(1)按鍵6,進(jìn)入動(dòng)作路徑選擇模式,此時(shí)數(shù)碼管顯示為0,對(duì)應(yīng)支路0.(2)多次按鍵3,使數(shù)碼管顯示為2,按鍵2,選中支路2.(3)按鍵3,是數(shù)碼管顯示為3,按鍵2,選中支路3,兩條支路選擇完成后,按鍵5退出動(dòng)作路徑選擇模式。當(dāng)你選中支路2后,可以繼續(xù)改變數(shù)碼管的數(shù)字,接著選中其他的路徑,也可以按鍵5退出路徑選擇。在這個(gè)模式中,數(shù)碼管顯示的數(shù)字十分重要,顯示數(shù)字范圍為07,對(duì)應(yīng)支路07,數(shù)碼管的數(shù)字是通過按鍵3(按一下數(shù)碼管數(shù)字加1)和按鍵4(按一下使數(shù)碼管數(shù)字減1)來改變的。(4)多次按鍵3,使顯示的秒為10后,按鍵5退出動(dòng)作時(shí)間設(shè)定模式。(2)多次按鍵3,使顯示的小時(shí)為12后,按鍵2右移到時(shí)標(biāo)分。例如設(shè)置動(dòng)作時(shí)間為12:50:10。設(shè)置過程與時(shí)間校準(zhǔn)相同,只是設(shè)置時(shí)標(biāo)只有時(shí)、分、秒,設(shè)置順序?yàn)闀r(shí)→分→秒。校準(zhǔn)順序:年→月→日→星期→時(shí)→分→秒,現(xiàn)以校準(zhǔn)年的過程為例說明如何校準(zhǔn)時(shí)間。時(shí)間校準(zhǔn)校準(zhǔn)的是基準(zhǔn)時(shí)間(通常以當(dāng)前時(shí)間為基準(zhǔn)時(shí)間),可以消除DS1302長時(shí)間走時(shí)所產(chǎn)生的累計(jì)誤差。LCD初始化設(shè)置了顯示格式、清除了LCD顯示內(nèi)容。中斷初始化,設(shè)開始定時(shí)中斷0初始化LCD1602初始化DS1302初始化初始化結(jié)束 程序初始化流程圖置了定時(shí)器0的工作方式、定時(shí)初值、開放總中斷和啟動(dòng)定時(shí)器0。后檢測列線,給P3口賦初值0xB8,當(dāng)按鍵按下后P3口狀態(tài)變?yōu)?xB0,此時(shí)檢測按鍵0被按下;當(dāng)按鍵按下后P3口狀態(tài)變?yōu)?xA8,檢測按鍵1被按下;當(dāng)按鍵被按下后P3口狀態(tài)變?yōu)?x98,檢測按鍵2被按下。 } return (key)。 } P3=0x87。 //鍵值為2 break。 //鍵值為1 break。 /鍵值為0 break。=P3。 //延時(shí)片刻,以利于狀態(tài)的獲取否進(jìn)入路徑選擇模式進(jìn)入動(dòng)作次第與動(dòng)作性質(zhì)設(shè)定模式進(jìn)入動(dòng)作時(shí)間設(shè)定模式等待動(dòng)作支路動(dòng)作否是是否是程序初始化,進(jìn)入時(shí)間校準(zhǔn)時(shí)間校準(zhǔn)是否完成?動(dòng)作時(shí)間設(shè)定是否完成?開始動(dòng)作次第與動(dòng)作性質(zhì)設(shè)定是否完成?是否連續(xù)進(jìn)行了8次動(dòng)作設(shè)置?是否需要進(jìn)行下一次動(dòng)作設(shè)定?路徑選擇是否完成?否否否是是是 系統(tǒng)總體執(zhí)行流程圖 temp1=P3。 //判斷行線狀態(tài) switch(temp) { case 0x86: // { P3=0xB8。 //讀取P3端口狀態(tài) tempamp。uchar ScanKey() //鍵盤掃描{ uchar temp,temp1,key。若某列為低,則該列線與低電平的行線交叉處的按鍵就是閉合的按鍵。在判斷鍵盤中有無按鍵按下時(shí),先判斷是那根行線的狀態(tài)為低電平,其他線為高電平。在后面的內(nèi)容中,先介紹按鍵檢測子程序然后再分別介紹程序初始化、時(shí)間校準(zhǔn)子程序、動(dòng)作時(shí)間設(shè)定子程序、動(dòng)作路徑選擇子程序、動(dòng)作次第與動(dòng)作性質(zhì)設(shè)定子程序,每個(gè)子程序會(huì)舉例說明,必要時(shí)會(huì)給流程圖。4 系統(tǒng)軟件的設(shè)計(jì) 系統(tǒng)主程序,畫出了系統(tǒng)的主程序流程圖,從圖中可以看出程序的執(zhí)行過程主要包括程序初始化、時(shí)間校準(zhǔn)模式、動(dòng)作時(shí)間設(shè)定模式、動(dòng)作路徑選擇模式、動(dòng)作次第與動(dòng)作性質(zhì)設(shè)定模式。實(shí)物中沒有采取ULN2803芯片,LED采用共陽極接法;實(shí)際生活中,LED燈應(yīng)該接繼電器。ULN2803的設(shè)計(jì)與標(biāo)準(zhǔn)TTL系列兼容,而ULN2804 最適于6至15伏高電平CMOS或PMOS。 控制電路的設(shè)計(jì) ULN2803芯片介紹 ULN2803引腳圖ULN2803是八路NPN達(dá)林管連接晶體管陣系列,特別適用于低邏輯電平數(shù)字電路(諸如TTL, CMOS或PMOS/NMOS)和較高的電流/電壓要求之間的接口,廣泛應(yīng)用于計(jì)算機(jī),工業(yè)用和消費(fèi)類產(chǎn)品中的燈、繼電器、打印錘或其它類似負(fù)載中。蜂鳴器由一個(gè)PNP三極管驅(qū)動(dòng),蜂鳴器發(fā)聲;置1時(shí),蜂鳴器不發(fā)生。存儲(chǔ)寄存器的輸出Q0Q6接共陽數(shù)碼管的ag段,用以顯示相關(guān)的提示數(shù)字(提示數(shù)字為:07)。用于接收來自單片機(jī)的數(shù)據(jù)。 提示電路 提示電路,提示電路由驅(qū)動(dòng)芯片驅(qū)動(dòng)一位共陽極數(shù)碼管構(gòu)成。DS:移位寄存器的串行數(shù)據(jù)輸入,接STC89C52的某個(gè)數(shù)字I/O引腳。引腳不緊張的情況下可以用STC89C52的一個(gè)引腳來控制它,這樣可以很方便地產(chǎn)生閃爍和熄滅的效果。應(yīng)用時(shí)通常將ST_CP置為低點(diǎn)平,移位結(jié)束后再在ST_CP端產(chǎn)生一個(gè)正脈沖更新顯示數(shù)據(jù)。ST_CP:存儲(chǔ)寄存器的時(shí)鐘輸入。SH_CP:移位寄存器的時(shí)鐘輸入。Q7′:級(jí)聯(lián)輸出端,與下一個(gè)74HC595的DS相連,實(shí)現(xiàn)多個(gè)芯片之間的級(jí)聯(lián)。,現(xiàn)按引腳順序說明如下:Q0Q7:存儲(chǔ)寄存器的8位并行數(shù)據(jù)輸出,可以直接控制8個(gè)LED,或者是七段數(shù)碼管的8個(gè)引腳。如果兩個(gè)時(shí)鐘連在一起,則移位寄存器總是比存儲(chǔ)寄存器早一個(gè)脈沖。移位寄存器和存儲(chǔ)器是分別的時(shí)鐘。 提示電路設(shè)計(jì) 74HC595介紹 74HC595引腳圖74HC595是硅結(jié)構(gòu)的CMOS器件,兼容低電壓TTL電路,遵守JEDEC標(biāo)準(zhǔn)。這三根控制線按照規(guī)定的時(shí)序相互協(xié)調(diào)作用,使控制器通過數(shù)據(jù)總線接受MPU發(fā)來的數(shù)據(jù)和指令,從CGROM中找到欲顯示字符的字符碼,送入DDRAM,在LCD顯示屏上與DDRAM存儲(chǔ)單元對(duì)應(yīng)的規(guī)定位置顯示出該字符。BLK:背光的負(fù)端0V。選擇4位方式通訊時(shí),不使用DB0~DB3。E:使能信號(hào)輸入端。R/W=0,讀操作;R/W=1,寫操作。RS=1,無論進(jìn)行讀操作還是寫操作均指向數(shù)據(jù)寄存器。RS:寄存器選擇輸入端,選擇模塊內(nèi)部寄存器類型信號(hào)。V0:LCD驅(qū)動(dòng)電壓,液晶顯示器對(duì)比度調(diào)整端。 顯示電路設(shè)計(jì) LCD1602介紹 LCD1602引腳封裝,其引腳功能分別為:VSS:電源地(GND)。按鍵7:進(jìn)入動(dòng)作次第與動(dòng)作性質(zhì)設(shè)定模式。(4)退出動(dòng)作次第與動(dòng)作性質(zhì)設(shè)定模式,當(dāng)設(shè)置完成動(dòng)作次第和動(dòng)作性質(zhì)后就可以點(diǎn)鍵5退出動(dòng)作次第與動(dòng)作性質(zhì)設(shè)定模式。(2)退出動(dòng)作時(shí)間設(shè)定模式,只有當(dāng)動(dòng)作時(shí)間的最后一位秒也設(shè)定完成后,點(diǎn)按鍵5才能退出動(dòng)作時(shí)間校準(zhǔn)模式。按鍵4:與按鍵3的功能相反,實(shí)現(xiàn)減1功能,這兒不再贅述。(3)在路徑選擇模式中,使數(shù)碼管顯示的數(shù)字加1,點(diǎn)一次加1一次。按鍵3:(1)在時(shí)間校準(zhǔn)模式中,使年、月、日、星期、時(shí)、分、秒時(shí)間參量的加1,點(diǎn)一次,對(duì)應(yīng)的量加1一次。(3)在路徑選擇模式中,進(jìn)行路徑的確認(rèn),數(shù)碼管顯示數(shù)字幾,按下鍵2就表示路徑幾被選擇。按鍵1:進(jìn)入動(dòng)作時(shí)間設(shè)定模式。 鍵盤輸入電路按鍵從左到右,從上到下編號(hào)為0到8,8個(gè)按鍵相互組合實(shí)現(xiàn)了時(shí)間校準(zhǔn)、動(dòng)作時(shí)間設(shè)定、路徑選擇、動(dòng)作次第與動(dòng)作性質(zhì)設(shè)置、動(dòng)作時(shí)間顯示等功能,現(xiàn)逐個(gè)按鍵闡述其功能。本畢設(shè)是通過按鍵掃描程序來檢測鍵值的,將在軟件部分介紹其原理。行列掃描鍵盤可以使用按鍵掃描程序判斷是否有按鍵按下,該方法的好處是硬件電路比較簡單,但缺點(diǎn)是程序復(fù)雜,響應(yīng)慢;也可以用中斷輔助判斷是否有按鍵按下,此方法的好處是響應(yīng)快,當(dāng)有按鍵被按下時(shí),很快就能得到單片機(jī)的響應(yīng),但是需要更多的硬件,并且占用一個(gè)中斷。若進(jìn)行單字節(jié)傳送,8位命令字節(jié)傳送結(jié)束之后,在下2個(gè)SCLK周期的上升沿輸入數(shù)據(jù)字節(jié),或在下8個(gè)SCLK周期的下降沿輸出數(shù)據(jù)字節(jié)。DS1302與STC89C52進(jìn)行數(shù)據(jù)交換時(shí),首先由微處理器向電路發(fā)送命令字節(jié),命令字節(jié)最高位Write Protect(BIT7)必須為邏輯1,如果BIT7=0,則禁止寫DS1302,即寫保護(hù);BIT6=0,指定時(shí)鐘數(shù)據(jù),BIT6=1,指定RAM數(shù)據(jù);BIT5~BIT1指定輸入或輸出的特定寄存器;最低位LSB(BIT0)為邏輯0,指定寫操作(輸入), BIT0=1,指定讀操作(輸出)。I/O為串行數(shù)據(jù)輸入輸出端(雙向),SCLK為時(shí)鐘輸入端。上電運(yùn)行時(shí),在Vcc,RST必須保持低電平。當(dāng)RST為高電平時(shí),所有的數(shù)據(jù)傳送被初始化,允許對(duì)DS1302進(jìn)行操作。RST是復(fù)位/片選線,通過把RST輸入驅(qū)動(dòng)置高電平來啟動(dòng)所有的數(shù)據(jù)傳送。當(dāng)Vcc2小于Vcc1時(shí),DS1302由Vcc1供電。 DS1302引腳圖供電。 時(shí)鐘電路的設(shè)計(jì) DS1302芯片介紹,其中Vcc2為后備電源,VCC1為主電源。上電復(fù)位所需的最短時(shí)間是振蕩周期建立加上24個(gè)時(shí)間周期,在這個(gè)時(shí)間內(nèi),RST端的電平就維持高于施密特觸發(fā)器的下限值。上電復(fù)位是利用電容的充放電來實(shí)現(xiàn)的,上電瞬間,引腳RST端的電位與Vcc相同,RC電路充電,隨著充電電流的減少,RST端的電位逐漸下降。二極管D1的作用是焊接實(shí)物時(shí),防止dj口正負(fù)極反接(不同dj口正負(fù)的定義是不一樣的),燒壞8075。1腳的輸入電壓需高于3腳的輸出電壓2V以上。圖中3個(gè)引腳按從左到右的順序依次為1腳、2腳和3腳。帶散熱片時(shí),輸出電流可達(dá)1A。所以采用第二種方案(發(fā)光二極管代替繼電器來模擬實(shí)現(xiàn))。方案2:用驅(qū)動(dòng)器ULN2803方案2控制部分采用STC89C52與ULN2803反相驅(qū)動(dòng)器連接驅(qū)動(dòng)小型繼電器吸合來實(shí)現(xiàn)對(duì)家用電器的控制。綜上,選擇方案2。方案2:采用驅(qū)