步進(jìn)電機(jī)控制及其LCD顯示_第1頁
步進(jìn)電機(jī)控制及其LCD顯示_第2頁
步進(jìn)電機(jī)控制及其LCD顯示_第3頁
步進(jìn)電機(jī)控制及其LCD顯示_第4頁
步進(jìn)電機(jī)控制及其LCD顯示_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上#include "AT89X51.h"int delay();void inti_lcd();void show_lcd(int);void cmd_wr();void ShowState();void clock(unsigned int Delay) ;void DoSpeed(); /計(jì)算速度/正轉(zhuǎn)值#define RIGHT_RUN 1/反轉(zhuǎn)值#define LEFT_RUN 0sbit RS=0xA0;sbit RW=0xA1;sbit E=0xA2;char SpeedChar="SPEED(n/min):"cha

2、r StateChar="RUN STATE:"char STATE_CW="CW"char STATE_CCW="CCW"char SPEED3="050"unsigned int RunSpeed=50;/速度unsigned char RunState=RIGHT_RUN; /運(yùn)行狀態(tài)main()/*定時(shí)器設(shè)置*/TMOD=0x66; /定時(shí)器0,1都為計(jì)數(shù)方式;方式2;EA=1;/開中斷TH0=0xff;/定時(shí)器0初值FFH;TL0=0xff;ET0=1;TR0=1;TH1=0xff;/定時(shí)器1初值FFH;

3、TL1=0xff;ET1=1;TR1=1; IT0=1;/脈沖方式EX0=1;/開外部中斷0:加速IT1=1;/脈沖方式EX1=1;/開外部中斷1:減速 inti_lcd(); DoSpeed(); ShowState(); while(1) clock(RunSpeed); P0_1=P0_10x01; /定時(shí)器0中斷程序:正轉(zhuǎn)void t_0(void) interrupt 1RunState=RIGHT_RUN; P0_0=1; P1=0x01; cmd_wr(); ShowState(); /定時(shí)器1中斷:反轉(zhuǎn)void t_1(void) interrupt 3RunState=LEF

4、T_RUN; P0_0=0; P1=0x01; cmd_wr(); ShowState(); /中斷0:加速程序void SpeedUp() interrupt 0 if(RunSpeed>=12) RunSpeed=RunSpeed-2; DoSpeed(); P1=0x01; cmd_wr(); ShowState(); /中斷1:減速程序void SpeedDowm() interrupt 2 if(RunSpeed<=100) RunSpeed=RunSpeed+2; DoSpeed(); P1=0x01; cmd_wr(); ShowState(); int delay(

5、) /判斷LCD是否忙 int a;start: RS=0; RW=1; E=0; for(a=0;a<2;a+); E=1; P1=0xff; if(P1_7=0) return 0; else goto start;void inti_lcd() /設(shè)置LCD方式 P1=0x38; cmd_wr(); delay(); P1=0x01; /清除 cmd_wr(); delay(); P1=0x0f; cmd_wr(); delay(); P1=0x06; cmd_wr(); delay(); P1=0x0c; cmd_wr(); delay();void cmd_wr() /寫控制字

6、 RS=0; RW=0; E=0; E=1;void show_lcd(int i) /LCD顯示子程序 P1=i; RS=1; RW=0; E=0; E=1;void ShowState() /顯示狀態(tài)與速度 int i=0; while(SpeedChari!='0') delay(); show_lcd(SpeedChari); i+; delay(); P1=0x80 | 0x0d; cmd_wr(); i=0; while(SPEEDi!='0') delay(); show_lcd(SPEEDi); i+; delay(); P1=0xC0; cmd

7、_wr(); i=0; while(StateChari!='0') delay(); show_lcd(StateChari); i+; delay(); P1=0xC0 | 0x0A; cmd_wr(); i=0; if(RunState=RIGHT_RUN) while(STATE_CWi!='0') delay(); show_lcd(STATE_CWi); i+; else while(STATE_CCWi!='0') delay(); show_lcd(STATE_CCWi); i+; void clock(unsigned int Delay) /1ms延時(shí)程序 unsigned int i; for(;Delay>0;Delay-) for(i=0;i<124;i+); void

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論