freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

三維伺服數(shù)控平臺(tái)設(shè)計(jì)畢業(yè)設(shè)計(jì)論文(編輯修改稿)

2024-10-07 16:02 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 次畢 設(shè)的程序編譯部分,圖 的流程圖進(jìn)行編譯,首先進(jìn)行頭文件調(diào)用include,定義需要使用的各種編碼 table[]={0x3f,0x06..0x79,0x71},隨后各定義全局變量 u11,u12,key1 等,定義變量輸入 sbit PWM1=P3^4。定義延遲函數(shù) void delay(uint x),定義初始化函數(shù) void init(),定義共陰極數(shù)碼管顯示函數(shù)void display(uchar segNo,uchar num),定義鍵盤(pán)掃描函數(shù) void keyScan(),定義主沈陽(yáng)航空航天大 學(xué)畢業(yè)設(shè)計(jì) 9 函數(shù) void main(void)。 在主函數(shù)中分別調(diào)用初始化函數(shù),鍵盤(pán)掃描函數(shù),在顯示函數(shù)中顯示。最后編寫(xiě)中斷函數(shù),控制輸出波形。 下圖圖 為指導(dǎo)本次編程的流程圖: 圖 編程流程圖 在編程中,最為重要的便是鍵盤(pán)掃描函數(shù),在鍵盤(pán)掃描函數(shù)中使用 switch函數(shù),分別對(duì)矩陣鍵盤(pán)的每一行進(jìn)行詢問(wèn),待相應(yīng)之后分別對(duì)每一個(gè)回應(yīng),對(duì)應(yīng)的每一個(gè)鍵位進(jìn)行定義,以實(shí)現(xiàn)矩陣鍵盤(pán)的各種功能。 沈陽(yáng)航空航天大 學(xué)畢業(yè)設(shè)計(jì) 10 Proteus 中電子電路建立及仿真模擬 proteus 仿真軟件的介紹 PROTEUS 軟件是由英國(guó) Labcenter Electronics 公司開(kāi)發(fā)的 EDA 工具軟件。它從 1989 年問(wèn)世至今,經(jīng)過(guò)了近 20 的使用、發(fā)展和完善,功能越來(lái)越強(qiáng)大,性能越來(lái)越好。 PROTEUS 安裝以后,主要由兩個(gè)程序組成: ARES 和 ISIS。前者主要用于 PCB 自動(dòng)或人工布線及其電路仿真,后者主要采用原理布圖的方法繪制電路并進(jìn)行相應(yīng)的仿真。除了上述基本應(yīng)用之外, PROTEUS 革命性的功能在于它的電路仿真是互動(dòng)的,針對(duì)微處理器的應(yīng)用,可以直接在基于原理圖的虛擬原型上編程,并實(shí)現(xiàn)軟件源代碼級(jí)的調(diào)試,還可以直接實(shí)時(shí)動(dòng)態(tài)地模擬按鍵、鍵盤(pán)的輸入, LED、液晶 顯示的輸出,同時(shí)配合虛擬工具如示波器、邏輯分析儀等進(jìn)行相應(yīng)的測(cè)量和觀測(cè) 仿真電路實(shí)現(xiàn)過(guò)程 以前學(xué)習(xí) proteus 只是做了一些簡(jiǎn)單的如跑馬燈,定時(shí)器,靜態(tài)數(shù)字顯示等模擬,雖然知道這款軟件功能十分強(qiáng)大,但很少編寫(xiě)大程序。這次畢設(shè)一開(kāi)始雖然在心底構(gòu)思了一些方案,有簡(jiǎn)單的流程設(shè)計(jì),但一動(dòng)手開(kāi)始寫(xiě)程序,就給了筆者迎頭一棒 —— 將電路圖設(shè)計(jì)出來(lái)之后(如圖 ),根本不知道從哪下手寫(xiě)程序,老師說(shuō)這個(gè)畢設(shè)并不困難,只需要一兩百行的程序就可以了??墒枪P者閉關(guān)三天,才苦苦寫(xiě)出了二三十行程序,更讓筆者心涼的是,筆者的數(shù)碼 管根本不顯示任何數(shù)字,連亂碼都沒(méi)有!更別說(shuō)控制伺服電機(jī)了,不好的時(shí)候電機(jī)根本不動(dòng),就算問(wèn)了同學(xué),調(diào)試了一下程序,電機(jī)居然很不給面子的直接轉(zhuǎn)到了頭。這要是實(shí)際工程應(yīng)用,筆者的程序恐怕會(huì)謀殺很大一批數(shù)控銑床。痛定思痛之下,筆者不得不認(rèn)清現(xiàn)實(shí),從頭開(kāi)始。先圖書(shū)館借了許多 proteus 相關(guān)的書(shū)籍,又從網(wǎng)上下載了一些編程視頻觀看學(xué)習(xí)。 沈陽(yáng)航空航天大 學(xué)畢業(yè)設(shè)計(jì) 11 圖 ,原電路圖 從最簡(jiǎn)單的程序入手,將本次畢設(shè)的程序分三段調(diào)試,這里邊需要提一句,北京航空航天大學(xué)出版的《 proteus 輔助的單片機(jī)原理實(shí)踐》這本書(shū)對(duì)筆者幫助很大。 筆者按照書(shū)上 的教程,簡(jiǎn)單練習(xí)了幾個(gè)小程序熱手,之后將這次的畢設(shè)題目分解成三個(gè)小題目。 分別是: 8 位共陰極數(shù)碼管顯示,矩陣鍵盤(pán)輸入,伺服電機(jī)控制。 首先是 8 位共陰極數(shù)碼管顯示,筆者更改之前圖 1 中使用的 PG12864F 顯示器,改用編碼為 7SEGMPX8CCBLUE 的 8 位共陰極數(shù)碼管。八位共陰極數(shù)碼管的顯示并不困難,從 0 至 F 的十六位數(shù)字都有各自的代碼顯示,只要在主程序中調(diào)用顯示程序,并在對(duì)應(yīng)的位上輸入數(shù)值編碼,便可以完成顯示,程序簡(jiǎn)簡(jiǎn)單單的十?dāng)?shù)行,筆者便完成了生日的輸出,如圖 所示。 沈陽(yáng)航空航天大 學(xué)畢業(yè)設(shè)計(jì) 12 圖 ,生日截圖 這里邊 還有一個(gè)小插曲,為了連線方便,筆者將數(shù)碼管的數(shù)字接口接到了AT89C51 單片機(jī)的 P0 口,將位選接口接到了單片機(jī)的 P2 口,可是屏幕根本不亮。當(dāng)時(shí)簡(jiǎn)直要瘋了,砸電腦的心思都有,心說(shuō)連一個(gè)顯示程序都寫(xiě)不出來(lái),還能不能畢業(yè)了。后來(lái)按照書(shū)上的電路圖,將位選接口接到了單片機(jī)的 P1 口。模擬開(kāi)始之后,屏幕居然顯示了筆者的生日,當(dāng)時(shí)成就感立刻就來(lái)了。位選接口必須接到 P1 口,就好像外部中斷控制最好接到 P3^2 到 P3^5 口一樣。 然后是矩陣鍵盤(pán)輸入,最開(kāi)始筆者學(xué)習(xí)書(shū)上使用 for 循環(huán),調(diào)用 16 位矩陣鍵盤(pán)編碼實(shí)現(xiàn)矩陣鍵盤(pán)輸入,可是悲 劇的發(fā)現(xiàn),筆者對(duì) for 循環(huán)并沒(méi)有天賦,尤其是矩陣鍵盤(pán)要實(shí)現(xiàn)數(shù)字,正反轉(zhuǎn),復(fù)位,啟停等不同功能。 很快筆者就改用 if 循環(huán),在 if 循環(huán)中嵌套 switch 語(yǔ)句,雖然不如 for 循環(huán)簡(jiǎn)單明了,需要對(duì)矩陣鍵盤(pán)的四個(gè)橫行詢問(wèn),并對(duì)每一個(gè)縱行代碼進(jìn)行編譯,但恰好滿足筆者對(duì)每個(gè)鍵值的定義。如圖 3 所示,筆者定義了一個(gè)矩陣鍵盤(pán),并將矩陣鍵盤(pán)每一個(gè)對(duì)應(yīng)值都顯示在數(shù)碼管中。 沈陽(yáng)航空航天大 學(xué)畢業(yè)設(shè)計(jì) 13 圖 ,矩陣鍵盤(pán) 伺服電機(jī)的控制算是三個(gè)分題目中最困難的,如圖 所示筆者選用了編號(hào)為 MOTORPWMSERVO 的伺服電機(jī),要控制伺服電機(jī)的速度與偏轉(zhuǎn) 角度(銑刀的位置),需要對(duì) PWM 端口輸入不同頻率的方形波,這就涉及到中斷控制的定時(shí)器與計(jì)數(shù)器了。 Proteus 的編程書(shū)籍中介紹了很多中斷方面的知識(shí),但說(shuō)實(shí)話,筆者到現(xiàn)在也并沒(méi)有完全學(xué)明白,很多中斷都是憑著感覺(jué),一點(diǎn)一點(diǎn)將程序調(diào)試出來(lái)的。 定時(shí)器 /計(jì)數(shù)器控制寄存器 TCON 的中斷請(qǐng)求標(biāo)志格式為: TCON TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 位地址 8FH 8EH 8DH 8CH 8BH 8AH 89H 88H 其中關(guān)于中斷的就有 6 位,中斷方式又有數(shù)種,對(duì)于書(shū)上的初始化函數(shù)中,ET0=1, TR0=1, 與 EX0=1, IT0=1,有什么具體區(qū)別根本搞不懂。 按照書(shū)上將伺服電機(jī)的控制電路連接出來(lái),程序也抄寫(xiě)在 KEIL 軟件中,編譯運(yùn)行后伺服電機(jī)也如愿控制,但只要進(jìn)行微調(diào),比如說(shuō)書(shū)上的程序電機(jī)每一次沈陽(yáng)航空航天大 學(xué)畢業(yè)設(shè)計(jì) 14 轉(zhuǎn)動(dòng) 15 度,但要控制銑床,就算對(duì)自己的要求再低,怎么也要把精度保持在 1mm一下,如果電機(jī)每一步都轉(zhuǎn)動(dòng) 15 度,那需要使用的電傳和齒輪系統(tǒng)筆者根本無(wú)法想象。 足足花了數(shù)天時(shí)間,筆者在調(diào)試伺服電機(jī)的程序,逐行理解程序的含義,對(duì)每一行的程序都進(jìn)行標(biāo)注,逐行改變程序賦值,希望能有奇跡出現(xiàn)。最后經(jīng)由老師點(diǎn) 撥,筆者更改了定時(shí)器初值,每 1um 便進(jìn)行一次中斷,又調(diào)節(jié)了頻率與占空比,終于輸出了比較滿意的方形波,讓伺服電機(jī)每一次轉(zhuǎn)動(dòng)的范圍下降到了 3度,比原來(lái)足足放大了 5 倍,節(jié)省了許多齒輪。 但這又導(dǎo)致后來(lái)合成程序中出現(xiàn)了一個(gè)問(wèn)題,筆者的延遲函數(shù)也只能延遲更少的時(shí)間,如果延遲時(shí)間過(guò)長(zhǎng),數(shù)碼管的屏幕會(huì)不斷閃爍,甚至出現(xiàn)亂碼。 圖 ,伺服電機(jī) 前后用了數(shù)周的時(shí)間,終于做出了零零碎碎將近 10 個(gè)仿真電路及其對(duì)應(yīng)的程序,眼看著其他同學(xué)已經(jīng)開(kāi)始調(diào)試大程序,但筆者心中卻頗有成就,因?yàn)楣P者的大程序中,大部分語(yǔ)句都是親手編譯調(diào)試 ,筆者知道每一行語(yǔ)句的意義,編譯出現(xiàn)錯(cuò)誤筆者能夠很快的更改,數(shù)碼管顯示出現(xiàn)不合心意的時(shí)候,筆者也能定位到相應(yīng)的語(yǔ)句。 沈陽(yáng)航空航天大 學(xué)畢業(yè)設(shè)計(jì) 15 終于,筆者帶著將近一個(gè)月的積累,開(kāi)始合成大程序,筆者將更改之后的三個(gè)子程序嵌入到大程序中,并用主函數(shù)分別調(diào)用初始化函數(shù),鍵盤(pán)掃描函數(shù),顯示函數(shù),筆者以為準(zhǔn)備工作做得充足,主函數(shù)只要區(qū)區(qū)數(shù)行就可以完成這次畢設(shè),結(jié)果仿真出來(lái)的結(jié)果讓筆者哭笑不得。 第一次仿真, 8 位數(shù)碼管只亮了 6 個(gè),調(diào)試之后,正轉(zhuǎn)( E)反轉(zhuǎn)( F)的顯示代碼隨時(shí)改變,位移顯示部分更是奇葩,輸入數(shù)字之后,只顯示 11, 22, 33,44 等 數(shù)字,根本無(wú)法輸入正常的數(shù)值,更別說(shuō)舵機(jī)了,舵機(jī)也跟著亂轉(zhuǎn),就連現(xiàn)在,筆者調(diào)出來(lái)的程序,復(fù)位鍵還無(wú)法讓舵機(jī)復(fù)位。 圖 最終電路實(shí)現(xiàn) 程序?qū)崿F(xiàn)簡(jiǎn)述及其源程序 全部源程序及其說(shuō)明 include //調(diào)用頭文件 define uchar unsigned char //簡(jiǎn)化定義語(yǔ)句 def
點(diǎn)擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1