版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 畢業(yè)設(shè)計(jì)(論文)</b></p><p> 題 目: 提花毛皮機(jī)花型輸入系統(tǒng)的硬件設(shè)計(jì)</p><p> 學(xué) 院: 信息工程學(xué)院</p><p> 專業(yè)名稱: 電子信息工程</p><p> 班級(jí)學(xué)號(hào): 531079097&
2、lt;/p><p> 學(xué)生姓名: </p><p> 指導(dǎo)教師: 萬 在 紅</p><p> 二O一三 年 六 月 </p><p> 畢業(yè)設(shè)計(jì)(論文)任務(wù)書</p><p> 信息工程 學(xué)院 電子信息工程 專業(yè)類 090401 班&l
3、t;/p><p> 學(xué)生(簽名): </p><p> 日期: 自 2013 年 2 月 18 日至 2013 年 6 月 21 日</p><p> 指導(dǎo)教師(簽名): 萬在紅</p><p> 助理指導(dǎo)教師(并指出所負(fù)責(zé)的部分):</p><p> 電子工程
4、 系(室)主任(簽名):</p><p> 附注:任務(wù)書應(yīng)該附在已完成的畢業(yè)設(shè)計(jì)說明書首頁。</p><p> 學(xué)士學(xué)位論文原創(chuàng)性聲明</p><p> 本人聲明,所呈交的論文是本人在導(dǎo)師的指導(dǎo)下獨(dú)立完成的研究成果。除了文中特別加以標(biāo)注引用的內(nèi)容外,本論文不包含法律意義上已屬于他人的任何形式的研究成果,也不包含本人已用于其他學(xué)位申請(qǐng)的論文或成果。對(duì)本文的研究
5、作出重要貢獻(xiàn)的個(gè)人和集體,均已在文中以明確方式表明。本人完全意識(shí)到本聲明的法律后果由本人承擔(dān)。</p><p> 作者簽名: 日期:</p><p> 學(xué)位論文版權(quán)使用授權(quán)書</p><p> 本學(xué)位論文作者完全了解學(xué)校有關(guān)保留、使用學(xué)位論文的規(guī)定,同意學(xué)校保留并向國家有關(guān)部門或機(jī)構(gòu)送交論文的復(fù)印件和電子版,允許論文
6、被查閱和借閱。本人授權(quán)南昌航空大學(xué)可以將本論文的全部或部分內(nèi)容編入有關(guān)數(shù)據(jù)庫進(jìn)行檢索,可以采用影印、縮印或掃描等復(fù)制手段保存和匯編本學(xué)位論文。</p><p> 作者簽名: 日期:</p><p> 導(dǎo)師簽名: 日期:</p><p> 提花毛皮機(jī)花型輸入系統(tǒng)的硬件設(shè)計(jì)&l
7、t;/p><p> 學(xué)生姓名: 班級(jí): 090401</p><p><b> 指導(dǎo)教師:萬在紅</b></p><p> 摘要:人造提花毛皮機(jī)是生產(chǎn)人造提花毛皮的一種針織機(jī)械設(shè)備。隨著人們生活水平的提高和審美觀念的變化,提花人造毛皮無疑將具有更加廣闊的應(yīng)用前景。伴隨著電子行業(yè)的迅猛發(fā)展,電子提花技術(shù)在機(jī)器上的應(yīng)用的到了顯著效果,迅速
8、發(fā)展起來,使提花毛皮機(jī)向電子集成化方向發(fā)展。發(fā)展新型電子提花機(jī),使之廣泛用于精細(xì)絲綢織物、獨(dú)特裝飾織物、旅游工藝織物以及復(fù)雜技術(shù)織物的織造。電子提花機(jī)適應(yīng)織物高級(jí)化和多樣化的發(fā)展要求正在變成現(xiàn)實(shí)。因此對(duì)花型輸入系統(tǒng)進(jìn)行優(yōu)化設(shè)計(jì)是非常重要的。</p><p> 本文首先介紹了提花毛皮機(jī)花型輸入系統(tǒng)的相關(guān)概念,之后主要介紹了提花毛皮機(jī)花型輸入系統(tǒng)的硬件設(shè)計(jì)過程。設(shè)計(jì)主要包括方案設(shè)計(jì)比較、單片機(jī)最小系統(tǒng)設(shè)計(jì)、FLAS
9、H花型存儲(chǔ)電路設(shè)計(jì)、鍵盤顯示電路設(shè)計(jì)、報(bào)警電路設(shè)計(jì)以及從單片機(jī)的電機(jī)控制單元電路設(shè)計(jì)。其次,簡要的介紹了主程序軟件設(shè)計(jì)以及各個(gè)模塊的軟件設(shè)計(jì)思路。最后,對(duì)硬件調(diào)試過程及結(jié)果、系統(tǒng)軟硬件聯(lián)調(diào)進(jìn)行了詳細(xì)介紹和分析,簡述了對(duì)整個(gè)設(shè)計(jì)過程的總結(jié)和體會(huì)。</p><p> 本設(shè)計(jì)完成了一個(gè)提花毛皮機(jī)花型輸入系統(tǒng)的基本功能設(shè)計(jì)。系統(tǒng)具有上位機(jī)通過232串口將花型數(shù)據(jù)下傳到花型控制器中。下位機(jī)具備人機(jī)接口用于查詢花型和修改花
10、型的功能?;ㄐ痛鎯?chǔ)單元能夠存儲(chǔ)最大999行,1056列的8色花型數(shù)據(jù)。具有掉電保存花型數(shù)據(jù),控制從單片機(jī)控制電機(jī)轉(zhuǎn)速,并就斷針、斷油、斷線報(bào)警。</p><p> 關(guān)鍵詞:STC89C52RC單片機(jī)、AT45DB021B、鍵盤顯示、串口通訊、花型存儲(chǔ)</p><p><b> 指導(dǎo)老師簽名:</b></p><p> The Hardwa
11、re Design of Jacquard Fur Machine Pattern Input System</p><p> Name: Class: 090401</p><p> Supervisor: Zaihong Wan</p><p> Abstract:Jacquard artificial fur machine is a p
12、roduction of artificial fur jacquard knitting machinery. As people's living standards improve and aesthetic concept of change, jacquard artificial fur will undoubtedly have a more broad application prospects. Along w
13、ith the rapid development of the electronics industry, electronic jacquard technology applications on the machine to a significant effect, developed rapidly make the electronic jacquard fur machine integrated direction.
14、The development o</p><p> This paper describes the jacquard fur machine pattern input system related concepts, and then introduces the jacquard fur machine pattern input system hardware design process. Desi
15、gn includes design compared smallest single-chip system design, FLASH memory circuit design pattern, keyboard and display circuit design, circuit design, and alarm from the microcontroller motor control unit circuit desi
16、gn. Secondly, a brief description of the main software design and each module software design ideas.</p><p> The design is completed with a floral jacquard fur machine type input system's basic function
17、ality. System has a host computer through the 232 reached under the flower pattern data controller. Next-bit machine with human interface for querying and modifying flower pattern features. Pattern storage unit capable o
18、f storing up to 999 rows, 1056 8-color flower type data. Has a power-down save pattern data from the microcontroller to control the motor speed control, and to needle off the oil, break a</p><p> Keywords:
19、STC89C52RC microcontroller, AT45DB021B, keyboard, display, serial communications, pattern storage</p><p> Signature of Supervisor:</p><p><b> 目錄</b></p><p><b>
20、1 引言1</b></p><p> 2 系統(tǒng)組成與原理2</p><p><b> 2.1系統(tǒng)組成2</b></p><p> 2.2 工作原理3</p><p> 2.3 方案論證與比較 3</p><p> 2.3.1單片機(jī)選擇3</p>&l
21、t;p> 2.3.2存儲(chǔ)芯片選擇3</p><p> 2.3.3 鍵盤顯示模塊選擇5</p><p> 3 提花毛皮機(jī)花型輸入系統(tǒng)的硬件設(shè)計(jì)6</p><p> 3.1 單片機(jī)最小系統(tǒng)設(shè)計(jì) 6</p><p> 3.1.1 RS232串口電路設(shè)計(jì)6</p><p> 3.1.2 復(fù)位及震蕩電
22、路7</p><p> 3.2 FLASH存儲(chǔ)電路設(shè)計(jì) 9</p><p> 3.1.2 AT45DB021B芯片簡介9</p><p> 3.1.2 AT45DB021B與單片機(jī)接口電路設(shè)計(jì)10</p><p> 3.4 顯示電路設(shè)計(jì)11</p><p> 3.5 鍵盤電路設(shè)計(jì) 12</p
23、><p> 3.6 報(bào)警電路設(shè)計(jì)12</p><p> 3.6.1模擬報(bào)警信號(hào)產(chǎn)生與檢測(cè)說明12</p><p> 3.6.2報(bào)警電路設(shè)計(jì)13</p><p> 3.7 從單片機(jī)電機(jī)控制電路設(shè)計(jì)13</p><p> 3.7.1 步進(jìn)電機(jī)簡介13</p><p> 3.4.2
24、步進(jìn)電機(jī)控制驅(qū)動(dòng)電路設(shè)計(jì)15</p><p> 4 提花毛片機(jī)花型輸入系統(tǒng)的軟件設(shè)計(jì)17</p><p><b> 4.1概述17</b></p><p> 4.1.1 C51編程語言與編譯器概述17</p><p> 4.1.2 VC++編譯環(huán)境概述17</p><p> 4
25、.2系統(tǒng)資源分配17</p><p> 4.3 系統(tǒng)軟件總體結(jié)構(gòu) 19</p><p> 4.3.1主程序設(shè)計(jì)19</p><p> 4.3.2鍵盤掃描軟件模塊設(shè)計(jì)21</p><p> 4.3.3顯示模塊軟件設(shè)計(jì)22</p><p> 4.3.4 FLASH驅(qū)動(dòng)軟件設(shè)計(jì)24</p>
26、<p> 4.3.5報(bào)警模塊程序設(shè)計(jì)28</p><p> 4.3.6 步進(jìn)電機(jī)控制程序設(shè)計(jì)29</p><p> 4.3.7串口通信軟件模塊設(shè)計(jì)31</p><p> 4.3.8 上位機(jī)軟件設(shè)計(jì)31</p><p> 5 調(diào)試及結(jié)果分析34</p><p> 5.1硬件調(diào)試及結(jié)果分析
27、34</p><p> 5.2 系統(tǒng)軟硬件聯(lián)調(diào)35</p><p> 6 總結(jié)與體會(huì)36</p><p><b> 參考文獻(xiàn)37</b></p><p><b> 致謝38</b></p><p><b> 附錄39</b><
28、/p><p> 附錄A 系統(tǒng)總電路原理圖39</p><p> 附錄B PCB版圖42</p><p> 附錄C 實(shí)物圖片46</p><p><b> 1 引言</b></p><p> 電腦提花人造毛皮機(jī)是一種特殊的針織機(jī)械,集梳理、針織、控制及計(jì)算機(jī)等 技術(shù)于一體,隨著現(xiàn)代科技的
29、迅猛發(fā)展和人們生活的需要擁有廣闊的市場(chǎng)前景。提花毛皮機(jī)分為兩種形式的提花裝置:機(jī)械式和電子式。喂紗式以前者(即滾筒提花)為多,而喂條式以后者(即電腦提花裝置)為主。我國電腦提花人造毛皮機(jī)的生產(chǎn)雖只有三十年的歷史,但電子提花技術(shù)在機(jī)器上的應(yīng)用卻發(fā)展極為迅速,從花型準(zhǔn)備系統(tǒng)到造針機(jī)構(gòu) 梳理機(jī)構(gòu) 同步機(jī)構(gòu)及編織機(jī)構(gòu)等的控制,無不實(shí)現(xiàn)高度集成電子化。</p><p> 整個(gè)毛皮機(jī)系統(tǒng)主要包括單片機(jī)最小系統(tǒng)、花型存儲(chǔ)系統(tǒng)
30、、鍵盤顯示系統(tǒng)、報(bào)警系統(tǒng)、電機(jī)控制驅(qū)動(dòng)系統(tǒng)、花型編碼控制系統(tǒng)、選針器控制系統(tǒng)、穩(wěn)壓電源、上位機(jī)軟件等。</p><p> 本課題主要研究的是提花毛皮機(jī)的花型輸入系統(tǒng),所研究的內(nèi)容為提花毛皮機(jī)的花型存儲(chǔ)和準(zhǔn)備過程。用單片機(jī)、FLASH、人機(jī)接口、個(gè)人PC,通過該儀器實(shí)現(xiàn)對(duì)提花毛皮機(jī)花型準(zhǔn)備過程,通過個(gè)人PC實(shí)時(shí)傳輸花型數(shù)據(jù)給提花毛皮機(jī),并且花型機(jī)也有顯示鍵盤模塊告知用戶目前的花型數(shù)據(jù)和修改功能。系統(tǒng)同時(shí)具備當(dāng)系統(tǒng)
31、遭遇斷針、斷油、斷線情況進(jìn)行報(bào)警。</p><p> 本次設(shè)計(jì)主要研究的是花型存儲(chǔ)系統(tǒng)和單片機(jī)最小系統(tǒng)以及上位機(jī)軟件,并且簡單的設(shè)計(jì)了報(bào)警系統(tǒng)和步進(jìn)電機(jī)控制系統(tǒng)。</p><p> 2提花毛皮機(jī)花型輸入系統(tǒng)硬件簡述</p><p><b> 2.1 系統(tǒng)組成</b></p><p> 本設(shè)計(jì)要求用單片機(jī)、FLAS
32、H存儲(chǔ)芯片、通信接口設(shè)計(jì)并制作提花毛皮機(jī)花型輸入系統(tǒng),實(shí)現(xiàn)對(duì)花型數(shù)據(jù)的傳輸、檢測(cè)和臨時(shí)修改,并且具備對(duì)一些簡單故障進(jìn)行檢測(cè)和報(bào)警以及簡單的對(duì)后級(jí)驅(qū)動(dòng)電機(jī)進(jìn)行調(diào)速。綜合以上要求,設(shè)計(jì)的系統(tǒng)主要包括單片機(jī)最小系統(tǒng)、花型存儲(chǔ)系統(tǒng)、串口通信系統(tǒng)、顯示鍵盤系統(tǒng)、報(bào)警系統(tǒng)、簡單的電機(jī)驅(qū)動(dòng)控制系統(tǒng)。提花毛皮機(jī)花型輸入系統(tǒng)的系統(tǒng)框圖如圖2.1所示:</p><p> 圖2.1 系統(tǒng)硬件框圖</p><p&g
33、t; 單片機(jī)控制模塊控制數(shù)據(jù)存儲(chǔ)模塊、顯示鍵盤模塊、通訊模塊、報(bào)警模塊、電機(jī)控制模塊,并分析、處理采集到的數(shù)據(jù)。</p><p> 數(shù)據(jù)存儲(chǔ)模塊采用FLASH芯片完成對(duì)花型數(shù)據(jù)的存儲(chǔ),并且由于FLASH的特性,使其具備了掉電數(shù)據(jù)不丟失的特點(diǎn)。</p><p> 顯示鍵盤模塊實(shí)現(xiàn)用戶與毛皮機(jī)的一個(gè)人機(jī)交互的過程,使其可以查詢到花型數(shù)據(jù)并且支持臨時(shí)小批量手動(dòng)修改花型數(shù)據(jù)。</p&g
34、t;<p> 232串口通訊模塊主要實(shí)現(xiàn)PC機(jī)將大批量的花型數(shù)據(jù)傳輸給毛皮機(jī),通訊距離較短,通訊速度適中。</p><p> 報(bào)警模塊主要實(shí)現(xiàn)對(duì)斷針、斷油、斷線情況進(jìn)行報(bào)警。</p><p> 電機(jī)控制模塊主要實(shí)現(xiàn)后級(jí)電機(jī)模擬驅(qū)動(dòng)控制。</p><p> 管理者可以使用PC機(jī)上位機(jī)花型傳輸軟件向下位機(jī)傳輸花型數(shù)據(jù),并且具備掉電保存花型數(shù)據(jù)的功能
35、,下位機(jī)具備查詢和修改功能,并且對(duì)斷針斷油斷線等故障做出報(bào)警。上位機(jī)同時(shí)可以對(duì)控制電機(jī)的從單片機(jī)發(fā)送轉(zhuǎn)速設(shè)定,控制后級(jí)驅(qū)動(dòng)電機(jī)模塊。</p><p><b> 2.2 工作原理 </b></p><p> 本設(shè)計(jì)的工作原理為:采用單片機(jī)最小系統(tǒng)為核心控制模塊,通過232串口通訊接口連接PC機(jī)和單片機(jī)控制模塊。用主單片機(jī)控制鍵盤顯示以及FLASH存儲(chǔ)花型數(shù)據(jù)。從單片
36、機(jī)主要控制轉(zhuǎn)速設(shè)定,同樣通過PC機(jī)通過232串口發(fā)送控制指令使得從單片機(jī)可以控制步進(jìn)電機(jī)的轉(zhuǎn)速,轉(zhuǎn)角,轉(zhuǎn)向。</p><p> 2.3 方案論證與比較</p><p> 提花毛皮機(jī)花型輸入系統(tǒng)主要由單片機(jī)最小系統(tǒng)、串口通訊系統(tǒng)、鍵盤顯示系統(tǒng)、FLSAH系統(tǒng)、報(bào)警系統(tǒng)、步進(jìn)電機(jī)控制系統(tǒng)等模塊組成,在單片機(jī)的控制下協(xié)調(diào)工作,完成對(duì)花型數(shù)據(jù)傳輸、保存、查詢、修改以及對(duì)相關(guān)故障報(bào)警和步進(jìn)電機(jī)控
37、制等功能。在形成系統(tǒng)各部分方案時(shí)綜合考慮了可行性、可靠性、精度、成本等因素,以使整個(gè)系統(tǒng)安全可靠、簡易實(shí)用。</p><p> 2.3.1 單片機(jī)的選擇</p><p> 選擇單片機(jī)時(shí)考慮了以下幾個(gè)要求:</p><p> 可靠性 由于提花毛皮機(jī)工作環(huán)境一般比較復(fù)雜,這使得其控制系統(tǒng)必須具備較強(qiáng)的抗干擾能力。</p><p> 內(nèi)部
38、資源 由于本次設(shè)計(jì)的程序量較大,且單片機(jī)需要采集大量數(shù)據(jù)存儲(chǔ)在外部RAM中,設(shè)計(jì)較復(fù)雜。所選單片機(jī)必須有足夠的內(nèi)部ROM和RAM。</p><p> 成本 從整機(jī)成本考慮,在能達(dá)到設(shè)計(jì)要求的前提下,單片機(jī)的價(jià)格越低越好。</p><p> 基于以上幾點(diǎn)原因,本次設(shè)計(jì)采用STC89C52RC單片機(jī)作為核心控制部件。它具有8K字節(jié)片內(nèi)Flash程序存儲(chǔ)器,256字節(jié)片內(nèi)RAM數(shù)據(jù)存儲(chǔ)器
39、;通過了4000V高壓脈沖測(cè)試,具有很強(qiáng)的抗干擾性;支持ISP/IAP(在系統(tǒng)可編程/在應(yīng)用可編程),無須專用編程器;內(nèi)部集成硬件看門狗(WDT),提高了程序運(yùn)行可靠性。</p><p> 2.3.2存儲(chǔ)芯片選擇</p><p> 選擇存儲(chǔ)芯片時(shí)考慮了一下幾個(gè)要求:</p><p> 存儲(chǔ)容量 由于設(shè)計(jì)要求需要存儲(chǔ)999行,1056列8位花型數(shù)據(jù),這使得存儲(chǔ)
40、芯片至少需要999*1056=1054944個(gè)存儲(chǔ)單元。</p><p> 功能 由于本次設(shè)計(jì)要求掉電后花型數(shù)據(jù)仍然可以保存,使得其必須要求選擇FLASH、EEPROM等掉電后不會(huì)丟失記憶的芯片。</p><p> 成本與速度 從整機(jī)成本考慮,在能達(dá)到設(shè)計(jì)要求的前提下,單片機(jī)的價(jià)格越低越好。并且由于存儲(chǔ)芯片內(nèi)容不是很大,并且對(duì)速度要求不是很高。</p><p&g
41、t; 基于以上幾點(diǎn)原因,本次設(shè)計(jì)初期選擇了四片AT45DB021B或者一片M29F016D FLASH存儲(chǔ)器完成存儲(chǔ)單元設(shè)計(jì)。AT45DB021B是一款基于SPI通訊總線的串行FLASH芯片,節(jié)約單片機(jī)的IO口,但是讀寫時(shí)序比較復(fù)雜;而M29F016D相反的,其是一款并行FLASH存儲(chǔ)器,讀取速度更快,但是需要占用大量的單片機(jī)IO口,并且成本較高。其管腳也較小,并且比較多,不易于PCB版圖設(shè)計(jì)和焊接。綜上考慮,最后采用了四片AT45D
42、B021B組成花型存儲(chǔ)單元。AT45DB021B芯片實(shí)物圖如圖2.1所示。M29DF016D芯片實(shí)物圖如圖2.2所示。</p><p> 圖 2.1 AT45DB021B芯片實(shí)物圖</p><p> 圖 2.2 M29DF016D芯片實(shí)物圖</p><p> 2.3.3 顯示模塊的比較與選擇</p><p> 在顯示數(shù)據(jù)時(shí),可選用數(shù)
43、碼管顯示或者液晶顯示。從成本考慮,數(shù)碼管顯示比液晶顯示要低。由于成本以及設(shè)計(jì)要求綜合考慮,采用數(shù)碼管顯示模式。在顯示譯碼芯片選擇過程中,可選用HD7279鍵盤顯示芯片外擴(kuò)顯示與鍵盤。HD7279是一種串行專用顯示鍵盤擴(kuò)展芯片,IO口占用較少,但是其讀寫時(shí)序較為復(fù)雜,并且成本較高。而使用138譯碼芯片與單片機(jī)整體設(shè)計(jì)設(shè)計(jì)簡單并且成本較為低廉,鍵盤使用單片機(jī)P口直接擴(kuò)展,降低成本和軟件設(shè)計(jì)困難。綜上考慮,在本次設(shè)計(jì)中將不予采用HD7279顯
44、示芯片,而直接使用簡單數(shù)字邏輯器件搭建鍵盤顯示電路。</p><p> 3 提花毛皮機(jī)花型輸入系統(tǒng)的硬件設(shè)計(jì)</p><p> 3.1 單片機(jī)最小系統(tǒng)</p><p> 該部分電路是系統(tǒng)控制和數(shù)據(jù)處理的核心,主要由RS232串口電路、STC89C52RC單片機(jī)及相應(yīng)的時(shí)鐘振蕩電路和復(fù)位電路組成。</p><p> 3.1.1 RS23
45、2串口電路設(shè)計(jì)</p><p> STC89C52RC單片機(jī)電平為TTL電平(即:高電平 — +5V,低電平 — 0V),而計(jì)算機(jī)串口電平為RS232電平(即:高電平 — -12V,低電平 — +12V),所以,計(jì)算機(jī)與單片機(jī)之間進(jìn)行通訊時(shí)需要加電平轉(zhuǎn)換芯片。RS232串口電路如圖3.1所示。</p><p> 圖中MAX232芯片是專門設(shè)計(jì)為TTL電平和RS232標(biāo)準(zhǔn)電平做電平轉(zhuǎn)換的
46、芯片。RS232標(biāo)準(zhǔn)電平在+15V ~ -15V之間,而傳統(tǒng)的TTL電平在0V ~ 5V之間。MAX232芯片的設(shè)計(jì)就是為了完成這個(gè)電平之間的轉(zhuǎn)換。MAX232芯片采用單電源+5V供電,僅需要幾個(gè)電容就可以完成RS232和TTL電平之間的轉(zhuǎn)換,共兩路。其中R1IN、R1OUT、T1IN、T1OUT為第一數(shù)據(jù)通道;R2IN、R2OUT、T2IN、T2OUT為第二數(shù)據(jù)通道。TTL/CMOS信號(hào)從T1IN、T2IN輸入轉(zhuǎn)換成RS232數(shù)據(jù)從T
47、1OUT、T2OUT送到電腦的DP9插頭;DP9插頭中RS232數(shù)據(jù)從R1IN、R2IN輸入轉(zhuǎn)換成TTL/CMOS數(shù)據(jù)后由R1OUT、R2OUT輸出。</p><p> 圖 3.1 RS232串口電路</p><p> 圖3.1中,RS232串口電路使用MAX232CPE作為電平轉(zhuǎn)換芯片,通過串口線連接到計(jì)算機(jī)的COM口(9針D形口),用于STC89C52RC單片機(jī)與上位機(jī)通信以及和
48、其他串口設(shè)備的數(shù)據(jù)交互。</p><p> 3.1.2 復(fù)位及振蕩電路</p><p> 復(fù)位及振蕩電路如圖3.2所示。 </p><p> 圖 3.2 復(fù)位及振蕩電路</p><p> 系統(tǒng)在啟動(dòng)運(yùn)行時(shí)都要復(fù)位,使中央處理器和系統(tǒng)中的其他部件都處于一個(gè)確定的初始狀態(tài),并從這狀態(tài)開始工作。復(fù)位電路由按鍵復(fù)位和上電復(fù)位兩部分組成。S
49、TC89C52RC單片機(jī)為高電平復(fù)位,通常在復(fù)位引腳RST上連接一個(gè)電容到VCC,再連接一個(gè)電阻到GND,由此形成一個(gè)RC充放電回路,保證單片機(jī)在上電時(shí)RST引腳上有足夠時(shí)間的高電平進(jìn)行復(fù)位,隨后回到低電平進(jìn)入正常工作狀態(tài),這個(gè)電阻和電容的典型值分別為10KΩ、10uF。按鍵復(fù)位是在復(fù)位電容上并聯(lián)一個(gè)開關(guān),當(dāng)開關(guān)按下時(shí)電容放電,RST被拉到高電平,由于電容的充電,會(huì)保持一段時(shí)間的高電平來使單片機(jī)復(fù)位。</p><p&
50、gt; 時(shí)鐘振蕩電路控制著計(jì)算機(jī)的工作節(jié)奏。STC89C52RC內(nèi)部都有一個(gè)反相放大器,XTAL1、XTAL2 分別是反相放大器輸入和輸出端,外接定時(shí)反饋元件就組成振蕩器產(chǎn)生時(shí)鐘送至單片機(jī)內(nèi)部的各個(gè)部件。如圖3.5 所示,片內(nèi)電路與片外器件構(gòu)成一個(gè)時(shí)鐘發(fā)生電路,CPU 的所有操作均在時(shí)鐘脈沖同步下進(jìn)行。片內(nèi)振蕩器的震蕩頻率fosc非常接近晶振頻率,一般多在1.2MHz~12MHz 之間選取,此次采用的時(shí)鐘頻率是11.0592MHz。C
51、1、C2 為反饋電容,其值在5pF~30pF 之間選擇,其典型值是30pF,設(shè)計(jì)中采用20pF。</p><p> 單片機(jī)采用的是STC公司的89C52RC芯片。該款芯片是一款 80C51微控制器,16kB Flash和 512字節(jié)的數(shù)據(jù) RAM。89C52RC的典型特性是它的 X2方式選項(xiàng)。利用該特性,設(shè)計(jì)工程師可使應(yīng)用程序以傳統(tǒng)的 80C51時(shí)鐘頻率(每個(gè)機(jī)器周期包含 12個(gè)時(shí)鐘)或 X2方式(每個(gè)機(jī)器周期
52、包含 6個(gè)時(shí)鐘)的時(shí)鐘頻率運(yùn)行,選擇 X2方式可在相同時(shí)鐘頻率下獲得 2倍的吞吐量。從該特性獲益的另一種方法是將時(shí)鐘頻率減半而保持特性不變,這樣可以極大地降低電磁干擾(EMI)。 Flash程序存儲(chǔ)器支持并行和串行在系統(tǒng)編程( ISP)。并行編程方式提供了高速的分組編程(頁編程)方式,可節(jié)省編程成本和上市時(shí)間。 ISP允</p><p> 許在軟件控制下對(duì)成品中的器件進(jìn)行重復(fù)編程。應(yīng)用固件的產(chǎn)生/更新能力實(shí)現(xiàn)了
53、 ISP的大范圍應(yīng)用。 89C52RC也可采用在應(yīng)用中編程( IAP),允許隨時(shí)對(duì) Flash程序存儲(chǔ)器重新配置,即使是應(yīng)用程序正在運(yùn)行也不例外。</p><p> 3.3FLASH存儲(chǔ)電路設(shè)計(jì)</p><p> 3.3.1 AT45DB021B芯片簡介</p><p> AT45DB021B是一個(gè)僅2.7伏供電,串行接口閃存。非常適合用于各種各樣的數(shù)字語音
54、,圖像,程序代碼和數(shù)據(jù)存儲(chǔ)應(yīng)用。其內(nèi)存空間有1024頁,每頁264字節(jié),共2,162,688位。除了主存儲(chǔ)器,AT45DB021B還包含兩個(gè)SRAM數(shù)據(jù)緩沖區(qū),每個(gè)264字節(jié)。該緩沖器允許接收數(shù)據(jù),而且在主存儲(chǔ)器中的頁被重新編程,以及讀取或?qū)懭胍粋€(gè)連續(xù)的數(shù)據(jù)流。</p><p> 一個(gè)自包含三步讀 - 修改 - 寫操作EEPROM仿真(位或字節(jié)改變能力)的芯片是很容易處理。不同于傳統(tǒng)的快閃記憶體,它可以隨機(jī)訪問
55、多個(gè)地址線和一個(gè)并行接口,數(shù)據(jù)閃存使用的SPI串行界面的順序訪問其數(shù)據(jù)。數(shù)據(jù)閃存支持SPI模式0和模式3。簡單的串行接口有利于硬件布局,提高了系統(tǒng)的可靠性,最大限度地降低開關(guān)噪聲,并減少包裝規(guī)模和活躍引腳數(shù)。該器件經(jīng)過優(yōu)化,使用在許多商業(yè)和工業(yè)應(yīng)用的高密度,低引腳數(shù),低電壓和低功耗是至關(guān)重要的。該器件工作在一個(gè)典型的有效的讀電流消耗為4 mA至20 MHz的時(shí)鐘頻率。</p><p> 為了讓簡單的系統(tǒng)內(nèi)可編程
56、,不需要AT45DB021B高輸入電壓進(jìn)行編程。該器件工作在單電源供電,2.7V到3.6V,兩個(gè)方案和讀取操作。該AT45DB021B被啟用通過片選引腳(CS),并通過一個(gè)三線的接口,包括訪問串行輸入(SI),串行輸出(SO)和串行時(shí)鐘(SCK)。</p><p> 所有的編程周期是自定時(shí),并沒有單獨(dú)的擦除周期之前需要編程。</p><p> 當(dāng)芯片從Atmel公司出貨后,最重要的內(nèi)存
57、頁陣列可能不會(huì)被刪除。換句話說,最后一頁的內(nèi)容可能并不充滿FFH。芯片圖如3.3所示。</p><p> 圖 3.3 AT45DB021B芯片</p><p> 3.3.2 AT45DB021B與單片機(jī)接口電路設(shè)計(jì)</p><p> AT45DBO21B是一款基于SPI通訊總線的串行FLSAH芯片。其連接電路圖比較簡單。將其四個(gè)芯片1腳SI并聯(lián)至單片機(jī)P3.2
58、,四個(gè)芯片的8腳SO并聯(lián)至單片機(jī)的P3.3,四個(gè)芯片的2腳SCK并聯(lián)接到單片機(jī)的P1.7。每個(gè)芯片的4腳CS接到單片機(jī)的P3.4、P3.5、P3.6、P3.7。4個(gè)芯片的3腳RESET、5腳WP以及6腳VCC連接至高電平VCC,而7腳GND連接于GND。</p><p> 圖 3.4 FLASH存儲(chǔ)電路</p><p> SI和SO是數(shù)據(jù)輸入輸出口,用于完成數(shù)據(jù)的讀寫;SCK是芯片的
59、時(shí)鐘信號(hào),由單片機(jī)給出,作為工作基準(zhǔn);CS是芯片片選信號(hào),通過單片機(jī)給低電平信號(hào)選通芯片使某個(gè)芯片工作;RESET和WP連接至高電平,使其不會(huì)復(fù)位和關(guān)閉寫保護(hù)功能;VCC和GND為芯片提供2.7V的工作電壓。FLASH的硬件連接圖如圖3.4所示。</p><p> 3.4 顯示電路設(shè)計(jì)</p><p> 顯示模塊由6個(gè)數(shù)碼管、74HC245總線收發(fā)器和74LS138譯碼器組成。采用動(dòng)態(tài)
60、掃描。第一位數(shù)碼管用于顯示當(dāng)前轉(zhuǎn)速,第二位數(shù)碼管用于顯示花型數(shù)據(jù),后四位數(shù)碼管用于顯示花型地址(行數(shù)或列數(shù))如圖3.5。</p><p> 圖 3.5 顯示與譯碼電路</p><p> 通過138譯碼器選取不同的數(shù)碼管來顯示不同數(shù)據(jù),用9012驅(qū)動(dòng)數(shù)碼管,采用動(dòng)態(tài)掃描。數(shù)碼管為共陽數(shù)碼管。4.7K電阻為上拉電阻,使得P0口具備高電平要求。</p><p> 圖
61、中74LS138解碼一八線,根據(jù)條件在三元選擇輸入和三使能輸入。雙有源低一電平有效使能輸入減少需要外部大門或逆變器在擴(kuò)大。一個(gè)24-line譯碼器可以實(shí)現(xiàn)無需外部逆變器,和一個(gè)32-line解碼器只需要一個(gè)逆變器。使能輸入可以用來作為解復(fù)用應(yīng)用程序的數(shù)據(jù)輸入??梢酝ㄟ^三條信號(hào)線的輸入來決定八條信號(hào)線的輸出。</p><p> 電路圖中74HC245是一種高速COMS器件,管腳同時(shí)也可以兼容TTL電平。工作時(shí)間為
62、7ns。其主要功能是作為三態(tài)輸出的八組總線收發(fā)器,DIR可以作為方向控制,用于驅(qū)動(dòng)數(shù)碼管或者LED等輸入電流要求較高的器件。</p><p> 3.5 鍵盤電路設(shè)計(jì)</p><p> 鍵盤使用經(jīng)典的4*4的矩陣鍵盤,使用單片機(jī)P2口擴(kuò)展。如圖3.6。</p><p><b> 圖3.6 鍵盤電路</b></p><p&
63、gt; 為了使用戶使用方便,將K1、K2、K3、K5、K6、K7、K9、K10、K11、K8設(shè)置為1、2、3、4、5、6、7、8、9、0數(shù)字鍵盤按鍵。K12、K16為查詢、修改功能按鍵,K13、K14、K15為模擬報(bào)警信號(hào)按鍵,分別為斷針、斷線、斷油情況,K4為清除報(bào)警按鈕。4.7K電阻為限流電阻,為防止單片機(jī)IO口燒壞。</p><p> 3.6 報(bào)警電路設(shè)計(jì)</p><p> 3
64、.6.1模擬報(bào)警信號(hào)產(chǎn)生與檢測(cè)說明</p><p> 報(bào)警信號(hào)由鍵盤電路產(chǎn)生一個(gè)模擬報(bào)警。當(dāng)單片機(jī)查詢到K13、K14、K15按鍵按下時(shí),則會(huì)調(diào)用報(bào)警子程序,完成一個(gè)模擬報(bào)警過程。K4為報(bào)警狀態(tài)消除按鍵,只有當(dāng)按下K4時(shí),報(bào)警狀態(tài)才能夠解除。</p><p> 3.6.2報(bào)警電路設(shè)計(jì)</p><p> 報(bào)警電路主要由三極管,發(fā)光二極管組成。其電路圖如圖3.7。
65、</p><p> 圖 3.7 報(bào)警電路</p><p> 當(dāng)檢測(cè)到報(bào)警信號(hào)時(shí),單片機(jī)P1.6給出一個(gè)高電平,使9013三極管導(dǎo)通,點(diǎn)亮二極管報(bào)警。200、1K電阻是為限流設(shè)計(jì)的。</p><p> 3.7 從單片機(jī)電機(jī)控制電路設(shè)計(jì)</p><p> 3.7.1 步進(jìn)電機(jī)簡介</p><p> 步進(jìn)電機(jī)是將電
66、脈沖信號(hào)轉(zhuǎn)變?yōu)榻俏灰苹蚓€位移的開環(huán)控制元件。在非超載的情況下,電機(jī)的轉(zhuǎn)速、停止的位置只取決于脈沖信號(hào)的頻率和脈沖數(shù),而不受負(fù)載變化的影響,即給電機(jī)加一個(gè)脈沖信號(hào),電機(jī)則轉(zhuǎn)過一個(gè)步距角。這一線性關(guān)系的存在,加上步進(jìn)電機(jī)只有周期性的誤差而無累積誤差等特點(diǎn)。使得在速度、位置等控制領(lǐng)域用步進(jìn)電機(jī)來控制變的非常的簡單。</p><p> 雖然步進(jìn)電機(jī)已被廣泛地應(yīng)用,但步進(jìn)電機(jī)并不能象普通的直流電機(jī),交流電機(jī)在常規(guī)下使用。
67、它必須由雙環(huán)形脈沖信號(hào)、功率驅(qū)動(dòng)電路等組成控制系統(tǒng)方可使用。因此用好步進(jìn)電機(jī)卻非易事,它涉及到機(jī)械、電機(jī)、電子及計(jì)算機(jī)等許多專業(yè)知識(shí)。 </p><p> 步進(jìn)電機(jī)是將電脈沖信號(hào)轉(zhuǎn)變?yōu)榻俏灰苹蚓€位移的一種開環(huán)線性執(zhí)行元件,具有無累積誤差、成本低、控制簡單特點(diǎn)。產(chǎn)品從相數(shù)上分有二、三、四、五相,從步距角上分有0.9°/1.8°、0.36°/0.72°,從規(guī)格上分有口42~φ
68、130,從靜力矩上分有0.1N·M~40N·M。一般步進(jìn)電機(jī)的精度為步進(jìn)角的3-5%,且不累積。</p><p> 此次設(shè)計(jì)采用的步進(jìn)電機(jī)型號(hào)為28BYJ48,它是四相八拍的電機(jī),電壓為DC5V。類型為永磁式減速步進(jìn)電機(jī)。實(shí)物圖如圖3.8所示。</p><p> 圖3.8 28BYJ48步進(jìn)電機(jī)</p><p> 四相電機(jī)工作方式有二種,四
69、相四拍為AB-BC-CD-DA-AB,步距角為1.8度;四相八拍為AB-B-BC-C-CD-D-AB,(步距角為0.9度)。</p><p> 當(dāng)對(duì)步進(jìn)電機(jī)施加一系列連續(xù)不斷的控制脈沖時(shí),它可以連續(xù)不斷地轉(zhuǎn)動(dòng)。每一個(gè)脈沖信號(hào)對(duì)應(yīng)步進(jìn)電機(jī)的某一相或兩相繞組的通電狀態(tài)改變一次,也就對(duì)應(yīng)轉(zhuǎn)子轉(zhuǎn)過一定的角度(一個(gè)步距角)。當(dāng)通電狀態(tài)的改變完成一個(gè)循環(huán)時(shí),轉(zhuǎn)子轉(zhuǎn)過一個(gè)齒距。四相步進(jìn)電機(jī)可以在不同的通電方式下運(yùn)行,常見的通
70、電方式有單(單相繞組通電)四拍(A-B-C-D-A。。。),雙(雙相繞組通電)四拍(AB-BC-CD-DA-AB-。。。),八拍(A-AB-B-BC-C-CD-D-DA-A。。。)。主要技術(shù)指標(biāo)如圖3.9所示。</p><p> 圖 3.9 28BYJ48步進(jìn)電機(jī)</p><p> 這款電機(jī)的減速比是1:64,也就是說電機(jī)每次的步進(jìn)角度為5.625/64度,步進(jìn)角度很小,也使得電機(jī)轉(zhuǎn)速
71、很精準(zhǔn),非常適合細(xì)微控制。</p><p> 3.4.2 步進(jìn)電機(jī)控制驅(qū)動(dòng)電路設(shè)計(jì)</p><p> 本次設(shè)計(jì)使用從單片機(jī)控制電機(jī)轉(zhuǎn)動(dòng),使用其P1.0、P1.1、P1.2、P1.3作為信號(hào)控制線。其電路圖如圖3.10所示。</p><p> 圖 3.10 步進(jìn)電機(jī)控制驅(qū)動(dòng)電路</p><p> 四只9012的三極管,共集電極安放,將M
72、C0-3電平反向輸出,增強(qiáng)電流驅(qū)動(dòng)能力。1K為限流電阻。</p><p> 轉(zhuǎn)角控制,轉(zhuǎn)速控制信息由上位機(jī)通過RS232串口電路傳給從單片機(jī),通過軟件延時(shí),序列驅(qū)動(dòng)次數(shù)來改變其轉(zhuǎn)速、轉(zhuǎn)角。串口電路在3.1.1已經(jīng)介紹過,此處不再介紹。</p><p> 4 提花毛片機(jī)花型輸入系統(tǒng)的軟件設(shè)計(jì)</p><p><b> 4.1概述</b>&l
73、t;/p><p> 4.1 .1C51編程語言與編譯器概述</p><p> 51的編程語言常用的有二種,一種是匯編語言,一種是C語言。匯編語言的機(jī)器代碼生成效率很高但可讀性卻并不強(qiáng),而C語言在大多數(shù)情況下其機(jī)器代碼生成效率和匯編語言相當(dāng),但可讀性和可移植性比匯編語言要好,而且C語言還可以嵌入?yún)R編來解決高時(shí)效性的代碼編寫問題。所以本設(shè)計(jì)采用C語言進(jìn)行編程。</p><p
74、> 使用C語言時(shí)要用到C編譯器,以便把寫好的C程序編譯為機(jī)器碼,這樣單片機(jī)才能執(zhí)行編寫好的程序。Keil uVision3 是眾多單片機(jī)應(yīng)用開發(fā)軟件中優(yōu)秀的軟件之一,它支持眾多不同公司的MCS51架構(gòu)的芯片,它集編輯、編譯、仿真等功能于一體,同時(shí)還支持PLM、匯編和C語言的程序設(shè)計(jì),它的界面和常用的微軟VC++的界面相似,界面友好,易學(xué)易用,在調(diào)試程序、軟件仿真方面也有很強(qiáng)大的功能。</p><p>
75、4.1.2 VC++編譯環(huán)境概述</p><p> Microsoft Visual C++,(簡稱Visual C++、MSVC、VC++或VC)微軟的C++開發(fā)工具,具有集成開發(fā)環(huán)境,可提供編輯C語言,C++以及C++/CLI等編程語言。VC++整合了便利的除錯(cuò)工具,特別是整合了微軟視窗程式設(shè)計(jì)(Windows API)、三維動(dòng)畫DirectX API,Microsoft .NET框架。目前最新的版本是Mi
76、crosoft Visual C++ 2012。</p><p> Microsoft Visual C++是Microsoft公司推出的開發(fā)Win32環(huán)境程序,面向?qū)ο蟮目梢暬删幊滔到y(tǒng)。它不但具有程序框架自動(dòng)生成、靈活方便的類管理、代碼編寫和界面設(shè)計(jì)集成交互操作、可開發(fā)多種程序等優(yōu)點(diǎn),而且通過簡單的設(shè)置就可使其生成的程序框架支持?jǐn)?shù)據(jù)庫接口、OLE2,WinSock網(wǎng)絡(luò)、3D控制界面。</p>
77、<p> 它以擁有“語法高亮”,IntelliSense(自動(dòng)完成功能)以及高級(jí)除錯(cuò)功能而著稱。比如,它允許用戶進(jìn)行遠(yuǎn)程調(diào)試,單步執(zhí)行等。還有允許用戶在調(diào)試期間重新編譯被修改的代碼,而不必重新啟動(dòng)正在調(diào)試的程序。其編譯及建置系統(tǒng)以預(yù)編譯頭文件、最小重建功能及累加連結(jié)著稱。這些特征明顯縮短程式編輯、編譯及連結(jié)花費(fèi)的時(shí)間,在大型軟件計(jì)劃上尤其顯著。</p><p><b> 4.2系統(tǒng)資源分
78、配</b></p><p> 主單片機(jī)系統(tǒng)使用P0口作為8位數(shù)碼輸出,P1.0、P1.1、P1.2、P1.3、P1.4口作為顯示譯碼功能使用,P1.6作為系統(tǒng)報(bào)警電路觸發(fā)信號(hào),P1.7為FLASH提供時(shí)鐘信號(hào),P2口用于擴(kuò)展你4*4的矩陣鍵盤,P3.0、P3.1作為單片機(jī)異步通訊的輸出和輸入信號(hào)的產(chǎn)生和接收,P3.2、P3.3作為FLASH的串行輸入輸出信號(hào)使用,P3.4、P3.5、P3.6、P3.
79、7作為FLASH存儲(chǔ)電路的片選信號(hào)使用。</p><p> 從單片機(jī)使用P1.0、P1.1、P1.2、P1.3用于步進(jìn)電機(jī)的驅(qū)動(dòng)序列信號(hào)產(chǎn)生,P3.0、P3.1作為單片機(jī)異步通訊的輸出和輸入信號(hào)的產(chǎn)生和接收。</p><p> 鍵盤的按鍵名稱、鍵值與功能如圖4.1所示。</p><p> 圖 4.1 鍵盤名稱、鍵值、功能</p><p>
80、; 部分全局變量說明如圖4.2所示。</p><p> 圖 4.2 部分全局變量說明</p><p> 4.3 系統(tǒng)軟件總體結(jié)構(gòu)</p><p> 系統(tǒng)軟件系統(tǒng)主要包含系統(tǒng)軟件主程序、串口通信模塊子程序、鍵盤掃描模塊子程序、顯示與處理模塊子程序、FLASH驅(qū)動(dòng)模塊子程序、步進(jìn)電機(jī)控制模塊子程序、報(bào)警模塊子程序、上位機(jī)模塊子程序以及中斷服務(wù)程序。</p&
81、gt;<p> 4.3.1主程序設(shè)計(jì)</p><p> 主程序流程圖如圖4.3。</p><p> 首先進(jìn)行各類子模塊初始化。接著進(jìn)行鍵盤掃描,根據(jù)讀到的鍵盤值調(diào)用不同的功能函數(shù),對(duì)FLASH進(jìn)行讀寫和顯示數(shù)據(jù)或者報(bào)警。</p><p> 在顯示初始化中,清除所有的顯示數(shù)值,使其全滅;串口初始化時(shí)為其打開對(duì)應(yīng)的中斷接口,使服務(wù)程序能夠正常工作;
82、FLASH初始化主要是將AT45DB021B的WP和RESET拉高,使其可以正常工作,并且初始化時(shí)將所有的CS都置高防止其誤讀寫。</p><p> 圖 4.3 主程序流程圖</p><p> 串口中斷服務(wù)程序流程圖如圖4.4。</p><p> 在進(jìn)入中斷服務(wù)程序后,單片機(jī)接受上位機(jī)傳下來的花型數(shù)據(jù),由于傳輸是以八位二進(jìn)制數(shù)傳輸?shù)?,顧要將其處理為相?yīng)的十進(jìn)制
83、行列數(shù)進(jìn)行保存。最后將數(shù)據(jù)返回給PC,使用戶了解是否傳輸成功。</p><p> 圖 4.4 中斷服務(wù)程序</p><p> 4.3.2鍵盤掃描軟件模塊設(shè)計(jì)</p><p> 鍵盤掃描程序流程圖如圖4.5所示。</p><p> 鍵盤掃描軟件采用經(jīng)典掃描程序。先將第一行輸入置低,使其成為獨(dú)立的四個(gè)按鍵,通過檢測(cè)單片機(jī)IO口輸入狀態(tài)來判
84、斷是哪個(gè)按鍵按下,如果沒有按下,則接著掃描第二行。同理掃描第三行與第四行。當(dāng)沒有按鍵按下時(shí),返回一個(gè)初始值供單片機(jī)判斷。</p><p> 圖 4.5鍵盤掃描流程圖</p><p> 4.3.3顯示模塊軟件設(shè)計(jì)</p><p> 顯示模塊程序流程圖如圖4.6所示。</p><p> 顯示過程由單片機(jī)控制,通過P1.0~P1.2給74L
85、S138譯碼器信號(hào),選擇不同的數(shù)碼管顯示,先同步顯示行高位,再同步顯示行低位。最后給一個(gè)四位顯示閃爍,延時(shí)1S。接下來再同步顯示列數(shù)據(jù)。最后根據(jù)按鍵功能讀出花型數(shù)據(jù)或顯示輸入花型數(shù)據(jù)。</p><p> 圖 4.6 顯示模塊流程圖</p><p> 4.3.4 FLASH驅(qū)動(dòng)軟件設(shè)計(jì)</p><p> FLASH存儲(chǔ)模塊驅(qū)動(dòng)軟件設(shè)計(jì)主要包括FLASH的寫入和讀
86、出。其讀出和寫入的流程圖如圖4.7和圖4.8所示。</p><p> FLASH讀采用持續(xù)數(shù)組讀模式。寫FLASH采取先取PAGE頁至BUFF1,擦除,再將內(nèi)容寫入BUFF1,最后寫入FLASH主存儲(chǔ)器。</p><p> 圖 4.7 FLASH數(shù)據(jù)讀出流程圖</p><p> 圖 4.8 FLASH寫入流程圖</p><p> 讀寫
87、是基于SPI讀寫時(shí)序的,上升沿發(fā)送,下降沿接收。采用Inactive Clock Polarity Low模式讀寫。</p><p> AT45DB021B是一款基于SPI傳輸總線的存儲(chǔ)芯片,在這里首先介紹SPI的接口協(xié)議。</p><p> 同步外設(shè)接口(SPI)是由摩托羅拉公司開發(fā)的全雙工同步串行總線,該總線大量用在與EEPROM、ADC、FRAM和顯示驅(qū)動(dòng)器之類的慢速外設(shè)器件通信
88、。</p><p> SPI(Serial Peripheral Interface)是一種串行同步通訊協(xié)議,由一個(gè)主設(shè)備和一個(gè)或多個(gè)從設(shè)備組成,主設(shè)備啟動(dòng)一個(gè)與從設(shè)備的同步通訊,從而完成數(shù)據(jù)的交換。SPI 接口由SDI(串行數(shù)據(jù)輸入),SDO(串行數(shù)據(jù)輸出),SCK(串行移位時(shí)鐘),CS(從使能信號(hào))四種信號(hào)構(gòu)成,CS 決定了唯一的與主設(shè)備通信的從設(shè)備,如沒有CS 信號(hào),則只能存在一個(gè)從設(shè)備,主設(shè)備通過產(chǎn)生移
89、位時(shí)鐘來發(fā)起通訊。通訊時(shí),數(shù)據(jù)由SDO 輸出,SDI 輸入,數(shù)據(jù)在時(shí)鐘的上升或下降沿由SDO 輸出,在緊接著的下降或上升沿由SDI 讀入,這樣經(jīng)過8/16 次時(shí)鐘的改變,完成8/16 位數(shù)據(jù)的傳輸。 </p><p> 在SPI傳輸中,數(shù)據(jù)是同步進(jìn)行發(fā)送和接收的。數(shù)據(jù)傳輸?shù)臅r(shí)鐘基于來自主處理器的時(shí)鐘脈沖,摩托羅拉沒有定義任何通用SPI的時(shí)鐘規(guī)范。然而,最常用的時(shí)鐘設(shè)置基于時(shí)鐘極性(CPOL)和時(shí)鐘相位(CPHA
90、)兩個(gè)參數(shù),CPOL定義SPI串行時(shí)鐘的活動(dòng)狀態(tài),而CPHA定義相對(duì)于SO-數(shù)據(jù)位的時(shí)鐘相位。CPOL和CPHA的設(shè)置決定了數(shù)據(jù)取樣的時(shí)鐘沿。</p><p> 假設(shè)下面的8位寄存器裝的是待發(fā)送的數(shù)據(jù)10101010,上升沿發(fā)送、下降沿接收、高位先發(fā)送。 那么第一個(gè)上升沿來的時(shí)候數(shù)據(jù)將會(huì)是sdo=1;寄存器=0101010x。下降沿到來的時(shí)候,sdi
91、上的電平將所存到寄存器中去,那么這時(shí)寄存器=0101010sdi,這樣在8個(gè)時(shí)鐘脈沖以后,兩個(gè)寄存器的內(nèi)容互相交換一次。這樣就完成里一個(gè)spi時(shí)序。</p><p> AT45DB021B芯片有四種讀寫模式,包括Inactive Clock Polarity Low 、SPI Mode 0 、Inactive Clock Polarity High 、SPI Mode 3。確定其讀寫模式主要靠SCK的初試狀態(tài)決
92、定。其讀寫時(shí)序圖如圖4.9所示,上圖是Inactive Clock Polarity Low 或者SPI Mode 0讀寫,下圖是Inactive Clock Polarity High 或者SPI Mode 3讀寫方式。</p><p> 圖4.9 AT45DB021B的讀寫時(shí)序圖</p><p> 在本次設(shè)計(jì)中采用的是Inactive Clock Polarity Low讀寫模式,
93、在軟件初始化時(shí)會(huì)將SCK置低。</p><p> 在具體執(zhí)行寫命令時(shí),采用先往BUFFER里面寫入數(shù)據(jù)后再寫入主存儲(chǔ)器。其時(shí)序圖如圖4.10和4.11所示。</p><p> 圖 4.10 BUFFER寫入時(shí)序</p><p> 圖 4.11 主存儲(chǔ)器寫入時(shí)序</p><p> 在具體執(zhí)行度命令時(shí),采取68H持續(xù)數(shù)組連續(xù)讀取模式,并且
94、是在Inactive Clock Polarity Low模式下讀取主存儲(chǔ)器。其讀寫時(shí)序圖如圖4.12所示。</p><p> 圖 4.12 主存儲(chǔ)器讀取時(shí)序</p><p> FLASH存儲(chǔ)電路的整體讀取過程為:軟件上首先判斷目標(biāo)花色應(yīng)該存入那個(gè)存儲(chǔ)芯片,再確定存儲(chǔ)位置和地址。之后調(diào)用寫命令函數(shù),通過BUFFER先把需要寫入的PAGE頁內(nèi)容讀入,擦除所要寫入的PAGE頁。把需要寫入的
95、數(shù)據(jù)寫入BUFFER,最后通過BUFFER寫入主存儲(chǔ)器。讀取查詢直接使用68H的連續(xù)數(shù)組讀取模式,將一批數(shù)值讀出。上升沿發(fā)送、下降沿接收、高位先發(fā)送。</p><p> 4.3.5報(bào)警模塊程序設(shè)計(jì)</p><p> 報(bào)警模塊軟件設(shè)計(jì)流程圖如圖4.13所示。</p><p> 采集到報(bào)警信號(hào)時(shí),啟動(dòng)報(bào)警程序,點(diǎn)亮發(fā)光二極管。再檢測(cè)是否有解除信號(hào)產(chǎn)生,如果有,則退
96、出報(bào)警系統(tǒng);如果沒有,則繼續(xù)報(bào)警。</p><p> 圖 4.13 報(bào)警模塊軟件流程圖</p><p> 4.3.6 步進(jìn)電機(jī)控制程序設(shè)計(jì)</p><p> 步進(jìn)電機(jī)控制模塊分為兩部分,一部分為電機(jī)控制部分,其流程圖如圖4.14;另一部分為PC機(jī)通信部分,采用UART異步串口通信,如圖4.15。</p><p> 圖 4.14 步進(jìn)電
97、機(jī)驅(qū)動(dòng)程序</p><p> 圖 4.15 步進(jìn)電機(jī)模塊中斷服務(wù)程序</p><p> 在步進(jìn)電機(jī)驅(qū)動(dòng)程序中,設(shè)置了一個(gè)8個(gè)長度的數(shù)組變量用于產(chǎn)生步進(jìn)電機(jī)驅(qū)動(dòng)所需的步進(jìn)脈沖,采用四相八拍制。PC機(jī)通過中斷服務(wù)程序通過RS232串口將轉(zhuǎn)速、轉(zhuǎn)角數(shù)據(jù)傳送給從單片機(jī)控制系統(tǒng)。通過修改延時(shí)時(shí)間來控制步進(jìn)電機(jī)的轉(zhuǎn)速,通過修改發(fā)送的脈沖序列個(gè)數(shù)來改變轉(zhuǎn)角。</p><p>
98、 4.3.7串口通信軟件模塊設(shè)計(jì)</p><p> 串口通信軟件模塊其實(shí)已經(jīng)包含在了兩個(gè)單片機(jī)的中斷服務(wù)程序當(dāng)中,都采取UART異步串口通信。只要有數(shù)據(jù)到來,就產(chǎn)生一個(gè)中斷,用SBUF把傳輸?shù)臄?shù)據(jù)接收下來再調(diào)用相應(yīng)的處理子函數(shù)進(jìn)行處理。流程圖即為上文兩個(gè)中斷服務(wù)程序流程圖,這里不再重復(fù)介紹。</p><p> 4.3.8 上位機(jī)軟件設(shè)計(jì)</p><p> 上
99、位機(jī)軟件主要完成一個(gè)用戶在PC機(jī)上對(duì)花型輸入系統(tǒng)的操作過程。其主要分為兩個(gè)部分:接收模塊和發(fā)送模塊,其流程圖如圖4.16和圖4.17所示。</p><p> 圖 4.16 接收數(shù)據(jù)流程圖</p><p> 圖 4.12 發(fā)送數(shù)據(jù)流程圖</p><p> 程序運(yùn)行結(jié)果界面如圖4.13所示。從圖中可以看到,上位機(jī)軟件具備向下位機(jī)傳輸行列地址、花型數(shù)據(jù)以及COM口選
100、擇。下方還有一個(gè)接收數(shù)據(jù)區(qū),用于接收下位機(jī)向上傳輸?shù)臄?shù)據(jù),并以此來判斷傳輸是否成功。</p><p> 軟件用戶交互界面友好,簡單易操作,可以完成一個(gè)PC機(jī)與用戶以及下位機(jī)的交互功能。</p><p> 圖 4.13 上位機(jī)花型傳輸軟件</p><p> 5 調(diào)試及結(jié)果分析</p><p> 5.1 硬件調(diào)試及結(jié)果分析</p&
101、gt;<p> 在本次設(shè)計(jì)中,本人負(fù)責(zé)硬件電路的設(shè)計(jì)與調(diào)試。調(diào)試硬件電路是否能正常工作,以及軟硬件聯(lián)調(diào)。調(diào)試過程主要分為以下幾個(gè)步驟:</p><p> 第一步,首先在硬件電路沒有上電的情況下,檢查PCB板線路是否無誤。對(duì)照硬件電路原理圖,PCB板圖,用萬用表的蜂鳴檔檢查每塊PCB板每條線路是否都導(dǎo)通。檢查+5V、-5V的電源線是否全部連接好,電源和地是否有短路,每個(gè)芯片插座的電源端是否都連接在
102、一起,每個(gè)芯片插座的地端是否都連接在一起。通過細(xì)致的檢查,發(fā)現(xiàn)有些過孔和元件引腳有虛焊的現(xiàn)象,用烙鐵重新焊接,再用萬用表的蜂鳴檔從連通的起始端每個(gè)觸點(diǎn)逐個(gè)檢查,確保線路連通,發(fā)現(xiàn)問題則相應(yīng)地進(jìn)行解決。要注意的是,電源和地一定不能短路。若短路,應(yīng)仔細(xì)檢查線路,并作相應(yīng)改動(dòng)。</p><p> 第二步,調(diào)試單片機(jī)最小系統(tǒng)版。將單片機(jī)最小系統(tǒng)版上電后,首先嘗試使用程序下載軟件向單片機(jī)傳輸程序,并且同時(shí)觀察ALE的信號(hào)
103、變換情況。成功后使用一個(gè)簡單的串口調(diào)試程序測(cè)試單片機(jī)串口是否能夠正常返回?cái)?shù)據(jù)。其能夠正常返回,這說明最小系統(tǒng)正常。</p><p> 第三步,調(diào)試顯示鍵盤模塊。同樣首先下載一個(gè)簡單的顯示程序,確定138、245和數(shù)碼管能夠正常工作。再下載了一個(gè)簡單的掃鍵程序,確定矩陣鍵盤每個(gè)按下都有信號(hào)返回。</p><p> 第四步,調(diào)試FLASH存儲(chǔ)電路。首先調(diào)試FLASH的讀功能。將FLASH上
104、電后,連接至單片機(jī),使用示波器同時(shí)觀察SO和SCK管腳的信號(hào)脈沖情況。從示波器上可以看到,在執(zhí)行了讀命令后,每個(gè)SCK達(dá)到下降沿時(shí),SO信號(hào)有變化,表示芯片正在正常讀取。同時(shí)用數(shù)碼管顯示讀取到的數(shù)據(jù)為F,是芯片資料中的初始值,表示讀取正常。其次,在每次讀寫時(shí),讀取狀態(tài)寄存器的值,看其是否正常。再次,嘗試將數(shù)據(jù)寫入BUFFER1中,使用示波器觀察可以發(fā)現(xiàn),在SCK信號(hào)達(dá)到上升沿時(shí),SI信號(hào)有變化,表示其寫入BUFFER1區(qū)域正常。最后,嘗
105、試將一字節(jié)的數(shù)據(jù)寫入主存儲(chǔ)器某頁,在將其讀出至數(shù)碼管上顯示,可以發(fā)現(xiàn)其能夠正常顯示所期望的數(shù)值,表示FLASH驅(qū)動(dòng)調(diào)試成功。</p><p> 第五步,調(diào)試報(bào)警電路。當(dāng)給三極管的基集高電平時(shí),三極管導(dǎo)通,小燈亮。低電平時(shí)不導(dǎo)通,小燈滅。說明報(bào)警模塊正常。</p><p> 第六步,調(diào)試步進(jìn)電機(jī)控制模塊。先用示波器觀察步進(jìn)電機(jī)四條信號(hào)線,看其信號(hào)是否與所給的理論信號(hào)相同。再接入步進(jìn)電機(jī),
106、其能夠正常轉(zhuǎn)動(dòng),說明步進(jìn)電機(jī)控制電路正常工作。</p><p> 5.2 系統(tǒng)軟硬件聯(lián)調(diào)</p><p> 軟硬件聯(lián)調(diào)時(shí),使用PC上的上位機(jī)傳輸軟件向下位機(jī)傳輸數(shù)據(jù)??梢栽赑C界面上觀察到返回的行列值以及花型數(shù)據(jù)。同時(shí)測(cè)試下位機(jī)的查詢和修改功能,發(fā)現(xiàn)其可以正常工作,顯示出正常的花型數(shù)據(jù)和對(duì)應(yīng)的行列數(shù)。按下斷油、斷針、斷線模擬報(bào)警按鈕時(shí),報(bào)警小燈亮起,系統(tǒng)停止工作直到有消除報(bào)警信號(hào)輸入,
107、系統(tǒng)才能夠繼續(xù)正常工作。以上說明提花毛皮機(jī)的花型準(zhǔn)備系統(tǒng)能夠正常工作。同時(shí)在從單片機(jī)的上位機(jī)管理軟件中,可以向下位機(jī)傳輸轉(zhuǎn)速、轉(zhuǎn)角數(shù)據(jù),并且從單片機(jī)也可以正常識(shí)別并調(diào)整步進(jìn)電機(jī)的轉(zhuǎn)速、轉(zhuǎn)角。這說明提花毛皮機(jī)的步進(jìn)電機(jī)控制系統(tǒng)可以正常工作。</p><p><b> 6 總結(jié)與體會(huì)</b></p><p> 這次畢業(yè)設(shè)計(jì)從原理圖設(shè)計(jì),PCB板圖的設(shè)計(jì),總體電路的完
108、成,到最后的軟件硬件的聯(lián)調(diào)。雖然出現(xiàn)了一些問題,但經(jīng)過老師的悉心指導(dǎo)和同學(xué)們的幫助,并結(jié)合學(xué)過的理論知識(shí),將出現(xiàn)的問題一一解決。畢業(yè)設(shè)計(jì)的實(shí)踐性很強(qiáng),通過畢業(yè)設(shè)計(jì),使得我們對(duì)專業(yè)課程的理論認(rèn)識(shí)上升到實(shí)踐階段,提高了我們的動(dòng)手能力與綜合所學(xué)知識(shí)并應(yīng)用到實(shí)踐的能力。同時(shí),畢業(yè)設(shè)計(jì)的分工也培養(yǎng)了同學(xué)之間的團(tuán)隊(duì)合作能力與統(tǒng)籌規(guī)劃能力。</p><p> 一個(gè)學(xué)期的畢設(shè),有成功,有失敗。成功激勵(lì)著我們不斷前進(jìn),而失敗使我
109、們獲得寶貴的經(jīng)驗(yàn),這些經(jīng)驗(yàn)不經(jīng)過實(shí)踐是無法得到的。這次畢業(yè)設(shè)計(jì)最大的收獲就是能夠?qū)W以致用,理論與實(shí)踐相結(jié)合,并能根據(jù)實(shí)踐加深對(duì)理論的理解,提高了自己發(fā)現(xiàn)問題、分析問題、解決問題的能力,獲益匪淺。</p><p> 這次設(shè)計(jì)采用了FLASH存儲(chǔ)芯片進(jìn)行數(shù)據(jù)存取,由于以前沒有使用FLASH存儲(chǔ)芯片的經(jīng)驗(yàn),此次設(shè)計(jì)讓我們學(xué)到了不少關(guān)于FLASH存儲(chǔ)芯片使用的新知識(shí)。此次設(shè)計(jì)采用C語言進(jìn)行編程,而以往都是采用匯編語言進(jìn)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 提花毛皮機(jī)花型輸入系統(tǒng)的硬件設(shè)計(jì)畢業(yè)設(shè)計(jì)
- 提花機(jī)花型設(shè)計(jì)系統(tǒng)的研究與開發(fā).pdf
- 基于USB技術(shù)的人造提花毛皮機(jī)花型數(shù)據(jù)傳輸系統(tǒng)的研究.pdf
- 提花面料花型設(shè)計(jì)任務(wù)
- 基于CAN總線的提花毛皮機(jī)控制系統(tǒng)的研究.pdf
- 畢業(yè)設(shè)計(jì)(論文)-液位測(cè)控系統(tǒng)的單片機(jī)硬件設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)(論文)-液壓卷花機(jī)液壓系統(tǒng)設(shè)計(jì)(全套圖紙)
- 毛皮沖孔機(jī)的設(shè)計(jì)
- 提花織物花型預(yù)處理系統(tǒng).pdf
- 畢業(yè)設(shè)計(jì)(論文)-藍(lán)牙耳機(jī)的硬件系統(tǒng)設(shè)計(jì)
- 節(jié)能型電子提花機(jī)控制系統(tǒng)設(shè)計(jì).pdf
- 機(jī)械畢業(yè)論文---毛皮沖孔機(jī)的設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)--二軸聯(lián)動(dòng)數(shù)控裱花機(jī)自動(dòng)編程系統(tǒng)設(shè)計(jì)
- 滌棉混紡提花織物設(shè)計(jì)與生產(chǎn)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---基于單片機(jī)的瓦斯監(jiān)控的硬件設(shè)計(jì)
- 人造毛皮提花機(jī)控制系統(tǒng)技術(shù)研究.pdf
- 畢業(yè)設(shè)計(jì)-----智能插座控制系統(tǒng)的硬件設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---超聲波測(cè)距系統(tǒng)的硬件設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)--室內(nèi)采暖溫度檢測(cè)系統(tǒng)硬件設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)--智能溫度控制系統(tǒng)硬件設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論