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

正文內容

基于msp430單片機的電機調速系統(tǒng)(存儲版)

2024-12-22 15:26上一頁面

下一頁面
  

【正文】 ar i。i++) _NOP()。 TBCCR1 = PWM。=~BIT2。 //P20 為普通 I/O 模式 P2IES |=BIT0。 display_str(tishi[1])。 //將測出的速度帶點在顯示屏上 if(time0) dis_lin(64speed10/10,4*(time1),64speed1/10,4*time)。 case 10:flag++。 //清除顯示 Disp_HZ(0x80,hang1,4)。 speed0=ucKeyScan()。 } void main( void ) { WDTCTL = WDTPW + WDTHOLD。 init_TimeA()。 P2OUT amp。 //關閉 P12 口中斷 speed1 = count/4。 } count=0。 在實際應用中需要根據(jù)不同的環(huán)境條件給 P、 I、 D 賦初 值 。 if(fabs(Dv)10) { PID(speed0,speed1)。 //使能總中斷 while(1) { if(flag=2) { P1IE amp。= ~BIT0。 Disp_HZ(0x88,hang3,5)。 P2IFG = 0x00。 //檢測按鍵是否按下 Write_Cmd(0x0e)。= ~TAIE。 //當外部脈沖發(fā)生時。 //清除顯示 dis_line(64speed0/10)。 display_str(string)。 //將 P20 設為輸入模式 P2SEL amp。=~BIT2。 P4DIR |= BIT1。 for(i = 0。 e[1]=e[2]。 //偏差項 Dui = a1*e[2]。 //清除顯示 dis_line(64speed0/10)。 uchar t=0。 uchar tishi[2][2]= {I:,O:}。 // 積分時間 float a2 = 2。i++) { if(sp[n]==sp[n+i]) code = code|sp[n+i]。 } } void mov_screen(uchar *sp) { uchar i,j,code。 uchar addx,addy。 //使用擴展指令集,關閉繪圖顯示 Write_Cmd(addy)。 } void display_dot1(uchar code,uchar time) { uchar addx,addy。 void display_line(uchar code)。 temp=temp/10。 temp=temp*10。 for(i=0。 xstar+=m。 else m=1。 Write_Data(data[1]|(0x01(15 tier_y)))。 //X 地址 data[0] = Read_Data()。 //打開擴展指令集 Write_Cmd(0x01)。 Write_Cmd(0x88)。 Write_Cmd(0x80)。 LCD_EN_L。 0x80)。 LCD_RS_L。 Write_Cmd(0x80)。 Write_Cmd(0x02)。 MCU2LCD_Data = dat。 _NOP()。 LCD_EN_H。 _NOP()。 for(i = n。 define LCD_DataIn P5DIR=0x00//數(shù)據(jù)口方向設置為輸入 define LCD_DataOut P5DIR=0xff//數(shù)據(jù)口方向設置為輸出 define LCD2MCU_Data P5IN define MCU2LCD_Data P5OUT define LCD_CMDOut P3DIR|=0x07 //P3 口的低三位設置為輸出 define LCD_RS_H P3OUT|=BIT0 // define LCD_RS_L P3OUTamp。 void display(uchar add,uint cont)。 void Delay_Nms(uint n)。 Write_Data(0x30+key)。break。break。break。break。break。 if(ucTemp==(P2INamp。 // Delay_Nms(5)。 } Write_Data(0x30+key)。 case 44: key=10。 case 34: key=12。 case 24: key=12。 case 14: key=12。 while((P2INamp。 case 0x0B: ucLine=3。0x0F。 Init_Keypad()。 //寫入 十六個空格 Write_Cmd(row)。 5 原理圖與 PCB 圖 msp430 最小系統(tǒng)原理圖 圖四 MSP430F149 最小系統(tǒng)圖 其他模塊原理圖 四川理工學院挑戰(zhàn)杯論文 第 9 頁 共 32 頁 圖五 電源接口及穩(wěn)壓電路 圖六 IO 擴展電路及外部設備電源供給 四川理工學院挑戰(zhàn)杯論文 第 10 頁 共 32 頁 6 程序框圖和系統(tǒng)程序 程序 流程圖 圖七 PID 算法流程圖 四川理工學院挑戰(zhàn)杯論文 第 11 頁 共 32 頁 圖八 鍵盤 輸入流程圖 四川理工學院挑戰(zhàn)杯論文 第 12 頁 共 32 頁 圖八 系統(tǒng)流程圖 四川理工學院挑戰(zhàn)杯論文 第 13 頁 共 32 頁 系統(tǒng)程序 將各個模塊程序整理如下。 ( 2) 積分環(huán)節(jié):主要用于消除誤差,以提高系統(tǒng)無差度。 4 系統(tǒng)的具體設計與實現(xiàn) LCD 顯示 在液晶界面上顯示設定轉速和電機的當前速度,并繪制 PID 調速過程中的速度波動曲線圖。 L298N 是一個具有高電壓大電流的全橋驅動芯片,它相應頻率高,一片 L298N 可以分別控制兩個直流電機,而且還帶有控制使能端。 但無論是 反射式紅外傳感器還是對射式紅外傳感器,他們對都對外圍環(huán)境要求較高,易受外部環(huán)境的影響,穩(wěn)定性不高,且價格較為昂貴。其實質就是根據(jù)輸入的偏差 值,按比例、積分、微分的函數(shù)關系進行運算,其運算結果用以輸出控制。 PID 調節(jié)是連續(xù)系統(tǒng)中技術最成熟、應用最為廣泛的一個調節(jié)方式。 測速模塊 方案一: 利用紅外線對射方式和反射方式,在電機的轉軸上安裝一個塑料圓盤,再在圓盤上開一些小孔,通過記錄脈沖數(shù)來記錄圓盤轉過的圈數(shù),從而測出電機的轉速。 圖三 電機驅動 方案二 : 采用專用芯片 L298N 作為電機驅動芯片。 本系統(tǒng)電機是空轉,不要求嚴格的負載驅動,在加上成本的高低和經(jīng)濟承受能力,我們選擇方案一。 PID 調節(jié)器個校正環(huán)節(jié)的作用: ( 1) 比例環(huán)節(jié):即時成比例的反應控制系統(tǒng)的偏差信號 e( t),偏差一旦產生, 調節(jié)器立即產生控制作用以減少偏差。用 msp430 單片的 P2 口中斷來掃描鍵盤,當有鍵按下時產生中斷,在中斷內處理鍵值, 每 按一次記錄一個數(shù),將設定的 轉速記錄下四川理工學院挑戰(zhàn)杯論文 第 8 頁 共 32 頁 來,傳給 PID 函數(shù)進行計算和控制。i++) Write_Data(0x20)。 uchar i=0。 //輸出掃描電位 ucTemp = P2INamp。break。0x0F) != 0x0f)//等待按鍵放開 Delay_Nms(25)。break。break。break。break。 i=1。0x0F)== 0x0f)//等待按鍵按下 s { P2OUT = 0x00。 if(ucTemp != 0x0F) {//判斷該列是否有按鍵按下 Delay_Nms(15)。 case 0x07: ucLine=4。 /****** 判斷鍵值 ******/ switch(ucLine+(ucRow+1)*10) { case 11: key=1。 case 21: key=3。 case 31: key=3。 case 41: key=3。 } if(key==1) { clear_row(0x94)。 } 四川理工學院挑戰(zhàn)杯論文 第 17 頁 共 32 頁 } } } 程序二: LCD12864 顯示文件 define uchar unsigned char define uint unsigned int void Delay_1ms(void)。 void Draw_PM(const uchar *ptr)。 typedef unsigned int uint。 } void Delay_Nms(uint n) { uint i。 do //判忙 { LCD_EN_H。 MCU2LCD_Data = cmd。 do //判忙 { LCD_EN_H。 LCD_RW_L。 //基本指令集 Delay_1ms()。 //游標右移 Delay_1ms()。 uchar data=0。 } while(lcdtemp amp。 _NOP()。j++) { Write_Cmd(i++)。j++) { Write_Cmd(i++)。 Write_Cmd(0x34)。 //Y 地址 Write_Cmd(tier+0x80)。 } else { Write_Data(data[0])。 else if(xdist==0) m=0。 if(xabs yabs) { dist = xabs。 } void dis_line(uchar yaddr) { uint i。(cont(temp*10))) break。 cont=cont%temp。 void display_dot1(uchar code,uchar time)。 Draw_TX(addy,addx, tab[time%8])。 //清屏 ,只能清除 DDRAM Write_Cmd(0x34)。 //回到基本指令集模式 四川理工學院挑戰(zhàn)杯論文 第 24 頁 共 32 頁 } } void display_line(uchar code) { uchar i,cod。 Draw_TX(addy,addx, tab1[i%8])。ij。
點擊復制文檔內容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1