




已閱讀5頁,還剩15頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
/* 文 件 名:main.c* 功 能:LED顯示控制。* 通過GPIO控制步進(jìn)電機(jī)* 說 明:將跳線JP14和JP19全部短接。 */#include config.h#define MOTOA 110 / P0.10 #define MOTOB 111/ P0.11 #define MOTOC 112/ P0.12 #define MOTOD 113/ P0.13 #define key1 116 / A-B-C-D#define key2 117 / AB-BC-CD-DA-AB#define key3 118 / A-AB-B-BC-C-CD-D-DA-A#define key4 119 /反轉(zhuǎn)#define key5 120 /停止#define KEYCON0x001f0000 / LED控制字#define MOTOCON0x00003c00 / MOTO控制字#define GPIOSET(PIN) IO0SET = PIN / 方便修改置位端口#define GPIOCLR(PIN)IO0CLR = PIN / 方便修改清位端口#define RS 19 /P0.9#define SID 16 /P0.6#define E 14 /P0.4#define PSB 12 /P0.2并行或串行,選擇低電平串行模式#define RST 10; dly-) for(i=0; i5000; i+); /* 名 稱:MOTO_Mode1()* 功 能:單四拍程序* 入口參數(shù):uint8 i延時參數(shù),值越大,延時越久* 出口參數(shù):無*/void MOTO_Mode1(uint8 i) / A-B-C-Dinitinal(); while(IO0PIN&key2)&(IO0PIN&key3)&(IO0PIN&key4)&(IO0PIN&key5)!=0) lcd_mesg(IC_DAT1); /顯示漢字界面1 /* A */ GPIOSET(MOTOA); DelayNS(i); GPIOCLR(MOTOA); /* B */ GPIOSET(MOTOB); DelayNS(i); GPIOCLR(MOTOB); /* C */ GPIOSET(MOTOC); DelayNS(i); GPIOCLR(MOTOC); /* D */ GPIOSET(MOTOD); DelayNS(i); GPIOCLR(MOTOD); void MOTO_Mode10(uint8 i) / A-B-C-Dinitinal(); while(IO0PIN&key1)&(IO0PIN&key2)&(IO0PIN&key3)&(IO0PIN&key5)!=0) lcd_mesg(IC_DAT4); /* D */ GPIOSET(MOTOD); DelayNS(i); GPIOCLR(MOTOD); /* C */ GPIOSET(MOTOC); DelayNS(i); GPIOCLR(MOTOC); /* B */ GPIOSET(MOTOB); DelayNS(i); GPIOCLR(MOTOB); /* A */ GPIOSET(MOTOA); DelayNS(i); GPIOCLR(MOTOA); /* 名 稱:MOTO_Mode2()* 功 能:雙四拍程序* 入口參數(shù):uint8 i延時參數(shù),值越大,延時越久* 出口參數(shù):無*/void MOTO_Mode2(uint8 i) / AB-BC-CD-DA-AB initinal(); while(IO0PIN&key1)&(IO0PIN&key3)&(IO0PIN&key4)&(IO0PIN&key5)!=0) lcd_mesg(IC_DAT2); /顯示漢字界面2 GPIOSET(MOTOA); GPIOSET(MOTOB); DelayNS(i); GPIOCLR(MOTOA); GPIOCLR(MOTOB); /* BC */ GPIOSET(MOTOB); GPIOSET(MOTOC); DelayNS(i); GPIOCLR(MOTOB); GPIOCLR(MOTOC); /* CD */ GPIOSET(MOTOC); GPIOSET(MOTOD); DelayNS(i); GPIOCLR(MOTOC); GPIOCLR(MOTOD); /* DA */ GPIOSET(MOTOD); GPIOSET(MOTOA); DelayNS(i); GPIOCLR(MOTOD); GPIOCLR(MOTOA); void MOTO_Mode20(uint8 i) / AB-BC-CD-DA-AB initinal(); while(IO0PIN&key1)&(IO0PIN&key2)&(IO0PIN&key3)&(IO0PIN&key5)!=0) lcd_mesg(IC_DAT4); GPIOSET(MOTOA); GPIOSET(MOTOD); DelayNS(i); GPIOCLR(MOTOA); GPIOCLR(MOTOD); /* DC */ GPIOSET(MOTOD); GPIOSET(MOTOC); DelayNS(i); GPIOCLR(MOTOD); GPIOCLR(MOTOC); /* CB */ GPIOSET(MOTOC); GPIOSET(MOTOB); DelayNS(i); GPIOCLR(MOTOC); GPIOCLR(MOTOB); /* BA */ GPIOSET(MOTOB); GPIOSET(MOTOA); DelayNS(i); GPIOCLR(MOTOB); GPIOCLR(MOTOA); /* 名 稱:MOTO_Mode3()* 功 能:單雙八拍程序* 入口參數(shù):uint8 i延時參數(shù),值越大,延時越久* 出口參數(shù):無*/void MOTO_Mode3(uint8 i) / A-AB-B-BC-C-CD-D-DA-Ainitinal(); while(IO0PIN&key1)&(IO0PIN&key2)&(IO0PIN&key4)&(IO0PIN&key5)!=0) lcd_mesg(IC_DAT3); /* A */ GPIOSET(MOTOA); DelayNS(i); GPIOCLR(MOTOA); /* AB */ GPIOSET(MOTOA); GPIOSET(MOTOB); DelayNS(i); GPIOCLR(MOTOA); GPIOCLR(MOTOB); /* B */ GPIOSET(MOTOB); DelayNS(i); GPIOCLR(MOTOB); /* BC */ GPIOSET(MOTOB); GPIOSET(MOTOC); DelayNS(i); GPIOCLR(MOTOB); GPIOCLR(MOTOC); /* C */ GPIOSET(MOTOC); DelayNS(i); GPIOCLR(MOTOC); /* CD */ GPIOSET(MOTOC); GPIOSET(MOTOD); DelayNS(i); GPIOCLR(MOTOC); GPIOCLR(MOTOD); /* D */ GPIOSET(MOTOD); DelayNS(i); GPIOCLR(MOTOD); /* DA */ GPIOSET(MOTOD); GPIOSET(MOTOA); DelayNS(i); GPIOCLR(MOTOD); GPIOCLR(MOTOA); void MOTO_Mode30(uint8 i) / A-AB-B-BC-C-CD-D-DA-Ainitinal(); while(IO0PIN&key1)&(IO0PIN&key2)&(IO0PIN&key3)&(IO0PIN&key5)!=0) lcd_mesg(IC_DAT4); /* D */ GPIOSET(MOTOD); DelayNS(i); GPIOCLR(MOTOD); /* CD */ GPIOSET(MOTOC); GPIOSET(MOTOD); DelayNS(i); GPIOCLR(MOTOC); GPIOCLR(MOTOD); /* C */ GPIOSET(MOTOC); DelayNS(i); GPIOCLR(MOTOC); /* BC */ GPIOSET(MOTOB); GPIOSET(MOTOC); DelayNS(i); GPIOCLR(MOTOB); GPIOCLR(MOTOC); /* B */ GPIOSET(MOTOB); DelayNS(i); GPIOCLR(MOTOB); /* AB */ GPIOSET(MOTOA); GPIOSET(MOTOB); DelayNS(i); GPIOCLR(MOTOA); GPIOCLR(MOTOB); /* A */ GPIOSET(MOTOA); DelayNS(i); GPIOCLR(MOTOA); /* DA */ GPIOSET(MOTOD); GPIOSET(MOTOA); DelayNS(i); GPIOCLR(MOTOD); GPIOCLR(MOTOA); /* 名稱:delay()* 功能:延時程序*/void delay(unsigned int m) unsigned int i,j; for(i=0;im;i+) for(j=0;j50;j+);/* 名稱:delay_10ms()* 功能:延時程序*/void delay_10ms(uint32 n) uint32 i,j; for(i=0;in;i+) for(j=0;j2000;j+);/* 名稱:initinal()* 功能:LCD12864字庫初始化*/ initinal(void) delay_10ms(4); /大于40ms的延時程序 IO0SET=PSB; /設(shè)置為串行工作方式 delay(1); IO1CLR=RST; /復(fù)位 delay(1); IO1SET=RST; /復(fù)位置高 delay(10); TransferCom(0x30); /8bit設(shè)置。RE=0.G=0,圖片顯示關(guān) delay(100); TransferCom(0x0C); /D=1,顯示開 delay(100); TransferCom(0x01); /清屏 delay_10ms(1); TransferCom(0x06); /模式設(shè)置,光標(biāo)從右向左加1位移動 delay(100);/* 名稱:lcd_mesg()* 功能:在LCD12864上顯示漢字*/void lcd_mesg(unsigned char *adder1) unsigned char i; TransferCom(0x80); delay(100); for(i=0;i32;i+) TransferData(*adder1); adder1+; TransferCom(0x90); delay(100); for(i=16;i64;i+) TransferData(*adder1); adder1+; /* 名稱:SeddByte()* 功能:發(fā)送1字節(jié)數(shù)據(jù)*/void SendByte(unsigned char Dbyte) unsigned char i; for(i=0;i8;i+) IO0CLR=E; if(Dbyte&0x80)=0x80) IO0SET=SID; else IO0CLR=SID; Dbyte=Dbyte1; /左移一位 IO0SET=E; IO0CLR=E; /* 名稱:TransferCom()* 功能:向LCD12864發(fā)送命令*/void TransferCom(unsigned char data0) IO0SET=RS; SendByte(0xf8); / 11111,RW(0),RS(1),0 SendByte(0xf0&data0); /高4位 SendByte(0xf0&data04); /低4位 IO0CLR=RS; /* 名稱:TransferData()* 功能:向LCD12864發(fā)送數(shù)據(jù)*/void TransferData(unsigned char data1) IO0SET=RS;
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年環(huán)境工程師職業(yè)資格考試題及答案
- 社區(qū)考試題簡答題及答案
- 財務(wù)會計準(zhǔn)則實(shí)操試題及答案
- 西方政治制度中的利益集團(tuán)作用分析試題及答案
- 機(jī)電工程新興技術(shù)應(yīng)用試題及答案
- 知識共享政策的實(shí)施與效果評估試題及答案
- 軟件設(shè)計師考試關(guān)鍵思考點(diǎn)試題及答案
- 網(wǎng)絡(luò)流量監(jiān)控的趨勢與試題及答案
- 意識到考試復(fù)習(xí)的重要內(nèi)容試題及答案
- 網(wǎng)絡(luò)策略與商業(yè)價值關(guān)系分析試題及答案
- 專題06手拉手模型(原卷版+解析)
- 國家開放大學(xué)本科《管理英語3》一平臺機(jī)考真題及答案總題庫珍藏版
- 20萬噸高塔造粒顆粒硝酸銨工藝安全操作規(guī)程
- CJJ82-2012 園林綠化工程施工及驗收規(guī)范
- 江蘇省南京市2022-2023學(xué)年四年級下學(xué)期數(shù)學(xué)期末試卷(含答案)
- 江蘇省南京市建鄴區(qū)2022-2023學(xué)年五年級下學(xué)期期末數(shù)學(xué)試卷
- 提高感染性休克集束化治療完成率工作方案
- 肝硬化病人健康宣教課件
- 心力衰竭病人的護(hù)理課件
- 0-3歲兒童適應(yīng)性行為的發(fā)展與教育
- 【多功能自動跑步機(jī)機(jī)械結(jié)構(gòu)設(shè)計4800字(論文)】
評論
0/150
提交評論