版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 摘要</b></p><p> 由于單片機(jī)在工控領(lǐng)域的優(yōu)點(diǎn),使以單片機(jī)為內(nèi)核的控制器在生產(chǎn)生活中得到了廣泛的應(yīng)用。本文對基于單片機(jī)的水處理控制系統(tǒng)進(jìn)行研究。</p><p> 正文針對應(yīng)用于系統(tǒng)的單片機(jī)器件的功能,原理和實(shí)現(xiàn)電路作了介紹。系統(tǒng)軟件設(shè)計(jì)采用面向過程的結(jié)構(gòu)化設(shè)計(jì)語言C語言實(shí)現(xiàn)硬件的工作。本文撰寫的主導(dǎo)思想是軟、硬件相結(jié)合,
2、以硬件為基礎(chǔ),來進(jìn)行各功能模塊的編寫。</p><p> 關(guān)鍵詞:單片機(jī),水處理控制器,7289.</p><p><b> Astract</b></p><p> Because of the advantage of microcontroller on controlling ,microcontroller is made la
3、rge use in produce. This text to basic proceeded the research in Micro Controller Unit water handling control system.</p><p> The text inside introduces functions ,principles and circuits of appliances of M
4、icro Controller Unit. The predominance thought that this text compose is soft, the hardware combines together, regarding hardware as the foundation, proceed the plait of each function mold piece write.</p><p&g
5、t; Keywords: Micro Controller Unit water purified controller 7289</p><p><b> 目 錄</b></p><p> The Design Of A Water purified Controller1</p><p><b> 緒 論2
6、</b></p><p> 第一部分 系統(tǒng)設(shè)計(jì)說明3</p><p> 一.水處理控制器介紹3</p><p> 二.系統(tǒng)的設(shè)計(jì)思路6</p><p> 第二部分 工程模塊的建立7</p><p> 一.CPU的選擇7</p><p><b>
7、 二.鍵盤控制10</b></p><p><b> 三.復(fù)位18</b></p><p><b> 四.中斷 18</b></p><p> 五,程序簡析 21</p><p> 第三部分 畢業(yè)設(shè)計(jì)的收獲26</p><p><b&g
8、t; 參考文獻(xiàn):26</b></p><p><b> 緒 論</b></p><p> 單片微型計(jì)算機(jī)(Single Chip Microcomputer)簡稱單片機(jī),它是把微型計(jì)算機(jī)的各個(gè)功能部件:中央處理器CPU、隨機(jī)存儲器RAM、只讀存儲器ROM、定時(shí)/計(jì)數(shù)器及I/O接口電路等集成在一塊芯片上,構(gòu)成一個(gè)完整的微型計(jì)算機(jī)。</p>
9、;<p> 單片機(jī)以其卓越的性能,得到了廣泛的應(yīng)用,已深入到各個(gè)領(lǐng)域。單片機(jī)在控制領(lǐng)域中,具有如下特點(diǎn):</p><p> 單片機(jī)具有體積小、控制功能強(qiáng)、成本低等特點(diǎn),因而可方便地組裝各種智能式控制設(shè)備和儀器,做到機(jī)、電、儀一體化。</p><p> 易擴(kuò)展,很容易構(gòu)成各種規(guī)模的應(yīng)用系統(tǒng),為應(yīng)用系統(tǒng)的設(shè)計(jì)和生產(chǎn)帶來極大的方便。</p><p>
10、 可靠性好,適用溫度范圍寬,在各種惡劣的環(huán)境下都能可靠工作,這是其他機(jī)種無法比擬的。</p><p> 可以方便地實(shí)現(xiàn)多機(jī)和分布式控制,從而使整個(gè)控制系統(tǒng)的效率和可靠性大為提高</p><p> 隨著社會(huì)對環(huán)保工作的要求不斷提高,以及工業(yè)對節(jié)能高效低耗的不斷追求,水處理的新工藝新設(shè)備不斷涌現(xiàn)。隨之,對控制系統(tǒng)的要求也不斷提高,由以往的手動(dòng)控制改為自動(dòng)控制。單片機(jī)由于其自身的特點(diǎn)使其在水
11、處理控制領(lǐng)域有了很大的發(fā)展。</p><p> 此次設(shè)計(jì)的控制系統(tǒng)主要用于鍋爐用水的軟化。眾所周知,自然界中的水中含有大量的鈣,鎂離子,這些陽離子使得水硬度很高,很容易在加入的時(shí)候沉淀出來,形成結(jié)垢現(xiàn)象,結(jié)垢不僅會(huì)使鍋爐的效率降低,同時(shí)當(dāng)結(jié)垢達(dá)到一定厚度時(shí)還會(huì)造成安全隱患,發(fā)生爆炸。</p><p> 因此國家有規(guī)定鍋爐的用水必須經(jīng)過軟化處理后方可使用。</p><
12、p> 所以,本次畢業(yè)設(shè)計(jì)的對象為鍋爐水處理控制系統(tǒng)的控制器。設(shè)計(jì)中選取的C8051F221器件是完全集成的混合系統(tǒng)級MCU芯片,使用Cygnal的專利CIP-51TM位控制器內(nèi)核。CIP-51與8051完全兼容,結(jié)構(gòu)上采用流水線結(jié)構(gòu),與標(biāo)準(zhǔn)的8051結(jié)構(gòu)相比指令執(zhí)行速度有很大的提高,而且在微控制器的內(nèi)部和外部有幾項(xiàng)關(guān)鍵性的改進(jìn),提高了整體性能,更易于在最終應(yīng)用中使用。在設(shè)計(jì)中用可讀性強(qiáng)的C語言在相應(yīng)環(huán)境下進(jìn)行程序設(shè)計(jì),調(diào)試并進(jìn)行
13、仿真測試以實(shí)現(xiàn)所需功能。</p><p> 第二章 系統(tǒng)設(shè)計(jì)說明</p><p> 一. 水處理控制器的介紹</p><p> 1. 水處理的工藝流程</p><p> 此控制器的控制對象為四工位平面閥為:</p><p> 松床位,再生位,置換位和清洗位。工藝流程示意圖如下:</p><
14、;p><b> 電機(jī)轉(zhuǎn)動(dòng)換位</b></p><p> 電機(jī)轉(zhuǎn)動(dòng)換位 電機(jī)轉(zhuǎn)動(dòng)換位</p><p> 電機(jī)轉(zhuǎn)動(dòng)換位 </p><p> 1#為進(jìn)水閥,3#為再生閥。</p><p&g
15、t; 圖1-1. 水處理工藝流程</p><p> 具體工作過程是:程序啟動(dòng),開始運(yùn)行初始位默認(rèn)為松床位,按工位順序進(jìn)行依次是再生 置換 清洗。進(jìn)水閥開關(guān)由水位控制,低水位開,高水位關(guān)。換位時(shí)電機(jī)轉(zhuǎn)動(dòng),進(jìn)水閥關(guān)。再生閥是再生位開始打開,結(jié)束時(shí)關(guān)。</p><p><b> 2.工作原理</b></p><p> 系統(tǒng)可以通過手動(dòng)控制實(shí)現(xiàn)
16、換位,在正常工作狀態(tài)下是自動(dòng)運(yùn)行的,換位是由電機(jī)轉(zhuǎn)動(dòng)完成。原理圖如下:</p><p> 圖1-2. 換位原理</p><p><b> 3.人機(jī)界面</b></p><p> 為了便于生產(chǎn)過程中的操作設(shè)計(jì)出相應(yīng)的人機(jī)界面,使各過程可以在可視狀態(tài)下進(jìn)行。單片機(jī)的CPU及擴(kuò)展應(yīng)用的7289使界面的按鍵,數(shù)碼管和指示燈控制相應(yīng)的工作狀態(tài),顯示
17、相應(yīng)工作過程。其示意圖如下,其中復(fù)位鍵按下顯示初始狀態(tài),選位鍵與〈鍵結(jié)合可選工位,確定鍵確定相應(yīng)設(shè)定,∧鍵用來移位。</p><p><b> 圖1-3.人機(jī)界面</b></p><p><b> 4.系統(tǒng)實(shí)現(xiàn)功能</b></p><p> 4.1 具有記憶、保護(hù)功能</p><p> 停電
18、時(shí)可自動(dòng)記憶當(dāng)前狀態(tài);來電時(shí)自動(dòng)烣復(fù)停電前原狀態(tài)繼續(xù)運(yùn)行;</p><p> 2)無電情況下,芯片內(nèi)部數(shù)據(jù)可保存10年。</p><p> 4.2 具有水位自動(dòng)檢測、控制和自動(dòng)報(bào)警、保護(hù)、提示功能</p><p> 當(dāng)水位超高時(shí),6秒后水位高限紅燈亮,自動(dòng)停運(yùn),水位恢復(fù)正常后紅燈滅、系統(tǒng)進(jìn)入保護(hù)、工位循環(huán)停止,直至水位降到設(shè)定低位,恢復(fù)工位循環(huán),水位降至低于低
19、位超過30秒,低限紅燈亮,水箱缺水,但工位循環(huán)繼續(xù)進(jìn)行,提醒運(yùn)行人員前去檢查處理;</p><p> 自動(dòng)電機(jī)定位,若電機(jī)轉(zhuǎn)動(dòng)換位過程中,被卡大于90秒,無霍爾元件到位信號,則過載燈亮,蜂鳴器發(fā)出警報(bào)聲,工位循環(huán)停,提醒運(yùn)行人員前去檢查處理;</p><p> 選位功能,可隨意的進(jìn)行人為工位選擇;復(fù)位功能,可立即清除當(dāng)前數(shù)據(jù),返回初始狀態(tài);</p><p>&l
20、t;b> 鍵盤防誤功能;</b></p><p> ?。ㄒ唬╅_、關(guān)機(jī)及復(fù)位</p><p> 按電源開關(guān)鍵,控制器自動(dòng)按前次停機(jī)時(shí)記憶工位及剩余時(shí)間開始工作。</p><p> 再按電源開關(guān)鍵,控制器記憶當(dāng)前狀態(tài),并停止工作。</p><p> 運(yùn)行時(shí),按住復(fù)位2秒不放,數(shù)碼管顯示RST,控制器各工位時(shí)間全置為出廠時(shí)
21、設(shè)定的原始數(shù)據(jù),從松床開始工作。</p><p> ?。ǘ?shù)碼管顯示和流程時(shí)間修改</p><p> 工位及流程代碼表1-1</p><p> 按鍵及數(shù)碼管顯示功能表1-2</p><p><b> (三)工位時(shí)間修改</b></p><p> 流程時(shí)間修改時(shí)不用停止當(dāng)前循環(huán),可在任何運(yùn)
22、行狀態(tài)或電機(jī)轉(zhuǎn)動(dòng)狀態(tài)下進(jìn)行,修改完成后按下確認(rèn)鍵返回當(dāng)前狀態(tài),在修改過程中,不會(huì)影響當(dāng)前的運(yùn)行狀態(tài)。如果在修改狀態(tài)下,15秒不觸動(dòng)任何鍵即返回當(dāng)前狀態(tài)。</p><p><b> 修改方法:</b></p><p> 1、定個(gè)位數(shù)字:按住 確認(rèn)鍵2秒不放,左第1數(shù)碼管顯示流程代碼,右邊三位數(shù)碼管顯示該代碼下的參數(shù)值,右邊第1數(shù)碼管“閃動(dòng)”, 按“∧”鍵 ,每按一次
23、,或按住不放,數(shù)字自0至9循環(huán)遞增變化 ,松手即停,按到要設(shè)定的個(gè)位數(shù)字后松手; </p><p> 2、定十位數(shù)字:按 “<” 進(jìn)位鍵,十位數(shù)字“閃動(dòng)”,再按“∧”鍵,十位數(shù)字自0至9循環(huán)遞增變化 ,按到要設(shè)定的十位數(shù)字后松手;</p><p> 3、定百位數(shù)字:方法同上; </p><p> 4、進(jìn)入下一個(gè)流程:再按確定鍵,左第1數(shù)碼管顯示下一個(gè)流程
24、代碼,再重復(fù)上面方法修改時(shí)間,直至6個(gè)流程時(shí)間修改完;</p><p> 5、進(jìn)入運(yùn)行狀態(tài):最后一個(gè)參數(shù)設(shè)置后,按確定鍵確認(rèn),這時(shí)左第1數(shù)碼管顯示原柱號,數(shù)碼管停止閃動(dòng),進(jìn)入原流程時(shí)間設(shè)定狀態(tài)繼續(xù)運(yùn)行;</p><p> 6、參數(shù)設(shè)置無效:設(shè)置流程時(shí)間參數(shù)未全部完成,如果15秒內(nèi)沒有按下確定鍵,則程序自動(dòng)返回運(yùn)行狀態(tài)顯示,且本次參數(shù)設(shè)置無效,按原參數(shù)運(yùn)行; </p>
25、;<p> 7、修改完后的流程時(shí)間不會(huì)立即見效,下一流程才按設(shè)定參數(shù)執(zhí)行, 如果要使設(shè)定狀態(tài)</p><p> 立即進(jìn)入運(yùn)行,要按下面(三)①選位方法,使它進(jìn)入原柱號原工位,則控制器按新設(shè)置的參數(shù)運(yùn)行。</p><p> 檢查各流程時(shí)間方法: 按確定鍵 左第1數(shù)碼管顯示流程代碼, 右邊三個(gè)數(shù)碼管顯示該代碼下的參數(shù)值,按一次確定鍵,進(jìn)入下一流程,直到最后一流程參數(shù),再按確
26、定鍵,進(jìn)入運(yùn)行顯示,如果15秒內(nèi)后沒有按下確定鍵 ,則自動(dòng)返回運(yùn)行顯示。</p><p><b> ?。ㄋ模┻x位操作</b></p><p><b> 1 、選位鍵作用:</b></p><p> ?、儆檬謩?dòng)方法使控制器顯示工位與多路閥工位一致,或使它進(jìn)入需要的工位</p><p> ?、谂懦姍C(jī)
27、卡住故障或電機(jī)轉(zhuǎn)動(dòng)換工位用;</p><p><b> 2 、選位操作</b></p><p> 按住選位鍵2秒不放,右邊三個(gè)數(shù)碼管中中間一個(gè)顯示當(dāng)前工位代碼,左第1數(shù)碼管顯示柱號,即進(jìn)入選位狀態(tài)。按“∧”鍵,代碼變到下一個(gè),按下確定鍵,退出選位狀態(tài),就進(jìn)入選定工位;</p><p><b> 3 、電機(jī)轉(zhuǎn)位操作</b&g
28、t;</p><p> 按選位鍵2秒不放,右邊三個(gè)數(shù)碼管中中間一個(gè)顯示當(dāng)前工位代碼,按“<”鍵,電機(jī)開始轉(zhuǎn)動(dòng),直到霍爾發(fā)出到位信號,電機(jī)自動(dòng)停止,按“∧”鍵代碼變到下一個(gè)工位,按確定鍵,退出轉(zhuǎn)位操作,返回運(yùn)行狀態(tài);</p><p> 4、電機(jī)卡住故障處理</p><p> 電機(jī)卡住時(shí),應(yīng)先排除故障,再進(jìn)行電機(jī)轉(zhuǎn)位操作;</p><p&
29、gt; 5、同時(shí)進(jìn)行選位和電機(jī)轉(zhuǎn)位操作</p><p> 在選位狀態(tài)時(shí),可同時(shí)進(jìn)行選位和電機(jī)轉(zhuǎn)位操作。當(dāng)前在第一工位,要轉(zhuǎn)換到第三工位,同時(shí)電機(jī)也要轉(zhuǎn)位到第三工位,可進(jìn)行如下的操作:按“∧”鍵,代碼變?yōu)?,再按“∧”鍵,代碼變?yōu)?;按下“<”鍵,電機(jī)開始轉(zhuǎn)動(dòng),直到霍爾發(fā)出到位信號,電機(jī)自動(dòng)停止,再按一下“<”鍵,電機(jī)開始轉(zhuǎn)動(dòng),直到霍爾發(fā)出到位信號,電機(jī)自動(dòng)停止,再按下確定鍵,退出轉(zhuǎn)位操作,返回運(yùn)行
30、狀態(tài),控制器即第三工位開始運(yùn)行。</p><p><b> 二.系統(tǒng)的設(shè)計(jì)思路</b></p><p><b> 1.設(shè)計(jì)方案</b></p><p> 水處理控制器的功能框圖如下所示</p><p><b> 圖1-4.功能框圖</b></p><
31、p> 根據(jù)這個(gè)功能框圖可以看出,單片機(jī)要完成的主要任務(wù)是通過I/O口實(shí)現(xiàn)鍵盤功能,通過I/O口和總線擴(kuò)展實(shí)現(xiàn)顯示功能,通過I/O口或A/D轉(zhuǎn)換實(shí)現(xiàn)電機(jī)控制和水位檢測功能。通過軟件的中斷設(shè)置和單片機(jī)外中斷設(shè)置,來設(shè)置蜂鳴器和工作的優(yōu)先級。</p><p><b> 2.設(shè)計(jì)步驟</b></p><p> (1).選擇符合要求的器件</p>&l
32、t;p> (2).充分了解個(gè)器件的功能和原理并掌握其實(shí)現(xiàn)電路</p><p><b> ?。?).設(shè)計(jì)電路</b></p><p><b> ?。?).程序設(shè)計(jì)</b></p><p> 第二部分 工程模塊的建立</p><p><b> 一.選擇 CPU </b>
33、</p><p> 根據(jù)設(shè)計(jì)要求選擇C8051F2XX系列器件型號為F221的單片機(jī)用CIP-51TM 微控制器內(nèi)核。</p><p><b> 1.總體結(jié)構(gòu)</b></p><p> 所選CPU與8051完全兼容,結(jié)構(gòu)上與之相同,都具有以下結(jié)構(gòu):</p><p> 8位CPU,片內(nèi)時(shí)鐘振蕩。</p>
34、<p> 4KB程序存儲器,片內(nèi)低128B數(shù)據(jù)存儲器RAM。</p><p> 可尋址外部存儲器和數(shù)據(jù)存儲器空間各64KB。</p><p> 片內(nèi)有21個(gè)特殊功能寄存器SFR。</p><p> 4個(gè)8 為并行I/O口,1個(gè)全雙工串行口。</p><p> 2個(gè)16位定時(shí)器/ 計(jì)數(shù)器。</p><
35、p> 5個(gè)中斷元,2個(gè)中斷優(yōu)先級。</p><p> 為尋址功能,適用于布爾處理的位處理機(jī)。</p><p> 除此之外,它提高了指令執(zhí)行的速度和整體性能,更適于在最終應(yīng)用中使用。</p><p><b> 結(jié)構(gòu)圖如下:</b></p><p><b> 圖2-1.結(jié)構(gòu)圖</b>&l
36、t;/p><p><b> 2.引腳定義及功能</b></p><p> C8051F221是32引腳的方形封裝方式集成電路芯片,引腳排列如圖:</p><p><b> 圖2-2. 引腳圖</b></p><p> 從引腳功能來看,可將引腳分為3個(gè)部分。</p><p>
37、;<b> 電源及時(shí)鐘引腳</b></p><p><b> VDD:數(shù)字電源</b></p><p><b> GND:接地</b></p><p> XTAL1和XTAL2:時(shí)鐘引腳,外接晶體引線端。當(dāng)使用芯片內(nèi)部時(shí)鐘是,此引腳段用于外接石英晶體和微調(diào)電容;當(dāng)使用外部時(shí)鐘時(shí),用于接外部時(shí)鐘
38、脈沖信號。</p><p><b> 控制引腳</b></p><p> /RST:芯片復(fù)位。當(dāng)RST輸入端保持2 個(gè)極其周期以上高電平是,單片機(jī)完成復(fù)位。</p><p><b> VREF:電壓基準(zhǔn)</b></p><p> CP0+:比較器0的正相輸入端 </p><
39、;p> CP0-:比較器0的反相輸入端</p><p> CP0:比較器0的輸出端 </p><p> CP1+:比較器1的正相輸入端</p><p> CP1-:比較器1的反相輸入端</p><p> CP1:比較器1的輸出端</p><p><b> I/O口引腳</b>&l
40、t;/p><p> P0.0~P0.7:P0口8位雙向I/O口</p><p> P1.0~P1.7:P1口8位準(zhǔn)雙向I/O口</p><p> P2.0~P2.7:P2口8位準(zhǔn)雙向I/O口</p><p> P3.0~P3.7:P3口8位準(zhǔn)雙向I/O口。</p><p><b> 程序設(shè)計(jì)中的定義&l
41、t;/b></p><p> 在程序設(shè)計(jì)中要對應(yīng)用的I/O口引腳進(jìn)行定義,本設(shè)計(jì)應(yīng)用到的輸入輸出端口有P0,P 1,P2,P3的部分口,原程序代碼下:, //CPU與7289通訊用端口定義</p><p> sbit key=P2^2; </p>&
42、lt;p> sbit cs=P2^3;</p><p> sbit clk=P2^0;</p><p> sbit dio=P2^1;</p><p><b> // 輸出部分定義</b></p><p> sbit Mt=P0^0;</p><p> sbit bFM=P2^4
43、;</p><p> sbit ZSF=P1^7; //3#再生閥,底電平繼電器吸合</p><p> sbit JSF1=P1^6; //1#進(jìn)水閥,底電平繼電器吸合</p><p><b> //顯示燈的定義</b></p><p> sbit CDXD=P2^5; //清洗燈</p>
44、<p> //輸入部分端口定義</p><p> sbit MPosCur1=P0^2;</p><p> sbit MPosCur=P0^2;</p><p> sbit WaterLS=P0^3;</p><p> sbit WaterHS=P0^4;</p><p> sbit WaterH
45、S1=P0^4;</p><p> sbit WaterLS1=P0^3;</p><p> 二. 鍵盤控制器(ZLG7289)</p><p> 1.ZLG7289的主要特性</p><p> 很寬的工作電壓范圍:+2.7~6V</p><p> 直接驅(qū)動(dòng)8位共陰式數(shù)碼管或64只獨(dú)立的LED</p&g
46、t;<p> 能夠管理64只按鍵,自動(dòng)消除抖動(dòng)</p><p> 段電流可達(dá)15mA以上,自電流可達(dá)100mA </p><p> 利用功率電路可以方便的驅(qū)動(dòng)1英寸以上的大型數(shù)碼管</p><p> 具有左移,右移,閃爍,消隱,斷點(diǎn).亮等強(qiáng)大功能</p><p> 要顯示的數(shù)據(jù)提供有兩種不同的譯碼方式</p>
47、;<p> 不接數(shù)碼管而僅使用鍵盤管理功能時(shí),工作電流可降至3mA</p><p> 與微控制器之間采用SPI串行總線接口,操作方便,占用I/O資源少</p><p> 工作溫度范圍:-40~+85 0 C</p><p> 封裝:SOP-28,DIP-28。</p><p> 2.引腳圖及功能介紹</p>
48、<p> 圖2-3.ZLG7289引腳</p><p><b> 表2-1.引腳功能</b></p><p><b> 3.應(yīng)用電路及簡析</b></p><p> 硬件設(shè)計(jì)中的電路設(shè)計(jì)如下: </p><p><b> 圖2-4.應(yīng)用電路</b><
49、;/p><p> 為了使電源更加穩(wěn)定,一般要在Vcc 到GND 之間接入47~470uF的電解電容。J1 是ZLG7289B 與微控制器的接口。晶振Y1 取4~16MHz,調(diào)節(jié)電容C3 和</p><p> C4 通常取值在10pF 左右。復(fù)位信號是低電平有效,一般只需外接簡單的RC 復(fù)位電路,也可以通過直接拉低RST 引腳的方法進(jìn)行復(fù)位。數(shù)碼管必須是共陰式的,不能直接使用共陽式的。DPY
50、1 和DPY2 是4 位聯(lián)體式數(shù)碼管,共同組成完整的8 位。數(shù)碼管在工作時(shí)要消耗較大的電流,R9~R16 是限流電阻,典型值是270Ω。64 只按鍵中,左下角是K0,右上角是K63。為了使鍵盤掃描得以正常進(jìn)行,下拉電阻R1~R8 和位選電阻R17~R24 是必須的。它們之間還要遵從一定的比例關(guān)系,比值在5:1到50:1 之間,典型值是10:1。下拉電阻取值范圍在10~100KΩ,位選電阻取值范圍在1~10KΩ。在多數(shù)應(yīng)用當(dāng)中可能用不到太
51、多的按鍵,建議按列裁減鍵盤,則相應(yīng)列的位選電阻可以省略。但是下拉電阻一個(gè)都不能省去,除非完全不使用鍵盤。</p><p> 4. SPI 串行接口信號</p><p> ZLG7289B 與微控制器的接口采用3 線制SPI 串行總線,由CS、CLK 和DIO 這3 根信號線組成。CS 和CLK 是輸入信號,由微控制器提供。DIO 信號是雙向的,必須接到微控制器上具有雙向功能的I/O 上
52、。SPI 信號線的具體意義請參見下表:</p><p> ?。?) SPI 總線時(shí)序圖</p><p> 操作SPI 總線的時(shí)序圖請參見圖1、圖.2 和圖3。其中圖3 是讀按鍵值的時(shí)序圖,只有當(dāng)INT 引腳出現(xiàn)下跳沿時(shí)才允許去讀取按鍵值,否則將得不到有意義的數(shù)據(jù)。</p><p> 圖2-4.SPI時(shí)序圖</p><p><b>
53、; 5 控制指令詳解</b></p><p> ZLG7289B 的控制指令分為單字節(jié)純指令和雙字節(jié)帶數(shù)據(jù)指令兩大類。</p><p><b> 1 單字節(jié)純指令</b></p><p> 所有這些指令的長度都是1 個(gè)字節(jié)。執(zhí)行這一類指令時(shí),不需要附帶任何其它數(shù)據(jù)。</p><p> (1) 復(fù)位(
54、清除)指令</p><p> 這時(shí)一條軟復(fù)位指令,執(zhí)行后會(huì)將數(shù)碼管所有的顯示內(nèi)容清除掉,原先設(shè)置的所有閃爍、消隱等屬性也一并被清除,就像硬件復(fù)位一樣。</p><p><b> (2) 測試指令</b></p><p> 該指令使所有的數(shù)碼管各段包括小數(shù)點(diǎn)在內(nèi)全部點(diǎn)亮,并處于不斷閃爍之中。這條指令可用于生產(chǎn)測試,以確定ZLG7289B 或
55、數(shù)碼管是否有問題。</p><p><b> (3) 左移指令</b></p><p> 該指令使數(shù)碼管所有的顯示自右向左移動(dòng)一位(以第3 章中圖3.1 的接法為準(zhǔn)),處于閃爍和消隱狀態(tài)的顯示位也一起被移動(dòng)。原來最左邊的顯示數(shù)據(jù)被移出后自動(dòng)丟棄,最右邊的一位用無任何顯示的空白代替。每執(zhí)行一次該指令,就左移一位。</p><p><b&
56、gt; (4) 右移指令</b></p><p> 與左移指令類似,執(zhí)行該指令后,數(shù)碼管的數(shù)據(jù)顯示向右移動(dòng)一位,原來最右邊的一位被丟棄,而最左邊的一位用空白代替。</p><p> (5) 循環(huán)左移指令</p><p> 與左移指令類似,但原來最左邊被移出的顯示數(shù)據(jù)不是被丟棄,而是補(bǔ)在最右邊。</p><p> 執(zhí)行一次
57、循環(huán)左移指令后,顯示就變成了:</p><p> (6) 循環(huán)右移指令</p><p> 與右移指令類似,但原來最右邊被移出的顯示數(shù)據(jù)不是被丟棄,而是補(bǔ)在最左邊。</p><p> 2 雙字節(jié)帶數(shù)據(jù)指令</p><p> 所有這些指令的長度都是2 個(gè)字節(jié)。第1 字節(jié)是命令字,第2 字節(jié)是輸入或輸出的數(shù)據(jù)。</p><
58、;p> (1) 下載數(shù)據(jù)并且按方式0 進(jìn)行譯碼</p><p> 在指令格式中,高5 位的10000 是命令字段;a2a1a0 是數(shù)碼管顯示數(shù)據(jù)的位地址,位地址編號按從左到右的順序依次為0、1、2、3、4、5、6、7;dp控制小數(shù)點(diǎn)是否顯示,dp=0 時(shí)該位的小數(shù)點(diǎn)被點(diǎn)亮,dp=1 時(shí)該位的小數(shù)點(diǎn)被熄滅;xxx是無關(guān)位;d3d2d1d0 是要顯示的數(shù)據(jù)。顯示數(shù)據(jù)按照下表中的規(guī)則進(jìn)行譯碼:</p&g
59、t;<p> (2) 下載數(shù)據(jù)并且按方式1 進(jìn)行譯碼</p><p> 在指令格式中,高5 位的11001 是命令字段;a2a1a0 是數(shù)碼管顯示數(shù)據(jù)的位地址,位地址編號按從左到右的順序依次為0、1、2、3、4、5、6、7;dp控制小數(shù)點(diǎn)是否顯示,dp=0 時(shí)該位的小數(shù)點(diǎn)被點(diǎn)亮,dp=1 時(shí)該位的小數(shù)點(diǎn)被熄滅;xxx是無關(guān)位;d3d2d1d0 是要顯示的數(shù)據(jù)。</p><p&
60、gt; (3) 下載數(shù)據(jù)但不譯碼</p><p> 在指令格式中,高5 位的10010 是命令字段;a2a1a0 是數(shù)碼管顯示數(shù)據(jù)的位地址,位地址編號按從左到右的順序依次為0、1、2、3、4、5、6、7;dp控制小數(shù)點(diǎn)是否顯示,dp=0 時(shí)該位的小數(shù)點(diǎn)被點(diǎn)亮,dp=1 時(shí)該位的小數(shù)點(diǎn)被熄滅;abcdefg對應(yīng)數(shù)碼管內(nèi)部的7 個(gè)LED 字段。不譯碼的數(shù)據(jù)下載方式給用戶提供了最大的靈活性,dp 連同abcdefg
61、 一共有256 種不同的組合,想怎樣顯示就怎樣顯示。</p><p><b> (4) 閃爍控制</b></p><p> 該指令控制數(shù)碼管各位的閃爍屬性。在指令格式中,第1 字節(jié)是命令字段;第2 字節(jié)的d7d6d5d4d3d2d1d0 分別對應(yīng)數(shù)碼管的第7 至第0 位,0-閃爍,1-不閃爍。復(fù)位后,所有位都不閃爍。</p><p><
62、;b> (5) 消隱控制</b></p><p> 該指令控制數(shù)碼管各位的消隱屬性。在指令格式中,第1 字節(jié)是命令字段;第2 字節(jié)的d7d6d5d4d3d2d1d0 分別對應(yīng)數(shù)碼管的第0 至第7 位,0-消隱,1-顯示。復(fù)位后,所有位都不消隱。</p><p><b> (6) 段點(diǎn)亮指令</b></p><p> 該
63、指令可以單獨(dú)點(diǎn)亮數(shù)碼管中的某一指定的段,或者LED 矩陣中某一指定的LED。在指令格式中,第1 字節(jié)是命令字段;xx 表示無關(guān)位;d5d4d3d2d1d0 是6 位段地址。在某位數(shù)碼管里,各段的點(diǎn)亮順序按照“g,f,e,d,c,b,a,dp”進(jìn)行。</p><p><b> (7) 段關(guān)閉指令</b></p><p> 該指令可以單獨(dú)熄滅數(shù)碼管中的某一指定的段,或
64、者LED 矩陣中某一指定的LED。在指令格式中,第1 字節(jié)是命令字段;xx 表示無關(guān)位;d5d4d3d2d1d0 是6 位段地址。在某位數(shù)碼管里,各段的關(guān)閉順序按照“g,f,e,d,c,b,a,dp”進(jìn)行。</p><p> (8) 讀鍵盤數(shù)據(jù)指令</p><p> 當(dāng)有鍵按下時(shí),ZLG7289B 的INT 引腳會(huì)變成低電平。這時(shí)利用該指令可以讀出當(dāng)前的鍵值。與其它帶數(shù)據(jù)指令不同的是,
65、第2 字節(jié)是ZLG7289B 向微控制器返回的鍵值,而不是輸入數(shù)據(jù)。正常情況下,鍵值的范圍是0~63(00H~3FH),無按鍵的狀態(tài)用255(FFH)表示。</p><p> 6.原程序中的相應(yīng)程序代碼</p><p> void send(char sebuf)</p><p><b> {</b></p><p&g
66、t;<b> char i;</b></p><p><b> TR2=0;</b></p><p><b> TR0=0;</b></p><p> com_data=sebuf;</p><p><b> clk=0;</b></p&g
67、t;<p><b> cs=0;</b></p><p> delay_50us();</p><p> for(i=0;i<8;i++)</p><p><b> {</b></p><p> delay_8us();</p><p> di
68、o=mos_bit;</p><p><b> clk=1;</b></p><p> delay_8us();</p><p> com_data=com_data<<1;</p><p><b> clk=0;</b></p><p><b>
69、; }</b></p><p><b> dio=0;</b></p><p><b> TR2=1;</b></p><p><b> TR0=1;</b></p><p><b> }</b></p><p&g
70、t; void receive()</p><p><b> {</b></p><p><b> char i;</b></p><p><b> TR2=0;</b></p><p><b> cs=0;</b></p><
71、;p><b> dio=1;</b></p><p><b> clk=0;</b></p><p> send(0x15);</p><p> delay_50us();</p><p> for(i=0;i<8;i++)</p><p><b&
72、gt; {</b></p><p><b> clk=1;</b></p><p> delay_8us();</p><p> com_data=com_data<<1;</p><p> low_bit=dio;</p><p><b> clk=
73、0;</b></p><p><b> dio=1;</b></p><p> delay_8us();</p><p><b> }</b></p><p> rebuf=com_data;</p><p><b> dio=1;</b
74、></p><p><b> cs=1;</b></p><p> delay_50ms();</p><p><b> TR2=1;</b></p><p><b> }</b></p><p> void reset()</p&
75、gt;<p><b> {</b></p><p><b> TR2=0;</b></p><p><b> dio=1;</b></p><p> delay_50ms();</p><p> send(0xa4);</p><p
76、> delay_50ms();</p><p><b> cs=1;</b></p><p><b> key=1;</b></p><p><b> TR2=1;</b></p><p><b> }</b></p><
77、;p><b> 三. 復(fù)位</b></p><p><b> 1. 復(fù)位源</b></p><p> MCU的復(fù)位電路允許很容易地將控制器置于一個(gè)預(yù)定的缺省狀態(tài)。在進(jìn)入復(fù)位狀態(tài)時(shí),CIP-51程序停止執(zhí)行,將外部端口引腳置于一個(gè)已知狀態(tài),將SFR初始化為缺省狀態(tài),禁止中斷和定時(shí)器。有六個(gè)能使MCU進(jìn)入復(fù)位狀態(tài)的復(fù)位源:上電/掉電復(fù)位,
78、外部/RST引腳,軟件命令,比較器0,時(shí)鐘丟失檢測器及看門狗定時(shí)器。論文中就看門狗定時(shí)器為例作介紹。</p><p> 2.看門狗定時(shí)器復(fù)位</p><p> MCU內(nèi)部有一個(gè)使用系統(tǒng)時(shí)鐘可編程看門狗定時(shí)器(WDT)。當(dāng)看門狗定時(shí)器溢出時(shí),WDT將強(qiáng)制CPU進(jìn)入復(fù)位狀態(tài)。為了防止復(fù)位,必須在溢出發(fā)生前重新觸發(fā)WDT。如果系統(tǒng)出現(xiàn)了硬件/軟件發(fā)生錯(cuò)誤,使應(yīng)用軟件不能重新觸發(fā)WDT,則WD
79、T將溢出并發(fā)生復(fù)位,這可以防止系統(tǒng)失控。</p><p> WDT是一個(gè)21位的使用系統(tǒng)時(shí)鐘的定時(shí)器。該定時(shí)器檢測對其控制器寫操作的時(shí)間間隔,如果這個(gè)時(shí)間間隔超過了編程的極限值,將產(chǎn)生一個(gè)WDT復(fù)位。可以根據(jù)需要用軟件允許或禁止WDT,或根據(jù)要求將其設(shè)置為永久性允許狀態(tài)。看門狗功能可以通過看門狗定時(shí)器控制寄存器(WDTCN)控制。</p><p><b> 允許/復(fù)位WDT&
80、lt;/b></p><p> 向WDTCN寄存器寫入0xA5將允許并復(fù)位看門狗定時(shí)器。</p><p><b> 禁止 WDT</b></p><p> 向WDTCN 寄存器寫入0xDE后再寫入0xAD將禁止WDT。 </p><p> 3.看門狗在程序中的應(yīng)用</p><p>
81、 RSTSRC=RSTSRC&0x00000010b;//RSTSRC為復(fù)位源寄存器</p><p> WDTCN = 0xde;</p><p> WDTCN = 0xad;</p><p> WDTCN = 0xA5;</p><p><b> 四 .中斷</b></p><p&g
82、t; 在CPU與外設(shè)交換信息時(shí),若使用查尋方式,則CPU會(huì)浪費(fèi)較多的時(shí)間去等待外設(shè),這就是快速的CPU和慢速的外設(shè)之間的矛盾。為了解決這個(gè)問題,引入了中斷。它有以下優(yōu)點(diǎn):同步工作實(shí)時(shí)處理故障處理</p><p><b> 1.中斷源</b></p><p> C8051F200提供了5個(gè)中斷請求源,其中兩個(gè)為外部中斷請求和,2個(gè)為片內(nèi)定時(shí)器/計(jì)數(shù)器T0和T1的溢
83、出中斷請求TF0和TF1,一個(gè)為片內(nèi)串行口發(fā)送或接收中斷請求TI或RI.這些中斷請求源分別由特殊功能寄存器TCON和SCON的相應(yīng)位鎖存。</p><p> 2.允許中斷寄存器IE</p><p> 下圖示出允許中斷寄存器各位的定義,現(xiàn)說明如下:</p><p> EA(IE.7)總允許位。EA=0,禁止一切中斷。EA=1,則每個(gè)中斷源是允許還是禁止,分別由各
84、自的允許位決定。</p><p> ——(IE.6)保留位。</p><p> ET2(IE.5)定時(shí)器2中斷允許位。ET2=0,禁止定時(shí)器2中斷。</p><p> ES(IE.4)串行口中斷允許位。ES=0,禁止串行口中斷。</p><p> ET1(IE.3)定時(shí)器1中斷允許位。ET1=0,禁止定時(shí)器1中斷。</p>
85、<p> EX1(IE.2)外部中斷1允許位。EX1=0,禁止外部中斷1。</p><p> ET0(IE.1)定時(shí)器0中斷允許位。ET0=0,禁止定時(shí)器0中斷。</p><p> EX0(IE.0)外部中斷0允許位。EX0=0,禁止外部中斷0。</p><p> 3.中斷優(yōu)先級寄存器IP</p><p> C8051
86、F200的中斷分為兩個(gè)優(yōu)先級。每個(gè)]中斷源的優(yōu)先級都可以通過中斷優(yōu)先級寄存器IP中的相應(yīng)位來設(shè)定。下圖示出IP各位的定義,現(xiàn)說明如下:</p><p> ——(IP.7)保留位。</p><p> ——(IP.6) 保留位。</p><p> PT2(IP.5)定時(shí)器2中斷優(yōu)先級設(shè)定位. PT2=1,設(shè)定為高優(yōu)先級。</p><p>
87、 PS(IP.4)串行口中斷優(yōu)先級設(shè)定位。PS=1,設(shè)定為高優(yōu)先級。</p><p> PT1(IP.3)定時(shí)器1中斷優(yōu)先級設(shè)定位。PT1=1,設(shè)定為高優(yōu)先級。</p><p> PX1(IP.2)外部中斷1優(yōu)先級設(shè)定位。PX1=1,設(shè)定為高優(yōu)先級。</p><p> PT0(IP.1) 定時(shí)器0中斷優(yōu)先級設(shè)定位。PT0=1,設(shè)定為高優(yōu)先級。</p>
88、;<p> PX0(IP.01)外部中斷0優(yōu)先級設(shè)定位。PX0=1,設(shè)定為高優(yōu)先級。</p><p><b> 4.中斷響應(yīng)協(xié)議</b></p><p> 當(dāng)某中源提出中斷請求后,作為應(yīng)答,CPU首先使相應(yīng)的“優(yōu)先級激活”觸發(fā)器置位,以阻斷同級和低級的中斷。然后,根據(jù)中斷源的類別,在硬件控制下,程序轉(zhuǎn)向相應(yīng)的單元,執(zhí)行中斷服務(wù)子程序。</p&
89、gt;<p> 硬件中斷服務(wù)子程序調(diào)用時(shí),把當(dāng)時(shí)程序計(jì)數(shù)器PC的內(nèi)容壓入堆棧,同時(shí)還根據(jù)中斷的來源,把相應(yīng)的向量單元地址裝入PC中。</p><p> 中斷服務(wù)子程序的最后一條指令應(yīng)是RETI(中斷返回)。RETI指令將清除“優(yōu)先級激活”觸發(fā)器(該觸發(fā)器在響應(yīng)中斷時(shí)被置位),然后由堆棧彈出兩個(gè)字節(jié)(下一個(gè)指令地址)裝入到PC中。</p><p><b> 5.
90、中斷請求的撤除</b></p><p> CPU響應(yīng)某中斷請求后,在中斷返回(RETI)前,該中斷請求應(yīng)該撤除,否則會(huì)引起另一次中斷。</p><p> 對于定時(shí)器0或1溢出中斷,CPU響應(yīng)中斷后,就用硬件清除了有關(guān)的中斷請求標(biāo)志TF0(TCON.5)或TF1(TCON.7),即中斷請求是自動(dòng)撤除的,無需采用其他措施。</p><p> 對于邊沿激
91、活的外部中斷,CPU響應(yīng)中斷后,也用硬件清除了有關(guān)的中斷請求標(biāo)志IE0(TCON.1)或IE1(TCON.3),即自動(dòng)撤除了中斷請求。</p><p> 對于電平激活的外部中斷,由于在硬件上,CPU對和引腳的信號完全沒有控制(在專用寄存器中,沒有相應(yīng)的中斷請求標(biāo)志),因此要另外采取撤除措施。</p><p><b> 6. 程序中的中斷</b></p>
92、<p> void Timer0_Init()</p><p><b> {</b></p><p> TCON = 0x00; </p><p> TMOD= 0x01;</p><p><b> TH0=0xff;</b>&l
93、t;/p><p><b> TL0=0x00;</b></p><p><b> TR0=1;</b></p><p><b> ET0=1;</b></p><p><b> }</b></p><p> //-------
94、-----------------Timer0 中斷程序---------------------------</p><p> void Timer0_ISR(void) interrupt 1</p><p><b> { </b></p><p><b> TH0=0xeb;</b></p>
95、<p><b> TL0=0x3e;</b></p><p><b> nsec++;</b></p><p> if(nsec>55)</p><p><b> {</b></p><p> if(!TickBegin)</p>&l
96、t;p><b> tsec=0;</b></p><p><b> else</b></p><p><b> tsec++;</b></p><p><b> nsec=0;</b></p><p><b> ticksw=1;
97、</b></p><p><b> tick0=1;</b></p><p><b> tickYX=1;</b></p><p> IFMtlock();//電機(jī)轉(zhuǎn)動(dòng)后60秒不到位則MtLock=1;</p><p><b> }</b></p>
98、;<p> if(tsec>59) //真正分鐘時(shí)設(shè)置為59</p><p><b> {</b></p><p><b> tmin++;</b></p><p><b> tsec=0;</b></p><p> tickMin=1;<
99、/p><p><b> }</b></p><p> if(tmin>60)</p><p><b> tmin=0;</b></p><p> IFMUpPs();</p><p><b> TF0=0; </b></p>
100、<p><b> }</b></p><p> //---------------------送參數(shù)子程序----------------------------------</p><p> void subSendParm( unsigned char x,unsigned char y)</p><p> { del
101、ay_50us();</p><p><b> send(x);</b></p><p> delay_50us();</p><p><b> send(y);</b></p><p> delay_50us();</p><p><b> cs=1;&
102、lt;/b></p><p> delay_50ms();</p><p> void Timer2_Init()</p><p><b> {</b></p><p> T2CON = 0x00; // Stop Timer2; configure for auto-reload<
103、;/p><p> CKCON &= ~0x20; // T2M=0 (use SYSCLK/12 as timebase)</p><p> //0x20先按位取反,再與CKCON按位與,再把值賦給CKCON</p><p> RCAP2 = 62000; // Init reload value</p><p&
104、gt; T2 = 0xffff; // set to reload immediately</p><p> ET2 = 1; // enable Timer2 interrupts</p><p> TR2 = 1; </p><p><b> }</b></p><
105、;p><b> 五.程序簡析</b></p><p><b> 1.主程序流程圖:</b></p><p><b> 2.程序代碼</b></p><p> 主程序的代碼,包含函數(shù)的調(diào)用</p><p> void main()</p><p
106、><b> {</b></p><p><b> EA=0;</b></p><p> prt0_init();</p><p> //delay_1sec();</p><p> EIE1=0x20; //比較窗0上升沿中斷設(shè)置</p><p> EIP
107、1=0x20; //</p><p> Timer2_Init();</p><p><b> reset();</b></p><p> delay_1sec();</p><p> Timer0_Init();</p><p><b> TFuWei=0;</b&g
108、t;</p><p><b> TR2=1;</b></p><p><b> TR0=1;</b></p><p><b> bFM=1;</b></p><p> BianHao=1;</p><p><b> edy=0;<
109、;/b></p><p><b> EA=1;</b></p><p><b> ed1=0;</b></p><p><b> ed2=0;</b></p><p> WDTCN = 0xA5;</p><p> while(edy!=
110、ELECDELAY)</p><p><b> {</b></p><p> WDTCN = 0xA5;</p><p><b> if(tick0)</b></p><p><b> {</b></p><p><b> edy++
111、;</b></p><p> XSSheDing(ed1,ed2,0x10);</p><p><b> ed1+=1;</b></p><p><b> ed2+=111;</b></p><p><b> if(ed1>9)</b></p&g
112、t;<p><b> {</b></p><p><b> ed1=0;</b></p><p><b> ed2=0;</b></p><p><b> }</b></p><p><b> tick0=0;</b
113、></p><p><b> }</b></p><p> }//while(edy!=ELECDELAY)結(jié)束</p><p> WDTCN = 0xde;</p><p> WDTCN = 0xad;</p><p><b> RDAgin=1;</b>
114、</p><p><b> Work=1;</b></p><p> mm=Readchar(0x2024);//執(zhí)行此語句后mm=100</p><p> if(mm!=100)//若不等于100,則地址有誤,會(huì)造成其后參數(shù)值錯(cuò)誤。應(yīng)復(fù)位</p><p> SubFuWei();</p><
115、p><b> else</b></p><p> ReadParam();</p><p> MtMoveOnce=1;</p><p> WorkPre=1;</p><p> WorkOnce=1;</p><p><b> while(1)</b>&l
116、t;/p><p><b> {</b></p><p><b> EA=1;</b></p><p> WorkPre=Work;</p><p> IFWaterL();</p><p> IFWaterH();</p><p> if(!k
117、ey&&!TFuWei&&!SheDing&&!Work) //在高水位中按下^鍵</p><p><b> {</b></p><p> if(!TFuWei&&(rebuf==0x1c))</p><p><b> {</b></p>
118、<p><b> TFuWei=1;</b></p><p> delay_1sec();</p><p><b> rebuf=0;</b></p><p><b> }</b></p><p><b> }</b></p>
119、;<p> if(!key&&!TFuWeiBegin&&!SheDing&&Mt&&Work) //在運(yùn)行中按下復(fù)位鍵</p><p><b> {</b></p><p> if(!TFuWei&&(rebuf==0x1d))</p><p&g
120、t; TFuWeiBegin=1;</p><p><b> }</b></p><p> if(!key&&!T2secbegin&&!TFuWei&&Mt) //在運(yùn)行中按下確定鍵,</p><p><b> {</b></p><p>
121、; if(!SheDing&&(rebuf==0x1b))</p><p> T2secbegin=1;</p><p><b> }</b></p><p><b> if(Work)</b></p><p><b> {</b></p&g
122、t;<p> if(!key&&!TFuWei&&!SheDing&&!XWBegin&&Mt) //在運(yùn)行中按下選位鍵, </p><p><b> {</b></p><p> if(!XWei&&(rebuf==0x1e))</p><p
123、> XWBegin=1;</p><p><b> }</b></p><p> if(SheDing)//進(jìn)入設(shè)定程序</p><p> SubSheDing();</p><p> if(TFuWei&&!SheDing)//暫時(shí)這樣,以后修改</p><p>
124、; SubFuWei();</p><p><b> if(XWei)</b></p><p> SubXuanWei();</p><p> if(!SheDing&&!TFuWei&&!XWei)</p><p> YunXing();</p><p>
125、; if(MtUpPs||MtLock)</p><p><b> {</b></p><p><b> Mt=1;</b></p><p> if(MtLock)</p><p><b> {</b></p><p><b>
126、bFM=0;</b></p><p><b> }</b></p><p> subSendParm(LampOff,ZWD);</p><p><b> }</b></p><p> }//if(Work)結(jié)束</p><p> else if/*((
127、WorkPre!=Work)||WorkOnce)*/(!Work)</p><p><b> {</b></p><p> if(tick0&&!SheDing)</p><p><b> {</b></p><p> subSendParm(0x88,0xff);<
128、/p><p> subSendParm(0x83,0x0C);//方式0譯碼,無顯示</p><p> subSendParm(0x82,0x01); </p><p> subSendParm(0x81,0x06);</p><p> subSendParm(0x80,0x0C);</p><p> subSe
129、ndParm(LampOff,ZWD);</p><p> subSendParm(LampOff,SCD);</p><p> subSendParm(LampOff,ZSD);</p><p> subSendParm(LampOff,ZHD);</p><p> subSendParm(LampOff,QXD);</p&g
130、t;<p> WorkOnce=0;</p><p><b> tick0=0;</b></p><p><b> }</b></p><p> if(SheDing&&!TFuWei)//進(jìn)入設(shè)定程序</p><p> SubSheDing();</p
131、><p> else if(TFuWei)</p><p><b> {</b></p><p><b> Work=1;</b></p><p><b> TFuWei=0;</b></p><p> TFuWeiBegin=0;</p&g
132、t;<p><b> }</b></p><p> subAllStop();</p><p> Mt=1;//福州反映的問題的解決</p><p> }//if(!Work)結(jié)束</p><p> }//while(1)結(jié)束</p><p> 第三部分 畢業(yè)設(shè)計(jì)的收獲
133、</p><p> 轉(zhuǎn)眼間幾個(gè)月過去了,畢業(yè)設(shè)計(jì)已接近尾聲?;仡^看看,我才發(fā)現(xiàn)我努力的結(jié)果不僅僅只是這篇論文。這段時(shí)間里,我的收獲更重要的是對學(xué)習(xí)方法和態(tài)度的改進(jìn)以及我對自己生活質(zhì)量的要求的改變。這些收獲得益于我的導(dǎo)師伍老師和與我共同奮戰(zhàn)的127的同學(xué)們,感謝他們。</p><p><b> 參考文獻(xiàn):</b></p><p> [1]
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)論文---基于單片機(jī)控制的電梯控制器
- 基于單片機(jī)的洗衣機(jī)控制器設(shè)計(jì)【畢業(yè)論文】
- 畢業(yè)論文-基于單片機(jī)的濕度控制器的設(shè)計(jì)
- 基于單片機(jī)的熱水器控制器設(shè)計(jì)【畢業(yè)論文】
- 基于單片機(jī)的智能風(fēng)扇控制器設(shè)計(jì)【畢業(yè)論文】
- 基于單片機(jī)的晶閘管功率控制器畢業(yè)論文
- 基于單片機(jī)的步進(jìn)電機(jī)控制器畢業(yè)論文
- 畢業(yè)論文--基于單片機(jī)控制的步進(jìn)電機(jī)控制器
- 基于單片機(jī)的步進(jìn)電機(jī)控制器的設(shè)計(jì)畢業(yè)論文
- 基于單片機(jī)的全自動(dòng)熱飲機(jī)控制器設(shè)計(jì)畢業(yè)論文
- 【畢業(yè)論文】基于單片機(jī)的家用熱水器控制器設(shè)計(jì)
- 【畢業(yè)論文】基于單片機(jī)的家用熱水器控制器設(shè)計(jì)
- 基于單片機(jī)的霓虹燈控制器設(shè)計(jì)【畢業(yè)論文】
- 基于單片機(jī)的單軸運(yùn)動(dòng)控制器的設(shè)計(jì)畢業(yè)論文
- 基于單片機(jī)的pid溫度控制器研究【畢業(yè)論文】
- 基于單片機(jī)的太陽能路燈控制器設(shè)計(jì)-畢業(yè)論文
- 畢業(yè)論文---基于單片機(jī)的霓虹燈控制器的設(shè)計(jì)
- 自動(dòng)化畢業(yè)論文基于單片機(jī)的洗衣機(jī)控制器設(shè)計(jì)
- 基于單片機(jī)的空調(diào)溫度控制器的設(shè)計(jì)-測控畢業(yè)論文
- 畢業(yè)基于單片機(jī)的pid控制器設(shè)計(jì)
評論
0/150
提交評論