版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p> 《單片機應用與仿真訓練》設計報告</p><p> 基于單片機的遙控窗簾設計</p><p> 姓名 學號: </p><p> 姓名 學號: </p><p> 專業(yè)班級: </p>
2、<p> 指導老師: </p><p> 所在學院:電氣工程與自動化學院 </p><p> 2012年12月 1日</p><p><b> 摘要</b></p><p> 本設計是設計一款基于單片機的遙控窗簾,其中單片機是主要處理和遙控控制以及手動控制的核心,
3、其用于接受處理遙控信號,然后輸出信號傳送給光耦和電機驅動電路,控制直流電機的正反轉,模擬實現(xiàn)對窗簾開、合的控制。這款設計的特點是可以隨意控制窗簾的打開和關閉面積,兼具遠距離遙控和近距離手動控制兩種方式,以保證一種控制方式出現(xiàn)故障也不影響對窗簾的開合,并且具有反映迅速、功耗低、噪聲小、結構簡單等優(yōu)點。本設計報告簡要介紹了基于單片機技術的遙控窗簾的設計原理,并且根據系統(tǒng)的基本原理制作出了實物模型。本控制系統(tǒng)主要由以下幾個模塊組成:無線信號發(fā)
4、射模塊、無線信號接收模塊,單片機系統(tǒng)模塊、電機驅動模塊、電機運行轉數檢測模塊。其中無線信號發(fā)射模塊的核心是編碼芯片PT2262,配套使用的是以解碼芯片PT2272為核心的無線接收模塊,兩組模塊配合將對電機控制正反轉的信息轉變?yōu)閱纹瑱C可以識別的二進制代碼,通過與單片機內部的程序配合實現(xiàn)對電機的正反轉以及停止的無線遙控控制;電機驅動模塊是以L298N芯片以及光耦芯片TLP521-4為核心的功率驅動電路;電機運行轉數檢測模塊是根據霍爾元件對磁
5、鋼磁場變化而發(fā)出的脈沖的信號的原</p><p> 關鍵詞:單片機、直流電機、L298N、光耦、無線遙控、霍爾傳感器</p><p><b> 目錄</b></p><p><b> 1 概述3</b></p><p> 1.1 設計目的3</p><p> 1
6、.3 AT89S52單片機簡介3</p><p> 2.2 單片機最小系統(tǒng)原理分析及使用端口介紹8</p><p> 2.3 無線發(fā)射和接收模塊8</p><p> 2.4 直流電機驅動模塊11</p><p> 2.5 電機運行轉數檢測模塊15</p><p><b> 3 軟件設計1
7、6</b></p><p> 3.1 直流電機的正/反轉程序設計16</p><p> 3.2窗簾的過卷檢測程序設計17</p><p> 4 Proteus軟件仿真18</p><p> 4.1 系統(tǒng)模型的搭建18</p><p> 4.2 程序的調試19</p><
8、;p> 4.3 系統(tǒng)仿真19</p><p> 5 課程設計體會19</p><p> 附1 源程序代碼21</p><p> 附2 系統(tǒng)原理圖24</p><p><b> 1 概述</b></p><p><b> 1.1 設計目的</b>&
9、lt;/p><p> 1、綜合運用理論知識獨立完成一個課題設計。</p><p> 2、通過查閱手冊、書籍和文獻資料,培養(yǎng)獨立分析和解決問題的能力。</p><p> 3、通過與同學、老師的商討,培養(yǎng)與他人合作的能力。</p><p> 4、學習集成芯片的使用與焊接方法。</p><p> 5、學習單片機軟硬件的
10、整合與功能實現(xiàn)。</p><p><b> 1.2 設計要求</b></p><p> 如今窗簾已是各種住房裝修不可缺少的一部分,但市場上大部分還是手動拉動的窗簾,而自動遙控也由于造價高昂等原因,只被一小部分場所使用,不能得到普及。</p><p> 本題目要求設計的無線遙控窗簾由無線控制端和手動控制端共同控制窗簾電機的正反轉,實現(xiàn)自由啟
11、停。并且要造價低廉,功能完善,結構簡單,綠色節(jié)能,使用低壓直流安全電源。本設計要求自己分析元件功能用法,設計出硬件原理圖,自己動手焊接電路,自己編寫調試程序以實現(xiàn)以上功能;對設計的硬件、軟件調試,直至正確地實現(xiàn)系統(tǒng)功能;要求學生最終提供:設計說明書一份,焊好且調試好的電路板一塊;統(tǒng)一進行答辯考試。</p><p> 1.3 AT89S52單片機簡介</p><p> AT89S52主要
12、功能列舉如下:</p><p> 1、擁有靈巧的8位CPU和在系統(tǒng)可編程Flash</p><p> 2、晶片內部具時鐘振蕩器(傳統(tǒng)最高工作頻率可至 12MHz)</p><p> 3、內部程序存儲器(ROM)為 8KB</p><p> 4、內部數據存儲器(RAM)為 256字節(jié)</p><p> 5、32
13、 個可編程I/O 口線</p><p> 6、8 個中斷向量源</p><p> 7、三個 16 位定時器/計數器</p><p> 8、三級加密程序存儲器</p><p> 9、全雙工UART串行通道</p><p> AT89S52各引腳功能介紹:</p><p> VCC:AT
14、89S52電源正端輸入,接+5V。</p><p><b> VSS:電源地端。</b></p><p> XTAL1:單芯片系統(tǒng)時鐘的反相放大器輸入端。</p><p> XTAL2:系統(tǒng)時鐘的反相放大器輸出端,一般在設計上只要在 XTAL1 和 XTAL2 上接上一只石英振蕩晶體系統(tǒng)就可以動作了,此外可以在兩引腳與地之間加入一 20P
15、F 的小電容,可以使系統(tǒng)更穩(wěn)定,避免噪聲干擾而死機。</p><p> RESET:AT89S52的重置引腳,高電平動作,當要對晶片重置時,只要對此引腳電平提升至高電平并保持兩個機器周期以上的時間,AT89S51便能完成系統(tǒng)重置的各項動作,使得內部特殊功能寄存器之內容均被設成已知狀態(tài),并且至地址0000H處開始讀入程序代碼而執(zhí)行程序。</p><p> EA/Vpp:"EA&
16、quot;為英文"External Access"的縮寫,表示存取外部程序代碼之意,低電平動作,也就是說當此引腳接低電平后,系統(tǒng)會取用外部的程序代碼(存于外部EPROM中)來執(zhí)行程序。因此在8031及8032中,EA引腳必須接低電平,因為其內部無程序存儲器空間。如果是使用 8751 內部程序空間時,此引腳要接成高電平。此外,在將程序代碼燒錄至8751內部EPROM時,可以利用此引腳來輸入21V的燒錄高壓(Vpp)。&
17、lt;/p><p> ALE/PROG:ALE是英文"Address Latch Enable"的縮寫,表示地址鎖存器啟用信號。AT89S52可以利用這支引腳來觸發(fā)外部的8位鎖存器(如74LS373),將端口0的地址總線(A0~A7)鎖進鎖存器中,因為AT89S52是以多工的方式送出地址及數據。平時在程序執(zhí)行時ALE引腳的輸出頻率約是系統(tǒng)工作頻率的1/6,因此可以用來驅動其他周邊晶片的時基輸入。
18、此外在燒錄8751程序代碼時,此引腳會被當成程序規(guī)劃的特殊功能來使用。</p><p> PSEN:此為"Program Store Enable"的縮寫,其意為程序儲存啟用,當8051被設成為讀取外部程序代碼工作模式時(EA=0),會送出此信號以便取得程序代碼,通常這支腳是接到EPROM的OE腳。AT89S52可以利用PSEN及RD引腳分別啟用存在外部的RAM與EPROM,使得數據存儲器與
19、程序存儲器可以合并在一起而共用64K的定址范圍。</p><p> PORT0(P0.0~P0.7):端口0是一個8位寬的開路汲極(Open Drain)雙向輸出入端口,共有8個位,P0.0表示位0,P0.1表示位1,依此類推。其他三個I/O端口(P1、P2、P3)則不具有此電路組態(tài),而是內部有一提升電路,P0在當做I/O用時可以推動8個LS的TTL負載。如果當EA引腳為低電平時(即取用外部程序代碼或數據存儲器
20、),P0就以多工方式提供地址總線(A0~A7)及數據總線(D0~D7)。設計者必須外加一鎖存器將端口0送出的地址栓鎖住成為A0~A7,再配合端口2所送出的A8~A15合成一完整的16位地址總線,而定址到64K的外部存儲器空間。</p><p> PORT2(P2.0~P2.7):端口2是具有內部提升電路的雙向I/O端口,每一個引腳可以推動4個LS的TTL負載,若將端口2的輸出設為高電平時,此端口便能當成輸入端口
21、來使用。P2除了當做一般I/O端口使用外,若是在AT89S52擴充外接程序存儲器或數據存儲器時,也提供地址總線的高字節(jié)A8~A15,這個時候P2便不能當做I/O來使用了。</p><p> PORT1(P1.0~P1.7):端口1也是具有內部提升電路的雙向I/O端口,其輸出緩沖器可以推動4個LS TTL負載,同樣地若將端口1的輸出設為高電平,便是由此端口來輸入數據。如果是使用8052或是8032的話,P1.0又
22、當做定時器2的外部脈沖輸入腳,而P1.1可以有T2EX功能,可以做外部中斷輸入的觸發(fā)腳位。</p><p> PORT3(P3.0~P3.7):端口3也具有內部提升電路的雙向I/O端口,其輸出緩沖器可以推動4個TTL負載,同時還多工具有其他的額外特殊功能,包括串行通信、外部中斷控制、計時計數控制及外部數據存儲器內容的讀取或寫入控制等功能。</p><p><b> 其引腳分配
23、如下:</b></p><p> P3.0:RXD,串行通信輸入。</p><p> P3.1:TXD,串行通信輸出。</p><p> P3.2:INT0,外部中斷0輸入。</p><p> P3.3:INT1,外部中斷1輸入。</p><p> P3.4:T0,計時計數器0輸入。</p&
24、gt;<p> P3.5:T1,計時計數器1輸入。</p><p> P3.6:WR:外部數據存儲器的寫入信號。</p><p> P3.7:RD,外部數據存儲器的讀取信號。</p><p> RST:復位輸入。當振蕩器復位器件時,要保持RST腳兩個機器周期的高電平時間。</p><p> ALE/PROG:當訪問外部
25、存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數據存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時, ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部
26、執(zhí)行狀態(tài)ALE禁止,置位無效。</p><p> /PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN有效。但在訪問外部數據存儲器時,這兩次有效的/PSEN信號將不出現(xiàn)。</p><p> /EA/VPP:當/EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內部程序存儲器。注意加密方式1時,/EA將內部鎖定為RES
27、ET;當/EA端保持高電平時,此間內部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。</p><p> XTAL1:反向振蕩放大器的輸入及內部時鐘工作電路的輸入。</p><p> XTAL2:來自反向振蕩器的輸出。</p><p> 2 系統(tǒng)總體方案及硬件設計</p><p> 2.1 系統(tǒng)總設計思路及
28、框圖 </p><p> 圖2.11 系統(tǒng)總體框圖</p><p> 這款基于單片機的遙控窗簾,其系統(tǒng)組成如上圖所示,主要分六大部分:無線電收發(fā)與電平轉換模塊、手動控制按鍵、單片機處理中樞、窗簾位置自動識別中斷信號發(fā)生器、電機和電機驅動模塊。</p><p> 其中無線電接收模塊可接收來自遙控器的正反轉信號,再由其內部芯片和相應電路,使信號變?yōu)門
29、TL電平,分別由不同引腳輸出,然后再把電平信號輸入單片機,經單片機分析處理后,再由其引腳持續(xù)輸出給驅動模塊電平信號,再經TLP521光電耦合芯片、L298N驅動芯片,輸出給直流電機以電壓,驅動電機正、反轉。同時,此電路可使用手動按鍵進行控制。且當電機驅動窗簾到達窗戶兩個邊沿出時,可使兩端霍爾片被觸發(fā),產生中斷控制信號,是電機停止運轉以避免電機堵轉出現(xiàn)過流。</p><p> 2.2 單片機最小系統(tǒng)原理分析及使用
30、端口介紹</p><p> 圖2.21 單片機最小系統(tǒng)</p><p> 這是以AT89S52單片機為cpu的最小系統(tǒng)設計,它由12MHZ晶振和兩個30PF的瓷片電容組成震蕩發(fā)生器,以18腳XTAL2和19腳XTAL1輸入。其復位端以手動按鍵來控制,它是用一個極性電容和一個電阻組成電平產生電路,由9腳RST口輸入。</p><p> 此遙控窗簾系統(tǒng)單片機以P1
31、口為控制信號輸入端,INT0口為中斷信號入口,P2、P3口為信號輸出端。</p><p> 2.3 無線發(fā)射和接收模塊</p><p> 無線遙控模塊采用PT2262/PT2272 編碼解碼芯片做成的無線發(fā)送接受模塊。編碼芯片 PT2262 發(fā)出的編碼信號由:地址碼、數據碼、同步碼組成一個完整的碼字,解碼芯片PT2272 接收到信號后,其地址碼經過兩次比較核對后,VT 腳才輸出高電平,
32、與此同時相應的數據腳也輸出高電平,如果發(fā)送端一直按住按鍵,編碼芯片也會連續(xù)發(fā)射。當發(fā)射機沒有按鍵按下時,PT2262 不接通電源,其17 腳為低電平,所以315MHz 的高頻發(fā)射電路不工作,當有按鍵按下時,PT2262 得電工作,其第17 腳輸出經調制的串行數據信號,當17 腳為高電平期間315MHz 的高頻發(fā)射電路起振并發(fā)射等幅高頻信號,當17 腳為低平期間315MHz 的高頻發(fā)射電路停止振蕩,所以高頻發(fā)射電路完全收控于PT2262
33、的17 腳輸出的數字信號,從而對高頻電路完成幅度鍵控(ASK 調制)相當于調制度為100%的調幅。</p><p> PT2262/PT2272 特點:</p><p> (a)、CMOS 工藝制造,低功耗</p><p> (b)、外部元器件少</p><p> (c)、RC 振蕩電阻</p><p> (
34、d)、工作電壓范圍寬:2。6-15v</p><p> (e)、數據最多可達6 位</p><p> (f)、地址碼最多可達531441 種</p><p> 圖2.31 外形圖及測試應用圖</p><p> 在通常使用中,一般采用8 位地址碼和4 位數據碼,這時編碼電路PT2262 和解碼PT2272 的第1~8 腳為地址設定腳,有
35、三種狀態(tài)可供選擇:懸空、接正電源、接地三種狀態(tài),3 的8 次方為6561,所以地址編碼不重復度為6561 組,只有發(fā)射端PT2262 和接收端PT2272的地址編碼完全相同,才能配對使用,遙控模塊的生產廠家為了便于生產管理,出廠時遙控模塊的PT2262 和PT2272 的八位地址編碼端全部懸空,這樣用戶可以很方便選擇各種編碼狀態(tài),用戶如果想改變地址編碼,只要將PT2262 和PT2272 的1~8 腳設置相同即可,例如將發(fā)射機的PT22
36、62 的第1 腳接地第5 腳接正電源,其它引腳懸空,那么接收機的PT2272 只要也第1 腳接地第5 腳接正電源,其它引腳懸空就能實現(xiàn)配對接收。當兩者地址編碼完全一致時,接收機對應的D1~D4 端輸出約4V 互鎖高電平控制信號,同時VT 端也輸出解碼有效高電平信號。用戶可將這些信號加一級放大,便可驅動繼電器、功率三極管等進行負載遙控開關操縱。</p><p> 使用過程中,我們將GND端接地,Vss接+5V電源
37、,D0、D1、D2、D3分別引到單片機的引腳上,VT不用懸空。當遙控發(fā)送模塊按下按鍵A時,可以用萬用表測得D0對應的引腳由低電平翻轉為高電平。同樣地,當遙控發(fā)送模塊按下按鍵B時,可以用萬用表測得D1對應的引腳由低電平翻轉為高電平。當遙控發(fā)送模塊按下按鍵C時,可以用萬用表測得D2對應的引腳由低電平翻轉為高電平。當遙控發(fā)送模塊按下按鍵D時,可以用萬用表測得D3對應的引腳由低電平翻轉為高電平。我們可以根據電平的變化,來控制相關模塊。</
38、p><p> 圖2.32 無線遙控發(fā)射器</p><p> 圖 2.33 信號發(fā)生器端口圖</p><p> 2.4 直流電機驅動模塊</p><p> TLP521是可控制的光電藕合器件,光電耦合器廣泛作用在電腦終端機,可控硅系統(tǒng)設備,測量儀器,影印機,自動售票,家用電器,如風扇,加熱器等電路之間的信號傳輸,使之前端與負載完全隔離,目的
39、在于增加安全性,減小電路干擾,減化電路設計。</p><p> TLP521-1,-2和-4組成的砷化鎵紅外發(fā)光二極管耦合到光三極管。該TLP521-2提供了兩個孤立的 光耦8引腳塑料封裝,而TLP521-4提供了4個孤立的光耦中16引腳塑料DIP封裝集電極-發(fā)射極電壓: 55V(最小值) 經常轉移的比例: 50 %(最?。?隔離電壓: 2500 Vrms (最?。?lt;/p><p&g
40、t; TLP521 TLP521-2 TLP521-4 光藕內部結構圖及引腳圖:</p><p> 圖2.41 TLP521 TLP521-2 TLP521-4芯片內部結構及引腳圖</p><p> 應用時,可以在二極管的陽極加一個1K左右的上拉電阻,三極管的集電極加一個1K左右的上拉電阻。當用單片機給二極管的陰極施加低電平時,對應的三極管的發(fā)射極就會導通,可以作為電流驅動。一般光電
41、隔離的兩端的所有器件,不要再共用同一個電源和地。</p><p> 圖2.42 光耦驅動電路</p><p> 端口1接+5V,當2端口為GND時,電壓驅動發(fā)光二極管發(fā)光,同時光</p><p> 敏三極感光,輸出低電平;當端口1為0時,發(fā)光二極管不導通,不發(fā)光,輸出為電平為高電平。光電耦合器主要起到光電隔離,防止相互干擾。</p><p&
42、gt;<b> 第三部分 驅動電路</b></p><p> 圖2.43 L298N 管腳圖</p><p> L298N可接受標準TTL邏輯電平信號VSS,VSS可接4.5~7 V電壓。4腳VS接電源電壓,VS電壓范圍VIH為+2.5~46 V。輸出電流可達2.5 A,可驅動電感性負載。1腳和15腳下管的發(fā)射極分別單獨引出以便接入電流采樣電阻,形成電流傳感信號
43、。L298可驅動2個電動機,OUT1,OUT2和OUT3,OUT4之間可分別接電動機,本實驗裝置我們選用驅動一臺電動機。5,7,10,12腳接輸入控制電平,控制電機的正反轉。ENA、ENB 接控制使能端,控制電機的停轉。表2.41是L298N功能邏輯圖:</p><p> 表2.41 L298N功能邏輯圖</p><p> L298的邏輯控制見如下表2.42。其中C、D分別為IN1、I
44、N2或IN3、IN4;L為低電平,H為高電平,※為不管是低電平還是高電平。</p><p> 表2.42 L298對直流電機控制的邏輯真值表</p><p> 完整的直流電機驅動電路如下:</p><p> 其中M1.1、M1.2、M2.1、M2.2是電動機的接線口,可以同時驅動兩臺電機</p><p> 圖2.44 光耦
45、隔離和直流電機驅動完整圖</p><p> 2.5 電機運行轉數檢測模塊</p><p> 電機運行轉數檢測模塊的核心是霍爾元件。他的工作原理是根據霍爾效應制成的霍爾傳感器不僅可以用于磁場的測量,大量的還是以磁場為工作媒體,將物體的多種運動參量轉變?yōu)殡妷狠敵?,因而在自動控制、各種物理量的測量中得到了大量的應用。集成霍爾傳感器主要由霍爾片和放大器組成,根據不同應用的需要,有的還加溫度補償
46、電路、穩(wěn)壓電源或施密特觸發(fā)器及開關電路等,加了不同附加器件后其應用和特性各不相同。 集成霍爾傳感器的特點是:體積小、頻響寬、動態(tài)特性好、對外圍電路要求簡單、使用壽命長及價格低廉。器件輸出電壓與器件所在位置的磁場強度成線性關系。 如SS95A 系列和MLX90215 系列,運用此類器件時,只要選取適當的小磁鋼,就可將與小磁鋼一起運動的物體的位置、位移、速度、角度等信息以電信號的形式傳感出來,達到了自動測量與控制的目的。當霍爾器件所在位置的
47、磁場尚未達到工作點之前,器件以高電平輸出,當磁場增強到工作點( Bop ) 時,霍爾片輸出的電壓UH 經差分放大器放大后,送至施密特觸發(fā)器,使之翻轉導通,從而使門電路輸出端由高電平變?yōu)榈碗娖?,稱此為“開”狀態(tài)。 反之,當磁場減小到釋放點( Brp ) 時,門電路輸</p><p> US1881有兩種封裝形式:</p><p> 圖2.51 霍爾鎖存器的封裝</p>&l
48、t;p> 當磁鋼從霍爾傳感器的前面重復消磁、勵磁的過程中,其OUT端會輸出一個電平變化信號,作為計數器T0的外部脈沖。整個系統(tǒng)也就是根據霍爾傳感器和磁鋼一起用產生外部脈沖,使得T0計數的這個特性來實現(xiàn)窗簾的防過卷功能的。是整個設計的關鍵點之一,使用它可以實現(xiàn)窗簾的智能化。</p><p><b> 3 軟件設計</b></p><p> 程序的編寫是該系統(tǒng)
49、的重要部分,如果程序編寫的科學就能體現(xiàn)出該系統(tǒng)的完整性、實用性、經濟性。高質量的軟件設計是單片機高效工作的前提和要求,但是只有軟件和硬件都正確,并且軟件和硬件能夠互相兼容、協(xié)調工作才能使系統(tǒng)工作達到我們想要的效果。本系統(tǒng)的軟件編程部分主要通過電機的正/反轉程序設計、窗簾的過卷檢測程序設計兩部分進行介紹。</p><p> 3.1 直流電機的正/反轉程序設計</p><p> 本系統(tǒng)的電
50、機正/反轉程序屬于外部信號對單片機端口電平高低的控制讓后經單片機處理后輸出對電機控制的信號。首先單片機在待機狀態(tài)下等待P1口控制信號,一旦滿足條件單片機就會對信號進行處理,以實現(xiàn)電機的正反轉。</p><p> 單片機正反轉運行程序流程圖如下:</p><p> 圖3.1 電機正/反轉程序設計流程圖</p><p> 3.2窗簾的過卷檢測程序設計</p
51、><p> 窗簾的過卷檢測流程圖如下</p><p> 圖3.2 窗簾的過卷檢測程序設計流程</p><p> 4 Proteus軟件仿真</p><p> 在搭建好系統(tǒng)仿真模型后,就可以對系統(tǒng)進行部分和整體調試了,系統(tǒng)進行整體調試的目的就是查找系統(tǒng)結構以及軟件設計中的漏洞,及時彌補過失,一是系統(tǒng)能夠正常運行。</p>&l
52、t;p> Proteus軟件仿真主要分為以下幾個步驟:</p><p> 4.1 系統(tǒng)模型的搭建</p><p> 在Proteus的元件庫中尋找所需要的核心芯片和外圍設備元件,根據電路的需要來搭建模型電路。如果在Proteus元件庫中沒有某一定型號的元件,則可以使用其他具有相似功能的元件進行代替,例如在Proteus元件庫中沒有AT89S52單片機,則可以用AT89C51來就
53、進行代替,但代替時一定要注意不同元件之間的微小差異,在程序設計以及元件參數設定時需要將這方面因素考慮進去。</p><p><b> 4.2 程序的調試</b></p><p> 任何與單片機有關的仿真都要求其特定的系統(tǒng)程序,所以在之前首先要編寫程序,編寫完成后,首先對程序進行調試,可以使用Proteus自身待的調試功能,也可以使用其他軟件,比如Keil等,在排除
54、程序中的邏輯錯誤后,就可以在Proteus仿真圖中進行硬軟聯(lián)調了。</p><p><b> 4.3 系統(tǒng)仿真</b></p><p> 在系統(tǒng)模型搭建成功且程序調試成功后,就可以使用Proteus軟件進行仿真測試了。首先將調試軟件生成的.HEX文件下載到單片機中,然后根據預先的約定進行單片機系統(tǒng)功能的驗證和調試,記錄參數,最后就是調整階段了,找出單片機仿真時與
55、預先設想功能的差異處,尋找產生差異的原因,最終消除差異。這可能需要很長時間,這種情況下就要和同學合作共同差錯,這樣才能避免個人思維定式的干擾。</p><p><b> 5 課程設計體會</b></p><p> 通過這次單片機課程設計,我們真的是受益匪淺,動手能力和合作能力都得到了一定的提高,要感謝領導和老師們?yōu)槲覀兲峁┑倪@次寶貴的實踐機。在這次設計過程中,硬件
56、的設計跟焊接都要我們自己動手,軟件的編程也要我們不斷的調試,最終一個能完成課程設計的勞動成果出來了,很高興它能按著設計的思想和要求運行起來。當然,這其中也有很多的問題。第一,不夠細心比如由于粗心大意焊錯了線,由于對課本理論的不熟悉導致編程出現(xiàn)錯誤。第二,是在學習態(tài)度上,這次課程設計是對我們的學習態(tài)度的一次檢驗。對于這次單片機綜合課程設計,我的第一大心得體會就是作為一名工程技術人員,要求具備的首要素質絕對應該是嚴謹。我們這次設計所遇到的多
57、半問題多數都是由于我們不夠嚴謹。第三,在做人上,我認識到,無論做什么事情,只要你足夠堅強,有足夠的毅力和決心,有足夠的挑戰(zhàn)困難的勇氣,就沒有什么辦不到的。</p><p> 本次課程設計雖然取得了一定的收獲,但是在很多方面還是有待于進一步改進和完善的。比如,霍爾傳感器的轉盤有點重,在電機正反轉的時候可能會因為分壓不足使正反轉指示燈(兩個發(fā)光二極管)不亮。另外,本次設計沒有光控電路,如果再加上一個光控電路,在光線
58、較暗的時候能自動開窗簾,二而在光線較強的時候能夠自動關窗簾,那這個設計將會更加完善。通過這次單片機課程設計,我們加深了對單片機理論的理解,將理論很好的應用到實際當中去。</p><p><b> 參考文獻</b></p><p> [1] 余發(fā)山,王福忠.單片機原理及應用技術[M].徐州:中國礦業(yè)大學出版社,2008</p><p> [
59、2] 陳有卿,通用集成電路應用與實例分析[M].中國電力出版社,2007</p><p> [3] 艾永樂,模擬電子技術基礎[M].中國電力出版社,2008</p><p> [4] 余永權,單片機在系統(tǒng)中的應用[M].北京:電子工業(yè)出版社,2003</p><p> [5] 李建華,使用遙控器原理與制作[M].北京:人民郵電出版社,1996</p>
60、;<p> [6] 何立民,MCS-51系列單片機應用系統(tǒng)設計,系統(tǒng)配置與接口技術[M].北京:北京航空航天大學,1995</p><p><b> 附1 源程序代碼</b></p><p> #include <reg52.h></p><p> #include <stdio.h></p
61、><p> sbit open=P1^0;</p><p> sbit close=P1^1;</p><p> sbit stop=P1^2;</p><p> sbit kj=P1^3;</p><p> sbit bj=P1^4;</p><p> void Delay1ms(in
62、t count)</p><p><b> {</b></p><p> unsigned int i,j;</p><p> for(i=0;i<count;i++)</p><p> for(j=0;j<120;j++);</p><p><b> }</
63、b></p><p> unsigned char getkey()</p><p><b> {</b></p><p> if(open==1)</p><p> return(0);</p><p> if(close==1)</p><p> re
64、turn(1);</p><p> if(stop==1)</p><p> return(2);</p><p><b> else</b></p><p> return(3);</p><p><b> }</b></p><p>&l
65、t;b> main()</b></p><p> {unsigned int m,n=3;</p><p><b> P3=0;</b></p><p><b> while(1)</b></p><p><b> {</b></p>
66、<p><b> P1=0xf8; </b></p><p> if(P1!=0xf8)</p><p><b> { </b></p><p> Delay1ms(2); //按鍵消抖</p><p> if(P1!=0xf8)</p><p&g
67、t;<b> { </b></p><p> m=getkey();</p><p> if(kj==1&&bj==1)//窗簾處于半開半閉狀態(tài)</p><p><b> {</b></p><p><b> if(m==0)</b></p
68、><p> {Delay1ms(2);</p><p> P3=0x0d; } //開</p><p><b> if(m==1)</b></p><p> {Delay1ms(2);P3=0x16;} //關</p><p><b> if(m==2)</b&
69、gt;</p><p> P3=0x20; //停</p><p><b> n=3;</b></p><p><b> }</b></p><p> if(kj==0&&bj==1) //窗簾處于關閉狀態(tài)</p><p><b> {
70、</b></p><p><b> if(m==0)</b></p><p> {Delay1ms(2);</p><p> P3=0x0d; //按開窗鍵,可以開窗</p><p><b> n=0; </b></p><p><b>
71、; }</b></p><p> if(n==0&&m!=1&&m!=2)</p><p><b> {</b></p><p><b> P3=0x0d;</b></p><p> continue; </p><p
72、><b> }</b></p><p> if(n==0&&(m==1||m==2))</p><p><b> {</b></p><p><b> P3=0x20;</b></p><p><b> n=3;</b>&
73、lt;/p><p><b> }</b></p><p><b> if(m!=0)</b></p><p> P3=0x20; //按關窗鍵,停止</p><p><b> }</b></p><p> if(kj==1&&
74、bj==0) //窗簾處于打開狀態(tài)</p><p> { </p><p><b> if(m==1)</b></p><p> {Delay1ms(2);</p><p> P3=0x16; //按關窗鍵,可以開窗</p><p><b> n=1
75、;</b></p><p><b> }</b></p><p> if(n==1&&m!=0&&m!=2)</p><p><b> {</b></p><p><b> P3=0x16;</b></p>&l
76、t;p><b> continue;</b></p><p><b> }</b></p><p> if(n==1&&(m==0||m==2))</p><p><b> {</b></p><p><b> P3=0x20;<
77、/b></p><p><b> n=3;</b></p><p><b> }</b></p><p><b> if(m!=1)</b></p><p> P3=0x20; //按開窗鍵,停止</p><p><b>
78、 }</b></p><p> if(kj==0&&bj==0)</p><p><b> P3=0x38;</b></p><p><b> }</b></p><p><b> }</b></p><p><
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論