版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 課 程 設(shè) 計(jì)</b></p><p><b> 課程設(shè)計(jì)任務(wù)書</b></p><p> 學(xué)生姓名: 專業(yè)班級: </p><p> 指導(dǎo)教師: 工作單位:
2、 </p><p> 題 目: 基于AT89C51單片機(jī)控制步進(jìn)電機(jī) </p><p><b> 初始條件:</b></p><p> Protues 7 professional的ISIS 7 professional和ARES 7 professional
3、軟件</p><p> Keil uvision4軟件</p><p> 3.單片機(jī)的相關(guān)資料指導(dǎo)書</p><p> 要求完成的主要任務(wù): (包括課程設(shè)計(jì)工作量及其技術(shù)要求,以及說明書撰寫等具體要求)</p><p> 1.查閱資料,了解步進(jìn)電機(jī)的工作原理;</p><p> 2.通過單片機(jī)給步數(shù)控制電機(jī)的
4、轉(zhuǎn)動;</p><p> 3.通過按鈕可控制啟停及正反轉(zhuǎn);</p><p> 4.通過按鈕可增大或減小步進(jìn)電機(jī)的轉(zhuǎn)速;</p><p> 5.在LCD上顯示步進(jìn)電機(jī)的當(dāng)前啟動狀態(tài)、旋轉(zhuǎn)方向和旋轉(zhuǎn)速度;</p><p> 6.完成硬件電路設(shè)計(jì)和系統(tǒng)軟件設(shè)計(jì)。</p><p><b> 時(shí)間安排:<
5、;/b></p><p> 指導(dǎo)教師簽名: 年 月 日</p><p> 系主任(或責(zé)任教師)簽名: 年 月 日</p><p> 武漢理工大學(xué)課程設(shè)計(jì)教學(xué)檢查記錄表</p><p> 課程設(shè)計(jì)名稱 設(shè)計(jì)
6、周數(shù) 檢查日期 </p><p> 課程設(shè)計(jì)指導(dǎo)教師 進(jìn)行方式:集中□分散□.地點(diǎn) </p><p> 檢查人 </p><p> 本科生課程設(shè)計(jì)成績評定表</p><p> 指導(dǎo)教師簽字:
7、</p><p> 年 月 日</p><p><b> 目錄</b></p><p><b> 摘要0</b></p><p><b> 第一章 緒論1</b></p><p> 1.1步進(jìn)電機(jī)控制概述1</p&g
8、t;<p> 1.2 主要研究工作1</p><p> 1.2.1 完成系統(tǒng)硬件電路設(shè)計(jì)1</p><p> 1.2.2 完成系統(tǒng)軟件設(shè)計(jì)1</p><p> 1.2.3 實(shí)現(xiàn)系統(tǒng)要求的功能2</p><p> 第二章 基礎(chǔ)知識介紹3</p><p> 2.1 AT89C51單片
9、機(jī)3</p><p> 2.1.1 主要特性3</p><p> 2.1.2 管腳說明4</p><p> 2.1.3 振蕩器特性:6</p><p> 2.1.4 芯片擦除:6</p><p> 2.2 步進(jìn)電機(jī)7</p><p> 2.2.1 步進(jìn)電機(jī)概述7<
10、;/p><p> 2.2.1.1 四相步進(jìn)電機(jī)的工作原理7</p><p> 2.2.1.2 步進(jìn)電機(jī)的靜態(tài)指標(biāo)及術(shù)語7</p><p> 2.2.1 步進(jìn)電機(jī)的控制8</p><p> 2.2.1.1 換相順序的控制8</p><p> 2.2.1.2 步進(jìn)電機(jī)的換向控制8</p>&l
11、t;p> 2.2.1.4 步進(jìn)電機(jī)的起??刂?</p><p> 2.2.1.5 步進(jìn)電機(jī)的加減速控制9</p><p> 2.2.1.6 步進(jìn)電機(jī)的換向控制10</p><p> 2.2.2 步進(jìn)電機(jī)的速度計(jì)算10</p><p> 2.3 LCD液晶顯示器11</p><p> 2.3
12、.1 概述11</p><p> 2.3.2 LCD1602簡介11</p><p> 2.3.2.1 1602的外形尺寸(毫米)11</p><p> 2.3.2.2 主要技術(shù)參數(shù)12</p><p> 2.3.2.3 接口信號說明12</p><p> 2.3.2.4 基本操作時(shí)序12<
13、/p><p> 2.3.2.5 RAM地址映射圖12</p><p> 2.3.2.6 狀態(tài)字說明13</p><p> 2.3.2.7 指令說明14</p><p> 2.3.2.8 控制接口時(shí)序說明15</p><p> 2.3.2.9 初始化過程16</p><p> 2
14、.4 ULN2003A16</p><p> 2.4.1 ULN2003A簡介16</p><p> 2.4.2 ULN2003的作用17</p><p> 2.4.3 ULN2003A引腳圖17</p><p> 第三章 硬件電路設(shè)計(jì)17</p><p> 3.1 方案論證18</p&
15、gt;<p> 3.2 硬件設(shè)計(jì)19</p><p> 3.2.1 控制電路19</p><p> 3.2.2 驅(qū)動電路20</p><p> 3.2.3 顯示電路21</p><p> 3.2.4 最小系統(tǒng)21</p><p> 3.2.5 總體電路圖22</p
16、><p> 第四章 電路板的制作23</p><p> 4.1 設(shè)備介紹23</p><p> 4.1.1 繪制電路原理圖并仿真調(diào)試23</p><p> 4.1.2 加載網(wǎng)絡(luò)表及元件封裝24</p><p> 4.1.3 規(guī)劃電路板并設(shè)置相關(guān)參數(shù)25</p><p>
17、 4.1.4 元件布局及調(diào)整26</p><p> 4.1.5 布線并調(diào)整27</p><p> 第五章 系統(tǒng)軟件的設(shè)定29</p><p> 5.1 匯編語言介紹29</p><p> 5.2 Keiluvision3介紹29</p><p> 5.3 軟件功能設(shè)計(jì)概述30</p&g
18、t;<p> 5.4 系統(tǒng)軟件流程圖及匯編程序代碼30</p><p> 5.4.1 系統(tǒng)軟件主流程圖30</p><p> 5.4.2 系統(tǒng)軟件模塊流程圖及代碼32</p><p> 5.4.2.1 系統(tǒng)軟件初始化流程圖32</p><p> 5.4.2.2 液晶屏初始化程序33</p>&l
19、t;p> 5.4.2.3 電機(jī)停轉(zhuǎn)初始化程序37</p><p> 5.4.2.4 正反轉(zhuǎn)按鍵程序37</p><p> 5.4.2.5 正轉(zhuǎn)液晶顯示程序38</p><p> 5.4.2.6 電機(jī)正轉(zhuǎn)控制程序41</p><p> 5.4.2.7 反轉(zhuǎn)液晶顯示程序43</p><p> 5
20、.4.2.8電機(jī)反轉(zhuǎn)控制程序43</p><p> 5.4.2.9 電機(jī)加速子程序43</p><p> 5.4.2.10 電機(jī)減速子程序45</p><p> 5.4.2.11 電機(jī)停轉(zhuǎn)控制程序46</p><p> 5.4.2.12 停轉(zhuǎn)液晶顯示程序46</p><p> 5.4.3 總體程序代
21、碼46</p><p><b> 總結(jié)65</b></p><p><b> 參考文獻(xiàn)66</b></p><p><b> 摘要</b></p><p> 步進(jìn)電機(jī)是一種進(jìn)行精確步進(jìn)運(yùn)動的機(jī)電執(zhí)行元件,它廣泛應(yīng)用于工業(yè)機(jī)械的數(shù)字控制,為使系統(tǒng)的可靠性、通用性、可
22、維護(hù)性以及性價(jià)比最優(yōu),根據(jù)控制系統(tǒng)功能要求及步進(jìn)電機(jī)應(yīng)用環(huán)境,步進(jìn)電機(jī)控制系統(tǒng)的開發(fā)采用了軟硬件協(xié)同仿真的方法,確定了設(shè)計(jì)系統(tǒng)硬件和軟件的功能劃分,從而實(shí)現(xiàn)了基于AT89C51單片機(jī)的四相步進(jìn)電機(jī)的控制系統(tǒng),可以有效地減少系統(tǒng)開發(fā)的周期和成本。控制系統(tǒng)通過單片機(jī)存儲器、I/O接口、中斷、鍵盤、LCD顯示器的擴(kuò)展、驅(qū)動及保護(hù)電路、人機(jī)接口電路、中斷系統(tǒng)、復(fù)位電路等的設(shè)計(jì)以及變頻調(diào)速的方法,實(shí)現(xiàn)了四相步進(jìn)電機(jī)的正轉(zhuǎn)、反轉(zhuǎn)、加速、減速、停止等
23、功能。為實(shí)現(xiàn)單片機(jī)控制步進(jìn)電機(jī)系統(tǒng)在數(shù)控機(jī)床上的應(yīng)用有著重要的作用。隨著單片機(jī)技術(shù)的不斷發(fā)展,單片機(jī)在日用電子產(chǎn)品中的應(yīng)用越來越廣泛,自六十年代初期以來,步進(jìn)電機(jī)的應(yīng)用得到很大的提高。人們用它來驅(qū)動時(shí)鐘和其他采用指針的儀器,打印機(jī)、繪圖儀,磁盤光盤驅(qū)動器、各種自動控制閥、各種工具,還有機(jī)器人等機(jī)械裝置。此外作為執(zhí)行元件,步進(jìn)電機(jī)是機(jī)電一體化的關(guān)鍵產(chǎn)品之一,被廣泛應(yīng)用在各種自動化控制系統(tǒng)中,隨著微電子和計(jì)算機(jī)技術(shù)的發(fā)展,它的需要量與日俱增
24、,在各個國民經(jīng)</p><p> 關(guān)鍵字:步進(jìn)電機(jī)控制系統(tǒng),軟硬件協(xié)同仿真,AT89C51單片機(jī),LCD顯示器,變頻調(diào)速</p><p><b> 第一章 緒論</b></p><p> 1.1步進(jìn)電機(jī)控制概述</p><p> 單片機(jī)的基本結(jié)構(gòu)是將微型計(jì)算機(jī)的基本功能部件全部集成在一個半導(dǎo)體芯片上。單片機(jī)結(jié)構(gòu)
25、上的設(shè)計(jì),在硬件、指令系統(tǒng)及I/O能力等方面都有獨(dú)到之處,具有較強(qiáng)而有效的控制功能。另一方面,單片機(jī)畢竟是一個芯片,只有外加所需的輸入、輸出設(shè)備,才可以構(gòu)成實(shí)用的單片機(jī)應(yīng)用系統(tǒng)[1]。</p><p> 單片機(jī)由于體積小、功耗低、價(jià)格低廉,且具有邏輯判斷、定時(shí)計(jì)數(shù)、程序控制等多種功能,廣泛應(yīng)用于智能儀表、可編程序控制器、家用電器、醫(yī)用設(shè)備、航空航天、專用設(shè)備的智能化管理及過程控制等領(lǐng)域[2]。</p>
26、;<p> 本課程設(shè)計(jì)步進(jìn)電機(jī)控制系統(tǒng)采用單片機(jī)作為主控制器,外接必要的設(shè)備,模擬步進(jìn)電機(jī)正轉(zhuǎn),反轉(zhuǎn),加速,減速,停止等控制,整個系統(tǒng)簡單,價(jià)格低廉,并能真實(shí)模擬現(xiàn)實(shí)情況。</p><p> 1.2 主要研究工作</p><p> 1.2.1 完成系統(tǒng)硬件電路設(shè)計(jì)</p><p> (1) 單片機(jī)采用AT89C51系列。</p>
27、<p> (2) 步進(jìn)電機(jī)采用四相步進(jìn)電機(jī),由ULN2003A驅(qū)動。</p><p> (3) 有五個按鍵,設(shè)有正轉(zhuǎn),反轉(zhuǎn),加速,減速,停止功能鍵。</p><p> (4) LCD顯示屏一個,顯示啟動狀態(tài)、旋轉(zhuǎn)方向、旋轉(zhuǎn)速度。</p><p> 1.2.2 完成系統(tǒng)軟件設(shè)計(jì)</p><p> (1) 按鍵管理程序(包括
28、鍵掃描,鍵處理程序)。</p><p> (2) LCD液晶顯示程序。</p><p> (3) 控制步進(jìn)電機(jī)程序。</p><p> 1.2.3 實(shí)現(xiàn)系統(tǒng)要求的功能</p><p> (1) 分別用啟動(正轉(zhuǎn))鍵、啟動(反轉(zhuǎn))鍵、加速鍵、減速鍵、停止鍵來控制步進(jìn)電機(jī)的啟動(正轉(zhuǎn))、啟動(反轉(zhuǎn))、加速、減速和停止。</p>
29、<p> (2) 在LCD液晶屏上顯示電機(jī)的啟動狀態(tài)(啟動或或未啟動)、旋轉(zhuǎn)方向(正轉(zhuǎn)或反轉(zhuǎn))、旋轉(zhuǎn)速度、速度單位(轉(zhuǎn)/分)。當(dāng)電機(jī)停止時(shí),啟動狀態(tài)為“OFF”;當(dāng)電機(jī)正轉(zhuǎn)時(shí),啟動狀態(tài)為“ON”,旋轉(zhuǎn)方向?yàn)椤癙OS”;當(dāng)電機(jī)反轉(zhuǎn)時(shí),啟動狀態(tài)為“ON”,旋轉(zhuǎn)方向?yàn)椤癗EG”。電機(jī)的轉(zhuǎn)速有50、60、75、100、150、300六種,單位顯示為“RPM”,根據(jù)電機(jī)不同的轉(zhuǎn)速,將在顯示屏上顯示不同的值。</p>
30、<p><b> 基礎(chǔ)知識介紹</b></p><p> 2.1 AT89C51單片機(jī)</p><p> AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS8位微處理器,俗稱單片機(jī)。AT89C2051是一種帶
31、2K字節(jié)閃爍可編程可擦除只讀存儲器的單片機(jī)。單片機(jī)的可擦除只讀存儲器可以反復(fù)擦除100次。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,AT89C2051是它的一種精簡版本。AT89C單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。</p><p>
32、2.1.1 主要特性</p><p> (1) 與MCS-51 兼容。</p><p> (2) 4K字節(jié)可編程閃爍存儲器。</p><p> (3) 壽命:1000寫/擦循環(huán);數(shù)據(jù)保留時(shí)間:10年。</p><p> (4) 全靜態(tài)工作:0Hz-24Hz。</p><p> (5) 三級程序存儲器鎖定。&l
33、t;/p><p> (6) 128*8位內(nèi)部RAM。</p><p> (7) 32可編程I/O線。</p><p> (8) 兩個16位定時(shí)器/計(jì)數(shù)器。</p><p> (9) 5個中斷源。</p><p> (10) 可編程串行通道。</p><p> (11) 低功耗的閑置和掉電
34、模式。</p><p> (12) 片內(nèi)振蕩器和時(shí)鐘電路。</p><p> 2.1.2 管腳說明</p><p> (1) VCC:供電電壓。</p><p> (2) GND:接地。</p><p> (3) P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1
35、時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。</p><p> (4)P1口:P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部
36、上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。 </p><p> (5) P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當(dāng)P2口被寫“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進(jìn)行存取時(shí),P2口輸出地址的高八位。
37、在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲器進(jìn)行讀寫時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號和控制信號。</p><p> (6) P3口:P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣
38、故。</p><p> (7) P3口也可作為AT89C51的一些特殊功能口,如下表所示:</p><p> P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號。</p><p> RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個機(jī)器周期的高電平時(shí)間。ALE/PROG:當(dāng)訪問外部存儲器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間
39、,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲器時(shí),將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí), ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。</p><p>
40、/PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機(jī)器周期兩</p><p> /PSEN有效。但在訪問外部數(shù)據(jù)存儲器時(shí),這兩次有效的/PSEN信號將不出現(xiàn)。</p><p> /EA/VPP:當(dāng)/EA保持低電平時(shí),則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內(nèi)部程序存儲器。注意加密方式1時(shí),/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),此
41、間內(nèi)部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。</p><p> XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。</p><p> XTAL2:來自反向振蕩器的輸出。</p><p> 2.1.3 振蕩器特性:</p><p> XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向
42、放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時(shí)鐘源驅(qū)動器件,XTAL2應(yīng)不接。有余輸入至內(nèi)部時(shí)鐘信號要通過一個二分頻觸發(fā)器,因此對外部時(shí)鐘信號的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。</p><p> 2.1.4 芯片擦除:</p><p> 整個PEROM陣列和三個鎖定位的電擦除可通過正確的控制信號組合,并保持ALE管腳處于低電平10ms 來完成。
43、在芯片擦操作中,代碼陣列全被寫“1”且在任何非空存儲字節(jié)被重復(fù)編程以前,該操作必須被執(zhí)行。此外,AT89C51設(shè)有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,CPU停止工作。但RAM,定時(shí)器,計(jì)數(shù)器,串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存RAM的內(nèi)容并且凍結(jié)振蕩器,禁止所用其他芯片功能,直到下一個硬件復(fù)位為止。 </p><p> 2.2 步進(jìn)電機(jī) </p
44、><p> 2.2.1 步進(jìn)電機(jī)概述</p><p> 步進(jìn)電機(jī)是數(shù)字控制電機(jī),它將脈沖信號轉(zhuǎn)變成角位移,即給一個脈沖信 號,步進(jìn)電機(jī)就轉(zhuǎn)動一個角度,因此非常適合于單片機(jī)控制。步進(jìn)電機(jī)區(qū)別于其 他控制電機(jī)的最大特點(diǎn)是:它是通過輸入脈沖信號來進(jìn)行控制的,即電機(jī)的總轉(zhuǎn)動角度由輸入脈沖數(shù)決定,而電機(jī)的轉(zhuǎn)速由脈沖信號頻率決定。步進(jìn)電機(jī)分三種:永磁式(PM),反應(yīng)式(VR)和混合式(HB),步進(jìn)電機(jī)
45、又稱為脈沖電機(jī),是工業(yè)過程控制和儀表中一種能夠快速啟動,反轉(zhuǎn)和制動的執(zhí)行元件。其功用是將電脈沖轉(zhuǎn)換為相應(yīng)的角位移或直線位移,由于開環(huán)下就能實(shí)現(xiàn) 精確定位的特點(diǎn),使其在工業(yè)控制領(lǐng)域獲得了廣泛應(yīng)用。步進(jìn)電機(jī)的運(yùn)轉(zhuǎn)是由電 脈沖信號控制的,其角位移量或線位移量與脈沖數(shù)成正比,每個一個脈沖,步進(jìn) 電機(jī)就轉(zhuǎn)動一個角度(不距角)或前進(jìn)、倒退一步。步進(jìn)電機(jī)旋轉(zhuǎn)的角度由輸入 的電脈沖數(shù)確定,所以,也有人稱步進(jìn)電機(jī)為數(shù)字/角度轉(zhuǎn)換器。</p>
46、<p> 2.2.1.1 四相步進(jìn)電機(jī)的工作原理</p><p> 本設(shè)計(jì)采用了四相步進(jìn)電機(jī),采用單極性直流電源供電。只要對步進(jìn)電機(jī)的各相繞組按合適的時(shí)序通電,就能使步進(jìn)電機(jī)轉(zhuǎn)動。當(dāng)某一相繞組通電時(shí),對應(yīng)的磁極產(chǎn)生磁場,并與轉(zhuǎn)子形成磁路,這時(shí),如果定子和轉(zhuǎn)子的小齒沒有對齊,在磁場的作用下,由于磁通具有力圖走磁阻最小路徑的特點(diǎn),則轉(zhuǎn)子將轉(zhuǎn)動一定的角度,使轉(zhuǎn)子與定子的齒相互對齊,由此可見,錯齒是促使電
47、機(jī)旋轉(zhuǎn)的原因。</p><p> 2.2.1.2 步進(jìn)電機(jī)的靜態(tài)指標(biāo)及術(shù)語</p><p> (1) 相數(shù):產(chǎn)生不同隊(duì)N、S磁場的激磁線圈對數(shù),常用 m表示。 拍數(shù):完成一個磁場周期性變化所需脈沖用n表示,或指電機(jī)轉(zhuǎn)過一個齒距 角所需脈沖數(shù),以四相電機(jī)為例,四相八拍運(yùn)行方式即A→AB→B→BC→C→CD→D→DA→A。</p><p> (2) 拍數(shù):完成一個
48、磁場周期性變化所需脈沖數(shù)或?qū)щ姞顟B(tài)用n表示,或指電機(jī)轉(zhuǎn)過一個齒距角所需脈沖數(shù),以四相電機(jī)為例,有四相四拍運(yùn)行方式即AB-BC-CD-DA-AB,四相八拍運(yùn)行方式即 A-AB-B-BC-C-CD-D-DA-A</p><p> (3) 步距角:對應(yīng)一個脈沖信號,電機(jī)轉(zhuǎn)子轉(zhuǎn)過的角位移用θ表示。50齒角電機(jī)為例,四相八拍運(yùn)行時(shí)步距角為: </p><p> θ=360
49、度/(50*8)=0.9度。</p><p> (4) 定位轉(zhuǎn)矩:電機(jī)在不通電的狀態(tài)下,電機(jī)轉(zhuǎn)子自身的鎖定力矩(由磁場齒形的諧波以及機(jī)械誤差造成的)。 </p><p> (5) 靜轉(zhuǎn)矩:電機(jī)在額定靜態(tài)作業(yè)下,電機(jī)不做旋轉(zhuǎn)運(yùn)動時(shí),電機(jī)轉(zhuǎn)軸的鎖定 力矩。此力矩是衡量電機(jī)體積的標(biāo)準(zhǔn),與驅(qū)動電壓及驅(qū)動電源等無關(guān)。雖然 靜態(tài)轉(zhuǎn)矩與電磁激磁匝數(shù)成正比,與定子和轉(zhuǎn)子間的氣隙有關(guān)。但過分采用
50、減小氣隙,增加勵磁匝數(shù)來提高靜轉(zhuǎn)矩是不可取的,這樣會造成電機(jī)的發(fā)熱 及機(jī)械噪音。 </p><p> 2.2.1.3 四相步進(jìn)電機(jī)的脈沖分配規(guī)律 </p><p> 目前,對步進(jìn)電機(jī)的控制主要有分散器件組成的環(huán)形脈沖分配器、軟件環(huán)形 脈沖分配器、專用集成芯片環(huán)形脈沖分配器等。本設(shè)計(jì)利用單片機(jī)進(jìn)行控制,主要是利用軟件進(jìn)行環(huán)形脈沖分配。四相步進(jìn)電機(jī)的工作方式為四相單四拍,雙四拍和四相八拍工
51、作的方式。本設(shè)計(jì)的電機(jī)工作方式為四相八拍,根據(jù)步進(jìn)電機(jī)的工作的時(shí)序和波形圖,總結(jié)出其工作方式為四相八拍時(shí)的脈沖分配規(guī)律,四相八拍的脈沖分配規(guī)律,在每一種工作方式中,脈沖的頻率越高,其轉(zhuǎn)速就越快,但脈沖頻率高到一定程度,步進(jìn)電機(jī)跟不上頻率的變化后電機(jī)會出現(xiàn)失步現(xiàn)象,所以脈沖頻率一定要控制在步進(jìn)電機(jī)允許的范圍內(nèi)。</p><p> 2.2.1 步進(jìn)電機(jī)的控制</p><p> 2.2.1.
52、1 換相順序的控制</p><p> 通電換相這一過程稱為脈沖分配。例如,四相步進(jìn)電機(jī)在單四拍的工作方式 下,其各相通電順序?yàn)?A→B→C→D→A,通電控制脈沖必須嚴(yán)格按照這一順序分別控制 A、B、C 、D相的通斷。四相雙四拍的通電順序?yàn)?AB→BC→CD→DA→AB,四相八拍的通電順序?yàn)锳→AB→B→BC→C→CD→D→DA→A。</p><p> 2.2.1.2 步進(jìn)電機(jī)的換向控制
53、 </p><p> 如果給定工作方式正序換相通電,步進(jìn)電機(jī)正轉(zhuǎn)。步進(jìn)電機(jī)的勵磁方式為四相八拍,即 A→AB→B→BC→C→CD→D→DA→A。如果按反序通電換相,A→AD→D→DC→C→CB→B→BA→A,則電機(jī)就反轉(zhuǎn)。</p><p> 2.2.1.3步進(jìn)電機(jī)的速度控制 </p><p> 如果給步進(jìn)電機(jī)發(fā)一個控制脈沖,它就轉(zhuǎn)一步,再發(fā)一個脈沖,它會再轉(zhuǎn)一
54、 步。兩個脈沖的間隔越短,步進(jìn)電機(jī)就轉(zhuǎn)得越快。調(diào)整送給步進(jìn)電機(jī)的脈沖頻率, 就可以對步進(jìn)電機(jī)進(jìn)行調(diào)試。 </p><p> 2.2.1.4 步進(jìn)電機(jī)的起??刂?</p><p> 步進(jìn)電機(jī)由于其電氣特性,運(yùn)轉(zhuǎn)時(shí)會有步進(jìn)感。為了使電機(jī)轉(zhuǎn)動平滑,減小 振動,可在步進(jìn)電機(jī)控制脈沖的上升沿和下降沿采用細(xì)分的梯形波,可以減小步 進(jìn)電機(jī)的步進(jìn)角,跳過電機(jī)運(yùn)行的平穩(wěn)性。在步進(jìn)電機(jī)停轉(zhuǎn)時(shí),為了防止因慣
55、性 而使電機(jī)軸產(chǎn)生順滑,則需采用合適的鎖定波形,產(chǎn)生鎖定磁力矩,鎖定步進(jìn)電 機(jī)的轉(zhuǎn)軸,使步進(jìn)電機(jī)轉(zhuǎn)軸不能自由轉(zhuǎn)動。 </p><p> 2.2.1.5 步進(jìn)電機(jī)的加減速控制</p><p> 在步進(jìn)電機(jī)的控制系統(tǒng)中,通過實(shí)驗(yàn)發(fā)現(xiàn),如果信號變化太快,步進(jìn)電機(jī)由于慣性跟不上電信號的變化,這時(shí)就會產(chǎn)生堵轉(zhuǎn)和失步現(xiàn)象。所有步進(jìn)電機(jī)在啟動時(shí),必須有加速過程,在停止時(shí)波形有減速過程。理想的加速曲線
56、一般為指數(shù)曲線,步進(jìn)電機(jī)整個降速過程頻率變化規(guī)律是整個加速過程頻率變化規(guī)律的逆過程。選定的曲線比較符合步進(jìn)電機(jī)升降過程的運(yùn)行規(guī)律,能充分利用步進(jìn)電機(jī)的有效轉(zhuǎn)矩,快速響應(yīng)性好,縮短了升降速的時(shí)間,并可防止失步和過沖現(xiàn)象。在一個實(shí)際的控制系統(tǒng)中,要根據(jù)負(fù)載的情況來選擇步進(jìn)電機(jī)。步進(jìn)電機(jī)能響應(yīng)而不失步的最高步進(jìn)頻率稱為“啟動頻率”,于此類似“停止頻率”是指系統(tǒng)控制信號突然關(guān)斷,步進(jìn)電機(jī)不沖過目標(biāo)位置的最高步進(jìn)頻率。電機(jī)的啟動頻率、停止頻率和輸
57、出轉(zhuǎn)矩都要和負(fù)載的轉(zhuǎn)動慣量相適應(yīng),有了這些數(shù)據(jù),才能有效地對電機(jī)進(jìn)行加減速控制。加速過程有突然施加的脈沖啟動頻率f0。步進(jìn)電機(jī)的最高啟動頻率(突跳頻率)一般為0.1KHz 到 3~4KHz,而最高運(yùn)行頻率則可以達(dá)到N*102KHz,以超過最高啟動頻率的頻率直接啟動,會產(chǎn)生堵轉(zhuǎn)和失步的現(xiàn)象。 </p><p> 2.2.1.6 步進(jìn)電機(jī)的換向控制 </p><p> 步進(jìn)電機(jī)換向時(shí),一定
58、要在電機(jī)降速停止或降到突跳頻率范圍之內(nèi)在換向, 以免產(chǎn)生較大的沖擊而損壞電機(jī)。換向信號一定要在前一個方向的最后一個脈沖 結(jié)束后以及下一個方向的第一個脈沖前發(fā)出。對于脈沖的設(shè)計(jì)主要要求其有一定 的脈沖寬度、脈沖序列的均勻度及高低電平方式。在某一高速下的正、反向切換 實(shí)質(zhì)包含了降速→換向→加速3個過程。</p><p> 步進(jìn)電機(jī)有如下特點(diǎn): </p><p> (1) 步進(jìn)電機(jī)的角位移與
59、輸入脈沖數(shù)嚴(yán)格成正比,因此當(dāng)它轉(zhuǎn)一轉(zhuǎn)后,沒有累計(jì)誤差,具有良好的跟隨性。 </p><p> (2) 由步進(jìn)電機(jī)與驅(qū)動電路組成的開環(huán)數(shù)控系統(tǒng),既非常方便、廉價(jià),也非??煽?。同時(shí),它也可以有角度反饋環(huán)節(jié)組成高性能的閉環(huán)數(shù)控系統(tǒng)。 </p><p> (3) 步進(jìn)電機(jī)的動態(tài)響應(yīng)快,易于啟停、正反轉(zhuǎn)及變速。 </p><p> (4) 速度可在相當(dāng)寬的范圍內(nèi)平滑調(diào)節(jié)
60、,低速下仍能保證獲得很大的轉(zhuǎn)矩,因此一般可以不用減速器而直接驅(qū)動負(fù)載。 </p><p> (5) 步進(jìn)電機(jī)只能通過脈沖電源供電才能運(yùn)行,它不能直接用交流電源或直流電源。 </p><p> (6) 步進(jìn)電機(jī)自身的噪聲和振動比較大,帶慣性負(fù)載的能力強(qiáng)。</p><p> 2.2.2 步進(jìn)電機(jī)的速度計(jì)算</p><p> 該系統(tǒng)步進(jìn)電機(jī)
61、采用四相八拍式運(yùn)行方式。電機(jī)每接受一次脈沖信號,就會轉(zhuǎn)過半個步距角即0.9度。脈沖輸出的頻率越高,則電機(jī)旋轉(zhuǎn)的速度越快。步進(jìn)電機(jī)轉(zhuǎn)速的計(jì)算公式為:</p><p><b> (單位:轉(zhuǎn)/分)</b></p><p> 其中s為單片機(jī)送出一次脈沖信號的周期。例如單片機(jī)每送出一次脈沖信號的周期為3000us,那么轉(zhuǎn)速為每秒,即每分鐘轉(zhuǎn)50圈。該系統(tǒng)的單片機(jī)送出脈沖信號
62、的周期有3000us、2500us、2000us、1500us、1000us、500us六種情況,對應(yīng)的轉(zhuǎn)速分別為50、60、75、100、150、300(rpm)。每加速或減速一次,送出脈沖的周期就會減少或增加500us,但不會低于500us和超過3000us。</p><p> 2.3 LCD液晶顯示器</p><p><b> 2.3.1 概述</b>&l
63、t;/p><p> 液晶(Liquid Crystal)是一種高分子材料,因其特殊的物理、化學(xué)、光學(xué)特性,廣泛應(yīng)用輕薄顯示器上。</p><p> 液晶顯示器(Liquid Crystal Display,LCD)的主要原理是以電流刺激液晶分子產(chǎn)生點(diǎn)、線、面并配合背部燈管構(gòu)成畫面。</p><p> 各種型號的液晶通常是按照顯示字符的行數(shù)或液晶點(diǎn)陣的行、列數(shù)來命名
64、。例如,1602表示每行顯示16個字符,一共可以顯示兩行。這類液晶通常稱為字符型液晶,只能顯示ASCII碼字符。12232表示液晶顯示畫面由122列、32行組成,共有122*32個點(diǎn)來顯示各種圖形。用戶可以通過程序控制這些點(diǎn)中任何一個點(diǎn)顯示或不顯示,從而構(gòu)成各種圖形畫面。因此,12232稱為圖形型液晶。</p><p> 液晶體積小,功耗低,顯示操作簡單。但其有致命的弱點(diǎn),即使用溫度范圍很窄。通用型液晶工作溫度
65、為0到+55攝氏度,存儲溫度為-20到+60攝氏度。</p><p> 2.3.2 LCD1602簡介</p><p> 2.3.2.1 1602的外形尺寸(毫米)</p><p> 2.3.2.2 主要技術(shù)參數(shù)</p><p> 2.3.2.3 接口信號說明</p><p> 2.3.2.4 基本操作時(shí)序&
66、lt;/p><p> 2.3.2.5 RAM地址映射圖</p><p> 控制器內(nèi)部帶有80B的RAM緩沖區(qū)。對應(yīng)關(guān)系如下圖所示。</p><p> 向圖中的00~0F、40~4F地址中的任意處寫入顯示數(shù)據(jù)時(shí),液晶可立即顯示出來;當(dāng)寫入到10~27或50~67地址時(shí),必須通過移屏指令將他們一移入可顯示區(qū)域方可正常顯示。</p><p>
67、1602液晶模塊內(nèi)部的字符發(fā)生存儲器(CGROM)已經(jīng)存儲了160個不同的點(diǎn)陣字符圖形,如下表所示。</p><p> 這些字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫、常用的符號、和日文假名等,每一個字符都有一個固定的代碼,比如大寫的英文字母“A”的代碼是01000001B(41H),顯示時(shí)模塊把地址41H中的點(diǎn)陣字符圖形顯示出來,我們就能看到字母“A”。</p><p> 2.3.2.6
68、狀態(tài)字說明</p><p> 說明:原則上每次對控制器進(jìn)行讀寫操作前,都必須進(jìn)行讀寫檢測,確保STA7為0。實(shí)際上,由于單片機(jī)的操作速度慢于液晶控制器的反應(yīng)速度,因此可以不進(jìn)行檢測,或只進(jìn)行簡短的延時(shí)即可。</p><p> 2.3.2.7 指令說明 </p><p> 1602液晶模塊內(nèi)部的控制器共有11條控制指令。</p><p>
69、 (1) 顯示模式設(shè)置</p><p> (2) 顯示開/關(guān)及光標(biāo)設(shè)置</p><p> (3) 數(shù)據(jù)指針設(shè)置</p><p><b> (4) 其它設(shè)置</b></p><p> 2.3.2.8 控制接口時(shí)序說明</p><p><b> 時(shí)序參數(shù)</b><
70、;/p><p><b> 讀操作時(shí)序</b></p><p><b> 寫操作時(shí)序</b></p><p> 2.3.2.9 初始化過程</p><p> (1) 寫指令01H(清屏)</p><p> (2) 延時(shí)2.5ms</p><p>
71、 (3) 寫指令3CH(顯示功能,8位數(shù)據(jù)口,兩行顯示,5*10點(diǎn)陣)</p><p> (4) 延時(shí)2.5ms</p><p> (5) 寫指令0CH(顯示字符,不顯示光標(biāo))</p><p> (6) 寫指令06H(增量移位)</p><p> (由于程序較為簡單,因此不檢查忙信號,以簡化程序)</p><p&g
72、t; 2.4 ULN2003A</p><p> 2.4.1 ULN2003A簡介</p><p> ULN是集成達(dá)林頓管IC,內(nèi)部還集成了一個消線圈反電動勢的二極管,可用來驅(qū)動繼電器。它是雙列16腳封裝,NPN晶體管矩陣,最大驅(qū)動電壓=50V,電流=500mA,輸入電壓=5V,適用于TTL COMS,由達(dá)林頓管組成驅(qū)動電路。 ULN是集成達(dá)林頓管IC,內(nèi)部還集成了一個消線圈反電動勢
73、的二極管,它的輸出端允許通過電流為200mA,飽和壓降VCE 約1V左右,耐壓BVCEO 約為36V。用戶輸出口的外接負(fù)載可根據(jù)以上參數(shù)估算。采用集電極開路輸出,輸出電流大,故可直接驅(qū)動繼電器或固體繼電器,也可直接驅(qū)動低壓燈泡。通常單片機(jī)驅(qū)動ULN2003時(shí),上拉2K的電阻較為合適,同時(shí),COM引腳應(yīng)該懸空或接電源。</p><p> ULN2003是一個非門電路,包含7個單元,但獨(dú)每個單元驅(qū)動電流最大可達(dá)35
74、0mA.資料的最后有引用電路,9腳可以懸空。</p><p> 2.4.2 ULN2003的作用</p><p> ULN2003是大電流驅(qū)動陣列,多用于單片機(jī)、智能儀表、PLC、數(shù)字量輸出卡等控制電路中??芍苯域?qū)動繼電器等負(fù)載。</p><p> 輸入5VTTL電平,輸出可達(dá)500mA/50V。</p><p> ULN2003是高
75、耐壓、大電流達(dá)林頓陳列,由七個硅NPN達(dá)林頓管組成。該電路的特點(diǎn)如下:ULN2003的每一對達(dá)林頓都串聯(lián)一個2.7K的基極電阻,在5V的工作電壓下它能與TTL和CMOS電路直接相連,可以直接處理原先需要標(biāo)準(zhǔn)邏輯緩沖器。</p><p> ULN2003 是高壓大電流達(dá)林頓晶體管陣列系列產(chǎn)品,具有電流增益高、工作電壓高、溫度范圍寬、帶負(fù)載能力強(qiáng)等特點(diǎn),適應(yīng)于各類要求高速大功率驅(qū)動的系統(tǒng)。</p>&
76、lt;p> 2.4.3 ULN2003A引腳圖</p><p> 第三章 硬件電路設(shè)計(jì)</p><p><b> 3.1 方案論證</b></p><p> 本系統(tǒng)的設(shè)計(jì)要求該系統(tǒng)的輸入量為速度和方向,速度應(yīng)該有增減變化,通常用加減按鈕控制速度,故該系統(tǒng)需要5根導(dǎo)線分別控制電機(jī)的正反轉(zhuǎn)加減速以及停止。</p>&
77、lt;p> 圖1 步進(jìn)電機(jī)工作時(shí)序波形圖</p><p> 圖2 四相八拍電機(jī)脈沖分配表</p><p> 本電機(jī)共有四相繞組,工作電壓為+5V,可以個單片機(jī)共用一個電源。步進(jìn)電機(jī)的四相繞組用P1口的P1.0~P1.3控制,由于P1口驅(qū)動能力不夠,因而用一片ULN2003A放大四相驅(qū)動信號,驅(qū)動步進(jìn)電機(jī)的運(yùn)轉(zhuǎn)。用P0口控制電機(jī)的工作狀態(tài),用P2,P3口控制液晶屏用于顯示電機(jī)
78、的當(dāng)前速度以及正反轉(zhuǎn)狀態(tài)。總體設(shè)計(jì)方框圖如圖3所示</p><p> 圖3 總體設(shè)計(jì)方框圖</p><p><b> 3.2 硬件設(shè)計(jì)</b></p><p> 本設(shè)計(jì)的硬件電路只要包括控制電路、最小系統(tǒng)、驅(qū)動電路、顯示電路四大部分。最小系統(tǒng)只要是為了使單片機(jī)正常工作??刂齐娐分灰砷_關(guān)和按鍵組成, 由操作者根據(jù)相應(yīng)的工作需要進(jìn)行操作
79、。顯示電路主要是為了顯示電機(jī)的工作狀態(tài)和轉(zhuǎn)速。驅(qū)動電路主要是對單片機(jī)輸出的脈沖進(jìn)行功率放大,從而驅(qū)動電機(jī)轉(zhuǎn)動。</p><p> 3.2.1 控制電路</p><p> 根據(jù)系統(tǒng)的控制要求,控制輸入部分設(shè)置了正轉(zhuǎn)控制,反轉(zhuǎn)控制,加速控制和減速控制按鈕,控制電路如圖4所示。通過 “正轉(zhuǎn)”“反轉(zhuǎn)” 狀態(tài)變化來實(shí)現(xiàn)電機(jī)的正轉(zhuǎn)和反向轉(zhuǎn)動控制。當(dāng)它們的狀態(tài)變化時(shí),內(nèi)部程序檢測 P0.0 和 P
80、0.1的狀態(tài)來調(diào)用換向程序進(jìn)行電機(jī)的正反轉(zhuǎn)控制。根據(jù)步進(jìn)電機(jī)的工作原理可以知道,步進(jìn)電機(jī)轉(zhuǎn)速的控制主要是通過控制通入電機(jī)的脈沖頻率,從而控制電機(jī)的轉(zhuǎn)速。對于單片機(jī)而言,主要的方法有軟件延時(shí)和定時(shí)中斷在此電路中電機(jī)的轉(zhuǎn)速控制主要是通過定時(shí)器的中斷來實(shí)現(xiàn)的,該電路控制電機(jī)加速度主要是通過“加速”“減速”的斷開和閉合,從而控制外部中斷根據(jù)按鍵次數(shù),改變速度值存儲區(qū)中的數(shù)據(jù)(該數(shù)據(jù)為定時(shí)器的中斷次數(shù)),這樣就改變了步進(jìn)電機(jī)的輸出脈沖頻率,從而改
81、變電機(jī)的轉(zhuǎn)速。</p><p><b> 圖4 控制電路圖</b></p><p> 3.2.2 驅(qū)動電路</p><p> 通過ULN2003A與單片機(jī)構(gòu)成驅(qū)動電路,電路圖如圖5所示。單片機(jī)使ULN2003A輸出四相八拍工作所需的適當(dāng)相序(A,B,C,D四相)。ULN2003A的四相輸出接1C,2C,3C,4C。使其輸出放大后的四相
82、驅(qū)動信號,驅(qū)動步進(jìn)電機(jī)運(yùn)行。</p><p><b> 圖5 驅(qū)動電路</b></p><p> 3.2.3 顯示電路</p><p> 通過P3口的P3.0~P3.7 控制LCD1602顯示步進(jìn)電機(jī)的當(dāng)前轉(zhuǎn)速和轉(zhuǎn)動方向。</p><p><b> 圖6 顯示電路</b></
83、p><p> 3.2.4 最小系統(tǒng)</p><p> 單片機(jī)最小系統(tǒng)或者稱為最小應(yīng)用系統(tǒng),即用最少的元件組成的單片機(jī)可以工作的系統(tǒng),對51系列單片機(jī)來說,最小系統(tǒng)一般應(yīng)該包括:單片機(jī)、復(fù)位電路、晶振電路。 </p><p> 復(fù)位電路:使用了獨(dú)立式鍵盤,單片機(jī)的P0口鍵盤的接口。該設(shè)計(jì)要求只需5個鍵對步進(jìn)電機(jī)的狀態(tài)進(jìn)行控制。晶振電路用30PF的電容和一12M晶體
84、振蕩器組成為整個電路提供時(shí)鐘頻率。如圖7示。 </p><p> 晶振電路:單片機(jī)的時(shí)鐘信號通常用兩種電路形式電路得到:內(nèi)部震蕩方式和外部中斷方式。在引腳XTAL1和XTAL2外部接晶振電路器(簡稱晶振)或陶瓷晶振器,就構(gòu)成了內(nèi)部晶振方式。由于單片機(jī)內(nèi)部有一個高增益反相放大器,當(dāng)外接晶振后,就構(gòu)成了自激振蕩器并產(chǎn)生振蕩時(shí)鐘脈沖。內(nèi)部振蕩方式的外部電路如圖5示。其電容值一般在5~30pf,晶振頻率的典型值為12M
85、Hz,采用6MHz的情況也比較多。內(nèi)部振蕩方式所得的時(shí)鐘信號比較穩(wěn)定,實(shí)用電路實(shí)用較多。 </p><p> 圖7 時(shí)鐘和復(fù)位電路</p><p> 3.2.5 總體電路圖</p><p> 把各個部分的電路圖組合成總電路圖,如圖8所示。 </p><p><b> 圖8 總體電路圖</b></p&g
86、t;<p> 第四章 電路板的制作</p><p><b> 4.1 設(shè)備介紹</b></p><p> 本次電路板的制作由Protues 7 professional中的ARES 7 professional完成。我們知道更多的是如何用Keil C51 + Proteus進(jìn)行單片機(jī)應(yīng)用系統(tǒng)的設(shè)計(jì)與仿真開發(fā),但是,用Proteus來制作印制電路
87、板(PCB)卻少有提及。用Proteus 制作PCB通常包括以下一些步驟:(1)繪制電路原理圖并仿真調(diào)試;(2)加載網(wǎng)絡(luò)表及元件封裝;(3)規(guī)劃電路板并設(shè)置相關(guān)參數(shù);(4)元件布局及調(diào)整;(5)布線并調(diào)整。</p><p> 4.1.1 繪制電路原理圖并仿真調(diào)試</p><p> 在Proteus 7 Professional 中用ISIS 7 Professional 設(shè)計(jì)好電路原
88、理圖,并結(jié)合Keil C51進(jìn)行軟件編程和硬件的仿真調(diào)試,調(diào)試成功后,如圖9調(diào)試成功。便可開始制作PCB。</p><p><b> 圖9 調(diào)試結(jié)果</b></p><p> 4.1.2 加載網(wǎng)絡(luò)表及元件封裝</p><p> 在ISIS 7 Professional 界面中單擊Design Toolbar中的圖標(biāo)或通過Tools菜單
89、的Netlist to ARES 命令打開ARES 7 Professional 窗口如圖10所示??梢钥吹剑趫D10中左下角的元器件選擇窗口中列出了從原理圖加載過來的所有元器件。若原理圖中的某些器件沒有自動加載封裝或者封裝庫中沒有合適的封裝,那么在加載網(wǎng)絡(luò)表時(shí)就會彈出一個要求選擇封裝的對話框,這時(shí)就需要根據(jù)具體的元件及其封裝進(jìn)行手動選擇并加載。 <
90、;/p><p> 圖10 ARES 7 professional</p><p> 對于封裝庫中沒有的封裝或者是與實(shí)際的元件不符的封裝,就需要自己畫。畫封裝步驟如下</p><p><b> 1、放置焊盤</b></p><p> 在所示的界面中根據(jù)按鈕的引腳間距放置4個焊盤,并修改焊盤的標(biāo)號,使之與原理圖中的元件
91、引腳標(biāo)號一致,否則,會彈出沒有網(wǎng)絡(luò)連接的錯誤提示,或者加載后沒有連線。</p><p><b> 2、放置外邊框</b></p><p> 利用2D畫圖工具中的圖標(biāo)根據(jù)按鈕的實(shí)際大小加一個外邊框,如此便完成了按鈕封裝的設(shè)計(jì)</p><p><b> 3、保存封裝</b></p><p> 選
92、中封裝,用左鍵單擊圖標(biāo),出現(xiàn)保存對話框,在New Package Name中鍵入要保存的元件封裝名稱;在Package Category中選中Miscellaneous;在Package Type(中選中Through Hole;在Package Sub-Category中選中Switches;單擊OK,就把按鈕封裝保存到了USERPKG庫中。</p><p><b> 4、加載封裝</b>
93、;</p><p> 自建封裝保存后,再到庫中加載,就可以把自己制作的元件封裝加載到PCB中了。</p><p> 按照上面的方法把需要的元件封裝都畫好以后,再從原理圖單擊Design Toolbar中的圖標(biāo),重新加載網(wǎng)絡(luò)表,這樣,就把所有的元件都加載到了PCB中。</p><p> 4.1.3 規(guī)劃電路板并設(shè)置相關(guān)參數(shù)</p><p&g
94、t;<b> (1)規(guī)劃電路板</b></p><p> 在ARES 7 Professional 窗口中選中2D畫圖工具欄的圖標(biāo),在底部的電路層中選中Board Edge層(黃色),即可以單擊鼠標(biāo)左鍵拖畫出PCB板的邊框了。邊框的大小就是PCB板的大小,所以在畫邊框時(shí)應(yīng)根據(jù)實(shí)際,用測量工具來確定尺寸大?。ㄈ鐖D11所示)。</p><p> 圖11 規(guī)劃電路板
95、方框圖圖 </p><p> ?。?)設(shè)置電路板的相關(guān)參數(shù)</p><p> PCB板邊框畫好以后,就要設(shè)置電路板的相關(guān)參數(shù)。單擊System中的Set Default Rules項(xiàng),在彈出的對話框中設(shè)置規(guī)則參數(shù),有焊盤間距、線與焊盤間距、線與線間距等一些安全允許值。然后在Tools中選中(布線規(guī)則)項(xiàng),在彈出的對話框中單擊Edit Strategies項(xiàng)
96、,出現(xiàn)一個對話框如圖8所示。在左上Strategy欄中分別選中POWER和SIGNAL,在下面的Pair1中選同一層。這樣,就完成了在單層板中布線的設(shè)置。到此,對一些主要的參數(shù)設(shè)置就完成了。別的系統(tǒng)參數(shù)設(shè)置,可以在System和Tools中去設(shè)置完成。</p><p> 4.1.4 元件布局及調(diào)整</p><p><b> ?。?)元件布局</b></p&g
97、t;<p> 電路板的規(guī)則設(shè)計(jì)好以后,就可導(dǎo)入元件并布局。布局有自動布局和手動布局兩種方式。若采用自動布局方式,只要在界面的菜單欄中選中項(xiàng),彈出對話框,單擊OK,就自動把元件布局于PCB板中了。而如果采用手動布局的方式,則在左下角的元件選擇窗口中選中元件,在PCB板邊框中適當(dāng)位置單擊左鍵,就可以把元件放入。</p><p><b> (2)元件調(diào)整</b></p>
98、;<p> 無論是自動布局還是手動布局,都需要對元件進(jìn)行調(diào)整。主要是對元件的移動和翻轉(zhuǎn)等操作。對元件的布局原則是:美觀、便于布線、PCB板盡可能小。PCB的元件布局完成如圖12所示。</p><p> 圖12 PCB的元件布局完成圖 </p><p> 4.1.5 布線并調(diào)整</p><p> 同樣,PCB的布線也是
99、有自動布線和手動布線兩種布線方式。一般,是先用自動布線,然后手工修改,也可以直接手工布線。布線規(guī)則的設(shè)置在上面已經(jīng)描述,這里主要說明布線時(shí)用的導(dǎo)線的粗細(xì)設(shè)置以及焊盤大小的修改。首先,選中工具菜單欄中的選項(xiàng),在左下角的導(dǎo)線選擇窗口中選中想要的導(dǎo)線粗細(xì)類型,也可以選擇DEFAULT(默認(rèn)),再單擊E按鈕,在彈出的對話框中修改Width的值就可以了。在布線的過程中,如果需要改變某一根線的大小,可以雙擊右鍵,選擇Trace Style選項(xiàng)中的合
100、適類型;要刪除該線,則左鍵單擊Delete。如果要刪除整個布線,那么就選中所有的連線,左鍵單擊工具菜單欄中的圖標(biāo)即可。對于焊盤的修改,可以在布線完成之后進(jìn)行。先選中工具菜單欄中的選項(xiàng),然后在選擇窗口中選中合適的焊盤,在需要改變的元件焊盤處單擊鼠標(biāo)左鍵即可。布線完成后的PCB板如圖13所示。(說明:1000th = 1inch = 25.4mm)</p><p> 圖13 布線完成圖</p>&l
101、t;p> 圖14 電路板3D模擬圖</p><p><b> 系統(tǒng)軟件的設(shè)定</b></p><p> 5.1 匯編語言介紹</p><p> 匯編語言是面向機(jī)器的程序設(shè)計(jì)語言。在匯編語合中,用助記符代替操作碼,用地址符號(Symbol)或標(biāo)號(Label)代替地址碼。這樣用符號代替機(jī)器語言的二進(jìn)制碼,就把機(jī)器語言變成了匯編語
102、言。于是匯編語言亦稱為符號語言。使用匯編語言編寫的程序,機(jī)器不能直接識別,要由一種程序?qū)R編語言翻譯成機(jī)器語言,這種起翻譯作用的程序叫匯編程序,匯編程序是系統(tǒng)軟件中語言處理系統(tǒng)軟件。匯編程序把匯編語言翻譯成機(jī)器語言的過程稱為匯編。</p><p> 匯編語言直接同計(jì)算機(jī)的底層軟件甚至硬件進(jìn)行交互,它具有如下一些優(yōu)點(diǎn):</p><p> (1) 能夠直接訪問與硬件相關(guān)的存儲器或I/O端口
103、;</p><p> (2) 能夠不受編譯器的限制,對生成的二進(jìn)制代碼進(jìn)行完全的控制;</p><p> (3) 能夠?qū)﹃P(guān)鍵代碼進(jìn)行更準(zhǔn)確的控制,避免因線程共同訪問或者硬件設(shè)備共享引起的死鎖;</p><p> (4) 能夠根據(jù)特定的應(yīng)用對代碼做最佳的優(yōu)化,提高運(yùn)行速度;</p><p> (5) 能夠最大限度地發(fā)揮硬件的功能。<
104、;/p><p> 同時(shí)還應(yīng)該認(rèn)識到,匯編語言是一種層次非常低的語言,它僅僅高于直接手工編寫二進(jìn)制的機(jī)器指令碼,因此不可避免地存在一些缺點(diǎn):</p><p> (1) 編寫的代碼非常難懂,不好維護(hù);</p><p> (2) 很容易產(chǎn)生bug,難于調(diào)試;</p><p> (3) 只能針對特定的體系結(jié)構(gòu)和處理器進(jìn)行優(yōu)化;</p>
105、<p> (4) 開發(fā)效率很低,時(shí)間長且單調(diào)。</p><p> 5.2 Keiluvision3介紹</p><p> Keil C51是美國Keil Software公司出品的51系列兼容單片機(jī)C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢,因而易學(xué)易用。Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強(qiáng)大的仿真調(diào)
106、試器等在內(nèi)的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境(uVision)將這些部分組合在一起。運(yùn)行Keil軟件需要WIN98、NT、WIN2000、WINXP等操作系統(tǒng)。如果你使用C語言編程,那么Keil幾乎就是你的不二之選,即使不使用C語言而僅用匯編語言編程,其方便易用的集成環(huán)境、強(qiáng)大的軟件仿真調(diào)試工具也會令你事半功倍。</p><p><b> 優(yōu)點(diǎn):</b></p><p
107、> (1) Keil C51生成的目標(biāo)代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時(shí)更能體現(xiàn)高級語言的優(yōu)勢。</p><p> (2) 與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢,因而易學(xué)易用。用過匯編語言后再使用C來開發(fā),體會更加深刻。 Keil C51軟件提供豐富的庫函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具,全Windows界面。</p>&
108、lt;p> 5.3 軟件功能設(shè)計(jì)概述</p><p> 本軟件設(shè)計(jì)主要分為系統(tǒng)初始化、延時(shí)子程序、按鍵響應(yīng)程序、液晶屏顯示程序、控制脈沖輸出幾部分。事實(shí)上每一部分都是緊密相關(guān)的,每個功能模塊對于整體設(shè)計(jì)都是非常重要,單片機(jī)AT89C51通過軟件編程才能使系統(tǒng)真正的運(yùn)行起來,軟件設(shè)計(jì)的好壞也直接決定了系統(tǒng)的運(yùn)行質(zhì)量。</p><p> 程序流程圖的設(shè)計(jì)遵循自頂向下的原則,即從主體
109、遂逐步細(xì)分到每一個模塊的流程。在流程圖中把設(shè)計(jì)者的控制過程梳理清楚。具體程序的講解將在本章各節(jié)做詳細(xì)講解。</p><p> 5.4 系統(tǒng)軟件流程圖及匯編程序代碼</p><p> 5.4.1 系統(tǒng)軟件主流程圖</p><p> 當(dāng)系統(tǒng)供電以后,通過單片機(jī)復(fù)位電路對系統(tǒng)進(jìn)行上電復(fù)位,經(jīng)過初始化以后,單片機(jī)先開始對液晶屏做初始化操作及對電機(jī)保持停轉(zhuǎn)的操作,之后便
110、開始執(zhí)行按鍵查詢等待相應(yīng)的操作,當(dāng)有按鍵按下的時(shí)候程序便調(diào)用并執(zhí)行相應(yīng)的子程序。在電機(jī)啟動的過程中通過查詢方式查詢加減速按鍵的狀態(tài),當(dāng)加速鍵或減速鍵按下的時(shí)候,便執(zhí)行加速或減速部分的子程序。其具體的主流程圖4.1如下所示:</p><p><b> 圖 4.1</b></p><p> 5.4.2 系統(tǒng)軟件模塊流程圖及代碼</p><p>
111、 5.4.2.1 系統(tǒng)軟件初始化流程圖</p><p> 對相應(yīng)的系統(tǒng)參數(shù)進(jìn)行初始化,包括棧頂指針設(shè)定、用于之后的速遞查表顯示的速度查表偏移地址的設(shè)定、用于之后的控制電機(jī)轉(zhuǎn)速的定時(shí)程序的初值的設(shè)定。由于這些都是全局變量,因此要在系統(tǒng)初始化的時(shí)候就賦予初值。具體流程圖如圖4.2所示。</p><p><b> 圖4.2</b></p><p&g
112、t;<b> 程序代碼:</b></p><p> 5.4.2.2 液晶屏初始化程序</p><p> 在液晶屏初始化程序中,對液晶屏寫入清屏指令、顯示功能設(shè)定指令、字符光標(biāo)顯示指令、增量移位指令。每寫一次命令就要調(diào)用一次送命令子程序,在送命令子程序中會調(diào)用LCD延時(shí)子程序,以保證指令成功寫入。寫完命令后,再寫入初始在液晶屏上要顯示的內(nèi)容,包括運(yùn)行狀態(tài)為“OFF
113、”,運(yùn)行方向?yàn)榭?,旋轉(zhuǎn)速度為空,速度單位始終為“RPM”。在寫顯示過程中,會調(diào)用WRITE顯示子程序,用于將要顯示的字符寫入液晶屏,在顯示子程序中會調(diào)用LCD延時(shí)子程序,以保證數(shù)據(jù)成功寫入。由于程序較為簡單,不對液晶屏進(jìn)行忙檢測,以簡化程序。液晶屏初始化程序如圖4.3所示</p><p><b> 圖4.3</b></p><p><b> 程序<
114、/b></p><p> 5.4.2.3 電機(jī)停轉(zhuǎn)初始化程序</p><p> 電機(jī)初始為停轉(zhuǎn)狀態(tài),對電機(jī)各相輸出脈沖皆為零。之后便開始對正反轉(zhuǎn)啟動按鍵做判斷。</p><p><b> 程序代碼:</b></p><p> 5.4.2.4 正反轉(zhuǎn)按鍵程序</p><p> (1)
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于at89c51單片機(jī)步進(jìn)電機(jī)控制
- 基于at89c51單片機(jī)的電機(jī)控制綜合課程設(shè)計(jì)
- 畢業(yè)論文--利用單片機(jī)at89c51控制步進(jìn)電機(jī)
- 畢業(yè)設(shè)計(jì)----基于at89c51單片機(jī)的步進(jìn)電機(jī)控制系統(tǒng)
- 基于單片機(jī)at89c51系統(tǒng)的步進(jìn)電機(jī)控制畢業(yè)論文
- 基于at89c51單片機(jī)的電機(jī)控制綜合設(shè)計(jì)
- 基于at89c51單片機(jī)音樂盒課程設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)(論文)-基于at89c51單片機(jī)的步進(jìn)電機(jī)控制系統(tǒng)
- 畢業(yè)設(shè)計(jì)(論文)-基于at89c51單片機(jī)的步進(jìn)電機(jī)控制系統(tǒng)
- 畢業(yè)設(shè)計(jì)(論文)-基于at89c51單片機(jī)的步進(jìn)電機(jī)控制系統(tǒng)
- 畢業(yè)設(shè)計(jì)(論文)-基于at89c51單片機(jī)的步進(jìn)電機(jī)控制系統(tǒng)
- 單片機(jī)at89c51
- at89c51單片機(jī)課程設(shè)計(jì)-----搶答器
- at89c51單片機(jī)控制溫度
- 基于51單片機(jī)的步進(jìn)電機(jī)控制課程設(shè)計(jì)
- at89c51單片機(jī)控制溫度
- 基于單片機(jī)at89c51控制的鍵控流水燈課程設(shè)計(jì)報(bào)告
- 基于單片機(jī)at89c51控制的中斷控制流水燈課程設(shè)計(jì)報(bào)告
- 單片機(jī)課程設(shè)計(jì)--at89c51 單片機(jī)控制的交通燈控制電路
- at89c51單片機(jī)課程設(shè)計(jì)說明書
評論
0/150
提交評論