課程設(shè)計(jì)論文基于單片機(jī)的霓虹燈控制器設(shè)計(jì)_第1頁(yè)
課程設(shè)計(jì)論文基于單片機(jī)的霓虹燈控制器設(shè)計(jì)_第2頁(yè)
課程設(shè)計(jì)論文基于單片機(jī)的霓虹燈控制器設(shè)計(jì)_第3頁(yè)
課程設(shè)計(jì)論文基于單片機(jī)的霓虹燈控制器設(shè)計(jì)_第4頁(yè)
課程設(shè)計(jì)論文基于單片機(jī)的霓虹燈控制器設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩22頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、 題 目:基于單片機(jī)的霓虹燈控制器設(shè)計(jì)摘 要霓虹燈在現(xiàn)代社會(huì)中有廣泛的應(yīng)用,但傳統(tǒng)的霓虹燈控制器利用移位寄存器的移位方式,只能實(shí)現(xiàn)幾種有限的花式,因此市場(chǎng)迫切需要一種低成本高性能的霓虹燈控制器。本設(shè)計(jì)基于單片機(jī)實(shí)現(xiàn)多種花式的霓虹燈控制器。以at89c52單片機(jī)為控制核心,使用獨(dú)立式按鍵實(shí)現(xiàn)對(duì)霓虹燈的控制。該系統(tǒng)主要由單片機(jī)的主控部分、鍵盤輸入部分和led顯示部分組成,運(yùn)用i/o口輸出的信號(hào)驅(qū)動(dòng)發(fā)光二極管和數(shù)碼管,使其產(chǎn)生有規(guī)律的閃爍和移動(dòng)。該控制器電路實(shí)現(xiàn)簡(jiǎn)單,成本低,具有較高的性價(jià)比。關(guān)鍵字:霓虹燈;at89c52;發(fā)光二極管;數(shù)碼管目 錄1.設(shè)計(jì)任務(wù)11.1 設(shè)計(jì)目的和意義11.2 設(shè)計(jì)任

2、務(wù)與要求12.硬件系統(tǒng)設(shè)計(jì)22.1總體設(shè)計(jì)方案22.1.1設(shè)計(jì)思路22.1.2方案論證與比較22.2 具體電路設(shè)計(jì)32.2.1單片機(jī)at89c52簡(jiǎn)介32.2.2外部時(shí)鐘方式電路42.2.3手動(dòng)復(fù)位電路42.2.4 發(fā)光二極管電路42.2.5數(shù)碼管電路62.2.6 鍵盤控制電路72.3 整體硬件電路82.4系統(tǒng)所用元器件83.軟件系統(tǒng)設(shè)計(jì)103.1軟件系統(tǒng)總體設(shè)計(jì)方案103.2程序流程圖103.2.1模式一子程序113.2.2模式二子程序114.調(diào)試及仿真125.總結(jié)135.1本系統(tǒng)存在的問題及改進(jìn)措施135.2心得體會(huì)13參考文獻(xiàn)13附錄1 霓虹燈實(shí)物圖14附錄2霓虹燈pcb板圖15附錄3

3、程序清單161.設(shè)計(jì)任務(wù)1.1 設(shè)計(jì)目的和意義隨著時(shí)代的進(jìn)步,霓虹燈漸漸進(jìn)入了人們的生活,如大型電子廣告牌、汽車車燈、指示牌和工業(yè)控制的控制面板等都有霓虹燈的應(yīng)用。但目前市場(chǎng)上的霓虹燈控制器能夠?qū)崿F(xiàn)的花式有限,且價(jià)格較貴。因此,設(shè)計(jì)一種性價(jià)比高,易于操作的霓虹燈控制器尤為重要。通過對(duì)霓虹燈控制器的設(shè)計(jì),訓(xùn)練對(duì)單片機(jī)、電子技術(shù)等內(nèi)容的綜合應(yīng)用能力。主要培養(yǎng)學(xué)生運(yùn)用所學(xué)的知識(shí)來分析與解決問題的能力,并鞏固和深化課堂知識(shí)。了解霓虹燈的硬件電路,掌握單片機(jī)編程的基本設(shè)計(jì)和分析方法。1.2 設(shè)計(jì)任務(wù)與要求設(shè)計(jì)任務(wù):基于單片機(jī)設(shè)計(jì)一種霓虹燈控制器。基本要求:利用單片機(jī)控制霓虹燈的點(diǎn)亮;通過鍵盤的控制,實(shí)現(xiàn)

4、霓虹燈的全亮、不同顏色燈的點(diǎn)亮、霓虹燈的輪流點(diǎn)亮閃爍、全亮閃爍等;其中閃爍的頻率可調(diào)。擴(kuò)展要求:實(shí)現(xiàn)霓虹燈其他花式的點(diǎn)亮,使用數(shù)碼管顯示閃爍的時(shí)間、顯示哪個(gè)發(fā)光二極管點(diǎn)亮。 2.硬件系統(tǒng)設(shè)計(jì)2.1總體設(shè)計(jì)方案2.1.1設(shè)計(jì)思路題目要求設(shè)計(jì)一個(gè)霓虹燈控制器,使發(fā)光二極管以不同的樣式點(diǎn)亮??刂撇糠钟蓡纹瑱C(jī)完成,通過獨(dú)立式按鍵,選擇不同的點(diǎn)亮方式,然后單片機(jī)將控制信號(hào)傳輸給發(fā)光二極管和數(shù)碼管,從而完成不同的顯示要求。在本次設(shè)計(jì)中,硬件部分由單片機(jī)系統(tǒng)、led發(fā)光二極管、獨(dú)立式按鍵和數(shù)碼管組成3。原理圖如圖1所示。 p0 at89c52 p2p1 p3 模式開關(guān)時(shí)鐘電路復(fù)位電路復(fù)位電路鍵盤控制發(fā)光二極

5、管電路數(shù)碼管電路電源電路圖1 霓虹燈控制器原理圖2.1.2方案論證與比較(1)主控芯片方案選擇選擇at89c52單片機(jī),這種型號(hào)比較常用,使用通用的51單片機(jī)語言,且價(jià)格便宜。該單片機(jī)有四組i/o口p0、p1、p2和p3,用來連接led、數(shù)碼管和鍵盤等,i/o口的數(shù)量符合本設(shè)計(jì)的要求。內(nèi)部還有8k的ram足以滿足本設(shè)計(jì)的程序容量,無需擴(kuò)展外部存儲(chǔ)器。(2)發(fā)光二極管電路設(shè)計(jì)方案論證與選擇方案一、采用矩陣式分布。利用單片機(jī)的p1口做行選信號(hào),p2和p0口做列選信號(hào),128個(gè)led發(fā)光二極管構(gòu)成8行,16列的矩陣。此方案能單獨(dú)控制每一個(gè)發(fā)光二極管,也可單獨(dú)控制每行或每列的發(fā)光二極管,從而形成豐富的

6、圖案或花樣。但所需要的發(fā)光二極管數(shù)量很多,硬件成本提高。方案二、利用單片機(jī)的p1口來接8個(gè)發(fā)光二極管,用幾個(gè)發(fā)光二極管也可實(shí)現(xiàn)多種花式??紤]單片機(jī)i/o口的驅(qū)動(dòng)能力,故發(fā)光二極管采用共陽(yáng)極方式連接,只要輸出低電平,即可點(diǎn)亮發(fā)光二極管,易于實(shí)現(xiàn)。綜上所述,選擇方案二。(3)鍵盤控制電路設(shè)計(jì)方案論證與選擇方案一、采用按鍵式開關(guān),設(shè)計(jì)一個(gè)4×4的矩陣鍵盤,節(jié)省了單片機(jī)的i/o口,但需要的按鍵過多,會(huì)造成硬件上的浪費(fèi)。本設(shè)計(jì)中單片機(jī)的i/o口足以實(shí)現(xiàn)所有功能,使用鍵盤數(shù)量較少的獨(dú)立式按鍵即可。方案二、采用8個(gè)獨(dú)立式按鍵,檢測(cè)按下后的低電平,即可實(shí)現(xiàn)控制信號(hào)的檢測(cè),需要的按鍵少,且程序?qū)崿F(xiàn)簡(jiǎn)單

7、,故采用方案二。(4)數(shù)碼管電路設(shè)計(jì)方案論證與選擇方案一:采用lcd來顯示發(fā)光二極管的閃爍時(shí)間和相應(yīng)二極管點(diǎn)亮的數(shù)字,清晰明了,但lcd價(jià)格較貴,不宜采用。方案二:采用共陽(yáng)極數(shù)碼管,只要i/o口輸出共陽(yáng)極字型碼,即可點(diǎn)亮數(shù)碼管,不需要驅(qū)動(dòng)電路,設(shè)計(jì)簡(jiǎn)單,降低成本。初步采用四段的共陽(yáng)極數(shù)碼管,顯示出閃爍時(shí)間與數(shù)字,經(jīng)實(shí)驗(yàn)最終使用一段數(shù)碼管。綜上所述,采用方案二。2.2 具體電路設(shè)計(jì)2.2.1單片機(jī)at89c52簡(jiǎn)介at89c52單片機(jī)內(nèi)部含有8kb可重復(fù)編程的flash存儲(chǔ)器,可進(jìn)行1000次擦寫操作。全靜態(tài)工作為033mhz,有3級(jí)程序存儲(chǔ)器加密鎖定,內(nèi)含有128256字節(jié)的ram、32條可編

8、程的i/o端口、23個(gè)16位定時(shí)器/計(jì)數(shù)器,68級(jí)中斷,此外有通用串行接口、低電壓空閑模式及掉電模式1。at89c52在內(nèi)部采用40條引腳的雙列直插式封裝,引腳排列如圖2所示。圖2 at89c52芯片引腳2.2.2外部時(shí)鐘方式電路本設(shè)計(jì)中at89c52使用11.0592mhz晶振,一個(gè)機(jī)器周期為1us。xtal1(19腳)和xtal2(18腳):外接晶體引腳,xtal1和xtal2分別接外部晶振一端。在晶振的兩側(cè)再分別連接兩個(gè)為30pf 的微調(diào)電容,構(gòu)成穩(wěn)定的自激振蕩器2。具體電路如圖3。.圖3 外部時(shí)鐘電路圖2.2.3手動(dòng)復(fù)位電路復(fù)位電路分為上電自動(dòng)復(fù)位和按鍵手動(dòng)復(fù)位,rst引腳是復(fù)位信號(hào)的

9、輸入端,復(fù)位信號(hào)是高電平有效。上電自動(dòng)復(fù)位通過電容c4和電阻r1來實(shí)現(xiàn),按鍵手動(dòng)復(fù)位的實(shí)際電路如圖4所示(使用protues仿真在數(shù)值選擇上有一些區(qū)別) 。圖4 手動(dòng)復(fù)位電路2.2.4 發(fā)光二極管電路led發(fā)光二極管,是一種固態(tài)的半導(dǎo)體器件,它可以直接把電轉(zhuǎn)化為光。其實(shí)際的結(jié)構(gòu)圖如圖5所示。led是一個(gè)半導(dǎo)體的晶片,晶片的一端附在一個(gè)支架上,一端是負(fù)極,另一端連接電源的正極,使整個(gè)晶片被環(huán)氧樹脂封裝起來。半導(dǎo)體晶片由三部分組成,一部分是p型半導(dǎo)體,在它里面空穴占主導(dǎo)地位,另一端是n型半導(dǎo)體,在這邊主要是電子,中間通常是1至5個(gè)周期的量子阱。當(dāng)電流通過導(dǎo)線作用于這個(gè)晶片的時(shí)候,電子和空穴就會(huì)被推

10、向量子阱,在量子阱內(nèi)電子跟空穴復(fù)合,然后就會(huì)以光子的形式發(fā)出能量,這就是led發(fā)光的原理。而光的波長(zhǎng)也就是光的顏色,是由形成p-n結(jié)的材料決定的。它是一種通過控制半導(dǎo)體發(fā)光二極管的顯示方式,用來顯示文字、圖形、圖像、動(dòng)畫、行情、視頻、錄像信號(hào)等各種信息的顯示屏幕。由于具有容易控制、低壓直流驅(qū)動(dòng)、組合后色彩表現(xiàn)豐富、使用壽命長(zhǎng)等優(yōu)點(diǎn),廣泛應(yīng)用于城市各工程中、大屏幕顯示系統(tǒng)。led可以作為顯示屏,在計(jì)算機(jī)控制下,顯示色彩變化萬千的視頻和圖片。 圖5 發(fā)光二極管的結(jié)構(gòu)圖在設(shè)計(jì)中,p0、p1、p2、p3是單片機(jī)的i/o口,用來連接led、數(shù)碼管和鍵盤等??紤]到單片機(jī)i/o端口的帶負(fù)載能力,led發(fā)光二

11、極管采用共陽(yáng)極的接法連接在p1口,并用820的電阻分壓。只要單片機(jī)p1口輸出為低電平,對(duì)應(yīng)的發(fā)光二極管被點(diǎn)亮。電路圖如圖6所示。圖6 發(fā)光二極管電路圖2.2.5數(shù)碼管電路led數(shù)碼管是由多個(gè)發(fā)光二極管封裝在一起組成“8”字型的器件,引線已在內(nèi)部連接完成,只需引出它們的各個(gè)筆劃,公共電極。led數(shù)碼管常用段數(shù)一般為7段,有的另加一個(gè)小數(shù)點(diǎn)。led數(shù)碼管根據(jù)led的接法不同分為共陰和共陽(yáng)兩類,發(fā)光原理相同,了解led的這些特性,對(duì)編程是很重要的,因?yàn)椴煌愋偷臄?shù)碼管,除了它們的硬件電路有差異外,編程方法也是不同的。圖7是共陰和共陽(yáng)極數(shù)碼管的引腳圖。圖7 引腳定義圖在仿真設(shè)計(jì)時(shí),采用四段共陽(yáng)極數(shù)碼管

12、(用萬能板搭建實(shí)際電路時(shí),只有四段數(shù)碼管,為了保持仿真與實(shí)際電路的一致,故采用四段數(shù)碼管。實(shí)際上,只用到一位顯示,所以在畫pcb板時(shí),為節(jié)省硬件費(fèi)用,采用一段的共陽(yáng)極數(shù)碼管)。數(shù)碼管連接在p3口,并給數(shù)碼管的第四段接上vcc,當(dāng)p3口輸出共陽(yáng)極字型碼,即可顯示出相應(yīng)的數(shù)字。具體的電路如圖8所示圖8 數(shù)碼管電路圖2.2.6 鍵盤控制電路控制部分主要是由獨(dú)立式按鍵完成。采用1個(gè)選擇模式的自鎖開關(guān)接在p0.0上,8個(gè)按鍵開關(guān)分別接至p2口,用來選擇不同的花式。當(dāng)自鎖開關(guān)打開時(shí),為模式一:按下按鍵開關(guān)1,使發(fā)光二極管全亮;按下按鍵開關(guān)2,使發(fā)光二極管以800ms的速度輪流點(diǎn)亮,再按一下閃爍頻率增加,閃

13、爍時(shí)間為500ms,再按一下,閃爍頻率最快,閃爍時(shí)間為200ms,并保持該最大頻率,不再增加;按下按鍵開關(guān)3,頻率減少,閃爍時(shí)間變?yōu)?00ms,最終變?yōu)?00ms;按下按鍵開關(guān)4,使發(fā)光二極管全閃爍,開始閃爍時(shí)間為800ms,再按一下頻率增加,與按鍵2相同。按下按鍵開關(guān)5,發(fā)光二極管全閃爍的時(shí)間減少,功能與按鍵3類似。按下按鍵開關(guān)6,發(fā)光二極管以奇偶兩組的形式閃爍。按下按鍵開關(guān)7,發(fā)光二極管從中間向兩邊依次點(diǎn)亮。按下按鍵開關(guān)8,發(fā)光二極管依次點(diǎn)亮相同顏色的管子,形成閃爍。按鍵6、7、8控制下的閃爍時(shí)間都為500ms。當(dāng)自鎖開關(guān)閉合時(shí),為模式二:依次按下開關(guān)18,分別點(diǎn)亮發(fā)光二極管18,且同時(shí)數(shù)

14、碼管顯示對(duì)應(yīng)的數(shù)字。具體電路如圖9示。圖9 開關(guān)控制電路圖2.3 整體硬件電路將各模塊電路連接起來,形成完整的硬件電路圖。霓虹燈控制器包括2個(gè)部分,即at89c52主控模塊和led發(fā)光二極管。前者是主控模塊,具有按鍵、復(fù)位功能。后者是受控模塊,上面接有8個(gè)led發(fā)光二極管4。p0口接阻值為1k的排阻,提高其驅(qū)動(dòng)能力,然后在p0.0上接一自鎖開關(guān),通過自鎖開關(guān)的閉合使p0.0口出現(xiàn)高低電平,從而實(shí)現(xiàn)兩種模式的切換。p1口接8個(gè)共陽(yáng)極發(fā)光二極管,且串聯(lián)820的限流電阻。p2口接8個(gè)獨(dú)立式按鍵,通過不同鍵的按下使p2口出現(xiàn)低電平,依次來實(shí)現(xiàn)不同花式的選擇。p3口接共陽(yáng)極數(shù)碼管,只要輸出共陽(yáng)極字型碼,

15、數(shù)碼管便可靜態(tài)顯示相應(yīng)的數(shù)字。具體的整體電路如圖10所示。 圖10 整體硬件電路2.4系統(tǒng)所用元器件本系統(tǒng)硬件設(shè)計(jì)較為簡(jiǎn)單,主要由at89c52單片機(jī)、按鍵式開關(guān)9個(gè),自鎖開關(guān)1個(gè),發(fā)光二極管8個(gè),共陽(yáng)極數(shù)碼管1個(gè)。所用的元器件較少,具體的元器件清單如表1所示。表1 元器件清單commentdescriptiondesignatorfootprintlibrefquantity瓷片電容capacitorc1, c2hdr1x230pf2電解電容c3電解電容0.5mm47uf1led發(fā)光二極管typical red gaas ledd1, d2, d3, d4, d5, d6, d7, d8,

16、d9led-1led19共陽(yáng)極數(shù)碼管14.2 mm general purpose blue 7-segment display: ca, rh dp, gray surfaceds1hdpy blue-ca1自鎖開關(guān)k0, k-o開關(guān)開關(guān)2點(diǎn)觸式開關(guān)k1, k2, k3, k4, k5, k6, k7, k8, k10點(diǎn)觸式開關(guān)點(diǎn)觸式開關(guān)9排阻header, 9-pinp1hdr1x9header 91排針header, 2-pinp2hdr1x2header 21電阻resistorr0, r1, r2, r3, r4, r5, r6, r7, r8, r10, r11, r12, r13

17、, r14, r15, r16, r17, r18axial-0.4res218p89c52x2bn80c51 8-bit flash microcontroller family, 8 kb flashu1sot129-1at89c521xtalcrystal oscillatory1r3811.0592mhz13.軟件系統(tǒng)設(shè)計(jì)3.1軟件系統(tǒng)總體設(shè)計(jì)方案霓虹燈控制器最大特點(diǎn)在于所有亮燈模式均由軟件控制完成。系統(tǒng)中軟件可以分為主程序和子程序。主程序的大部份時(shí)間是在處理按鍵的查詢,1個(gè)自鎖式開關(guān)實(shí)現(xiàn)模式切換和8個(gè)按鍵式開關(guān)實(shí)現(xiàn)樣式的選擇。1個(gè)功能復(fù)位按鍵。主程序除了調(diào)用各種子模式子程序,調(diào)用延時(shí)

18、子程序之外,還一直保持查詢是否有功能切鍵按下以及是否有模式改變按鍵按下,一旦有功能切換鍵和模式改變鍵按下,就會(huì)進(jìn)入相應(yīng)的按鍵處理。3.2程序流程圖開 始key1 燈1亮 數(shù)碼管顯示1key0是否按下ykey2 燈2亮 數(shù)碼管顯示2key3 燈3亮 數(shù)碼管顯示3key4 燈4亮 數(shù)碼管顯示4key5 燈5亮 數(shù)碼管顯示5key6 燈6亮 數(shù)碼管顯示6key8 燈8亮 數(shù)碼管顯示8key7 燈7亮 數(shù)碼管顯示7key1 燈全亮key2 輪流亮 頻率增加nkey3 輪流亮 頻率減少key4 全閃爍 頻率增加key5 全閃爍 頻率減少key6 奇偶兩組交替點(diǎn)亮key7 中間向兩邊依次點(diǎn)亮key8 相同

19、顏色依次點(diǎn)亮圖11 軟件流程圖3.2.1模式一子程序(1)原理與分析軟件部分,由自鎖開關(guān)實(shí)現(xiàn)兩種模式的切換。模式一,自鎖開關(guān)打開,通過if語句判斷p0.0是否為低電平。當(dāng)p0.0為低電平時(shí),通過讀取獨(dú)立式鍵盤18的信號(hào)進(jìn)行判斷,檢測(cè)到哪個(gè)鍵按下,便實(shí)現(xiàn)不同樣式的選擇,且由軟件設(shè)置延遲時(shí)間,從而實(shí)現(xiàn)閃爍時(shí)間的不同。開 始(2)模式一流程圖,如圖12所示。開 始按鍵檢測(cè)按鍵檢測(cè)key0是否按下ynkey0是否按下yn模 式 二模 式 一結(jié) 束結(jié) 束圖12 模式一流程圖 圖13 模式二流程圖3.2.2模式二子程序(1)原理與分析模式二,通過讀取獨(dú)立鍵盤18的信號(hào),實(shí)現(xiàn)對(duì)應(yīng)發(fā)光二極管的點(diǎn)亮,同時(shí),數(shù)碼

20、管也顯示對(duì)應(yīng)的數(shù)字。(2)模式二流程圖,如圖13所示。4.調(diào)試及仿真在protues上進(jìn)行仿真實(shí)驗(yàn)。首先使用keil uvsion 4將編寫完成的程序編譯生成hex文件,將hex文件燒錄到單片機(jī)中,進(jìn)行仿真實(shí)驗(yàn),結(jié)果如圖14所示,可以看到,led已經(jīng)選擇性的閃爍。測(cè)試結(jié)果:當(dāng)p00口為高電平時(shí),選擇模式的開關(guān)打開,選擇模式一:p2.0為低電平,發(fā)光二極管全亮;p2.1為低電平,發(fā)光二極管以800ms的速度輪流點(diǎn)亮,再按一下閃爍頻率增加,閃爍時(shí)間為500ms,再按一下,閃爍頻率最快,閃爍時(shí)間為200ms,并保持該最大頻率,不再增加;p2.2為低電平,發(fā)光二極管輪流點(diǎn)亮,頻率減少,閃爍時(shí)間變?yōu)?0

21、0ms,最終變?yōu)?00ms;p2.3為低電平,發(fā)光二極管全閃爍,開始閃爍時(shí)間為800ms,再按一下頻率增加,與p2.1口相同;p2.4為低電平,二極管全閃爍的時(shí)間減少,功能與p2.2口類似;p2.5為低電平,發(fā)光二極管以奇偶兩組的形式閃爍;p2.6為低電平,發(fā)光二極管從中間向兩邊依次點(diǎn)亮;p2.7為低電平,發(fā)光二極管依次點(diǎn)亮相同顏色的管子,形成閃爍。當(dāng)p00口為低電平時(shí),選擇模式的開關(guān)關(guān)閉,選擇模式二:p2.0- p2.7為低電平,則分別點(diǎn)亮相應(yīng)的發(fā)光二極管,且同時(shí)數(shù)碼管顯示對(duì)應(yīng)的數(shù)字。總的來說,本文所設(shè)計(jì)的霓虹燈控制器達(dá)到了所有設(shè)計(jì)要求,且擴(kuò)展了數(shù)碼管功能,用來顯示閃爍時(shí)間和哪個(gè)發(fā)光二極管亮

22、。仿真結(jié)果如圖14所示。圖14 仿真結(jié)果5.總結(jié)5.1本系統(tǒng)存在的問題及改進(jìn)措施本設(shè)計(jì)的設(shè)計(jì)思想,原理和軟件設(shè)計(jì)較簡(jiǎn)單。遇到的問題:比如當(dāng)閃爍時(shí)間為800ms時(shí),只能顯示8來替代。在設(shè)計(jì)時(shí),考慮使用數(shù)碼管的動(dòng)態(tài)掃描,來顯示3位的閃爍時(shí)間800,但發(fā)現(xiàn)數(shù)碼管會(huì)與發(fā)光二極管保持相同的頻率,一起閃爍,不能達(dá)到預(yù)想的結(jié)果。經(jīng)分析,數(shù)碼管在本質(zhì)上與發(fā)光二極管是相同的,在一個(gè)單片機(jī)系統(tǒng)中,不能實(shí)現(xiàn)預(yù)想的效果。可以通過雙核解決這一問題,但花費(fèi)的代價(jià)過大,故舍棄。設(shè)計(jì)的不足:受單片機(jī)i/o口的限制,能控制的發(fā)光二極管數(shù)量有限,在大型的設(shè)計(jì)中可以采用擴(kuò)展i/o口和矩陣式相結(jié)合的方式,來解決這一問題。5.2心得體

23、會(huì) 設(shè)計(jì)主要是結(jié)合單片機(jī)技術(shù),把理論知識(shí)運(yùn)用到實(shí)際的設(shè)計(jì)中,霓虹燈控制器通過簡(jiǎn)單的i/o接口,在軟件編程的基礎(chǔ)下,實(shí)現(xiàn)由開關(guān)控制8個(gè)led燈的亮滅變化以及閃爍頻率變化。因?yàn)橹R(shí)存在欠缺和不足,在剛開始設(shè)計(jì)時(shí)遇到了一些困難。最后通過查閱資料解決了各種困難,完成了設(shè)計(jì)的要求。在軟件設(shè)計(jì)中,相比匯編語言的可讀性和可移植性很差,因此我選擇了c語言。由于c語言長(zhǎng)久沒使用,在編寫程序時(shí)也有一些難度。但都在我的努力之下,逐一解決。編程時(shí),首先是在編寫主函數(shù),首先構(gòu)想了大致的框架,使用p0.0口的0和1兩個(gè)狀態(tài)來進(jìn)入兩種模式。但是出現(xiàn)了當(dāng)程序進(jìn)入模式一時(shí),選擇其中一種花式后,程序跳不出來。經(jīng)檢查,我使用了wh

24、ile(1)來實(shí)現(xiàn)輪流點(diǎn)亮,進(jìn)入死循環(huán),程序不再往下執(zhí)行。后來通過修改,設(shè)置一個(gè)狀態(tài)變量解決了這一問題。在搭電路時(shí),要查閱芯片的管腳圖,確認(rèn)連線,否則很容易出錯(cuò)。最后,在自己的認(rèn)真對(duì)待下,不僅完成了設(shè)計(jì)的仿真,也做出了實(shí)物。從中有了很大的收獲,我進(jìn)一步熟悉并運(yùn)用c語言來編程,且對(duì)單片機(jī)系統(tǒng)有了更深的掌握。參考文獻(xiàn)1 郭文川主編. 單片機(jī)原理與接口技術(shù). 北京:中國(guó)農(nóng)業(yè)出版社,2007.2 張婧武,周靈彬.單片機(jī)系統(tǒng)的proteus設(shè)計(jì)與仿真.北京: 電工出版社,2007.43 周佩玲,彭虎.微機(jī)原理與接口技術(shù).北京: 電子工業(yè)出版社,2005.44 郭天祥.51單片機(jī)c語言教程.北京: 電子工

25、業(yè)出版社,2009.1附錄1 霓虹燈實(shí)物圖附錄2霓虹燈pcb板圖附錄3 程序清單#include<reg51.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned intuint m=0,n=0,num=0,shuzi=0,delay_time=0;uint key2_flag=0,key3_flag=0;uchar a=0xfe;sbit key0=p00; /模式選擇開關(guān)sbit key1=p20;sbit key2=p21;sbit key3=p22;sbit key4=p23;

26、sbit key5=p24;sbit key6=p25;sbit key7=p26;sbit key8=p27;/-延遲子函數(shù)-/void delayms(uint xms) uint i,j; for(i=xms;i>0;i-) for(j=110;j>0;j-); /-模式一,開關(guān)0打開-/void mo_shi_yi_scan()if(key0=1) if(key1=0) /按鍵1,全部點(diǎn)亮 delayms(10);if(key1=0)p1=0x00; while(!key1); if(key2=0) /按鍵2,輪流點(diǎn)亮,頻率增加 delayms(10);if(key2=0)

27、 num+;if(num=4)num=3;key2_flag=1;switch(num) case 1:delay_time=800; p3=0x80;break;case 2: delay_time=500;p3=0x92;break;case 3: delay_time=200;p3=0xa4;break;default: break; while(!key2); if(key3=0) /按鍵3,輪流點(diǎn)亮,頻率減少 delayms(10); if(key3=0) if(num>1) num-; else num=1; key2_flag=1; switch(num) case 1:d

28、elay_time=800;p3=0x80; break; case 2: delay_time=500;p3=0x92;break; default: break; while(!key3); if(key4=0) /按鍵4,全部閃爍,頻率增加 delayms(10); if(key4=0) shuzi+; if(shuzi=4)shuzi=3;key3_flag=1;switch(shuzi) case 1:delay_time=800;p3=0x80; break; case 2: delay_time=500;p3=0x92;break;case 3: delay_time=200;p

29、3=0xa4;break;default: break; while(!key4); if(key5=0) /按鍵5,全部閃爍,頻率減少 delayms(5); if(key5=0) if(shuzi>1) shuzi-; else shuzi=1; key3_flag=1; switch(shuzi) case 1: delay_time=800; p3=0x80; break; case 2: delay_time=500; p3=0x92; break; default: break; while(!key5); if(key6=0) /按鍵6,兩組間隔點(diǎn)亮,閃爍時(shí)間為500ms delayms(10); if(key6=0) while(1) p1=0xaa; delayms(500); p1=0x55; delayms(500); while(!key6); if(key7=0) /按鍵7,中間向兩邊點(diǎn)亮,閃爍時(shí)間為500ms delayms(10); if(key7=0) while(1) p1=0xe7; delayms(500); p1=0xdb; delayms(500); p1=0xbd; delayms(500); p1=0x7e; delayms(500); w

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論