版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 畢業(yè)設計說明書</b></p><p> 設計題目: 基于單片機的彩燈控制設計 </p><p> 專 業(yè): 應用電子技術 </p><p> 班 級: 應電08-3 </p><p>
2、 學 號: </p><p> 姓 名: </p><p> 指導教師: </p><p><b> 二0一0年七月五日</b></p><p> 畢業(yè)設計(論文)任務書
3、</p><p> 備注:任務書由指導教師填寫,一式二份。其中學生一份,指導教師一份。</p><p><b> 目 錄</b></p><p><b> 摘 要1</b></p><p><b> 緒 論2</b></p><p>
4、第1章 彩燈控制器方案設計和選擇3</p><p> 1.1 設計要求3</p><p> 1.2 系統(tǒng)功能3</p><p> 1.3 方案選擇3</p><p> 第2章 硬件設計5</p><p> 2.1 系統(tǒng)整體硬件電路和各部分介紹5</p><p> 2.1.
5、1 單片機AT89C525</p><p> 2.1.2 復位電路7</p><p> 2.1.3 時鐘電路8</p><p> 2.2 74HC595的引腳及功能8</p><p> 2.3 驅動模塊9</p><p> 2.4 顯示模塊簡介11</p><p> 2.
6、5 彩燈控制器總圖12</p><p> 第3章 軟件設計14</p><p> 3.1 語言選擇新型14</p><p> 3.2 程序功能說明14</p><p> 3.3 主程序流程圖15</p><p> 3.4 程序簡介15</p><p> 第4章 彩燈控制器
7、的調試與仿真16</p><p><b> 結 論22</b></p><p><b> 參考文獻24</b></p><p> 附錄1 源程序清單25</p><p> 附錄2 整機電路圖28</p><p> 附錄3 元器件明細表29</p&
8、gt;<p><b> 摘 要</b></p><p> 單片機是一種集成在電路芯片,是采用超大規(guī)模集成電路技術把具有數(shù)據(jù)處理能力的中央處理器CPU隨機存儲器RAM、只讀存儲器ROM、多種I/O口和中斷系統(tǒng)、定時器/計時器等功能(可能還包括顯示驅動電路、脈寬調制電路、模擬多路轉換器、A/D轉換器等電路)集成到一塊硅片上構成的一個小而完善的計算機系統(tǒng)。單片機比專用處理器更適
9、合應用于嵌入式系統(tǒng),因此它得到了最多的應用。事實上單片機是世界上數(shù)量最多的計算機?,F(xiàn)代人類生活中所用的幾乎每件電子和機械產(chǎn)品中都會集成有單片機。</p><p> 手機、電話、計算器、家用電器、電子玩具、掌上電腦以及鼠標等電腦配件中都配有1-2部單片機。而個人電腦中也會有為數(shù)不少的單片機在工作。汽車上一般配備40多部單片機,復雜的工業(yè)控制系統(tǒng)上甚至可能有數(shù)百臺單片機在同時工作!單片機的數(shù)量不僅遠超過PC機和其他
10、計算的總和,甚至比人類的數(shù)量還要多。本設計是一種基于AT89C52單片機的彩燈控制方案,實現(xiàn)對LED彩燈的控制。</p><p> 本方案以AT89C52單片機作為主控核心,用32個LED構成顯示模塊、用74HC595作為驅動模塊,由編程實現(xiàn)亮燈循環(huán)模式。由在顯示模塊上有32個LED彩燈,根據(jù)用戶需要可以編寫若干種亮燈模式. 本系統(tǒng)具有體積小、硬件少、電路結構簡單及容易操作和閱讀等優(yōu)點。該LED彩燈控制器實際應
11、用效果較好,亮燈模式多。與其他LED彩燈相比,具有體積小、價格低、低能耗等優(yōu)點。在能源比較匱乏的今天,彩燈的循環(huán)控制在顯示方面更表現(xiàn)出一種節(jié)約能源的魅力.這將使彩燈具有更廣闊的發(fā)展天地。</p><p> 關鍵詞 AT89C52;74HC595;循環(huán)LED彩燈</p><p><b> 緒 論</b></p><p> 隨著人們生活環(huán)境的
12、不斷改善和美化,在許多場合可以看到彩色霓虹燈。LED彩燈由于其豐富的燈光色彩,低廉的造價以及控制簡單等特點而得到了廣泛的應用。彩燈的運用已經(jīng)遍布于人們的生活中,從歌舞廳到卡拉OK包房,從節(jié)的祝賀到常生活中的點綴。這些不緊說明了我們對生活的要求有了質的飛躍,也說明科技在現(xiàn)實運用中有了較大的發(fā)展,用彩燈來裝飾街道和城市建筑物已經(jīng)成為一種時尚。但目前市場上各式樣的LED彩燈控制器大多數(shù)用全硬件電路實現(xiàn),電路結構復雜、功能單一,這樣一旦制作成品
13、只能按照固定的模式閃亮,不能根據(jù)不同場合、不同時間段的需要來調節(jié)亮燈時間、模式、閃爍頻率等動態(tài)參數(shù)。這種彩燈控制器結構往往有芯片過多、電路復雜、功率損耗大等缺點。此外從功能效果上看,亮燈模式少而且樣式單調,缺乏用戶可操作性,影響亮燈效果。因此有必要對現(xiàn)有的彩燈控制器進行改進。本文提出了一種基于AT89C52單片機的彩燈控制方案,實現(xiàn)對LED彩燈的控制。</p><p> 第1章 彩燈控制器方案設計和選擇<
14、/p><p><b> 1.1 設計要求</b></p><p> 本次畢業(yè)設計要求設計一個可編程彩燈控制器,其設計要求如下:</p><p> 1、用32個發(fā)光二極管作為顯示電路。</p><p> 2、實現(xiàn)LED動態(tài)顯示。</p><p> 3、能連續(xù)循環(huán)顯示。</p>&
15、lt;p><b> 1.2 系統(tǒng)功能 </b></p><p> 彩燈控制器可直接與220 V交流市電相連接,經(jīng)過開關電源變換,輸出直流工作電壓,一方面為管內(nèi)LED模塊提供12 V工作電源,另一方面為主控模塊單片機系統(tǒng)提供5 V工作電源。整個系統(tǒng)工作由軟件程序控制運行。上電后,彩燈控制器按程序設計好的模式進行顯示,由全滅→按程序顯示→全都熄滅為一個周期。然后循環(huán)繼續(xù)工作。</
16、p><p><b> 1.3 方案選擇</b></p><p><b> 方案1:</b></p><p> 可采用AT89C52作為主控制芯片,用74LS164作為驅動,用4個164分別接8個LED,32個LED構成顯示模塊??捎肅或者匯編編程實現(xiàn)。方案框圖如圖1-1:</p><p> 方案
17、1用了164作為驅動,編程有些復雜,實現(xiàn)功能比較多,但164不具有數(shù)據(jù)鎖存功能,顯示不穩(wěn)定,容易受干擾。</p><p><b> 方案2:</b></p><p> 可用AT89C52作為主控芯片,用74HC595作為驅動,用4個595分別接8個LED,32個LED構成顯示模塊??捎肅或者匯編編程實現(xiàn)。方案框圖如圖1-2:</p><p>
18、; 方案2采用595作為驅動,由于595有數(shù)據(jù)鎖存功能,顯示穩(wěn)定,不易受干擾,顯示方案也比方案1多。</p><p> 綜合考慮:本設計采AT89C52作為主控芯片,595作為驅動,實現(xiàn)彩燈循環(huán)顯示。</p><p><b> 第2章 硬件設計</b></p><p> 2.1 系統(tǒng)整體硬件電路和各部分介紹</p><
19、;p> 2.1.1 單片機AT89C52</p><p> 圖2-1 AT89C52引腳圖</p><p><b> VCC:供電電壓。</b></p><p><b> GND:接地。</b></p><p> P0口:P0口是一組8 位漏極開路型雙向I/O口, 也即地址/數(shù)據(jù)總線
20、復用口。作為輸出口用時,每位能吸收電流的方式驅動8gTTL邏輯門電路,對端口P0寫“1”時,可作為高阻抗輸入端用。在訪問個外部數(shù)據(jù)存儲器或程序存儲器時,這組口線分時轉換地址(低8 位)和數(shù)據(jù)總線復用,在訪問期間激活內(nèi)部上拉電阻。在Flash 編程時,P0口接收指令字節(jié),而在程序校驗時,輸出指令字節(jié),校驗時,要求外接上拉電阻。</p><p> P1口:P1是一個帶內(nèi)部上拉電阻的8 位雙向I/O口, P1 的輸出
21、緩沖級可驅動(吸收或輸出電流)4個TTL 邏輯門電路。對端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口。作輸入口使用時,因為內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(IIL)。與AT89C51不同之處是,P1.0和P1.1還可分別作為定時/計數(shù)器2 的外部計數(shù)輸入(P1.0/T2)和輸入(P1.1/T2EX),參表2-1。Flash編程和程序校驗期間,P1接收低8 位地址。表.P1.0和P1.1的第二功
22、能</p><p> 表 2-1 P1.0和P1.1的第二功能</p><p> P2口:P2是一個帶有內(nèi)部上拉電阻的8位雙向I/O 口,P2的輸出緩沖級可驅動(吸收或輸出電流)4個TTL 邏輯門電路。對端口P2寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口,作輸入口使用時,因為內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(IIL)。在訪問外部程序存儲器或1
23、6位地址的外部數(shù)據(jù)存儲器時,P2口送出高8位地址數(shù)據(jù)。在訪問8 位地址的外部數(shù)據(jù)存儲器時,P2口輸出P2鎖存器的內(nèi)容。Flash 編程或校驗時,P2亦接收高位地址和一些控制信號。</p><p> P3口:P3口是一組帶有內(nèi)部上拉電阻的8位雙向I/O口。P3口輸出緩沖級可驅動4 個TTL 邏輯門電路。對P3口寫入“1”時,它們被內(nèi)部上拉電阻拉高并可作為輸入端口。此時,被外部拉低的P3口將用上拉電阻輸出電流(II
24、L)。P3口除了作為一般的I/O口線外,更重要的用途是它的第二功能P3口還接收一些用于Flash 閃速存儲器編程和程序校驗的控制信號。</p><p> RST:復位輸入。當振蕩器工作時,RST引腳出現(xiàn)兩個機器周期以上高電平將使單片機復位。</p><p> XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。</p><p> XTAL2:來自反向振蕩
25、器的輸出。</p><p> 振蕩器特性:AT89C52中有一個用于構成內(nèi)部振蕩器的高增益反相放大器,引腳XTAL1和XTAL2分別是該放大器的輸入端和輸出端。這個放大器與作為反饋元件的片外石英晶體或陶瓷諧振器一起構成自激振蕩器。外接石英晶體(或陶瓷諧振器)及電容C1、C2 接在放大器的反饋回路中構成并聯(lián)振蕩電路。使用石英晶體,我們推薦電容使用30pF±10pF,使用陶瓷諧振器建議選擇40pF
26、7;10F。用戶也可以采用外部時鐘。這種情況下,外部時鐘脈沖接到XTAL1端,即內(nèi)部時鐘發(fā)生器的輸入端,XTAL2則懸空。</p><p> AT89C52主要特性:</p><p> 兼容MCS51指令系統(tǒng) , 8k可反復擦寫(>1000次)Flash ROM </p><p> 32個雙向I/O口,256x8bit內(nèi)部RAM </p>
27、<p> 3個16位可編程定時/計數(shù)器中斷 ,時鐘頻率0-24MHz </p><p> 2個串行中斷 ,可編程UART串行通道 </p><p> 2個外部中斷源,共6個中斷源 </p><p> 2個讀寫中斷口線,3級加密位 </p><p> 低功耗空閑和掉電模式,軟件設置睡眠和喚醒功。</p><
28、;p> 2.1.2 復位電路</p><p> 為確保兩點間溫度控制系統(tǒng)中電路穩(wěn)定可靠工作,復位電路是必不可少的一部分,復位電路的第一功能是上電復位。一般電路正常工作需要供電電源為5V±5%,即4.75~5.25V。</p><p> 復位是單片機的初始化操作,其目的是使CPU及各專用寄存器處于一個確定的初始狀態(tài)。如:把PC的內(nèi)容初始化為0000H,使單片機從0000
29、H單元開始執(zhí)行程序。除了進入系統(tǒng)的正常初始化之外,當單片機系統(tǒng)在運行出錯或操作錯誤使系統(tǒng)處于死鎖狀態(tài)時,為擺脫困境,也需要復位以使其恢復正常工作狀態(tài)。</p><p> RST端的外部復位電路有兩種操作方式:上電自動復位和按鍵手動復位。按鍵手動復位有電平方式和脈沖方式兩種,本系統(tǒng)設計采用按鍵電平復位,如圖2-2所示。按鍵電平復位是相當于RST端通過電阻接高電平來實現(xiàn)單片機的復位。</p><
30、p><b> 圖2-2 復位電路</b></p><p> 2.1.3 時鐘電路</p><p> 單片機的時鐘信號用來提供單片機內(nèi)各種微操作的時間基準,時鐘電路用于產(chǎn)生單片機工作所需要的時鐘信號。</p><p> 單片機的時鐘信號用來提供單片機片內(nèi)各種微操作的時間基準,時鐘信號通常用兩種電路形式得到:內(nèi)部振蕩和外部振蕩。本系統(tǒng)
31、設計采用內(nèi)部振蕩方式,如圖2-3所示。MCS-51單片機內(nèi)部有一個用于構成振蕩器的高增益反向放大器,引腳XTALl和XTAL2分別是此放大電器的輸入端和輸出端,由于采用內(nèi)部方式時,電路簡單,所得的時鐘信號比較穩(wěn)定,實際使用中常采用這種方式。</p><p><b> 圖2-3 時鐘電路</b></p><p><b> 主控模塊:</b>&l
32、t;/p><p> 本設計用AT89C52作為主控模塊,用P10口作為信號口與驅動模塊相連。AT89C52單片機作為主控模塊,由C1, C2 和X1構成振蕩器,引腳XTAL1 和XTAL2 分別是輸入端和輸出端。P1口的P10作為信號輸出,將控制程序燒入單片機上電后開始工作。</p><p> 2.2 74HC595的引腳及功能</p><p> 圖2-4 74H
33、C595引腳圖</p><p> Q0 Q1 Q7 15, 1, 7 并行數(shù)據(jù)輸出</p><p><b> GND 8 地</b></p><p> Q7 9 串行數(shù)據(jù)輸出</p><p> MR 10 主復位(低電平)</p><p> SHCP 11 移位寄存器時鐘輸入</p
34、><p> STCP 12 存儲寄存器時鐘輸入</p><p> OE 13 輸出有效(低電平)</p><p> DS 14 串行數(shù)據(jù)輸入</p><p><b> VCC 16 電源</b></p><p> 74HC595主要特性:</p><p> 8位串行
35、輸入 /8位串行或并行輸出 存儲狀態(tài)寄存器,三種狀態(tài)輸出寄存器可以直接清除100MHz的移位頻率。并行輸出,總線驅動。595移位寄存器有一個串行移位輸入(Ds),和一個串行輸出(Q7’),和一個異步的低電平復位,存儲寄存器有一個并行8位的,具備三態(tài)的總線輸出,當使能OE時(為低電平),存儲寄存器的數(shù)據(jù)輸出到總線。</p><p><b> 2.3 驅動模塊</b></p>&
36、lt;p> 本設計用74HC595作為驅動,有4個74HC595構成驅動模塊,將單片機的P10,P11,P13,P12口分別與595的SH_CP,DS,ST_CP,MR相連,并注上相應標號。DS作為數(shù)據(jù)口,SH_CP和ST_CP作為時鐘,第一個595的輸入端DS與P11口相連,第一個595輸出端與第二個595輸入端相連,直到連到最后一個。將輸出端與LED相連構成驅動模塊。驅動模塊圖如圖2-5:</p><p&
37、gt;<b> 驅動模塊工作原理:</b></p><p> 本設計采用AT89C52的P10口輸出信號,P11和P12作為時鐘輸入,用了4個74HC595。上電后P10口輸出信號給595,74HC595是含8位串入、串/并出移位寄存器和8位三態(tài)輸出鎖存器。寄存器和鎖存器都有自己的時鐘輸入,都是上升沿有效。當SH_CP從低到高電平跳變時,串行輸入數(shù)據(jù)移入寄存器;當ST_CP從低到高電平跳
38、變時,寄存器的數(shù)據(jù)置入鎖存器;清除端MR的低電平只對寄存器復位(Q7為低電平),而對鎖存器無影響。當輸出允許控制E為高電平時,并行輸出(O0-O7)為高阻態(tài),而串行輸出(Q7)不受影響。74HC595最多只需要5根控制線,即SH_CP、DS、ST_CP、MR和E。其中MR可以直接接到高電平,用軟件來實現(xiàn)寄存器清零;把SH_CP、ST_CP、MR三根線和單片機的P10、P13、P12口相接,數(shù)據(jù)從DS口送入74HC595,在每個SH_CP
39、的上升沿,DS口上的數(shù)據(jù)移入寄存器,在SH_CPMR的第9個上升沿,數(shù)據(jù)開始從Q7移出。把第一個74HC595的Q7和第二個74HC595的DS相連,數(shù)據(jù)即移入第二個74HC595中,照此一個一個接下去,直到接到第4個。數(shù)據(jù)全部送完</p><p> 2.4 顯示模塊簡介</p><p> 顯示模塊有32個LED構成,分成4行8列,每行8個,每列4個。每個LED分別與0.25k的電阻相
40、連,在接上電源。當程序燒入單片機,上電后在595的驅動下按程序循環(huán)顯示。如圖2-6:</p><p> 2.5 彩燈控制器總圖</p><p> 將主控模塊,驅動模塊,顯示模塊連接起來構成控制器總圖。將程序燒入單片機,上電后,信號由P1口輸出送入595,在由595驅動顯示模塊按程序設定的模式循環(huán)顯示。如圖2-7:</p><p><b> 第3章 軟
41、件設計</b></p><p> 3.1 語言選擇新型</p><p> LED彩燈控制器最大特點在于所有亮燈模式均由軟件控制完成。本設計采用AT89C51單片機為主控芯片,所以程序實現(xiàn)可以用匯編語言或C語言,也可以匯編和C混合使用。匯編語言有其一定的優(yōu)點,比如:能夠直接訪問與硬件相關的存儲器或I/O端口;能夠不受編譯器的限制,對生成的二進制代碼進行完全的控制;能夠根據(jù)特定
42、的應用對代碼做最佳的優(yōu)化,提高運行速度;能夠最大限度地發(fā)揮硬件的功能;用匯編語言編寫的程序比用高級語言編寫的程序所要求的存儲空間與執(zhí)行時間將顯著減少等。但是匯編語言是一種層次非常低的語言,它僅僅高于直接手工編寫二進制的機器指令碼,因此不可避免地存在一些缺點。比如:編寫的代碼非常難懂,不好維護;很容易產(chǎn)生Bug,難于調試;只能針對特定的體系結構和處理器進行優(yōu)化;開發(fā)效率很低,時間長且單調。使用匯編語言編寫的程序,機器不能直接識別,要由一種
43、程序將匯編語言翻譯成機器語言等。而C語言也有其缺點,主要是表現(xiàn)在數(shù)據(jù)的封裝性上,這一點使得C在數(shù)據(jù)的安全性上做的有很大缺陷;C語言的語法限制不太嚴格,對變量的類型約束不嚴格,影響程序的安全性,對數(shù)組下標越界不作檢查等。但是C語言簡潔緊湊、靈活方便 、運算符豐</p><p> 3.2 程序功能說明</p><p> LED彩燈控制器所有亮燈模式均由軟件控制完成??梢愿鶕?jù)需要來確定各種模
44、式工作時間Ti,以及確定在各種亮燈模式Mode l_i內(nèi)點亮和熄滅各種顏色LED燈的時刻。整個系統(tǒng)軟件由主程序(Main)、各個模式子程序(Model_i)、顯示子程序(Display)等程序組成。根據(jù)模式需要計算好各控制信號的發(fā)生時刻,根據(jù)不同的模式Mo del_i可以設定不同的工作時間Ti通過P1口輸出,使LED彩燈按照設計的模式工作。亮燈模式子程序Model_i可以編寫若干(n種),只要控制好各色燈觸發(fā)和熄滅時刻就可以組合成各種亮
45、燈效果。本設計的功能是通過改變LED亮滅方式使彩燈輪流顯示,上電后在缺省狀態(tài)順序調用Model_i花樣亮燈模式,由從右到左同步依次點亮→兩列一組從右到左同步依次點亮→6,7,8列點亮→2,3,4列點亮→右4列亮左4列滅→右四列滅左4列亮→3,4,7,8列亮→2,3,4,6,7,8列亮→全亮→奇數(shù)列亮→偶數(shù)列亮→從兩邊到中間依次點亮→從中間到兩邊依次熄滅→前兩行亮后兩行滅→前兩行滅后兩行亮→左4列亮右4列滅→左4列滅右四列亮→對角亮→OK
46、圖形構成亮燈模式的循環(huán)。</p><p> 3.3 主程序流程圖</p><p> 圖 3-1 主程序流程圖</p><p><b> 3.4 程序簡介</b></p><p> 本設計用了P1口的P10,P11,P12和P13。程序有主程序,子程序,延時程序。 定義LED低電平亮高電平滅。由于顯示方式比較多,需
47、要定義一個數(shù)組來存放顯示數(shù)據(jù)。當顯示方式比較簡單逐個點亮時還可以調用流水燈程序段。延時一定時間后按顯示數(shù)據(jù)依次顯示下去直到最后一種顯示方式。延時一定時間后循環(huán)繼續(xù)顯示。</p><p> 第4章 彩燈控制器的調試與仿真</p><p> 本設計采用Proteus.Professional(單片機仿真軟件)進行仿真,由于電路圖是用Protel 99 SE所繪制,Proteus不能識別,所
48、以進行仿真前打開Proteus新建文件→添加元件→在新建文件界面放置元件→布局→連線→修改。確定無誤后保存。程序則由KEIL編譯,編譯成功后保存。在打開Proteus→打開電路圖→雙擊單片機→添加程序→點擊開始→進行仿真。若不能實現(xiàn)預期效果,則檢查電路圖和程序進行修改程序中數(shù)組顯示的結果。部分仿真圖如下:</p><p><b> 圖4-1 彩燈顯示</b></p><
49、p> 此圖為左4列亮右4列滅顯示方式,對應程序數(shù)組中的0x0f0f0f0f顯示方式。</p><p><b> 圖4-2 彩燈顯示</b></p><p> 此圖是1,2列和5,6列同時亮顯示方式,對應程序數(shù)組中的0xcccccccc顯示方式。</p><p><b> 圖4-3 彩燈顯示</b></p
50、><p> 此圖是奇數(shù)列亮顯示方式,對應程序數(shù)組中的0x55555555顯示方式。</p><p><b> 圖4-4 彩燈顯示</b></p><p> 此圖是偶數(shù)列顯示方式,對應程序數(shù)組中的0xaaaaaaaa顯示方式。</p><p><b> 圖4-5 彩燈顯示</b></p>
51、;<p> 此圖是對角亮顯示方式,對應程序數(shù)組中的0x0f0ff0f0顯示方式。</p><p><b> 圖4-6 彩燈顯示</b></p><p> 此圖是最后一種顯示方式“OK”,對應程序數(shù)組中的0xf61313f6顯示方式。</p><p><b> 結 論</b></p>&
52、lt;p> 在本設計過程中雖然遇到很多困難,但是從中收獲很多。本設計主要是用單片機設計彩燈控制器,用C語言編程實現(xiàn)對彩燈亮滅模式的控制,用AT89C52作為主控芯片,用74HC595作為驅動,其中硬件設計與軟件設計都離不開對單片機知識的再學習。這讓我對單片機知識的理解更加深刻。單片機由于去造價低廉控制簡單等特點而得到廣泛應用。在LED設計中選用單片機可以減少很多不必要的麻煩。本次設計需要根據(jù)要求運用所學知識將其付諸實踐來完成。這
53、并不是在課堂上的單純聽懂,或者課后看書過程中的深入理解,這需要的是一種理論聯(lián)系實踐的能力。理論知識往往都是在一些理想狀態(tài)下的假設論,而實際的動手操作則完全不同,需要考慮實際中的很多問題。有些知識在理論上可能完全沒錯但到了實際中則不然。比如在動筆做題時我們是不用考慮導線的電阻的,但在實際中,導線電阻有時是會造成花型變化的錯亂,所以我們應盡量在連接電路時選擇最短路徑。這次的設計中應用了整塊板子,對電路板更加了解了。設計中通過對電路的連接也懂
54、得了如何通過設計的分析對所連電路的整體布局,如何更好的放置芯片在最合適的位置。在導線的連接上,如何選擇導線走向是關鍵,我們應該盡量保證所連電</p><p><b> 參考文獻</b></p><p> [1] 任為民. 電子技術基礎課程設計. 1997年5月第一版. 北京:中央廣播大學出版社. 1997.5</p><p> [2] 張
55、毅坤、陳善久、裘雪紅. 單片微型計算機原理機及應用. 1998年第一版.西安:西安電子科技大學出版社. 1998.8</p><p> [3] 譚浩強. C程序設計. 第2版. 北京:清華大學出版社. 2005.6</p><p> [4] 田立,田清,代方震. 51單片機C語言程序設計快速入門. 北京:電子工業(yè)出版社. 2007</p><p> [5] A
56、T89C52中文資料. 電子譯站</p><p> [6] 劉樂善,歐陽星明,劉學清. 微型計算機借口技術及應用. 2000年4月第一版. 武昌:華中科技大學出版社. 2000.4</p><p><b> 附錄1 源程序清單</b></p><p> #include <reg52.h></p><p&
57、gt; #define uchar unsigned char</p><p> #define uint unsigned int</p><p> #define ulong unsigned long</p><p> #define BUF_LONG 42</p><p> sbit ST_CP = P1^3;</p&
58、gt;<p> sbit SH_CP = P1^0;</p><p> sbit MR = P1^2;</p><p> sbit DS = P1^1;</p><p> void delay_ms(uint);</p><p> void writ_data(ulong);</p><p>
59、 ulong code data_buf[BUF_LONG] = {</p><p> 0xfefefefe,0xfdfdfdfd,0xfbfbfbfb,0xf7f7f7f7,0xefefefef,0xdfdfdfdf,0xbfbfbfbf,0x7f7f7f7f,0xfcfcfcfc,0xf3f3f3f3,0xcfcfcfcf,0x3f3f3f3f,0xf8f8f8f8,0x8f8f8f8f,0xf0f0f0f
60、0,0x0f0f0f0f,0xcccccccc,0x88888888,0x00000000,0x7f7f7f7f,0x5f5f5f5f,0x57575757,0x55555555,0xbfbfbfbf,0xafafafaf,0xabababab,0xaaaaaaaa,0x7e7e7e7e,0x3c3c3c3c,0x18181818,0x00000000,0x18181818,0x3c3c3c3c,0x7e7e7e7e,0xfffffff
61、f,0x0000ffff,0xffff0000,0x0f0f0f0f,0xf0f0f0f0,0x0f0ff0f0,0xf0f00f0f,0xf61313f6</p><p><b> };</b></p><p> void main()</p><p><b> {</b></p><p>
62、 ulong txdata = 0x1;</p><p><b> uchar i;</b></p><p> ST_CP = 0;</p><p> SH_CP = 0;</p><p><b> MR = 0;</b></p><p> ST_CP = 1;&
63、lt;/p><p> ST_CP = 0;</p><p><b> MR = 1;</b></p><p> delay_ms(800);</p><p> writ_data(0XFFFFFFFF);</p><p> delay_ms(800);</p><p>
64、;<b> while(1)</b></p><p><b> {</b></p><p> for (i=0;i<BUF_LONG;i++)</p><p><b> {</b></p><p> writ_data(data_buf[i]);</p&g
65、t;<p> delay_ms(800);</p><p><b> }</b></p><p><b> } </b></p><p><b> while(1)</b></p><p><b> {</b></p&g
66、t;<p> txdata = (0x01);</p><p> for (i=32;i;i--)</p><p><b> {</b></p><p> writ_data(~txdata);</p><p> txdata <<= 1;</p><p>
67、delay_ms(400);</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> void writ_data(ulong txdata)</p><p><b
68、> {</b></p><p><b> uchar i;</b></p><p> SH_CP = 0;</p><p> ST_CP = 0;</p><p> for (i=32;i;i--)</p><p><b> {</b></
69、p><p> txdata <<= 1;</p><p><b> DS = CY;</b></p><p> SH_CP = 1;</p><p> SH_CP = 0;</p><p><b> }</b></p><p> S
70、T_CP = 1;</p><p> ST_CP = 0;</p><p><b> }</b></p><p> void delay_ms(uint t)</p><p><b> {</b></p><p><b> uint t1;</b&g
71、t;</p><p> for (;t;t--)</p><p><b> {</b></p><p> for (t1=110;t1;t1--);</p><p><b> }</b></p><p><b> }</b></p>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于單片機的彩燈循環(huán)控制器畢業(yè)設計
- 畢業(yè)設計--基于單片機的音樂彩燈控制器設計
- 基于單片機的彩燈控制器畢業(yè)設計開題報告
- 畢業(yè)設計 --基于單片機的鍵控彩燈電路設計
- 基于單片機彩燈控制課程設計
- 基于單片機的多樣彩燈設計
- 單片機彩燈控制課程設計
- 單片機畢業(yè)設計---基于單片機控制的模擬電梯顯示
- 基于單片機的電機控制畢業(yè)設計
- 基于單片機課程設計--彩燈設計
- 基于單片機的溫度控制畢業(yè)設計
- 單片機畢業(yè)設計---基于單片機的恒溫控制器的設計
- 單片機課程設計---單片機節(jié)日彩燈控制器
- 單片機課程設計---節(jié)日彩燈控制
- 畢業(yè)設計--基于單片機控制的直流恒流源設計
- 基于單片機的畢業(yè)設計
- 單片機課設報告-基于單片機的彩燈控制器電路設計
- 基于單片機的pid溫度控制畢業(yè)設計
- 基于單片機的步進電機控制畢業(yè)設計
- 基于單片機的步進電機控制畢業(yè)設計
評論
0/150
提交評論