【文章內(nèi)容簡(jiǎn)介】
for j 0j 1000j 延時(shí) x014ms void delay0 uchar x unsigned char i while x for i 0 i 13 i bit lcd_busy bit result LCD_RS 0 LCD_RW 1 LCD_EN 1 delayNOP result bit P00x80 LCD_EN 0 return result void lcd_wdat uchar dat while lcd_busy LCD_RS 1 LCD_RW 0 LCD_EN 0 P0 dat delayNOP LCD_EN 1 delayNOP LCD_EN 0 void lcd_wcmd uchar cmd while lcd_busy LCD_RS 0 LCD_RW 0 LCD_EN 0 _nop_ _nop_ P0 cmd delayNOP LCD_EN 1 delayNOP LCD_EN 0 void lcd_pos uchar pos lcd_wcmd pos 0x80 數(shù)據(jù)指針 80 地址變量 void dectobit int dec LCD3_data dec10000x30 dec dec 1000 LCD2_data dec100 dec dec 100 LCD1_data dec100x30 dec dec 100x30 LCD0_data dec void display1 lcd_pos 0x0b lcd_wdat LCD3_data lcd_pos 0x0c lcd_wdat LCD2_data lcd_pos 0x0d lcd_wdat LCD1_data lcd_pos 0x0e lcd_wdat LCD0_data lcd_pos 0x4b lcd_wdat 0x31 void lcd_init delay 15 lcd_wcmd 0x38 162 顯 示 57 點(diǎn)陣 8 位數(shù)據(jù) delay 5 lcd_wcmd 0x38 delay 5 lcd_wcmd 0x38 delay 5 lcd_wcmd 0x0c 顯示開關(guān)光標(biāo) delay 5 lcd_wcmd 0x06 移動(dòng)光標(biāo) delay 5 lcd_wcmd 0x01 清除 LCD 的顯示內(nèi)容 delay 5 Void main uchar m lcd_init initime TR0 1 TR1 1 初始化 LCD P10 1 P12 0 lcd_pos 0x00 設(shè)置顯示位置為第一行 for m 0m 16m lcd_wdat cdis1[m] lcd_pos 0x40 設(shè)置顯示位置為第二行 for m 0m 16m lcd_wdat cdis2[m] TMOD 0x21 將 T1 設(shè)置為 8 位自動(dòng)重裝工作方式 TH1 175 對(duì) T1 定時(shí)常數(shù)進(jìn)行預(yù)置 TL1 175 TR1 1 啟動(dòng) T1 while 1 dectobit f key_buf key_buf0x30 timer interrupt 1 using 2 i i1 if i 600 i 0 f TH1256TL1 TL1 0 TH1 0 TL0 6553610000 256 TH0 6553610000 256 2 電機(jī)驅(qū)動(dòng)程序 include include define uchar unsigned char define uint unsigned int define k 2021 sbit cp P10 sbit cw P11 sbit key2 P15 sbit key P16 sbit key1 P17 uint i uint K void key_scan 鍵盤掃描函數(shù) if add 0 加速 flag 1 Delay 100 if add 0 while add k k5 if k 32 k 32 if sub 0 減速 flag 1 Delay 100 if sub 0 while sub k k5 if k 620 k 620 if fx 0 反向 flag 0 Delay 100 if fx 0 while fx cw cw void PID PID 算法 x 2021080 頻率 y x360 理想轉(zhuǎn)速 if speed y k if speed y k void delay unsigned int t void Delay unsigned int z unsigned int ij for i 0i zi for j 0j 125j void main key 1 key1 1 key2 1 TMOD 0x01 K 2500 TH0 65536K 256 TL0 65536K 256 EA 1 ET0 1 TR0 1 cp 1 cw 1 while 1 TH0 0xf6 TL0 0xfd if key 0 Delay 100 while key K K50 if key1 0 Delay 100 while key1 K K50 if key2 0 Delay 100 while key2 cw cw void timer0 interrupt 1 i i1 if i 400 cw cw i 0 EA 0 cp cp TH0 65536K 256 TL0 65536K 256 TH0 0xf6 TL0 0xfd 目 錄 基于單片機(jī)控制的步進(jìn)電機(jī)調(diào)速系統(tǒng)的設(shè)計(jì) 中文摘要 3 關(guān)鍵詞 3 Abstract 4 Key words 4 前 言 5 11 步進(jìn)電機(jī)的特點(diǎn) 6 12 步進(jìn)電機(jī)的基本參數(shù) 5 13 步進(jìn)電機(jī)的技術(shù)參數(shù) 6 14 步進(jìn)電機(jī)的分類 10 15 步進(jìn)電機(jī)詳細(xì)調(diào)速原理 10 第 2 章 本次設(shè)計(jì)的基本要求 11 21 基本要求 11 第 3 章 方案的論證 11 31 控制方式的確定 11 32 驅(qū)動(dòng)方式的確定 13 33 驅(qū)動(dòng)電路的選擇 13 34 基本方案的確定 14 第 4 章 硬件電路的設(shè)計(jì) 14 41 單片機(jī)的選擇 15 42 步進(jìn)電機(jī)的選擇 17 43 驅(qū)動(dòng)電路的選擇 23 44 顯示電路與鍵盤的選擇 25 45 反饋電路的選擇 28 第 5 章 算法的設(shè)計(jì) 30 51 PID 控制算法 30 第 6 章 軟件的設(shè)計(jì) 35 61 顯示子程序的設(shè)計(jì) 35 62 鍵盤子程序的設(shè)計(jì) 36 63 驅(qū)動(dòng)程序流程的設(shè)計(jì) 37 64 正反轉(zhuǎn)程序流程圖 38 第 7 章 實(shí)驗(yàn)結(jié)果與分析 41 71 有關(guān)參數(shù)的計(jì)算與分析 41 72 理論 與實(shí)際的分析 41 附 錄 43 第 8 章 總 結(jié) 56 參考文獻(xiàn) 57 致 謝 58 基于單片機(jī)控制的步進(jìn)電機(jī)調(diào)速系統(tǒng)的設(shè)計(jì) 中文摘要 步進(jìn)電機(jī)是將電脈沖信號(hào)轉(zhuǎn)變?yōu)榻俏灰苹蚓€位移的開環(huán)控制元件在非超載的情況下電機(jī)的轉(zhuǎn)速停止的位置只取決于脈沖信號(hào)的頻率和脈沖數(shù)而不受負(fù)載變化的影響即給電機(jī)加一個(gè)脈沖信號(hào)電機(jī)則轉(zhuǎn)過一個(gè)步距角這一線性關(guān)系的存在加上步進(jìn)電機(jī)只有周期性的誤差而無累積誤差等特點(diǎn)使得在速度位置等控制領(lǐng)域用步進(jìn)電機(jī)來控制變的非常的簡(jiǎn)單步進(jìn)電機(jī)的調(diào)速一般是改變輸入步進(jìn)電機(jī)的脈沖的頻率來實(shí)現(xiàn)步進(jìn)電機(jī)的 調(diào)速因?yàn)椴竭M(jìn)電機(jī)每給一個(gè)脈沖就轉(zhuǎn)動(dòng)一個(gè)固定的角度這樣就可以通過控制步進(jìn)電機(jī)的一個(gè)脈沖到下一個(gè)脈沖的時(shí)間間隔來改變脈沖的頻率延時(shí)的長(zhǎng)短來具體控制步進(jìn)角來改變電機(jī)的轉(zhuǎn)速從而實(shí)現(xiàn)步進(jìn)電機(jī)的調(diào)速在本設(shè)計(jì)方案中采用 AT89C51 型單片機(jī)內(nèi)部的定時(shí)器改變 CP 脈沖的頻率從而實(shí)現(xiàn)對(duì)步進(jìn)電機(jī)的轉(zhuǎn)速進(jìn)行控制實(shí)現(xiàn)電機(jī)調(diào)速與正反轉(zhuǎn)的功能 關(guān)鍵詞 步進(jìn)電機(jī) 單片機(jī) 調(diào)速系統(tǒng) Abstract Stepbystep electric motor is the ring opening gating element changing electricity pulse signal into angular displacement or line displacement Under the situation of must overload the electric motor rotation rate discontinuous location depend on pulse signal frequency and pulse number only make free from being loaded with the effect changing but be that being added a pulse signal the electric motor by electric motor is to have rotated a step spur angle This gleam of the sexual relationships existence adds stepbystep electric motor characteristics such as only having the cyclicity error but there being no accumulative errorFeasible simplicity controlling a field using stepbystep electric motor to e to control changeable extraordinary in speed location etcStepbystep electric motor speed regulation general be change import stepbystep electr