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

正文內(nèi)容

二維點(diǎn)樣平臺(tái)設(shè)計(jì)畢業(yè)論文(編輯修改稿)

2025-08-23 14:20 本頁面
 

【文章內(nèi)容簡(jiǎn)介】 程序發(fā)布 調(diào)試好程序之后,雖然沒有錯(cuò)誤出現(xiàn),但該應(yīng)用程序還只是源文件,只能在Visual Basic 的編譯環(huán)境中運(yùn)行,因此需要制作成可執(zhí)行文件。 Visual Basic 很容易生成“ .exe”文件。方法是選擇“文件”菜單下的“生成 Make ”選項(xiàng),在跳出來的對(duì)話框中修改文件名,然后確認(rèn)即可,這樣就完成了二維點(diǎn)樣平臺(tái)上位機(jī)的開發(fā)工作了 [1]。 3 二維點(diǎn)樣平臺(tái)下位機(jī)設(shè)計(jì) 單片機(jī)硬件電路設(shè)計(jì) 點(diǎn)樣平臺(tái)下位機(jī)以 AT89C51 單片機(jī)為控制核心,串口通信模塊用來接收 上位機(jī)發(fā)送的坐標(biāo)數(shù)據(jù),外加兩個(gè)步進(jìn)電機(jī)用來模擬點(diǎn)樣平臺(tái)的二維電機(jī)控制。 下位機(jī)驅(qū)動(dòng)步進(jìn)電機(jī)運(yùn)動(dòng)流程圖如圖 6 所示 圖 6 下位機(jī)控制步進(jìn)電機(jī)流程圖 51 單片機(jī)最小系統(tǒng) AT89C51 是應(yīng)用廣泛的 8 位單片機(jī),它擁有 4K 的 FLASH, 128 字節(jié)的 RAM,兩個(gè) 16 位的定時(shí)器,可編程串行中斷,以及低功耗閑置和掉電模式。 AT89C51 單片機(jī)最小系統(tǒng)包括單片機(jī)主控、時(shí)鐘電路和復(fù)位電路。如圖 7 所示。 二維點(diǎn)樣平臺(tái)設(shè)計(jì) 12 時(shí)鐘電路選用外部 12M 晶振,并聯(lián)兩個(gè) 30pf 的電容幫助起振。復(fù)位電路是由電阻、電容和按鍵組成的上電復(fù)位和按鍵復(fù)位 。 圖 7 單片機(jī)最小系統(tǒng) 為了直觀顯示系統(tǒng)運(yùn)行狀態(tài)和步進(jìn)電機(jī)運(yùn)行狀態(tài),本設(shè)計(jì)中添加了三個(gè) LED 指示燈,用來指示運(yùn)行狀態(tài),如圖 8 所示。 圖 8LED 狀態(tài)指示燈 串口通信電路 RS232 接口上通信時(shí)要 12V的電壓才能識(shí)別,也 就是 高低電平為 12V和 0V,但是51 單片機(jī)的高低電平為 5V 和 0V,所以單片機(jī)和電腦的串口通信需要高平轉(zhuǎn)換。實(shí)際淮南師 范學(xué)院 20xx 屆本科畢業(yè)論文 13 的電路中需要加入電平轉(zhuǎn)換芯片,如 MAX232 或 PL2303。本設(shè)計(jì)使用 Proteus 仿真,Protues 帶有串口仿真元件 COMPIM, 它集成了 TTLRS232 電路 的。設(shè)好波特率 即可實(shí)現(xiàn)串口通信。為了查看單片機(jī)串口通信數(shù)據(jù),仿真中加入 Virtual Terminal 虛擬終端。該部分電路如圖 9 所示。 圖 9 串口通信電路 二維步進(jìn)電機(jī)電路 為了模擬二維坐標(biāo)電機(jī)的轉(zhuǎn)動(dòng),本系統(tǒng)設(shè)計(jì)了兩組步進(jìn)電機(jī), X 軸步進(jìn)電機(jī)和 Y軸步進(jìn)電機(jī)。由于單片機(jī)驅(qū)動(dòng)能力有限,最大只有 25mA,需要外加驅(qū)動(dòng)電路。ULN20xx 是高耐壓、大電流復(fù)合晶體管陣列,由七個(gè)硅 NPN 復(fù)合晶體管組成。 當(dāng)輸入 5V電壓時(shí),輸出電流高達(dá) 500mA。所以本設(shè)計(jì)選 ULN20xx 驅(qū)動(dòng)四線制步進(jìn)電機(jī)。設(shè)計(jì)電 路如圖 10 所示。 圖 10 步進(jìn)電機(jī)驅(qū)動(dòng)電路 單片機(jī)軟件程序設(shè)計(jì) 單片機(jī)軟件部分主要是串口通信程序、步進(jìn)電機(jī)控制程序和接收到數(shù)據(jù)后的邏輯處理和控制程序。 51 單片機(jī)串口程序 51 單片機(jī)內(nèi)部有一個(gè)可編程的雙向全雙工串行通信接口。該接口有 4 種工作方 二維點(diǎn)樣平臺(tái)設(shè)計(jì) 14 式,以適用于不同場(chǎng)合。波特率由單片機(jī)內(nèi)部的定時(shí)器 /計(jì)數(shù)器產(chǎn)生,可以用軟件進(jìn)行設(shè)置。 51 單片機(jī)內(nèi)部的串口擁有兩個(gè)物理上相互獨(dú)立的接收、發(fā)送緩沖器 SBUF,可以同時(shí)接收和發(fā)送數(shù)據(jù),兩個(gè)緩沖器占用同一個(gè)地址 (99H)。 本設(shè)計(jì)選用波特率 9600bit/s,根據(jù) 12M 時(shí)鐘晶振算出裝載值,并且開啟接收中斷。接受到數(shù)據(jù)時(shí)進(jìn)去進(jìn)去中斷函數(shù)進(jìn)行相應(yīng)的處理。串口初始化代碼如下收中斷。當(dāng)接收到數(shù)據(jù)時(shí)進(jìn)去中斷函數(shù)進(jìn)行相應(yīng)的處理。串口初始化代碼如下: void init() { TMOD=0x20。 //定時(shí)器 1 工作方式 2 TH1=0xfd。 //裝載初值,波特率設(shè)置為 9600 TL1=0xfd。 TR1=1。 //啟動(dòng)定時(shí)器 1 SM0=0。 //設(shè)置串口工作方式 1 SM1=1。 REN=1。 //允許串口接收 EA=1。 //開總中斷 ES=1。 //開串口中斷 } 串口產(chǎn)生接收中斷, RI 硬件置位,在串口接收中斷函數(shù)里必須軟件清除接收中斷標(biāo)志。接收中斷入口函數(shù)如下所示: void ser()interrupt 4 { RI=0。 //接受中斷標(biāo)志位 … } 步進(jìn)電機(jī)程序 步進(jìn)電機(jī)工作原理簡(jiǎn)單,本設(shè)計(jì)中選用四線制步進(jìn)電機(jī),每一條線導(dǎo)通,步進(jìn)電機(jī)會(huì)旋轉(zhuǎn)一個(gè)角度,如果順序?qū)ǎ敲措姍C(jī)就會(huì)正轉(zhuǎn)。如果逆序?qū)ǎ敲措姍C(jī)反轉(zhuǎn),通過改 變線線之間導(dǎo)通時(shí)間可以改變轉(zhuǎn)速。本設(shè)計(jì)的步進(jìn)電機(jī)可以通過坐標(biāo)判斷而相應(yīng)的正轉(zhuǎn)或翻轉(zhuǎn)。電機(jī)驅(qū)動(dòng)函數(shù)如下: void StepX(char xy, char m, char n)。 淮南師 范學(xué)院 20xx 屆本科畢業(yè)論文 15 該函數(shù)有三個(gè)參數(shù),第一個(gè)參數(shù) xy用來選擇電機(jī), xy 為 1 的時(shí)候控制 X軸電機(jī),xy為 2 的時(shí)候控制 Y軸電機(jī);第二個(gè)參數(shù) m是調(diào)整的角度;第三個(gè)參數(shù) n是選擇正轉(zhuǎn)反轉(zhuǎn), n為 1 時(shí)正轉(zhuǎn), n為 0 時(shí)反轉(zhuǎn)。 控制邏輯程序 該部分是通過對(duì)串口接收到的數(shù)據(jù)進(jìn)行解析,然后驅(qū)動(dòng)步進(jìn)電機(jī)的轉(zhuǎn)動(dòng)。串口接收到數(shù)據(jù)時(shí)會(huì)觸發(fā)接收中斷,在中斷函數(shù)里不做處理,只把 它存到一個(gè)隊(duì)列里,主函數(shù)判斷到隊(duì)列中有數(shù)值的時(shí)候會(huì)依次讀取,并判斷數(shù)值是 X 軸坐標(biāo)數(shù)據(jù)還是 Y 軸坐標(biāo)數(shù)據(jù)。 X 軸 Y 軸的判斷是通過數(shù)據(jù)的最高位來判斷的,因?yàn)樵谠O(shè)計(jì)上位機(jī)的時(shí)候,考慮到數(shù)據(jù)在 0100 之間,可以通過最高位來標(biāo)識(shí),如果是 X 軸坐標(biāo)數(shù)據(jù)那么把最高位置 1,否則置 0。這樣單片機(jī)處理起來就簡(jiǎn)單方便多了,單片機(jī)接到數(shù)據(jù)之后將最高位去除,然后送給相應(yīng)的步進(jìn)電機(jī)就可以了。步進(jìn)電機(jī)的控制是由步進(jìn)電機(jī)的當(dāng)前坐標(biāo)值和接收到的新的坐標(biāo)值決定的,如果新的坐標(biāo)值大于當(dāng)前坐標(biāo)值,那么正轉(zhuǎn),否則反轉(zhuǎn)。轉(zhuǎn)動(dòng)的角度即是當(dāng)前值和接收的坐標(biāo)值 之間的差值。 因?yàn)椴竭M(jìn)電機(jī)旋轉(zhuǎn)需要時(shí)間,而上位機(jī)可能會(huì)連續(xù)發(fā)送多個(gè)數(shù)據(jù),所以需要定義一個(gè)隊(duì)列,用來存儲(chǔ)上位機(jī)發(fā)送過來的數(shù)據(jù),在主函數(shù)中進(jìn)行讀取和控制。隊(duì)列的定義 : define len 20 //隊(duì)列長(zhǎng)度 uchar Value[len]。 //存數(shù)數(shù)組 uchar head = 0。 //隊(duì)列頭 uchar tail = 0。 //隊(duì)列尾 uchar t = 0。 //隊(duì)列中的數(shù)據(jù)個(gè)數(shù) 在接 收中斷程序中將數(shù)據(jù)存入隊(duì)列,程序如下: void ser()interrupt 4 { RI=0。 //清除接受中斷標(biāo)志位 if(t len) { Value[tail]=SBUF。 if(++tail == len) tail = 0。 t++。 二維點(diǎn)樣平臺(tái)設(shè)計(jì) 16 } } 程序中還設(shè)計(jì)了三個(gè) LED 狀態(tài)指示燈,系統(tǒng)運(yùn)行時(shí)打開 LED1, X 軸步進(jìn)電機(jī)運(yùn)行時(shí)打開 LED2, Y軸步進(jìn)電機(jī)運(yùn)行時(shí)打開 LED3,停止運(yùn)行時(shí)關(guān)閉相應(yīng)的 LED。 4 系統(tǒng)測(cè)試 上位機(jī)串口通信測(cè)試 使用 Virtual Serial Port Driver 虛擬出一對(duì)串口,將 COM3 和 COM4 連接起來,這樣就可以在電腦上進(jìn)行串口通信測(cè)試了 [4]。如圖 11 所示。 圖 11 虛擬串口軟件 使用串口調(diào)試助手和本課題設(shè)計(jì)的串口控制平臺(tái)進(jìn)行通信,查看通信是否正常,測(cè)試圖如圖 12 所示。 圖 12 上位機(jī)平臺(tái)和串口調(diào)試助手通信測(cè)試 經(jīng)測(cè)試,二維點(diǎn)樣平臺(tái)和串口調(diào)試助手通信正常。手動(dòng)采樣、自動(dòng)采樣和回原點(diǎn)操作都能發(fā)送出正確的二維坐標(biāo)數(shù)值。 淮南師 范學(xué)院 20xx 屆本科畢業(yè)論文 17 下位機(jī)電路和通信測(cè)試 驗(yàn)證二維點(diǎn)樣平臺(tái)功能正常之后,使用它和單片機(jī)進(jìn)行通 信。單片機(jī)啟動(dòng)仿真按鈕,上位機(jī)測(cè)試手動(dòng)發(fā)送、自動(dòng)發(fā)送和回原點(diǎn)操作,測(cè)試發(fā)送數(shù)據(jù)是否正確,數(shù)據(jù)接收是否正確,電機(jī)轉(zhuǎn)動(dòng)是否正常,以及指示燈狀態(tài)是否正常 [12]。 判斷單片機(jī)接收到的數(shù)據(jù)是否和上位機(jī)發(fā)送的一致,可以打開 Virtual Terminal 觀察,串口接收到的數(shù)據(jù)可以實(shí)時(shí)的顯示出來。測(cè)試如圖 13 所示。 圖 13 上位機(jī)和單片機(jī)通信測(cè)試 當(dāng)有數(shù)據(jù)接收到時(shí),可以看到步進(jìn)電機(jī)轉(zhuǎn)動(dòng)和 LED 狀態(tài)燈點(diǎn)亮,轉(zhuǎn)動(dòng)方向和角度和上位機(jī)發(fā)送的一致。整體測(cè)試如圖 14 所示。 圖 14 單片機(jī)系統(tǒng)仿真 二維點(diǎn)樣平臺(tái)設(shè)計(jì) 18 經(jīng)測(cè)試,串口通信部分能接收 到正確的數(shù)據(jù),單片機(jī)能驅(qū)動(dòng) X 軸和 Y 軸步進(jìn)電機(jī)正轉(zhuǎn)或反轉(zhuǎn)一定角度,旋轉(zhuǎn)方向和角度都和上位機(jī)發(fā)送的一致, LED 燈能正確指示系統(tǒng)和步進(jìn)電機(jī)運(yùn)行狀態(tài)。系統(tǒng)各個(gè)模塊運(yùn)行穩(wěn)定。 5 總結(jié) 本課題設(shè)計(jì)了基于 Visual Basic 的二維點(diǎn)樣控制平臺(tái)和基于 51 單片機(jī)的串口通信控制系統(tǒng)。上位機(jī)實(shí)現(xiàn)串口通信,當(dāng)手動(dòng)點(diǎn)樣、自動(dòng)點(diǎn)樣或回原點(diǎn)操作時(shí),會(huì)將相應(yīng)的 X 軸和 Y 軸的坐標(biāo)值傳給下位機(jī)。下位機(jī)是由 51 單片機(jī)控制一個(gè)系統(tǒng),當(dāng)接收到串口數(shù)據(jù)時(shí),對(duì)數(shù)據(jù)進(jìn)行分析,提取出上位機(jī)發(fā)送的坐標(biāo)值,驅(qū)動(dòng) X 軸和 Y 軸步進(jìn)電機(jī),實(shí)現(xiàn)二維點(diǎn)樣。經(jīng)測(cè)試各部分 工作正常,達(dá)到了本課題的設(shè)計(jì)目標(biāo)。 由于本人時(shí)間和精力有限,有很多需要改進(jìn)和完善的地方。上位機(jī)控制平臺(tái)可以添加更多功能,界面可以做的更美觀。單片機(jī)控制系統(tǒng)可以選用更強(qiáng)大的單片機(jī),比如低功耗的 16 單片機(jī) MSP430 或者運(yùn)行更快的基于 CotexM3 內(nèi)核的 32 位 STM32 單片機(jī) [6] [9]。 參考文獻(xiàn): [1]李雁翎等 .Visual Basic 程序設(shè)計(jì)基礎(chǔ)教程(第二版) [M]人民郵電出版社 [2]楊加國(guó)等 .單片機(jī)原理與應(yīng)用及 C51 程序設(shè)計(jì)(第二版) [M]清華大學(xué)出版社 [3]周榮富 .電子線路 CAD [M]北京大學(xué)出版社 [4]陳忠平 .基于 Proteus 的 51 系列單片機(jī)設(shè)計(jì)與仿真(第二版) [M]電子工業(yè)出版社 [5]陳曾平 .電路設(shè)計(jì)基礎(chǔ) [M]北京高等教育出版社 .20xx:100110. [6]肖洪兵 .跟我學(xué)用單片機(jī) [M]北京航空航天大學(xué)出版社 .. [7]何立民 .單片機(jī)應(yīng)用技術(shù)大全 [M]北京航空航天大學(xué)出版社 ,1994. [8]邱光源等 .電路基礎(chǔ)[ M]高等教育出版社 1998. [9]沈紅衛(wèi) .基于單片機(jī)的智能系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn) [M]北 京:電子工業(yè)出版社 , [10]康華光.電子技術(shù)基礎(chǔ)數(shù)字部分 [M]北京高等教育出版社, 20xx. [11]郁有文,常健 傳感器原理及工程應(yīng)用 [M]電子科技大學(xué)出版社, [12][ 數(shù)據(jù)采集與串口通信測(cè)控應(yīng)用實(shí)戰(zhàn) ].李江全等 .掃描版. 淮南師 范學(xué)院 20xx 屆本科畢業(yè)論文 19 [13]梅麗鳳,王艷秋,汪毓鐸 ,張軍 . 單片機(jī)原理及接口技術(shù) [M]清華大學(xué)出版社 20xx [1
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1