版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、2011 - 2012 學(xué)年 第 1 學(xué)期學(xué)生課程實習(xí)報告 環(huán)節(jié)名稱計算機(jī)控制技術(shù)課程實習(xí)所屬課程計算機(jī)控制技術(shù)學(xué)生姓名冼燎剛學(xué)號200811631128所在班級電氣1081成績評語指導(dǎo)教師簽名一、 設(shè)計題目: 控制步進(jìn)電機(jī)LCD顯示二、 設(shè)計要求: 設(shè)計一個單片機(jī)三相步進(jìn)電機(jī)控制系統(tǒng),要求系統(tǒng)具有以下功能。(1)用K0-K2作為通電方式選擇鍵,K0為單三拍,K1為雙三拍,K2為三相六拍。(2)K3-K4作為啟動和方向控制。(3)正轉(zhuǎn)時紅色指示燈亮,反轉(zhuǎn)時黃色指示燈亮,不轉(zhuǎn)時綠燈亮。(4)可通過鍵盤設(shè)定步進(jìn)電機(jī)步數(shù)給定值。(5)用三位LED數(shù)碼管顯示剩余工作步數(shù)三、 系統(tǒng)總體框圖與原理說明 系
2、統(tǒng)的整體框圖四、 硬件電路圖 五、 程序流程圖開始鍵盤讀取步數(shù)鍵盤讀取正反轉(zhuǎn)鍵盤讀取工作方式鍵盤讀取是否按下 ENTER液晶顯示數(shù)字液晶顯示數(shù)字液晶顯示數(shù)字相應(yīng)的燈發(fā)光步進(jìn)電機(jī)轉(zhuǎn)動一拍總步數(shù)減一并顯示總步數(shù)是否為0顯示OVERYN結(jié)束六、 仿真說明 輸入一個三位數(shù) 按下DIRECTION 選擇方向 相應(yīng)的燈會亮 選擇不同的工作方式 按下START按鈕,倒數(shù)開始,電機(jī)按剩余步數(shù)轉(zhuǎn)動。 倒數(shù)完畢,顯示OVER,綠燈亮。七、 心得體會通過自己幾天的辛勤努力并查閱諸多資料,終于完成了本次課程設(shè)計。從系統(tǒng)框圖到程序,自己逐一完成。程序雖然很長,但通過分成不同的H文件,有序地把它們分割成幾部分。不僅對于自
3、己,還對查看程序的人有不少的幫助。設(shè)計的思路按照對于仿真的步驟編程。從按下第一個按鍵開始,就已經(jīng)進(jìn)入到設(shè)計者的程序當(dāng)中。程序有較強(qiáng)的邏輯性,這些都依賴于平時的練習(xí)及老師的教導(dǎo)。 附錄:程序清單 /*程序的總體文件*/#include<reg51.h> #include<led_show.h> #include<keyscan.h> #include<keycount.h> void initial(); un i,motor_step=0,time_control=0;uc keyscan();uc loop124=0x01,0x02,0x04,
4、0x08,0x08,0x04,0x02,0x01; /A B C Duc loop224=0x03,0x06,0x0C,0x09,0x09,0x0C,0x06,0x03; /AB BC CD DAuc loop328=0x01,0x03,0x02,0x06,0x04,0x0C,0x08,0x0A,0x0A,0x08,0x0C,0x04,0x06,0x02,0x03,0x01; /A AB B BC C CD D DA void initial_show(); /函數(shù)申明void clr(); void wirte_com(uc com);void wirte_data(uc date);voi
5、d delay(unsigned int z);void input_keycode() ;void output_key();void count(); void swith();void test(); void main()/主函數(shù)initial();/初始化 initial_show();clr();while(1) input_keycode(); output_key(); TMOD=0x01; /fangshi yi TL1=0xB0; TH1=0x3C; ET0=1; /yun xu TO zhongduanTR0=1; EA=1;while(1);/*中斷服務(wù)函數(shù)*/void
6、 T0_time() interrupt 1/ TL1=0xB0; TH1=0x3C;time_control+; if(a>0) if(time_control=2)swith(); else red=1;green=0;yellow=1; wirte_com(0xc0+10);for(i=0;i<4;i+) / over wirte_data(table6i); void count()t=a/100;f=a%100/10;g=a%10;wirte_com(0xC0+10); /rewrite stepwirte_data(tablet);wirte_data(tablef);
7、wirte_data(tableg);void swith() switch(motor1) case 0: if(motor_step<4) P3=loop1fanzhuanmotor_step ; else motor_step=0; P3=loop1fanzhuanmotor_step ; motor_step+; break; case 1: if(motor_step<4) P3=loop2fanzhuanmotor_step ; else motor_step=0; P3=loop2fanzhuanmotor_step ; motor_step+; break; cas
8、e 2: if(motor_step<8) P3=loop3fanzhuanmotor_step ; else motor_step=0; P3=loop3fanzhuanmotor_step ; motor_step+; break; count(); time_control=0; a-; /zong bu shu/*鍵盤掃描電路*/uc temp,ge,shi,bb,num;uc keyscan()/鍵盤掃描子程序 while(1)P1=0xfe; temp=P1;temp=temp&0xf0;if(temp!=0xf0)delay(10); temp=P1; /重新賦值b
9、b=P1;/保留值 temp=temp&0xf0;/去抖動 if(temp!=0xf0)temp=P1;switch(temp) case 0xee:num=0;break;case 0xde:num=1;break;case 0xbe:num=2;break;case 0x7e:num=3;break;default:break;while(P1=bb); / 等待放手delay(10);while(P1=bb); P1=0xfd; temp=P1;bb=P1;temp=temp&0xf0;if(temp!=0xf0)delay(10); temp=P1; temp=temp
10、&0xf0; if(temp!=0xf0)temp=P1;switch(temp) case 0xed:num=4;break;case 0xdd:num=5;break;case 0xbd:num=6;break;case 0x7d:num=7;break;default:break;while(P1=bb);delay(10);while(P1=bb); P1=0xfb; temp=P1;bb=P1;temp=temp&0xf0;if(temp!=0xf0)delay(10); temp=P1; temp=temp&0xf0; if(temp!=0xf0)temp=
11、P1;switch(temp) case 0xeb:num=8;break;case 0xdb:num=9;break;case 0xbb:num=10;break;case 0x7b:num=11;break;default:break;while(P1=bb);delay(10);while(P1=bb); P1=0xf7; temp=P1;bb=P1;temp=temp&0xf0;if(temp!=0xf0)delay(10); temp=P1; temp=temp&0xf0; if(temp!=0xf0)temp=P1;switch(temp) case 0xe7:nu
12、m=12;break;case 0xd7:num=13;break;case 0xb7:num=14;break;case 0x77:num=15;break;default:break;while(P1=bb);delay(10);while(P1=bb); if(num!=99) return(num);/*LCD顯示電路*/#define uc unsigned char #define un unsigned int unsigned int i; sbit rs=P20;/位申明sbit rw=P21;sbit e=P22; uc code table2="designed
13、 by xlg" uc code table3="setting:"uc code table4="remaining:"uc code table5=" "uc code table6="over:"void wirte_com(uc com);void wirte_data(uc date);void delay(un z); void initial() /初始化子函數(shù)rs=1;rw=1;e=1; wirte_com(0x01);/顯示清零 delay(10); wirte_com(0x38); /
14、16*2顯示 ;5*7點陣;八位數(shù)據(jù)接口 delay(10); wirte_com(0x0f); / 1 開顯示,有光標(biāo) 光標(biāo)閃手 (1 1 1) delay(10); wirte_com(0x06);/000001NS (N=1時右移) (S=0時整屏不移動) delay(10); wirte_com(0x80);/初始化指針 delay(10);void initial_show() for(i=0;i<16;i+)wirte_data(table2i);delay(100);wirte_com(0x01);wirte_com(0x80); for(i=0;i<8;i+)wir
15、te_data(table3i);wirte_com(0xC0);for(i=0;i<10;i+)wirte_data(table4i); void clr() wirte_com(0x80+10); for(i=0;i<3;i+)wirte_data(table5i); wirte_com(0x80+10);void wirte_com(uc com) /液晶寫指令P0=com;rs=0;rw=0;e=0; /上升沿 delay(10); e=1;void wirte_data(uc date)/液晶寫數(shù)據(jù)P0=date;rs=1;rw=0;e=0; /上升沿delay(100)
16、;e=1;void delay(un z)/延時子程序un x,y;for(x=z;x>0;x-)for(y=110;y>0;y-);/*鍵盤電路讀取*/sbit start=P23 ; sbit red=P24 ; sbit green=P25 ; sbit yellow=P26 ; un a,b,c,d,t,f,g,fanzhuan=1,motor1=0,output_type;uc code table="0123456789ABCDEF" /定義表格 void input_keycode() num=99; keyscan(); while (table
17、num!='A') while (tablenum>='0'&&tablenum<='9' ) wirte_com(0x80+10);t=tablenum;wirte_data(t); /bai位數(shù) abc tfga=tablenum-48;num=99; /shi位數(shù)keyscan();b=tablenum-48;a=a*10+b; f=tablenum ;wirte_data(f); num=99; /ge位數(shù) 輸入的數(shù)據(jù)存在Akeyscan();c=tablenum-48;a=a*10+c; g=tablenum
18、 ;wirte_data(g); wirte_com(0x0c); wirte_com(0x80+10); num=99; keyscan(); while (tablenum='C') wirte_com(0x80+15); if(fanzhuan=1) fanzhuan=0; wirte_data('a'); red=0;green=1;yellow=1; else fanzhuan=1; wirte_data('b'); red=1;green=1;yellow=0; wirte_com(0x80+15); num=99; keyscan(); while (tablenum='D'|tablenum='E'|tablenum='F') switch(tablenum) case 'D': motor1=0; wirte_com(0xC0+15); wirte_data('1'); /類型 a/bwirte_com(0xC0+15);break; case 'E': motor1=1; wirte_com(0xC0+15); wirte_data('2'); /類型 a/bwirte_co
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 第一講《小企業(yè)會計制度》培訓(xùn)
- 2024高中地理第四章工業(yè)地域的形成與發(fā)展第1節(jié)工業(yè)的區(qū)位選擇練習(xí)含解析新人教版必修2
- 2024高中生物專題5DNA和蛋白質(zhì)技術(shù)課題2多聚酶鏈?zhǔn)椒磻?yīng)擴(kuò)增DNA片段課堂演練含解析新人教版選修1
- 2024高中語文第三課神奇的漢字第1節(jié)字之初本為畫-漢字的起源練習(xí)含解析新人教版選修語言文字應(yīng)用
- 2024高考地理一輪復(fù)習(xí)第十八單元區(qū)際聯(lián)系與區(qū)域協(xié)調(diào)發(fā)展練習(xí)含解析
- 2024高考化學(xué)二輪復(fù)習(xí)選擇題專項練二含解析
- (4篇)2024大學(xué)社團(tuán)活動工作總結(jié)
- 工程質(zhì)量檢測試驗
- 保潔過程中的環(huán)境保護(hù)控制措施
- 海關(guān)報關(guān)實務(wù)4-第三章2知識課件
- 單位檔案三合一制度怎么寫范文
- 【課件】跨學(xué)科實踐:探索廚房中的物態(tài)變化問題-人教版八年級上冊物理
- 房地產(chǎn)企業(yè)崗位招聘筆試題題庫之四(含答案)營銷副總經(jīng)理
- 某集團(tuán)下屬子公司年度經(jīng)營績效管理辦法全套
- 2024-2030年中國汽車防撞梁行業(yè)發(fā)展動態(tài)與市場需求研究報告
- 骨科中醫(yī)護(hù)理方案培訓(xùn)計劃(2篇)
- 2024年美國X射線熒光光譜儀(XRF)市場現(xiàn)狀及上下游分析報告
- 2024年江蘇農(nóng)牧科技職業(yè)學(xué)院單招職業(yè)適應(yīng)性測試題庫必考題
- 食品機(jī)械與設(shè)備智慧樹知到期末考試答案章節(jié)答案2024年西北農(nóng)林科技大學(xué)
- 861個CCER備案項目清單
- 直腸脫垂的護(hù)理查房
評論
0/150
提交評論