第一篇:單片機課程設計任務書(步進電機控制)
湖北工程學院新技術學院課程設計任務書
課程單片機原理及仿真課程設計
題目單片機控制步進電機
專業姓名學號
主要內容、基本要求、主要參考資料等
1、主要內容:
根據單片機課程所學內容,結合其他相關課程知識,設計步進電機控制,以加深對單片機知識的理解,鍛煉實踐動手能力,為以后的畢業設計和工作打下堅實基礎。
2、基本要求:
本設計以MCS-51系列單片機為核心,采用常用電子器件設計。根據要求設計一個單片機仿真控制,要求:設計一個數碼管;一個外中斷通過門電路連接五個按鍵,這五個按鍵分別控制步進電機的正轉反轉暫停、加速與減速;正轉時,數碼管上顯示‘Z’,反轉時顯示“F”,暫停時顯示“S”,按加速鍵時,電機加速,按減速鍵時,電機減速。
(1)用PROTOUS設計出步進電機控制工作原理實驗電路圖
(2)通過對AT89S51單片機編程,編寫定步進電機控制程序,實現用步進電機控制。
(3)上交相應仿真的電路圖與編程文檔。
(4)寫出詳細的設計原理說明小論文。
3、主要參考資料:
[1] 李泉溪,倪水平.單片機原理與應用實例仿真.北京:北京航空航天大學出版社,2012.[2] 張友德,趙志英,徐時亮.單片微機原理應用與實驗.上海:復旦大學出版社,2010.[3] 單片機仿真實驗系統說明書.完成期限
指導教師
2012年12月2 日
第二篇:單片機實驗報告_步進電機
步進電機控制實驗
一、實驗目的
了解步進電機的工作原理,掌握它的轉動控制方式和調速方法。
二、實驗設備及器件
IBM PC 機 一臺
DP-51PROC 單片機綜合仿真實驗儀 一臺
三、實驗內容
1.編寫程序,通過單片機的P1 口控制步進電機的控制端,使其按一定的控制方式進行轉動。
2.分別采用雙四拍(AB→BC→CD→DA→AB)方式、單四拍(A→B→C→D→A)方式和單雙八拍(A→AB→B→BC→C→CD→D→DA→A)方式編程,控制步進電機的轉動方向和轉速。
3.觀察不同控制方式下,步進電機轉動時的振動情況和步進角的大小,比較這幾種控制方式的優缺點。
四、實驗要求
學會步進電機的工作原理和控制方法,掌握一些簡單的控制電路和基本的電機基礎知識。
五、實驗步驟
1.安裝C10 區JP6 接口上的短路帽,將C10 區BA、BB、BC、BD與A2 區的P10~P13對應相連。
2.打開程序調試軟件,下載運行編寫好的軟件程序,觀察步進電機的轉動情況。
3.修改步進電機的控制程序,再次運行程序,比較它們的不同控制效果。
六、實驗程序
#include
sbit K7=P2^7;//1正轉0反轉
#define Coil_A1 {A1=0;B1=1;C1=1;D1=1;}//A相通電,其他相斷電,低電平有效,若你的驅動電路是高電平有效則改為(1,0,0,0)
#define Coil_B1 {A1=1;B1=0;C1=1;D1=1;}//B相通電,其他相斷電 #define Coil_C1 {A1=1;B1=1;C1=0;D1=1;}//C相通電,其他相斷電 #define Coil_D1 {A1=1;B1=1;C1=1;D1=0;}//D相通電,其他相斷電 #define Coil_AB1 {A1=0;B1=0;C1=1;D1=1;}//AB相 #define Coil_BC1 {A1=1;B1=0;C1=0;D1=1;}//BC相 #define Coil_CD1 {A1=1;B1=1;C1=0;D1=0;}//CD相 #define Coil_DA1 {A1=0;B1=1;C1=1;D1=0;}//DA相 #define Coil_OFF {A1=1;B1=1;C1=1;D1=1;}//全部斷電 unsigned char Speed;void DelayUs2x(unsigned char t){
while(--t);} void DelayMs(unsigned char t)
{
while(t--){
//大致延時1mS
DelayUs2x(245);
DelayUs2x(245);} } //******************************************************************************* void danshuangbapai(unsigned char Sp){ Coil_A1
DelayMs(Sp);
Coil_AB1
DelayMs(Sp);
Coil_B1
DelayMs(Sp);
Coil_BC1
DelayMs(Sp);
Coil_C1
DelayMs(Sp);
Coil_CD1
DelayMs(Sp);
Coil_D1
DelayMs(Sp);
Coil_DA1
DelayMs(Sp);} void danshuangbapaif(unsigned char Sp){
Coil_DA1
DelayMs(Sp);
Coil_D1
DelayMs(Sp);
Coil_CD1
DelayMs(Sp);
Coil_C1
DelayMs(Sp);
Coil_B1
DelayMs(Sp);
Coil_AB1
DelayMs(Sp);
Coil_A1
DelayMs(Sp);} void dansipai(unsigned char Sp){
Coil_A1
DelayMs(Sp);
Coil_B1
DelayMs(Sp);
Coil_C1
DelayMs(Sp);
Coil_D1
DelayMs(Sp);} void dansipaif(unsigned char Sp){
Coil_D1
DelayMs(Sp);
Coil_C1
DelayMs(Sp);
Coil_B1
DelayMs(Sp);
Coil_A1
DelayMs(Sp);} void shuangsipai(unsigned char Sp){ Coil_AB1 DelayMs(Sp);Coil_BC1 DelayMs(Sp);Coil_CD1 DelayMs(Sp);Coil_DA1 DelayMs(Sp);} void shuangsipaif(unsigned char Sp){ Coil_DA1 DelayMs(Sp);Coil_CD1 DelayMs(Sp);Coil_BC1 DelayMs(Sp);Coil_AB1 DelayMs(Sp);}
//******************************************************************************* void main(void){ while(1){ if(K0==1)//最低速
Speed=20;if(K1==1)Speed=15;if(K2==1)Speed=10;if(K3==1)//最高速
Speed=5;if(K4==1&&K7==1)//單雙八拍正
danshuangbapai(Speed);if(K4==1&&K7==0)//單雙八拍反
danshuangbapaif(Speed);if(K5==1&&K7==1)//單四拍正
dansipai(Speed);if(K5==1&&K7==0)//單四拍反
dansipaif(Speed);if(K6==1&&K7==1)//雙四拍正
shuangsipai(Speed);if(K6==1&&K7==0)//雙四拍反
shuangsipaif(Speed);if((K3==0&&K2==0&&K1==0&&K1==0))Speed=0;} }
七、實驗結果
如圖所示接線,并且在完成程序的編譯和燒錄后,單片機上的步進電機開始轉動,改變相應的延時和完成的方式,步進電機的轉動情況會發生一定的改變,也可以通過P口將步進電機的輸入反映到LED燈上,這樣就可以觀察步進電機的工作原理。
八、調試中遇到的問題與解決辦法
步進電機是通過給每個端口輸入不同的位置,讓電機在每個時刻所在的位置不同,然后通過循環實現轉動的。如果將循環的次數加以控制,或者將延時邊長,就可以看出或者是計算出不同的方式,步進電機每一拍的轉動情況,例如單雙八拍的步進電機,每一怕所轉動的角度就是9度。
九、心得體會 通過這次實驗,掌握了單片機步進電機的工作原理和他的幾種不同的工作方式,并且對他的不同工作方式的差異有了自己的想法。
第三篇:單片機課程設計任務書
“單片機課程設計”任務書
一、設計目的通過該課程設計,主要達到以下目的:
①使學生增進對單片機系統的感性認識,加深對單片機理論方面的理解,為順利完成畢業設計打基礎。
②使學生掌握對單片機的內部功能模塊的應用,如定時器/計數器、中斷、片內外存貯器、I/O口和串行口通訊等。
③進一步深化和鞏固所學基礎理論、專業知識及實驗技能,提高學生的技術應用能力,使學生了解和掌握單片機應用系統的軟、硬件設計過程、方法及實現,為以后設計和實現單片機應用系統打下良好基礎。
④進一步深化和鞏固所學基礎理論、專業知識及實驗技能,提高學生的技術應用能力,使學生了解和掌握單片機應用系統的軟、硬件設計過程、方法及實現,為以后設計和實現單片機應用系統打下良好基礎。
⑤這一環節對掌握單片機技術在生產實踐中的應用,對后續專業課程的學習及對培養造就應用型、創造型的工程技術人才將起到較大的促進作用。
⑥培養學生綜合運用所學專業知識分析問題和解決問題的能力。使學生在樹立正確的人生觀、養成嚴謹、踏實的工作作風等思想素質方面受到教育和培養。
二、設計要求
①鞏固和加深對單片機原理和接口技術知識的理解;
②培養學生根據課題需要選學參考書籍、查閱手冊和文獻資料的能力;③學會方案論證的比較方法,拓寬知識,初步掌握工程設計的基本方法;④掌握常用儀器、儀表的正確使用方法,學會軟、硬件的設計和調試方法。⑤了解與課題有關的硬件元器件的工程規范,能按課程設計任務書的要求編寫課程設計說明書,能正確反映設計和實驗成果,能用計算機繪制電路圖和流程圖。
三、設計條件
Protues軟件,keil軟件,電腦。
四、設計所需參考資料
五、設計的具體任務及進度安排
① 查資料、審題 1天;
② 確定系統總體方案 1天;
③ 確定系統硬件電路圖(包括設備模塊選擇、搭接線路、計算參數等)1天;
④ 繪制系統軟件框圖,編制程序 1天;
⑤ 系統調試,撰寫課程設計報告及答辯 1天。
六、指導方法與步驟
集中講解原理及設計報告的撰寫。平時設計時對每個小組進行具體指導。設計完成后教研室組織答辯。
七、可培養和鍛煉哪種能力
使學生掌握對單片機的內部功能模塊的應用,如定時器/計數器、中斷、片內外存貯器、I/O口和串行口通訊等。進一步深化和鞏固所學基礎理論、專業知識及實驗技能,提高學生的技術應用能力,使學生了解和掌握單片機應用系統的軟、硬件設計過程、方法及實現,為以后設計和實現單片機應用系統打下良好基礎。
八、教研室評審意見
九、院審核意見
教研室主任主管院長年月年月日日
第四篇:單片機課程設計任務書
單片機課程設計任務書
題目:基于單片機的溫度數據采集系統設計
一.設計要求
1.被測量溫度范圍:0~500℃,溫度分辨率為0.5℃。
2.被測溫度點:4個,每2秒測量一次。
3.顯示器要求:通道號1位,溫度4位(精度到小數點后一位)。
顯示方式為定點顯示和輪流顯示。
4.鍵盤要求:
(1)定點顯示設定;(2)輪流顯示設定;(3)其他功能鍵。
二.設計內容
1.單片機及電源管理模塊設計。
單片機可選用AT89S51及其兼容系列,電源管理模塊要實現高精密穩壓輸出,為單片機
及A/D轉換器供電。
2.傳感器及放大器設計。
傳感器可以選用鎳鉻—鎳硅熱電偶(分度號K),放大器要實現熱電偶輸出的mV級信號
到A/D輸入V級信號放大。
3.多路轉換開關及A/D轉換器設計。
多路開關可以選用CD4052,A/D可選用MC14433等。
4.顯示器設計。
可以選用LED顯示或LCD顯示。
5.鍵盤電路設計。
實現定點顯示按鍵;輪流顯示按鍵;其他功能鍵。
6.系統軟件設計。
系統初始化模塊,鍵盤掃描模塊,顯示模塊,數據采集模塊,標度變換模塊等。
三.設計報告要求
設計報告應按以下格式書寫:
(1)封面;
(2)設計任務書;
(3)目錄;
(4)正文;
(5)參考文獻。
其中正文應包含以下內容:
(1)系統總體功能及技術指標描述;
(2)各模塊電路原理描述;
(3)系統各部分電路圖及總體電路圖(用PROTEL繪制);
(4)軟件流程圖及軟件清單;
(5)設計總結及體會。
四、參考資料
1、李全利,單片機原理及接口技術,高等教育出版社,20042、于永,51單片機常用模塊與綜合系統設計實例精講,電子工業出版社,2007
第五篇:步進電機實驗報告
步進電機調速實驗報告
班級:
xx
姓名:
xx
學號:
xxx
指導老師: :
xx
步進電機調速實驗報告
一、實驗目得及要求: 1、熟悉步進電機得工作原理 2、熟悉 51 系列單片機得工作原理及調試方法 3、設計基于 51 系列單片機控制得步進電機調速原理圖(要求實現電機得速度反饋測量,測量方式:數字測量)4、實現 51 系列單片機對步進電機得速度控制(步進電機由實驗中心提供,具體型號 42BYG)由按鈕控制步進電機得啟動與停止;實現加速、勻速、與減速控制.速度設定由鍵盤設定,步進電機得反饋速度由 LED 數碼管顯示。
二、實驗原理:
1、一般電動機都就是連續旋轉,而步進電動卻就是一步一步轉動得,故叫步進電動機。步進電機就是數字控制電機,它將脈沖信號轉變成角位移,即給一個脈沖信號,步進電機就轉動一個角度,因此非常適合于單片機控制。步進電動機得轉子為多極分布,定子上嵌有多相星形連接得控制繞組,由專門電源輸入電脈沖信號,每輸入一個脈沖信號,步進電動機得轉子就前進一步。由于輸入得就是脈沖信號,輸出得角位移就是斷續得,所以又稱為脈沖電動機.隨著數字控制系統得發展,步進電動機得應用將逐漸擴大。
進電動機需配置一個專用得電源供電,電源得作用就是讓電動機得控制繞組按照特定得順序通電,即受輸入得電脈沖控制而動作,這個專用電源稱為驅動電源.步進電動機及其驅動電源就是一個互相聯系得整體,步進電動機得運行性能就是由電動機與驅動電源兩者配合所形成得綜合效果。
2、對驅動電源得基本要求
(1)驅動電源得相數、通電方式與電壓、電流都要滿足步進電動機得需要;(2)要滿足步進電動機得起動頻率與運行頻率得要求;(3)能最大限度地抑制步進電動機得振蕩;(4)工作可靠,抗干擾能力強;(5)成本低、效率高、安裝與維護方便。
3、驅動電源得組成 步進電動機得驅動電源基本上由脈沖發生器、脈沖分配器與脈沖放大器(也稱功率放大器)三部分組成, 三、實驗源程序:
/***************
writer:shopping、w
******************/ #include 〈reg52、h〉 #define uint unsigned int #define uchar unsigned char uchar code FFW[]= {
0 90x0,80x0,c0x0,40x0,60x0,20x0,30x0,10x?};uchar code REV[]= {
0 10x0,30x0,20x0,60x0,40x0,c0x0,80x0,90x?};sbit K1 = P3^0; sbit K2 = P3^1;sbit K3 = P3^2;void DelayMS(uint ms)
{
uchar i;
while(ms-—)
{
;)++i;021〈i;0=i(rof? } } void SETP_MOTOR_FFW(uchar n){
uchar i,j;
for(i=0;i〈5*n;i++)
{?
for(j=0;j<8;j++)
{? ?
if(K3 == 0)break;
?? P1 = FFW[j];
;)52(SMyaleD?? }?? } } void SETP_MOTOR_REV(uchar n){
uchar i,j;
for(i=0;i<5*n;i++)
{)++j;8 ? ;kaerb?)0 == 3K(fi? P1 = REV[j]; ? DelayMS(25); ? } } } void main() {uchar N = 3;)1(elihw? {if(K1 == 0) {;efx0 = 0P? ?? SETP_MOTOR_FFW(N); ? if(K3 == 0)break; }?? ? else if(K2 == 0) ? { P0 = 0xfd; ? ;)N(VER_ROTOM_PTES? ;kaerb)0 == 3K(fi?? }?? ? else {?? ? ;bfx0 = 0P??;30x0 = 1P? } }?} 四、實驗心得: 本次實驗讓我了解了步進電動機得工作原理,掌握了怎樣用單片機編程來控制步進電機得正反轉及調速。通過這次實驗,我更加深刻得認識到將單片機編程知識應用到實踐中得重要性。同時,在理論知識方面,我還有很多欠缺。在以后得學習中要注意實踐性,不能只滿足于理論知識。