直流電機正反轉控制_第1頁
直流電機正反轉控制_第2頁
直流電機正反轉控制_第3頁
直流電機正反轉控制_第4頁
直流電機正反轉控制_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、(課程設計說明書(2015/2016 學年第 二 學期)課程名稱 :單片機應用技術課程設計 題 目 : 直流電機正反轉控制 專業(yè)班級 :電氣工程及其自動化1321班學生姓名 : 學 號: 130062131 指導教師 : 設計周數(shù) : 兩周 設計成績 : 2016年6月 24日目 錄一、課程設計目的-3二、課程設計任務及要求-3 2.1 原始數(shù)據(jù)及主要任務-3 2.2 技術要求-3 三、單片機簡介-3 四、軟件設計-4 4.1 系統(tǒng)分析及應用種類-4 4.2 系統(tǒng)設計-55、 電路設計-5 5.1 電機驅(qū)動電路設計- -5 5.2 顯示電路設計-6 5.3 按鍵設計-6 5.4 Proteus

2、 仿真圖-6 5.5 Protel 99se 原理圖-7 六、程序設計-7 七、操作控制-12八、心得體會-12九、參考文獻-12一、課程設計目的 通過長達兩周的課程設計,加深對單片機課程所學理論知識的理解,運用所學理論知識解決實際問題。結合課程設計的內(nèi)容,學會利用Protel軟件繪制電路原理圖,掌握電路的設計與組裝方法,進行軟硬件聯(lián)機調(diào)試。學會查閱相關專業(yè)技術資料及設計手冊,提高進行獨立設計的能力并完成課程設計相關任務。二、課程設計任務及要求 2.1 原始數(shù)據(jù)及主要任務 1.設計直流電機控制電路。 2.設計數(shù)碼管顯示電路。 3.設計開關電路。 4.分配地址,編寫系統(tǒng)程序。 5.利用Prote

3、l設計硬件電路原理圖和PCB圖。 6.軟硬件聯(lián)機調(diào)試。 7.書寫設計報告。2.2 技術要求 設計一個以MCS-51 單片機為核心,使用I/O 口控制三極管連接繼電器驅(qū)動小型,直流電機,控制正反轉。用兩個數(shù)碼管分別顯示兩個正反轉控制開關控制電機正反轉的次數(shù)。 三、單片機簡介AT89C51單片機,其內(nèi)部帶有4KB的掩膜ROM。無需擴展外部程序存儲器。其中:CVV:供電電壓。GND:接地。P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。P1口:P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸

4、出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當P2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。P2口當用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進行存取時,P2口輸出地址的高八位。P3口:P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。P3口也可作為AT89C51的一些特殊功能口:P3.0 RXD(串行輸入口);P3.1 TXD(串行輸出口);P3.2 /INT0(外部中斷0);

5、P3.3 /INT1(外部中斷1);P3.4 T0(記時器0外部輸入);P3.5 T1(記時器1外部輸入);P3.6 /WR(外部數(shù)據(jù)存儲器寫選通);P3.7 /RD(外部數(shù)據(jù)存儲器讀選通)。RST:復位輸入。EA/VPP:當/EA保持低電平時,則在此期間外部程序存儲器,不管是否有內(nèi)部程序存儲器。當/EA端保持高電平時,此間內(nèi)部程序存儲器。XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。XTAL2:來自反向振蕩器的輸出。4、 軟件設計4.1 系統(tǒng)分析及應用種類 : 應用的軟件有 Protel99se Proteus7.5 Keil uVision4. 1 Protel99se的應用(

6、1) 在桌面上新建立文件夾重名名為直流電機正反轉控制(2) 打開Protel99se軟件(3) 運行Protel99se(4) 點擊File 文件New新建(5) 注意保存形式為.DDB2 Proteus7.5的應用(1) 打開 Proteus7.5軟件。(2) 在左上文件中新建設計。(3) 在界面的正上方的“庫”中搜索要用的元件,然后拖入新建設計中。(4) 連線,連線有三種 無模式連線,自動連線模式,動態(tài)光標顯示。(5) 移動元件 備注元件等。3 Keil uVision4 的應用(1) 打開 Keil uVision4 ,點擊project,在新建 Keil project。(2) 首先要

7、選擇保存的途徑,在新建文件名,最后保存文件。(3) 保存文件啊后會彈出窗口,選擇要運行的文件,選好后點擊OK會彈出“是”或“否”,只需按否。(4) 新建編寫程序窗口。(5) 在新建編寫程序窗口寫程序。(6) 保存程序文件必須是.C。(7) 最后,將相關的程序放到Protuse軟件中進行仿真。4.2 系統(tǒng)設計 :根據(jù)課程設計要求在各個軟件中進行設計。1. 首先應用Protel99se進行原理圖設計,(1) 在Protel99se中先設計單片機畫出80C51引腳圖。(2) 在Protel99se中設計畫出共陽極數(shù)碼管的引腳圖。(3)然后再Protel99se設計原理圖界面插入設計的單片機引腳元件和

8、共陽極數(shù)碼管引腳元件,按課程要求設計電路,其次進行鏈接元件。2. 設計原理通過后,在Proteus7.5 進行設計圖的修飾和繪制。3. 在Proteus7.5 中繪制好原理圖,然后在Keil uVision4中按要求編寫設計程序。4. 編寫好程序在Keil uVision4中編譯無誤后將程序?qū)隤roteus7.5的原理圖中進行仿真。 五、電路設計 1、電機驅(qū)動電路設計: 驅(qū)動電路為三極管驅(qū)動的橋式電路。2. 顯示電路設計 采用LED共陰極數(shù)碼管動態(tài)顯示數(shù)據(jù)與個項參數(shù),方法簡單,容易控制,如圖: 3. 按鍵設計 該系統(tǒng)中只運用到三個控制按鈕,即 “正轉”,“反轉”,“停止”,由于按鈕較少,所以

9、采用獨立鍵電路,這種按鍵電路的按鍵結構相對行列式按鍵電路更簡單。如圖: 4、Proteus 仿真圖5. Protel 99se原理圖 6、 程序設計 #include <reg51.h>#include <intrins.h>#define INT8U unsigned char#define INT16U unsigned int#define S1_ON() (P3 & (1<<0) = 0x00 /正轉#define S2_ON() (P3 & (1<<2) = 0x00 /停轉#define S3_ON() (P3 &am

10、p; (1<<1) = 0x00 /反轉#define Forward0#define Stop1#define Backward2sbit M_DIR = P10; /方向控制sbit M_PWM = P11;/PWM調(diào)速控制sbit Key_INC = P30;/加速鍵sbit Key_DEC = P31;/減速鍵#define u8 unsigned char#define s8 signed char#define u16 unsigned short#define s16 signed short #define u32 unsigned int #define s32

11、signed int#define fp32 float#define fp64 double sbit w1= P12;sbit w2=P13;#define DIG_SEG P2 /段選u8 code u8DigTab18 = 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x00,0x39,0x5e,0x79,0x71,0x40,0x00;/0、1、2、3、4、5、6、7、/8、9、A、B、C、D、E、F、/-u8 idata u8DigShow1; u8 idata u8DigShow2; u8 idata u8DigSh

12、ow3; u8 idata u8DigShow4; u8 u8DigShowTemp = 0; void delay_ms(u16 cnt) u16 x;for( ; cnt>0; cnt-)for(x=110; x>0; x-); /-/ 延時函數(shù)/-void delay_us(INT16U x) for(; x>0; x-) _nop_(); /-/ 主程序/-/* 函 數(shù) 名 : dis_dri* 函數(shù)功能 : 數(shù)碼管掃描函數(shù)* 輸 入 : 無* 輸 出 : 無*/void dis_dri(void) static u8 u8DisStep = 1; DIG_SEG =

13、 0x00; switch(u8DisStep) case 1: /顯示第1位 u8DigShowTemp=u8DigTabu8DigShow1; DIG_SEG = u8DigShowTemp; w1=0;w2=1; break; case 2: /顯示第2位 u8DigShowTemp=u8DigTabu8DigShow2; DIG_SEG = u8DigShowTemp; w1=1;w2=0; break; u8DisStep+; if(u8DisStep>2)/掃描完8個數(shù)碼管后,重新從第一個開始掃描 u8DisStep=1; void main() TMOD |= 0x01;

14、TH0 = 0xf8; TL0 = 0x2f;/?(65535-63535) TR0 = 1;/? ET0 = 1;/? ES=1; EA = 1; u8DigShow1 =0; u8DigShow2 =0; u8DigShow3 =0; u8DigShow4 =0; while (1) int speed = 200; char str_flag; char cnt_a; char cnt_b; if(S2_ON() P0 = (1<<Stop); M_DIR = 0;M_PWM = 0; str_flag = 0; continue; if(S1_ON() delay_ms(1

15、0); if (S1_ON() while(P3 & (1<<0) = 0x00);M_DIR = 0;P0 =(1<<Forward); str_flag = 1; if (+cnt_a>10) cnt_a = 1; u8DigShow1 = cnt_a%10; if (S3_ON() delay_ms(10);if (S3_ON() while(P3 & (1<<1) = 0x00);if (+cnt_b>10) cnt_b = 1; u8DigShow2 = cnt_b%10; M_DIR = 1;P0 =(1<<

16、;Forward);str_flag = 1; if(Key_INC =0)speed = speed<400?speed+1:400; if(Key_INC = 0) speed = speed>0?speed-1:0; if (str_flag = 1) M_PWM =1;delay_us(speed); M_PWM = 0;delay_us(400-speed); void time0_interrupt() interrupt 1 dis_dri(); TH0 = 0xf8; TL0 = 0x2f;/?(65535-63535) TR0 = 1;7、 操作控制1、當按下正轉按鈕時,直流電機根據(jù)制定默認狀態(tài)開始轉動,直流電機正轉,數(shù)碼管計數(shù)正轉次數(shù)(此時按下反轉不影響正轉且反轉數(shù)碼管不計數(shù));2、

溫馨提示

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

最新文檔

評論

0/150

提交評論