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

正文內容

x-y工作臺系統(tǒng)課程設計---二維水平數(shù)控滑臺(參考版)

2025-06-07 04:20本頁面
  

【正文】 控制系統(tǒng) 中 硬件 方面 采用功能強大的單片機 為 核心,輔助 時鐘 電路,鍵盤 等 ,形成一個較為完整的,操作簡單的數(shù)控系統(tǒng) ;軟件 方面 采用 通俗易懂的 C 語言 程序 , 這樣 較 匯編語言更容易理解。i++) 。 for(i=0。i++) 。 for(i=0。j++) 。i++) for(j=0。 for(i=0。movZ=8。 fl。 if(i==0) { movX=0。 if(movZ==7) { delayOnePace()。 if(k==0) { if(movZ7) { zstart()。 if(movX==7) { delayOnePace()。 } } void MOVL()//直線插補 { if(movX7) { xstart()。 n=0。motor_delay(n)。motor_delay(n)。motor_delay(n)。motor_delay(n)。motor_delay(n)。motor_delay(n)。motor_delay(n)。motor_delay(n)。motor_delay(n)。motor_delay(n)。 case 1: if(n0) { n。 i=0。motor_delay(i)。motor_delay(i)。motor_delay(i)。motor_delay(i)。motor_delay(i)。motor_delay(i)。motor_delay(i)。motor_delay(i)。motor_delay(i)。motor_delay(i)。 } } void zstop() //z 停止程序 { switch(z) { case 0: if(i0) { i。motor_delay(n)。motor_delay(n)。motor_delay(n)。motor_delay(n)。motor_delay(n)。motor_delay(n)。motor_delay(n)。motor_delay(n)。motor_delay(n)。motor_delay(n)。 } else { z=1。 if(i6) i++。 P2=0xec。 P2=0xee。 P2=0xe6。 P2=0xe7。 P2=0xe3。 P2=0xf3。 P2=0xf1。 P2=0xf9。 P2=0xf8。 P2=0xfc。 } } void zstart() //z 啟動程序 ,正向 { if(n0) { zstop()。 m=0。motor_delay(m)。motor_delay(m)。motor_delay(m)。motor_delay(m)。motor_delay(m)。motor_delay(m)。motor_delay(m)。motor_delay(m)。motor_delay(m)。motor_delay(m)。 case 1: if(m0) { m。 k=0。motor_delay(k)。motor_delay(k)。motor_delay(k)。motor_delay(k)。motor_delay(k)。motor_delay(k)。motor_delay(k)。motor_delay(k)。motor_delay(k)。motor_delay(k)。 } } void xstop() //x 停止程序 { switch(x) { case 0: if(k0) { k。motor_delay(m)。motor_delay(m)。motor_delay(m)。motor_delay(m)。motor_delay(m)。motor_delay(m)。motor_delay(m)。motor_delay(m)。motor_delay(m)。motor_delay(m)。 } else { x=1。 if(k6) k++。 P1=0xec。 P1=0xee。 P1=0xe6。 P1=0xe7。 P1=0xe3。 P1=0xf3。 P1=0xf1。 P1=0xf9。 P1=0xf8。 P1=0xfc。 } void xstart() //x 啟動程序 ,正向 { if(m0) { xstop()。 //啟動定時器 T0 } void int1(void) interrupt 1 using 1 { xstop()。 //定時器 T0 的高 8 位賦初值 TL0=(65536200)%256。 keyval=0。 if((P0amp。 if(MOVC==0) //按鍵 MOVC 被按下 keyval=8。 movX=0。 if(MOVL==0) //按鍵 MOVL 被按下 keyval=7。 if(xReversal==0) //按鍵 xReversal 被按下 keyval=5。 if(zstart==0) //按鍵 zstart 被按下 keyval=3。0xf0)!=0xf0) //確實有鍵按下 { if(xstart==0) //按鍵 xstart 被按下 keyval=1。0xf0)!=0xf0) //第一次檢測到有鍵按下 { delay()。 } } } void Time0_serve(void) interrupt 1 using 1 { TR0=0。 } else if(ID==3||ID==6) { zstop()。 //按鍵 MOVC 按下,圓弧插補 break。 //按鍵 MOVL 按下,直線插補 break。 //按鍵 zReversal 按下, z反轉 break。 //按鍵 xReversal 按下, x反轉 break。 //按鍵 zstop 按下,停轉 break。 //按鍵 zstart 按下, z方向啟動 break。 //按鍵 xstop 按下 ,停止 break。 //按鍵 xstart 按下 ,x方向啟動 break。z=0。n=0。i=0。 //按鍵值初始化為 0,什么也不做 ID=0。 //外部中斷 INT1 允許 IT1=1。 //定時器 T0 賦初值,每計數(shù) 200 次( 217微秒)發(fā)送一次中斷請求 TL0=(65536500)%256。 //定時器 T0中斷允許 TR0=1。 //使用定時器 T0的模式 1 EA=1。//直線插補 y方向參數(shù) uint fl。 uint movX。//x 方向正反轉標識, z 方向正反轉標識 uint keyval。//分別為 x正轉速度下標, z正轉速度下標 uint m,n。 //圓弧插補 uint speed[7] ={2021,1800,1600,1400,1200,1000,800}。 //z 方向反向 sbit MOVL = P0^6。 //z 停止 sbit xReversal = P0^4。 //x 停止 sbit zstart = P0^2。 程序執(zhí)行的流程圖為, 源程序為: include define uint unsigned int sbit xstart = P0^0。 ( 3) 外部中斷設計 外部中斷是在行程開關觸發(fā)時響應。 ( 1) 主程序設計 在主程序中, 需要進行變量、定時器、外部中斷的初始化,還 有一個 while循環(huán)語句,每次執(zhí)行都會檢測哪個按鈕被按下,如果有被按下的按鈕,則執(zhí)行相應的程序 。另外還有一個外部中斷程序,當檢測到行程開關被觸發(fā)后,就調用中斷函數(shù),執(zhí)行停止運行的代碼。 ( 6)總體電路圖 把各個部分的電路圖組合成總電路圖,見附電路圖中。上半部分通過整流,穩(wěn)壓,反向運算放大器,輸出兩個接口口,一個為 25V,一個為 25V,正好形成 50V電壓,可以接在電機上使用。我們所選的電機額定電壓為 50V,電路高電平電壓為 5V,所以需要將 220V的電壓轉成 50V和 5V的輸出。當行程開關被按下時,中斷響應,在程序中就將執(zhí)行停止程序。 所以選用 ULN2803構成驅動電路,電路圖如圖所示, ( 4)行程開關電路 行程開關部分,用的是四個開關按鈕代替的,當工作臺運行到 X方向或者 Z方向的極限位置時,行程開關被觸發(fā)。所有器件具有集電極開路輸出和續(xù)流箱位二極管,用于抑制躍變。如下圖示: (3) 驅動電路 ULN2803
點擊復制文檔內容
畢業(yè)設計相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1