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

正文內容

二維點樣平臺設計畢業(yè)論文(編輯修改稿)

2025-07-24 12:39 本頁面
 

【文章內容簡介】 設置。 51單片機內部的串口擁有兩個物理上相互獨立的接收、發(fā)送緩沖器SBUF,可以同時接收和發(fā)送數據,兩個緩沖器占用同一個地址(99H)。本設計選用波特率9600bit/s,根據12M時鐘晶振算出裝載值,并且開啟接收中斷。接受到數據時進去進去中斷函數進行相應的處理。串口初始化代碼如下收中斷。當接收到數據時進去中斷函數進行相應的處理。串口初始化代碼如下:void init(){ TMOD=0x20。 //定時器1工作方式2 TH1=0xfd。 //裝載初值,波特率設置為9600 TL1=0xfd。 TR1=1。 //啟動定時器1 SM0=0。 //設置串口工作方式1 SM1=1。 REN=1。 //允許串口接收 EA=1。 //開總中斷 ES=1。 //開串口中斷}串口產生接收中斷,RI硬件置位,在串口接收中斷函數里必須軟件清除接收中斷標志。接收中斷入口函數如下所示:void ser()interrupt 4{ RI=0。 //接受中斷標志位 …} 步進電機程序步進電機工作原理簡單,本設計中選用四線制步進電機,每一條線導通,步進電機會旋轉一個角度,如果順序導通,那么電機就會正轉。如果逆序導通,那么電機反轉,通過改變線線之間導通時間可以改變轉速。本設計的步進電機可以通過坐標判斷而相應的正轉或翻轉。電機驅動函數如下:void StepX(char xy, char m, char n)。該函數有三個參數,第一個參數xy用來選擇電機,xy為1的時候控制X軸電機,xy為2的時候控制Y軸電機;第二個參數m是調整的角度;第三個參數n是選擇正轉反轉,n為1時正轉,n為0時反轉。 控制邏輯程序該部分是通過對串口接收到的數據進行解析,然后驅動步進電機的轉動。串口接收到數據時會觸發(fā)接收中斷,在中斷函數里不做處理,只把它存到一個隊列里,主函數判斷到隊列中有數值的時候會依次讀取,并判斷數值是X軸坐標數據還是Y軸坐標數據。X軸Y軸的判斷是通過數據的最高位來判斷的,因為在設計上位機的時候,考慮到數據在0100之間,可以通過最高位來標識,如果是X軸坐標數據那么把最高位置1,否則置0。這樣單片機處理起來就簡單方便多了,單片機接到數據之后將最高位去除,然后送給相應的步進電機就可以了。步進電機的控制是由步進電機的當前坐標值和接收到的新的坐標值決定的,如果新的坐標值大于當前坐標值,那么正轉,否則反轉。轉動的角度即是當前值和接收的坐標值之間的差值。因為步進電機旋轉需要時間,而上位機可能會連續(xù)發(fā)送多個數據,所以需要定義一個隊列,用來存儲上位機發(fā)送過來的數據,在主函數中進行讀取和控制。隊列的定義:define len 20 //隊列長度uchar Value[len]。 //存數數組uchar head = 0。 //隊列頭uchar tail = 0。 //隊列尾uchar t = 0。 //隊列中的數據個數在接收中斷程序中將數據存入隊列,程序如下:void ser()interrupt 4{ RI=0。 //清除接受中斷標志位 if(t len) { Value[tail]=SBUF。 if(++tail == len) tail = 0。 t++。 }}程序中還設計了三個LED狀態(tài)指示燈,系統運行時打開LED1,X軸步進電機運行時打開LED2,Y軸步進電機運行時打開LED3,停止運行時關閉相應的LED。 4 系統測試 上位機串口通信測試使用Virtual Serial Port Driver ,將COM3和COM4連接起來,這樣就可以在電腦上進行串口通信測試了[4]。如圖11所示。圖11虛擬串口軟件使用串口調試助手和本課題設計的串口控制平臺進行通信,查看通信是否正常,測試圖如圖12所示。圖12 上位機平臺和串口調試助手通信測試 經測試,二維點樣平臺和串口調試助手通信正常。手動采樣、自動采樣和回原點操作都能發(fā)送出正確的二維坐標數值。 下位機電路和通信測試驗證二維點樣平臺功能正常之后,使用它和單片機進行通信。單片機啟動仿真按鈕,上位機測試手動發(fā)送、自動發(fā)送和回原點操作,測試發(fā)送數據是否正確,數據接收是否正確,電機轉動是否正常,以及指示燈狀態(tài)是否正常[12]。判斷單片機接收到的數據是否和上位機發(fā)送的一致,可以打開Virtual Terminal觀察,串口接收到的數據可以實時的顯示出來。測試如圖13所示。圖13 上位機和單片機通信測試當有數據接收到時,可以看到步進電機轉動和LED狀態(tài)燈點亮,轉動方向和角度和上位機發(fā)送的一致。整體測試如圖14所示。圖14 單片機系統仿真經測試,串口通信部分能接收到正確的數據,單片機能驅動X軸和Y軸步進電機正轉或反轉一定角度,旋轉方向和角度都和上位機發(fā)送的一致,LED燈能正確指示系統和步進電機運行狀態(tài)。系統各個模塊運行穩(wěn)定。5 總結本課題設計了基于Visual Basic的二維點樣控制平臺和基于51單片機的串口通信控制系統。上位機實現串口通信,當手動點樣、自動點樣或回原點操作時,會將相應的X軸和Y軸的坐標值傳給下位機。下位機是由51單片機控制一個系統,當接收到串口數據時,對數據進行分析,提取出上位機發(fā)送的坐標值,驅動X軸和Y軸步進電機,實現二維點樣。經測試各部分工作正常,達到了本課題的設計目標。由于本人時間和精力有限,有很多需要改進和完善的地方。上位機控制平臺可以添加更多功能,界面可以做的更美觀。單片機控制系統可以選用更強大的單片機,比如低功耗的16單片機MSP430或者運行更快的基于CotexM3內核的32位STM32單片機[6] [9]。參考文獻: [1] Basic程序設計基礎教程(第二版)[M][2](第二版)[M][3] [M][4](第二版) [M][5] [M]:100110.[6] [M].[7] [M]北京航空航天大學出版社,1994.[8][M]高等教育出版社 1998.[9] [M]北京:電子工業(yè)出版社,[10]康華光.電子技術基礎數字部分 [M]北京高等教育出版社,2000. [11]郁有文,常健 傳感器原理及工程應用 [M]電子科技大學出版社,[12][]..[13]梅麗鳳,王艷秋,汪毓鐸,張軍. 單片機原理及接口技術 [M]清華大學出版社 2006[14]蔡朝洋. 單片機控制實習與專題制作 [M][15]楊忠寶, [M][16] [M]北京航空航天大學出版社,2001.[17] BASIC 應用指南 [M]人民郵電出版社199819附錄附錄1 上位機設計界面附錄2 上位機程序Dim xx, yy As LongDim timercount As IntegerDim sendbyte(1) As BytePrivate Sub Command5_Click()If = 關閉端口 Then = False = 打開端口 = RGB(0, 0, 0)Else If Test_COM(4) = True Then = True = 關閉端口 = RGB(0, 255, 0) End IfEnd IfEnd Sub39。檢測端口信號函數39。Private Function Test_COM(_num As Integer) As Boolean If = 打開串口 Then On Error GoTo Comm_Error = _num 39。這里接受傳入的串口號 = True = False Test_COM = True 39。如果操作成功,則說明當前串口可用,返回1,表示串口可用 Exit FunctionComm_Error: If = 8002 Then MsgBox 串口不存在,請配置串口號為COM4! ElseIf = 8005 Then MsgBox 串口已打開 Else MsgBox 其它錯誤 End If Test_COM = False 39。如果出錯,則返回0 Exit Function Resume Next End IfEnd FunctionPrivate Function SendXY(xv As Integer, yv As Integer) As Boolean 39。發(fā)送xy坐標 SendXY = False If Then sendbyte(0) = xv Or amp。H80 sendbyte(1) = yv = sendbyte SendXY = True End IfEnd FunctionPrivate Sub Command8_Click() If (TextX1(intger).Text = X1 Or TextX1(intger).Text = Or = Y1 Or = _ Or = X2 Or = Or = Y2 Or = _ Or = X3 Or = Or = Y3 Or = ) Then MsgBox 請輸入三組點樣坐標(0100之間的數值)!Else If CInt(TextX1(intger).Text) = 100
點擊復制文檔內容
教學教案相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1