版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、信息職業(yè)技術(shù)學院畢業(yè)設(shè)計說明書設(shè)計題目: 基于單片機的彩燈控制設(shè)計 專 業(yè): 應(yīng)用電子技術(shù) 班 級: 應(yīng)電08-3 學 號: 姓 名: 指導(dǎo)教師: 二0一0年七月五日四川信息職業(yè)技術(shù)學院畢業(yè)設(shè)計(論文)任務(wù)書學 生姓 名李暉學號班級應(yīng)電08-3專業(yè)應(yīng)用電子技術(shù)設(shè)計(或論文)題目基于單片機原理的彩燈控制器指導(dǎo)教師姓名職 稱工作單位及所從事專業(yè)聯(lián)系方式備 注講師設(shè)計(論文)內(nèi)容:運用單片機知識和電子技術(shù)設(shè)計一個彩燈控制器。功能要求如下:1 采用AT89C51作為主控芯片。2 74HC595為驅(qū)動模塊。3 LED為顯示模塊。4 顯示出多種花樣的彩燈。要求完成:選擇各單元電路結(jié)構(gòu)并闡述工作原理,繪制整
2、機電路原理圖(A4圖紙),寫出C語言源程序;正確選擇電路元件與設(shè)備,給出元件、設(shè)備明細表;撰寫設(shè)計說明書,要求準確闡述電路選擇依據(jù),反映設(shè)計方案、元件、設(shè)備選擇等設(shè)計過程,并使用軟件進行仿真或制作實物。進度安排:4.27-5.2:查找資料,選擇參考方案; 5.3-5.10:確定方案;5.11-5.25:查找資料,進行單元電路的設(shè)計; 5.26-6.5:整機電路整理與分析;6.6-6.20:整理報告,確定初稿; 6.21-6.27:檢查定稿;6.28-7.5:答辯。主要參考文獻、資料(寫清楚參考文獻名稱、作者、出版單位):1 任為民. 電子技術(shù)基礎(chǔ)課程設(shè)計. 1997年5月第一版. 北京:中央廣
3、播大學出版社. 1997.52 張毅坤、陳善久、裘雪紅. 單片微型計算機原理機及應(yīng)用. 1998年第一版.西安:西安電子科技大學出版社. 1998.83 譚浩強. C程序設(shè)計. 第2版. 北京:清華大學出版社. 2005.64 田立,代方震. 51單片機C語言程序設(shè)計快速入門. 北京:電子工業(yè)出版社.2007 5 劉樂善,歐陽星明,劉學清. 微型計算機借口技術(shù)及應(yīng)用. 2000年4月第一版. 武昌:華中科技大學出版社. 2000.4審批意見教研室負責人:年 月 日備注:任務(wù)書由指導(dǎo)教師填寫,一式二份。其中學生一份,指導(dǎo)教師一份。目 錄摘 要1緒論2第1章 彩燈控制器方案設(shè)計和選擇31.1 設(shè)計
4、要求31.2 系統(tǒng)功能31.3 方案選擇3第2章 硬件設(shè)計52.1 系統(tǒng)整體硬件電路和各部分介紹52.1.1 單片機AT89C5252.1.2 復(fù)位電路72.1.3 時鐘電路82.2 74HC595的引腳及功能82.3 驅(qū)動模塊92.4 顯示模塊簡介112.5 彩燈控制器總圖12第3章 軟件設(shè)計143.1 語言選擇新型143.2 程序功能說明143.3 主程序流程圖153.4 程序簡介15第4章 彩燈控制器的調(diào)試與仿真16結(jié) 論22參考文獻24附錄1 源程序清單25附錄2 整機電路圖28附錄3 元器件明細表29摘 要單片機是一種集成在電路芯片,是采用超大規(guī)模集成電路技術(shù)把具有數(shù)據(jù)處理能力的中央
5、處理器CPU隨機存儲器RAM、只讀存儲器ROM、多種I/O口和中斷系統(tǒng)、定時器/計時器等功能(可能還包括顯示驅(qū)動電路、脈寬調(diào)制電路、模擬多路轉(zhuǎn)換器、A/D轉(zhuǎn)換器等電路)集成到一塊硅片上構(gòu)成的一個小而完善的計算機系統(tǒng)。單片機比專用處理器更適合應(yīng)用于嵌入式系統(tǒng),因此它得到了最多的應(yīng)用。事實上單片機是世界上數(shù)量最多的計算機?,F(xiàn)代人類生活中所用的幾乎每件電子和機械產(chǎn)品中都會集成有單片機。手機、電話、計算器、家用電器、電子玩具、掌上電腦以及鼠標等電腦配件中都配有1-2部單片機。而個人電腦中也會有為數(shù)不少的單片機在工作。汽車上一般配備40多部單片機,復(fù)雜的工業(yè)控制系統(tǒng)上甚至可能有數(shù)百臺單片機在同時工作!單
6、片機的數(shù)量不僅遠超過PC機和其他計算的總和,甚至比人類的數(shù)量還要多。本設(shè)計是一種基于AT89C52單片機的彩燈控制方案,實現(xiàn)對LED彩燈的控制。本方案以AT89C52單片機作為主控核心,用32個LED構(gòu)成顯示模塊、用74HC595作為驅(qū)動模塊,由編程實現(xiàn)亮燈循環(huán)模式。由在顯示模塊上有32個LED彩燈,根據(jù)用戶需要可以編寫若干種亮燈模式. 本系統(tǒng)具有體積小、硬件少、電路結(jié)構(gòu)簡單及容易操作和閱讀等優(yōu)點。該LED彩燈控制器實際應(yīng)用效果較好,亮燈模式多。與其他LED彩燈相比,具有體積小、價格低、低能耗等優(yōu)點。在能源比較匱乏的今天,彩燈的循環(huán)控制在顯示方面更表現(xiàn)出一種節(jié)約能源的魅力.這將使彩燈具有更廣闊
7、的發(fā)展天地。關(guān)鍵詞AT89C52;74HC595;循環(huán)LED彩燈緒論隨著人們生活環(huán)境的不斷改善和美化,在許多場合可以看到彩色霓虹燈。LED彩燈由于其豐富的燈光色彩,低廉的造價以及控制簡單等特點而得到了廣泛的應(yīng)用。彩燈的運用已經(jīng)遍布于人們的生活中,從歌舞廳到卡拉OK包房,從節(jié)的祝賀到常生活中的點綴。這些不緊說明了我們對生活的要求有了質(zhì)的飛躍,也說明科技在現(xiàn)實運用中有了較大的發(fā)展,用彩燈來裝飾街道和城市建筑物已經(jīng)成為一種時尚。但目前市場上各式樣的LED彩燈控制器大多數(shù)用全硬件電路實現(xiàn),電路結(jié)構(gòu)復(fù)雜、功能單一,這樣一旦制作成品只能按照固定的模式閃亮,不能根據(jù)不同場合、不同時間段的需要來調(diào)節(jié)亮燈時間、
8、模式、閃爍頻率等動態(tài)參數(shù)。這種彩燈控制器結(jié)構(gòu)往往有芯片過多、電路復(fù)雜、功率損耗大等缺點。此外從功能效果上看,亮燈模式少而且樣式單調(diào),缺乏用戶可操作性,影響亮燈效果。因此有必要對現(xiàn)有的彩燈控制器進行改進。本文提出了一種基于AT89C52單片機的彩燈控制方案,實現(xiàn)對LED彩燈的控制。第1章 彩燈控制器方案設(shè)計和選擇1.1 設(shè)計要求本次畢業(yè)設(shè)計要求設(shè)計一個可編程彩燈控制器,其設(shè)計要求如下:1、用32個發(fā)光二極管作為顯示電路。2、實現(xiàn)LED動態(tài)顯示。3、能連續(xù)循環(huán)顯示。1.2 系統(tǒng)功能 彩燈控制器可直接與220 V交流市電相連接,經(jīng)過開關(guān)電源變換,輸出直流工作電壓,一方面為管內(nèi)LED模塊提供12 V工
9、作電源,另一方面為主控模塊單片機系統(tǒng)提供5 V工作電源。整個系統(tǒng)工作由軟件程序控制運行。上電后,彩燈控制器按程序設(shè)計好的模式進行顯示,由全滅按程序顯示全都熄滅為一個周期。然后循環(huán)繼續(xù)工作。1.3 方案選擇方案1:可采用AT89C52作為主控制芯片,用74LS164作為驅(qū)動,用4個164分別接8個LED,32個LED構(gòu)成顯示模塊??捎肅或者匯編編程實現(xiàn)。方案框圖如圖1-1:AT89C5274LS16474LS16474LSI6474LS164LED顯示時鐘電路電源電路復(fù)位電路圖1-1 方案一框圖方案1用了164作為驅(qū)動,編程有些復(fù)雜,實現(xiàn)功能比較多,但164不具有數(shù)據(jù)鎖存功能,顯示不穩(wěn)定,容易受
10、干擾。方案2: 可用AT89C52作為主控芯片,用74HC595作為驅(qū)動,用4個595分別接8個LED,32個LED構(gòu)成顯示模塊??捎肅或者匯編編程實現(xiàn)。方案框圖如圖1-2:AT89C5274HC59574HC59574HC59574HC595LED顯示時鐘電路電源電路復(fù)位電路圖1-2 方案二框圖 方案2采用595作為驅(qū)動,由于595有數(shù)據(jù)鎖存功能,顯示穩(wěn)定,不易受干擾,顯示方案也比方案1多。綜合考慮:本設(shè)計采AT89C52作為主控芯片,595作為驅(qū)動,實現(xiàn)彩燈循環(huán)顯示。第2章 硬件設(shè)計2.1 系統(tǒng)整體硬件電路和各部分介紹2.1.1 單片機AT89C52圖2-1 AT89C52引腳圖VCC:供
11、電電壓。GND:接地。P0口:P0口是一組8 位漏極開路型雙向I/O口, 也即地址/數(shù)據(jù)總線復(fù)用口。作為輸出口用時,每位能吸收電流的方式驅(qū)動8gTTL邏輯門電路,對端口P0寫“1”時,可作為高阻抗輸入端用。在訪問個外部數(shù)據(jù)存儲器或程序存儲器時,這組口線分時轉(zhuǎn)換地址(低8 位)和數(shù)據(jù)總線復(fù)用,在訪問期間激活內(nèi)部上拉電阻。在Flash 編程時,P0口接收指令字節(jié),而在程序校驗時,輸出指令字節(jié),校驗時,要求外接上拉電阻。P1口:P1是一個帶內(nèi)部上拉電阻的8 位雙向I/O口, P1 的輸出緩沖級可驅(qū)動(吸收或輸出電流)4個TTL 邏輯門電路。對端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作
12、輸入口。作輸入口使用時,因為內(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的第二功能 表 2-1 P1.0和P1.1的第二功能引腳號功能特性P1.0T2,時鐘輸出P1.1T2EX(定時/計數(shù)器2)P2口:P2是一個帶有內(nèi)部上拉電阻的8位雙向I/O 口,P2的輸出緩沖級可驅(qū)動(吸收或輸出電流)4個TTL 邏輯門電路。對端口P2寫“1”,通過內(nèi)部的上拉電阻把
13、端口拉到高電平,此時可作輸入口,作輸入口使用時,因為內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(IIL)。在訪問外部程序存儲器或16位地址的外部數(shù)據(jù)存儲器時,P2口送出高8位地址數(shù)據(jù)。在訪問8 位地址的外部數(shù)據(jù)存儲器時,P2口輸出P2鎖存器的內(nèi)容。Flash 編程或校驗時,P2亦接收高位地址和一些控制信號。P3口:P3口是一組帶有內(nèi)部上拉電阻的8位雙向I/O口。P3口輸出緩沖級可驅(qū)動4 個TTL 邏輯門電路。對P3口寫入“1”時,它們被內(nèi)部上拉電阻拉高并可作為輸入端口。此時,被外部拉低的P3口將用上拉電阻輸出電流(IIL)。P3口除了作為一般的I/O口線外,更重要的用途是它的第二
14、功能P3口還接收一些用于Flash 閃速存儲器編程和程序校驗的控制信號。RST:復(fù)位輸入。當振蕩器工作時,RST引腳出現(xiàn)兩個機器周期以上高電平將使單片機復(fù)位。XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。XTAL2:來自反向振蕩器的輸出。振蕩器特性:AT89C52中有一個用于構(gòu)成內(nèi)部振蕩器的高增益反相放大器,引腳XTAL1和XTAL2分別是該放大器的輸入端和輸出端。這個放大器與作為反饋元件的片外石英晶體或陶瓷諧振器一起構(gòu)成自激振蕩器。外接石英晶體(或陶瓷諧振器)及電容C1、C2 接在放大器的反饋回路中構(gòu)成并聯(lián)振蕩電路。使用石英晶體,我們推薦電容使用30pF10pF,使用陶瓷諧振器建
15、議選擇40pF10F。用戶也可以采用外部時鐘。這種情況下,外部時鐘脈沖接到XTAL1端,即內(nèi)部時鐘發(fā)生器的輸入端,XTAL2則懸空。AT89C52主要特性:兼容MCS51指令系統(tǒng) , 8k可反復(fù)擦寫(1000次)Flash ROM 32個雙向I/O口,256x8bit內(nèi)部RAM 3個16位可編程定時/計數(shù)器中斷 ,時鐘頻率0-24MHz 2個串行中斷 ,可編程UART串行通道 2個外部中斷源,共6個中斷源 2個讀寫中斷口線,3級加密位 低功耗空閑和掉電模式,軟件設(shè)置睡眠和喚醒功。2.1.2 復(fù)位電路為確保兩點間溫度控制系統(tǒng)中電路穩(wěn)定可靠工作,復(fù)位電路是必不可少的一部分,復(fù)位電路的第一功能是上電
16、復(fù)位。一般電路正常工作需要供電電源為5V5%,即4.755.25V。復(fù)位是單片機的初始化操作,其目的是使CPU及各專用寄存器處于一個確定的初始狀態(tài)。如:把PC的內(nèi)容初始化為0000H,使單片機從0000H單元開始執(zhí)行程序。除了進入系統(tǒng)的正常初始化之外,當單片機系統(tǒng)在運行出錯或操作錯誤使系統(tǒng)處于死鎖狀態(tài)時,為擺脫困境,也需要復(fù)位以使其恢復(fù)正常工作狀態(tài)。RST端的外部復(fù)位電路有兩種操作方式:上電自動復(fù)位和按鍵手動復(fù)位。按鍵手動復(fù)位有電平方式和脈沖方式兩種,本系統(tǒng)設(shè)計采用按鍵電平復(fù)位,如圖2-2所示。按鍵電平復(fù)位是相當于RST端通過電阻接高電平來實現(xiàn)單片機的復(fù)位。圖2-2 復(fù)位電路2.1.3 時鐘電
17、路單片機的時鐘信號用來提供單片機內(nèi)各種微操作的時間基準,時鐘電路用于產(chǎn)生單片機工作所需要的時鐘信號。單片機的時鐘信號用來提供單片機片內(nèi)各種微操作的時間基準,時鐘信號通常用兩種電路形式得到:內(nèi)部振蕩和外部振蕩。本系統(tǒng)設(shè)計采用內(nèi)部振蕩方式,如圖2-3所示。MCS-51單片機內(nèi)部有一個用于構(gòu)成振蕩器的高增益反向放大器,引腳XTALl和XTAL2分別是此放大電器的輸入端和輸出端,由于采用內(nèi)部方式時,電路簡單,所得的時鐘信號比較穩(wěn)定,實際使用中常采用這種方式。圖2-3 時鐘電路主控模塊:本設(shè)計用AT89C52作為主控模塊,用P10口作為信號口與驅(qū)動模塊相連。AT89C52單片機作為主控模塊,由C1, C
18、2 和X1構(gòu)成振蕩器,引腳XTAL1 和XTAL2 分別是輸入端和輸出端。P1口的P10作為信號輸出,將控制程序燒入單片機上電后開始工作。2.2 74HC595的引腳及功能 圖2-4 74HC595引腳圖Q0 Q1 Q7 15, 1, 7 并行數(shù)據(jù)輸出GND 8 地Q7 9 串行數(shù)據(jù)輸出MR 10 主復(fù)位(低電平)SHCP 11 移位寄存器時鐘輸入STCP 12 存儲寄存器時鐘輸入OE 13 輸出有效(低電平)DS 14 串行數(shù)據(jù)輸入VCC 16 電源74HC595主要特性:8位串行輸入 /8位串行或并行輸出 存儲狀態(tài)寄存器,三種狀態(tài)輸出寄存器可以直接清除100MHz的移位頻率。并行輸出,總線
19、驅(qū)動。595移位寄存器有一個串行移位輸入(Ds),和一個串行輸出(Q7),和一個異步的低電平復(fù)位,存儲寄存器有一個并行8位的,具備三態(tài)的總線輸出,當使能OE時(為低電平),存儲寄存器的數(shù)據(jù)輸出到總線。2.3 驅(qū)動模塊本設(shè)計用74HC595作為驅(qū)動,有4個74HC595構(gòu)成驅(qū)動模塊,將單片機的P10,P11,P13,P12口分別與595的SH_CP,DS,ST_CP,MR相連,并注上相應(yīng)標號。DS作為數(shù)據(jù)口,SH_CP和ST_CP作為時鐘,第一個595的輸入端DS與P11口相連,第一個595輸出端與第二個595輸入端相連,直到連到最后一個。將輸出端與LED相連構(gòu)成驅(qū)動模塊。驅(qū)動模塊圖如圖2-5:
20、圖2-5 驅(qū)動電路驅(qū)動模塊工作原理:本設(shè)計采用AT89C52的P10口輸出信號,P11和P12作為時鐘輸入,用了4個74HC595。上電后P10口輸出信號給595,74HC595是含8位串入、串/并出移位寄存器和8位三態(tài)輸出鎖存器。寄存器和鎖存器都有自己的時鐘輸入,都是上升沿有效。當SH_CP從低到高電平跳變時,串行輸入數(shù)據(jù)移入寄存器;當ST_CP從低到高電平跳變時,寄存器的數(shù)據(jù)置入鎖存器;清除端MR的低電平只對寄存器復(fù)位(Q7為低電平),而對鎖存器無影響。當輸出允許控制E為高電平時,并行輸出(O0-O7)為高阻態(tài),而串行輸出(Q7)不受影響。74HC595最多只需要5根控制線,即SH_CP、
21、DS、ST_CP、MR和E。其中MR可以直接接到高電平,用軟件來實現(xiàn)寄存器清零;把SH_CP、ST_CP、MR三根線和單片機的P10、P13、P12口相接,數(shù)據(jù)從DS口送入74HC595,在每個SH_CP的上升沿,DS口上的數(shù)據(jù)移入寄存器,在SH_CPMR的第9個上升沿,數(shù)據(jù)開始從Q7移出。把第一個74HC595的Q7和第二個74HC595的DS相連,數(shù)據(jù)即移入第二個74HC595中,照此一個一個接下去,直到接到第4個。數(shù)據(jù)全部送完后,給ST_CP一個上升沿,寄存器中的數(shù)據(jù)置入鎖存器。如果E為低電平,數(shù)據(jù)即從并口O0-O7輸出,把O0-O7與八個LED相連,LED就可以實現(xiàn)顯示了。2.4 顯示
22、模塊簡介顯示模塊有32個LED構(gòu)成,分成4行8列,每行8個,每列4個。每個LED分別與0.25k的電阻相連,在接上電源。當程序燒入單片機,上電后在595的驅(qū)動下按程序循環(huán)顯示。如圖2-6:圖 2-6 LED顯示電路2.5 彩燈控制器總圖將主控模塊,驅(qū)動模塊,顯示模塊連接起來構(gòu)成控制器總圖。將程序燒入單片機,上電后,信號由P1口輸出送入595,在由595驅(qū)動顯示模塊按程序設(shè)定的模式循環(huán)顯示。如圖2-7: 圖2-7 彩燈控制器總圖圖第3章 軟件設(shè)計3.1 語言選擇新型LED彩燈控制器最大特點在于所有亮燈模式均由軟件控制完成。本設(shè)計采用AT89C51單片機為主控芯片,所以程序?qū)崿F(xiàn)可以用匯編語言或C語
23、言,也可以匯編和C混合使用。匯編語言有其一定的優(yōu)點,比如:能夠直接訪問與硬件相關(guān)的存儲器或I/O端口;能夠不受編譯器的限制,對生成的二進制代碼進行完全的控制;能夠根據(jù)特定的應(yīng)用對代碼做最佳的優(yōu)化,提高運行速度;能夠最大限度地發(fā)揮硬件的功能;用匯編語言編寫的程序比用高級語言編寫的程序所要求的存儲空間與執(zhí)行時間將顯著減少等。但是匯編語言是一種層次非常低的語言,它僅僅高于直接手工編寫二進制的機器指令碼,因此不可避免地存在一些缺點。比如:編寫的代碼非常難懂,不好維護;很容易產(chǎn)生Bug,難于調(diào)試;只能針對特定的體系結(jié)構(gòu)和處理器進行優(yōu)化;開發(fā)效率很低,時間長且單調(diào)。使用匯編語言編寫的程序,機器不能直接識別
24、,要由一種程序?qū)R編語言翻譯成機器語言等。而C語言也有其缺點,主要是表現(xiàn)在數(shù)據(jù)的封裝性上,這一點使得C在數(shù)據(jù)的安全性上做的有很大缺陷;C語言的語法限制不太嚴格,對變量的類型約束不嚴格,影響程序的安全性,對數(shù)組下標越界不作檢查等。但是C語言簡潔緊湊、靈活方便 、運算符豐富、數(shù)據(jù)結(jié)構(gòu)豐富、C語法限制不太嚴格,程序設(shè)計自由度大、C語言允許直接訪問物理地址,可以直接對硬件進行操作、 C語言程序生成代碼質(zhì)量高,程序執(zhí)行效率高,一般只比匯編程序生成的目標代碼效率低1020%, C語言適用范圍大,可移植性好。由于本設(shè)計需要仿真調(diào)試,經(jīng)過綜合考慮,選用C語言編程實現(xiàn)對LED彩燈的控制。3.2 程序功能說明LE
25、D彩燈控制器所有亮燈模式均由軟件控制完成??梢愿鶕?jù)需要來確定各種模式工作時間Ti,以及確定在各種亮燈模式Mode l_i內(nèi)點亮和熄滅各種顏色LED燈的時刻。整個系統(tǒng)軟件由主程序(Main)、各個模式子程序(Model_i)、顯示子程序(Display)等程序組成。根據(jù)模式需要計算好各控制信號的發(fā)生時刻,根據(jù)不同的模式Mo del_i可以設(shè)定不同的工作時間Ti通過P1口輸出,使LED彩燈按照設(shè)計的模式工作。亮燈模式子程序Model_i可以編寫若干(n種),只要控制好各色燈觸發(fā)和熄滅時刻就可以組合成各種亮燈效果。本設(shè)計的功能是通過改變LED亮滅方式使彩燈輪流顯示,上電后在缺省狀態(tài)順序調(diào)用Model
26、_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圖形構(gòu)成亮燈模式的循環(huán)。3.3 主程序流程圖主程序程序初始化調(diào)用亮燈模式1第一種模式亮完?調(diào)用第I種亮燈模式(I=1,2,3N)YNYN第N種亮燈模式完?圖 3-1 主程序流程圖3.4 程序簡介本設(shè)計用了P1口的P10,P11,P12和P13。程序有主程序,子程序,延時程序。 定義LED低
27、電平亮高電平滅。由于顯示方式比較多,需要定義一個數(shù)組來存放顯示數(shù)據(jù)。當顯示方式比較簡單逐個點亮時還可以調(diào)用流水燈程序段。延時一定時間后按顯示數(shù)據(jù)依次顯示下去直到最后一種顯示方式。延時一定時間后循環(huán)繼續(xù)顯示。第4章 彩燈控制器的調(diào)試與仿真本設(shè)計采用Proteus.Professional(單片機仿真軟件)進行仿真,由于電路圖是用Protel 99 SE所繪制,Proteus不能識別,所以進行仿真前打開Proteus新建文件添加元件在新建文件界面放置元件布局連線修改。確定無誤后保存。程序則由KEIL編譯,編譯成功后保存。在打開Proteus打開電路圖雙擊單片機添加程序點擊開始進行仿真。若不能實現(xiàn)預(yù)
28、期效果,則檢查電路圖和程序進行修改程序中數(shù)組顯示的結(jié)果。部分仿真圖如下:圖4-1 彩燈顯示此圖為左4列亮右4列滅顯示方式,對應(yīng)程序數(shù)組中的0x0f0f0f0f顯示方式。圖4-2 彩燈顯示此圖是1,2列和5,6列同時亮顯示方式,對應(yīng)程序數(shù)組中的0xcccccccc顯示方式。圖4-3 彩燈顯示此圖是奇數(shù)列亮顯示方式,對應(yīng)程序數(shù)組中的0x顯示方式。圖4-4 彩燈顯示此圖是偶數(shù)列顯示方式,對應(yīng)程序數(shù)組中的0xaaaaaaaa顯示方式。圖4-5 彩燈顯示此圖是對角亮顯示方式,對應(yīng)程序數(shù)組中的0x0f0ff0f0顯示方式。圖4-6 彩燈顯示此圖是最后一種顯示方式“OK”,對應(yīng)程序數(shù)組中的0xf61313f
29、6顯示方式。結(jié) 論在本設(shè)計過程中雖然遇到很多困難,但是從中收獲很多。本設(shè)計主要是用單片機設(shè)計彩燈控制器,用C語言編程實現(xiàn)對彩燈亮滅模式的控制,用AT89C52作為主控芯片,用74HC595作為驅(qū)動,其中硬件設(shè)計與軟件設(shè)計都離不開對單片機知識的再學習。這讓我對單片機知識的理解更加深刻。單片機由于去造價低廉控制簡單等特點而得到廣泛應(yīng)用。在LED設(shè)計中選用單片機可以減少很多不必要的麻煩。本次設(shè)計需要根據(jù)要求運用所學知識將其付諸實踐來完成。這并不是在課堂上的單純聽懂,或者課后看書過程中的深入理解,這需要的是一種理論聯(lián)系實踐的能力。理論知識往往都是在一些理想狀態(tài)下的假設(shè)論,而實際的動手操作則完全不同,需
30、要考慮實際中的很多問題。有些知識在理論上可能完全沒錯但到了實際中則不然。比如在動筆做題時我們是不用考慮導(dǎo)線的電阻的,但在實際中,導(dǎo)線電阻有時是會造成花型變化的錯亂,所以我們應(yīng)盡量在連接電路時選擇最短路徑。這次的設(shè)計中應(yīng)用了整塊板子,對電路板更加了解了。設(shè)計中通過對電路的連接也懂得了如何通過設(shè)計的分析對所連電路的整體布局,如何更好的放置芯片在最合適的位置。在導(dǎo)線的連接上,如何選擇導(dǎo)線走向是關(guān)鍵,我們應(yīng)該盡量保證所連電路的簡捷,寧短勿長,合理布線。一個成功的作品不僅要能很好的完成要求實現(xiàn)功能,還要在感官上給人美的享受。所以站在美的角度對自己的電路進行改良是很必要的。本設(shè)計采用C語言編程,則可以分塊
31、編程,畫出程序流程圖,但總體思路要清晰。通過查閱資料,找到相似設(shè)計的程序,適當修改,將其變成自己的程序,前提是讀懂,吸收此相似程序。編寫程序時要細心,有時一個字母的大小寫就可以使程序出錯。修改程序時要從上到下修改,有時上面修改好了下面的自然就沒錯了,不要從下到上或者隨機修改??傊?,編程是需要細心,耐心和技巧的。在設(shè)計中經(jīng)常會遇到一些自己可能暫時無法想明白的問題,請教同學或老師是很好的做法,既節(jié)省時間也會從別人身上學到更多。在設(shè)計時和同學相互交流各自的想法也是很重要的,不同的人對問題的看法總有差異,我們可以從交流中獲得不同的意見,其他人的設(shè)計一定有比你出色的地方,很好的借鑒,最終一定會得到很好的
32、設(shè)計方法。與市面上大多數(shù)的LED彩燈相比,該種彩燈具有更好的燈光裝飾效果,性價比更高,與普通的全硬件LED彩燈相比具有更好的經(jīng)濟效益。應(yīng)用主控模塊輸出的控制信號去控制燈管內(nèi)的L ED板模塊工作,使得產(chǎn)品性能穩(wěn)定,便以安裝容易操作。由于控制程序存儲在89C52單片機的電可擦除Flash閃存EPROM中,如果用戶需要更改系統(tǒng)的亮燈模式,無須改變系統(tǒng)硬件電路,只需修改其中程序即可,是一種很有發(fā)展前途的彩燈控制。參考文獻1 任為民. 電子技術(shù)基礎(chǔ)課程設(shè)計. 1997年5月第一版. 北京:中央廣播大學出版社. 1997.52 張毅坤、陳善久、裘雪紅. 單片微型計算機原理機及應(yīng)用. 1998年第一版.西安
33、:西安電子科技大學出版社. 1998.83 譚浩強. C程序設(shè)計. 第2版. 北京:清華大學出版社. 2005.64 田立,田清,代方震. 51單片機C語言程序設(shè)計快速入門. 北京:電子工業(yè)出版社. 20075 AT89C52中文資料. 電子譯站6 劉樂善,歐陽星明,劉學清. 微型計算機借口技術(shù)及應(yīng)用. 2000年4月第一版. 武昌:華中科技大學出版社. 2000.4附錄1 源程序清單#include #define uchar unsigned char#define uint unsigned int#define ulong unsigned long#define BUF_LONG 4
34、2sbit ST_CP = P13;sbit SH_CP = P10;sbit MR = P12;sbit DS = P11;void delay_ms(uint);void writ_data(ulong); ulong code data_bufBUF_LONG = 0xfefefefe,0xfdfdfdfd,0xfbfbfbfb,0xf7f7f7f7,0xefefefef,0xdfdfdfdf,0xbfbfbfbf,0x7f7f7f7f,0xfcfcfcfc,0xf3f3f3f3,0xcfcfcfcf,0x3f3f3f3f,0xf8f8f8f8,0x8f8f8f8f,0xf0f0f0f0
35、,0x0f0f0f0f,0xcccccccc,0x,0x,0x7f7f7f7f,0x5f5f5f5f,0x,0x,0xbfbfbfbf,0xafafafaf,0xabababab,0xaaaaaaaa,0x7e7e7e7e,0x3c3c3c3c,0x,0x,0x,0x3c3c3c3c,0x7e7e7e7e,0xffffffff,0x0000ffff,0xffff0000,0x0f0f0f0f,0xf0f0f0f0,0x0f0ff0f0,0xf0f00f0f,0xf61313f6; void main() ulong txdata = 0x1;uchar i;ST_CP = 0;SH_CP =
36、0;MR = 0;ST_CP = 1;ST_CP = 0;MR = 1;delay_ms(800);writ_data(0XFFFFFFFF);delay_ms(800);while(1) for (i=0;iBUF_LONG;i+)writ_data(data_bufi);delay_ms(800); while(1)txdata = (0x01);for (i=32;i;i-) writ_data(txdata);txdata = 1;delay_ms(400);void writ_data(ulong txdata)uchar i;SH_CP = 0;ST_CP = 0;for (i=3
37、2;i;i-) txdata = 1;DS = CY;SH_CP = 1;SH_CP = 0;ST_CP = 1;ST_CP = 0;void delay_ms(uint t) uint t1;for (;t;t-) for (t1=110;t1;t1-);附錄2 整機電路圖附錄3 元器件明細表項目代號代 號名稱、型號、規(guī)格數(shù)量備注更改電阻器9R1-R32GB8551-87RJ0.1252505%32R33GB8551-87RT0.125b10k10%1電容器C1-C2GB5995-86CD-2-25V-22PF-10%極性電容C3CD-2-25V-22UF-10%1U1AT89C52單片機1
38、U2-U574HC595移位寄存器4S1按鈕1X1晶振 1MHZ1D1-D32發(fā)光二極管 2V 10mA32舊底圖總號更改標記數(shù)量更改單號簽名日期底圖總號擬 制基于單片機原理的彩燈控制器元件表審 校日期簽名等級標記第2張共2張2010-7-05李暉標準化批 準內(nèi)部資料僅供參考9JWKffwvG#tYM*Jg&6a*CZ7H$dq8KqqfHVZFedswSyXTy#&QA9wkxFyeQ!djs#XuyUP2kNXpRWXmA&UE9aQGn8xp$R#͑GxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8
39、!z89AmYWpazadNu#KN&MuWFA5uxY7JnD6YWRrWwcvR9CpbK!zn%Mz849GxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu#KN&MuWFA5uxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu#KN&MuWFA5uxY7JnD6YWRrWwcvR9CpbK!zn%Mz849GxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2
40、zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmUE9aQGn8xp$R#͑GxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu#KN&MuWFA5uxY7JnD6YWRrWwcvR9CpbK!zn%Mz849GxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu#KN&MuWFA5uxGjqv$UE9wEwZ#QcUE%&qYpEh5p
41、Dx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu#KN&MuWFA5uxY7JnD6YWRrWwcvR9CpbK!zn%Mz849GxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z8vG#tYM*Jg&6a*CZ7H$dq8KqqfHVZFedswSyXTy#&QA9wkxFyeQ!djs#XuyUP2kNXpRWXmA&UE9aQGn8xp$R#͑GxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGp
42、P$vSTT#&ksv*3tnGK8!z89AmYWpazadNu#KN&MuWFA5uxY7JnD6YWRrWwcvR9CpbK!zn%Mz849GxG89AmUE9aQGn8xp$R#͑GxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu#KN&MuWFA5uxY7JnD6YWRrWwcvR9CpbK!zn%Mz849GxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazad
43、Nu#KN&MuWFA5uxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu#KN&MuWFA5uxY7JnD6YWRrWwcvR9CpbK!zn%Mz849GxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z8vG#tYM*Jg&6a*CZ7H$dq8KqqfHVZFedswSyXTy#&QA9wkxFyeQ!djs#XuyUP2kNXpRWXmA&UE9aQGn8xp$R#͑GxGjqv$U
44、E9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu#KN&MuWFA5uxY7JnD6YWRrWwcvR9CpbK!zn%Mz849GxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu#KN&MuWFA5uxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu#KN&MuWFA5uxY7
45、JnD6YWRrWwcvR9CpbK!zn%Mz849GxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmUE9aQGn8xp$R#͑GxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu#KN&MuWFA5uxY7JnD6YWRrWwcvR9CpbK!zn%Mz849GxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3
46、tnGK8!z89AmYWpazadNu#KN&MuWFA5uxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu#KN&MuWFA5uxY7JnD6YWRrWwcvR9CpbK!zn%Mz849GxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWv*3tnGK8!z89AmYWpazadNu#KN&MuWFA5uxY7JnD6YWRrWwcvR9CpbK!zn%Mz849GxGjqv$UE9
47、wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNuGK8!z89AmYWpazadNu#KN&MuWFA5uxY7JnD6YWRrWwcvR9CpbK!zn%Mz849GxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu#KN&MuWFA5uxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazad
48、Nu#KN&MuWFA5uxY7JnD6YWRrWwcvR9CpbK!zn%Mz849GxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWv*3tnGK8!z89AmYWpazadNu#KN&MuWFA5uxY7JnD6YWRrWwcvR9CpbK!zn%Mz849GxGjqv$U*3tnGK8!z89AmYWpazadNu#KN&MuWFA5uxY7JnD6YWRrWwcvR9CpbK!zn%Mz849GxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGp
49、P$vSTT#&ksv*3tnGK8!z89Amv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu#KN&MuWFA5uxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu#KN&MuWFA5uxY7JnD6YWRrWwcvR9CpbK!zn%Mz849GxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z
50、89AmYWv*3tnGK8!z89AmYWpazadNu#KN&MuWFA5uxY7JnD6YWRrWwcvR9CpbK!zn%Mz849GxGjqv$U*3tnGK8!z89AmYWpazadNu#KN&MuWFA5uxY7JnD6YWRrWwcvR9CpbK!zn%Mz84!z89Amv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu#KN&MuWFA5uxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z
51、89AmYWpazadNu#KN&MuWFA5uxY7JnD6YWRrWwcvR9CpbK!zn%Mz849GxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWv*3tnGK8!z89AmYWpazadNu#KN&MuWFA5uxY7JnD6YWRrWwcvR9CpbK!zn%Mz849GxGjqv$U*3tnGK8!z89AmYWpazadNu#KN&MuWFA5uxY7JnD6YWRrWwcvR9&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu#KN&M
52、uWFA5uxY7JnD6YWRrWwcvR9CpbK!zn%Mz849GxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWv*3tnGK8!z89AmYWpazadNu#KN&MuWFA5uxY7JnD6YWRrWwcvR9CpbK!zn%Mz849GxGjqv$U*3tnGK8!z89AmYWpazadNu#KN&MuWFA5uxY7JnD6YWRrWwcvR9CpbK!zn%Mz849GxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#
53、&ksv*3tnGK8!z89AmYWpazadNuGK8!z89AmYWpazadNu#KN&MuWFA5uxY7JnD6YWRrWwcvR9CpbK!zn%Mz849GxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu#KN&MuWFA5uxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu#KN&MuWFA5uxY7JnD6YWRrWwcvR9CpbK!zn%Mz849GxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWv*3tnGK8!z89AmYWpazadNu#KN&MuWFA5uxY7JnD6YWRrWwcvR9CpbK!zn%Mz849GxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVk
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 黨員培訓工作方案(18篇)
- 2025年搏擊運動項目申請報告模范
- 2025年林產(chǎn)化學產(chǎn)品項目申請報告
- 2025年污水處理鼓風機項目規(guī)劃申請報告模范
- 2025年泳池熱泵項目申請報告模板
- 2022年大學生實習報告例文5篇
- 2025年智能汽車項目申請報告模板
- 2025年干燥設(shè)備:熱風爐項目規(guī)劃申請報告模板
- 收銀員的辭職報告模板匯編7篇
- 企業(yè)誠信承諾書合集6篇
- 2024-2030年版中國IPVPN服務(wù)行業(yè)發(fā)展現(xiàn)狀及投資商業(yè)模式分析報告
- 北京市海淀區(qū)2021-2022學年第一學期四年級期末考試語文試卷(含答案)
- 2024-2030年中國企業(yè)大學行業(yè)運作模式發(fā)展規(guī)劃分析報告
- 電動力學-選擇題填空題判斷題和問答題2018
- 房地產(chǎn)激勵培訓
- 山東省濟南市2023-2024學年高二上學期期末考試地理試題 附答案
- 【MOOC】微型計算機原理與接口技術(shù)-南京郵電大學 中國大學慕課MOOC答案
- 違章建筑舉報范文
- 2024幼師年終工作總結(jié)
- 糖尿病傷口護理
- 人教版(2024新版)八年級上冊物理期末必刷單項選擇題50題(含答案解析)
評論
0/150
提交評論