基于單片機(jī)的廣告燈控制系統(tǒng)設(shè)計(jì)論文_第1頁(yè)
基于單片機(jī)的廣告燈控制系統(tǒng)設(shè)計(jì)論文_第2頁(yè)
基于單片機(jī)的廣告燈控制系統(tǒng)設(shè)計(jì)論文_第3頁(yè)
基于單片機(jī)的廣告燈控制系統(tǒng)設(shè)計(jì)論文_第4頁(yè)
基于單片機(jī)的廣告燈控制系統(tǒng)設(shè)計(jì)論文_第5頁(yè)
已閱讀5頁(yè),還剩40頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

45/45摘要廣告燈是用于廣告匾,樓宇裝飾和戶外裝潢的燈具,近來(lái)隨著國(guó)家經(jīng)濟(jì)的迅速進(jìn)展,人民物質(zhì)文化生活水平的不斷提高,關(guān)于裝飾的美化美觀的要求也越來(lái)越高,廣告燈的越來(lái)越多的出現(xiàn)在個(gè)人們的視野中。近年來(lái)隨著科技的飛速進(jìn)展,單片機(jī)的應(yīng)用正在不斷地走向深入,同時(shí)自動(dòng)操縱系統(tǒng)日新月益更新。本文結(jié)合國(guó)內(nèi)外霓虹燈操縱技術(shù)的進(jìn)展?fàn)顩r設(shè)計(jì)了一種采納美國(guó)ATMEL公司生產(chǎn)的AVR系列單片機(jī)中的ATmega8作操縱芯片的霓虹燈操縱器.通過(guò)ATmega8芯片操縱驅(qū)動(dòng)電路,在由驅(qū)動(dòng)電路驅(qū)動(dòng)繼電器,而繼電器則作為霓虹燈的功率操縱。其中,與不的產(chǎn)品在設(shè)計(jì)上不同的是,功率操縱板塊采納的是繼電器陣列,而不是通常用的可控硅,將繼電器陣列模塊化,電路的設(shè)計(jì)條理也專門(mén)清晰,既方便檢查線路故障,有方便技術(shù)維修。該板塊的設(shè)計(jì)也是本次設(shè)計(jì)的重點(diǎn)和難點(diǎn)。另外,文中還介紹了電源電路、PC機(jī)與單片機(jī)的通訊接口電路的設(shè)計(jì)原理。軟件設(shè)計(jì)部分采納的是ICC-AVR環(huán)境下的C語(yǔ)言進(jìn)行編寫(xiě)程序,使用AVRStudio進(jìn)行仿真講明。本文設(shè)計(jì)的霓虹燈單片機(jī)操縱器,電路簡(jiǎn)單,抗干擾性強(qiáng),圖案變化方式多,可適用于各種霓虹燈牌面,可依照用戶的要求,通過(guò)修改軟件,操縱多種多樣花樣的變化,是一代新型的霓虹燈操縱器。

關(guān)鍵字:霓虹燈;操縱器;繼電器;ATmega8目錄一系統(tǒng)方案論證與比較方案一:使用CD4060與KD5603作為主操縱器這是一例變色廣告燈自動(dòng)操縱電路,它采納了兩種操縱方式:①光控方式,白天自動(dòng)關(guān)閉,夜晚自動(dòng)開(kāi)啟;②時(shí)刻操縱方式,夜晚自動(dòng)開(kāi)啟后,通過(guò)定時(shí)操縱使其在預(yù)定的時(shí)刻自動(dòng)關(guān)閉,以節(jié)約電能。在廣告燈開(kāi)啟后,通過(guò)操縱電路使兩種彩色的廣告燈光交替循環(huán)顯示,增強(qiáng)廣告效果。電路在燈光顯示的同時(shí)還伴有廣告語(yǔ)言,介紹廣告要講明的內(nèi)容,是一種功能較完善的廣告燈操縱器。變色廣告燈操縱器的電路組成如圖6-45所示。電路工作原理分析變色廣告燈操縱器電路由光控電路、時(shí)刻操縱電路、語(yǔ)言電路、彩燈循環(huán)操縱電路和電源電路組成。光控電路是本電路的主控電路,它通過(guò)為其余操縱電路接通工作電源的方式操縱著整個(gè)工作電路的開(kāi)啟時(shí)刻。光控電路要緊由光敏電阻RG和由VTl、VT2組成的直接桐合式晶體管放大電路組成。白天,RG受光的照耀阻值變小,VTl的基極得到較大的偏置電壓而導(dǎo)通,VT2則因VTl的導(dǎo)通而截止。IC2~1C4因無(wú)工作電源而停止工作。夜晚來(lái)臨時(shí),光照減弱,RG阻值升高,VTl截止,VT2因VTl的截止而導(dǎo)通,12V電源經(jīng)VT2向IC2~IC4提供工作電源,使其進(jìn)入工作狀態(tài)。時(shí)刻操縱電路的作用是:當(dāng)夜晚來(lái)臨后使電路投入工作,夜深人靜時(shí)停止工作,以幸免不必要的電源消耗。時(shí)刻操縱電路由一只14級(jí)二進(jìn)制計(jì)數(shù)/分頻電路CD4060組成。該電路通過(guò)外接R4、C7組成一個(gè)RC振蕩器,其振蕩周期T=2.2R4C7=LIs。經(jīng)內(nèi)部14級(jí)分頻(分頻系數(shù)為16384)后,操縱時(shí)刻約為5小時(shí)(1.1X16384=18022s,18022/3600≈5小時(shí))。當(dāng)VT2導(dǎo)通后,電源通過(guò)C6、R3形成的復(fù)位脈沖使CD4060復(fù)位,隨后電路工作,產(chǎn)生脈沖并分頻。在接通電源之初,由于IC2的③腳輸出低電平,VT3導(dǎo)通,為IC3及IC4提供工作電源。5小時(shí)后定時(shí)結(jié)束,③腳輸出高電平,VT3截止,切斷了IC3與IC4的工作電源,廣告燈與語(yǔ)言電路因失去操縱電源而停止工作。方案二:NE555與CD4541作為主操縱器廣告燈操縱器由NE555組成的光控及抗干擾電路、CD4541定時(shí)電路、繼電器操縱、電源電路等部分組成。電原理圖如圖1所示。NE555時(shí)基電路接成施密特觸發(fā)器,對(duì)光敏電阻RC接收到的信號(hào)進(jìn)行整形和功率放大以后,驅(qū)動(dòng)后續(xù)電路。當(dāng)白天有光照時(shí),其第③腳輸出低電平,夜晚無(wú)光照時(shí)輸出高電平。

CD4541是一塊具有振蕩計(jì)數(shù)、定時(shí)功能的IC,在電路中作為定時(shí)操縱,各腳功能如表1所示。CD4541工作時(shí),第①腳接振蕩電阻,第②腳接振蕩電容,第③腳接愛(ài)護(hù)電阻,第⑧腳為輸出腳,第⑨腳可選擇第⑧腳的輸出狀態(tài),第⑩腳接低電平為單定時(shí)模式,接高電平為循環(huán)定時(shí)模式,第12、13腳可設(shè)定時(shí)刻或設(shè)定輸出頻率,CD4541分頻或計(jì)數(shù)次數(shù)如表2所示。220V交流市電經(jīng)R9、C6阻容降壓.D2~D5整流,C5濾波,WD2穩(wěn)壓,給繼電器提供24V的吸合電壓。此電壓通過(guò)R8和WD1穩(wěn)壓,C4濾波,給IC1和IC2提供9.1V的工作電壓。白天,光敏電阻RG阻值專門(mén)小,通過(guò)RG和WR1分壓,NE555第⑥腳電壓大于2/3Vcc,使第③腳輸出為低電平,三極管BG1截止。CD4541第⑥腳復(fù)位端為高電平,其內(nèi)部計(jì)數(shù)器清零復(fù)位,第⑧腳輸出端為低電平,BG2截止,繼電器常開(kāi)觸電斷開(kāi),其受控電路不工作。

當(dāng)夜幕降臨的時(shí)候,RG阻值逐漸增大,NE555第②腳電位逐漸降低,當(dāng)小于1/3Vcc時(shí),NE555第③腳輸出端信號(hào)翻轉(zhuǎn)為高電平。BG1基極電位升高而導(dǎo)通,給CD4541第⑥腳提供一個(gè)由高電平變?yōu)榈碗娖降拿}沖負(fù)跳變沿,使內(nèi)部電路開(kāi)始計(jì)數(shù),輸出端第⑧腳輸出高電平。BG2導(dǎo)通,繼電器K1得電,常開(kāi)觸點(diǎn)閉合,受控電路工作。WR2和C3為CD4541外接振蕩電阻和振蕩電容,當(dāng)經(jīng)t=32768×2.3RC≈24871秒時(shí)刻后,輸出端第⑧腳變?yōu)榈碗娖?。VT2截止,K1的常開(kāi)觸點(diǎn)失電而斷開(kāi),受控電路停止工作。通過(guò)微調(diào)WR2,可改變定時(shí)時(shí)長(zhǎng)。此電路關(guān)于外界干擾引起的白天瞬間變暗可不能導(dǎo)致繼電器誤動(dòng)作,因?yàn)镹E555第②、⑥腳所接R1和C1組成延時(shí)抗干擾電路,當(dāng)RG阻值瞬間增大時(shí),由于電容C1兩端電壓不能突變,從而保持第⑥腳電位差不多不變,第③腳輸出仍為低電平。但當(dāng)RG阻值長(zhǎng)時(shí)刻較大時(shí),C1充電完成后,NE555第⑥腳電壓降低,第③腳輸出高電平,從而導(dǎo)致繼電器動(dòng)作。方案三:采納LED點(diǎn)陣與ATmega8作為主驅(qū)動(dòng)器數(shù)控掃描器有以下要緊特點(diǎn):

(1)分體聯(lián)控結(jié)構(gòu):解決了大型工程既要求掃描器分體就近安裝又要求掃描器整體調(diào)控的矛盾。

(2)強(qiáng)抗干擾設(shè)計(jì):通過(guò)系統(tǒng)軟件的抗干擾處理,幸免了亂閃及抖動(dòng)的現(xiàn)象,使版面極為潔凈。

(3)自動(dòng)同步:當(dāng)遇強(qiáng)干擾造成掃描器不能同步工作時(shí),系統(tǒng)軟件將在1分鐘內(nèi)自動(dòng)修復(fù)。

(4)調(diào)試開(kāi)關(guān):關(guān)于大型工程的調(diào)試,那個(gè)功能極為有用。

(5)接插件結(jié)構(gòu):整個(gè)線路全部采納接插件繪聲結(jié)構(gòu),拆卸簡(jiǎn)單,維修方便。

圖3ATmega8與點(diǎn)陣顯示廣告操縱系統(tǒng)綜上所述,我們選擇方案三。二元器件簡(jiǎn)介1.主控芯片ATmega8簡(jiǎn)介(1)產(chǎn)品特性●高性能、低功耗的8位AVR?微處理器●先進(jìn)的RISC結(jié)構(gòu)●130條指令–大多數(shù)指令執(zhí)行時(shí)刻為單個(gè)時(shí)鐘周期●32個(gè)8位通用工作寄存器●全靜態(tài)工作●工作于16MHz時(shí)性能高達(dá)16MIPS●只需兩個(gè)時(shí)鐘周期的硬件乘法器●非易失性程序和數(shù)據(jù)存儲(chǔ)器●8K字節(jié)的系統(tǒng)內(nèi)可編程Flash●擦寫(xiě)壽命:10,000次●具有獨(dú)立鎖定位的可選Boot代碼區(qū)●通過(guò)片上Boot程序?qū)崿F(xiàn)系統(tǒng)內(nèi)編程●真正的同時(shí)讀寫(xiě)操作●512字節(jié)的EEPROM●擦寫(xiě)壽命:100,000次●1K字節(jié)的片內(nèi)SRAM●能夠?qū)︽i定位進(jìn)行編程以實(shí)現(xiàn)用戶程序的加密(2)外設(shè)特點(diǎn)●兩個(gè)具有獨(dú)立預(yù)分頻器8位定時(shí)器/計(jì)數(shù)器,其中之一有比較功能●一個(gè)具有預(yù)分頻器、比較功能和捕捉功能的16位定時(shí)器/計(jì)數(shù)器●具有獨(dú)立振蕩器的實(shí)時(shí)計(jì)數(shù)器RTC●三通道PWM●TQFP與MLF封裝的8路ADC●路10位ADC●8路10位ADC●面向字節(jié)的兩線接口●兩個(gè)可編程的串行USART●可工作于主機(jī)/從機(jī)模式的SPI串行接口●具有獨(dú)立片內(nèi)振蕩器的可編程看門(mén)狗定時(shí)器●片內(nèi)模擬比較器(3)專門(mén)的處理器特點(diǎn)●上電復(fù)位以及可編程的掉電檢測(cè)●片內(nèi)通過(guò)標(biāo)定的RC振蕩器●片內(nèi)/片外中斷源●5種睡眠模式:空閑模式、ADC噪聲抑制模式、省電模式、掉電模式及Standby模式。(4)I/O和封裝●23個(gè)可編程的I/O口●28引腳PDIP封裝,32引腳TQFP封裝,32引腳MLF封裝(5)工作電壓●2.7-5.5V(ATmega8L)●4.5-5.5V(ATmega8)(6)速度等級(jí)●0-8MHz(ATmega8L)●0-16MHz(ATmega8)●4Mhz時(shí)功耗,3V,25●工作模式:3.6mA●空閑模式:1.0mA●掉電模式:0.5μA●具有8KB系統(tǒng)內(nèi)可編程Flash的●8位微操縱器ATmega8引腳圖ATmega8內(nèi)部結(jié)構(gòu)簡(jiǎn)圖(7)引腳講明VCC數(shù)字電路的電源。GND地。端口B(PB7..PB0)XTAL1/XTAL2/TOSC1/TOSC2端口B為8位雙向I/O口,具有可編程的內(nèi)部上拉電阻。其輸出緩沖器具有對(duì)稱的驅(qū)動(dòng)特性,能夠輸出和汲取大電流。作為輸入使用時(shí),若內(nèi)部上拉電阻使能,端口被外部電路拉低時(shí)將輸出電流。在復(fù)位過(guò)程中,即使系統(tǒng)時(shí)鐘還未起振,端口B處于高阻狀態(tài)。通過(guò)時(shí)鐘選擇熔絲位的設(shè)置,PB6可作為反向振蕩放大器或時(shí)鐘操作電路的輸入端。通過(guò)時(shí)鐘選擇熔絲位的設(shè)置PB7可作為反向振蕩放大器的輸出端。若將片內(nèi)標(biāo)定RC振蕩器作為芯片時(shí)鐘源,且ASSR寄存器的AS2位設(shè)置,PB7..6作為異步T/C2的TOSC2..1輸入端。端口B的其他功能見(jiàn)P55“端口B的第二功能”及P22“系統(tǒng)時(shí)鐘及時(shí)鐘選項(xiàng)”。端口C(PC5..PC0)端口C為7位雙向I/O口,具有可編程的內(nèi)部上拉電阻。其輸出緩沖器具有對(duì)稱的驅(qū)動(dòng)特性,能夠輸出和汲取大電流。作為輸入使用時(shí),若內(nèi)部上拉電阻使能,端口被外部電路拉低時(shí)將輸出電流。在復(fù)位過(guò)程中,即使系統(tǒng)時(shí)鐘還未起振,端口C處于高阻狀態(tài)。PC6/RESET若RSTDISBL熔絲位編程,PC6作為I/O引腳使用。注意PC6的電氣特性與端口C的其他引腳不同若RSTDISBL熔絲位未編程,PC6作為復(fù)位輸入引腳。持續(xù)時(shí)刻超過(guò)最小門(mén)限時(shí)刻的低電平將引起系統(tǒng)復(fù)位。門(mén)限時(shí)刻見(jiàn)P35Table15。持續(xù)時(shí)刻小于門(mén)限時(shí)刻的脈沖不能保證可靠復(fù)位。端口C的其他功能見(jiàn)后。端口D(PD7..PD0)端口D為8位雙向I/O口,具有可編程的內(nèi)部上拉電阻。其輸出緩沖器具有對(duì)稱的驅(qū)動(dòng)特性,能夠輸出和汲取大電流。作為輸入使用時(shí),若內(nèi)部上拉電阻使能,則端口被外部電路拉低時(shí)將輸出電流。在復(fù)位過(guò)程中,即使系統(tǒng)時(shí)鐘還未起振,端口D處于高阻狀態(tài)。端口D的其他功能見(jiàn)后。RESET復(fù)位輸入引腳。持續(xù)時(shí)刻超過(guò)最小門(mén)限時(shí)刻的低電平將引起系統(tǒng)復(fù)位。門(mén)限時(shí)刻見(jiàn)P35Table15。持續(xù)時(shí)刻小于門(mén)限時(shí)刻的脈沖不能保證可靠復(fù)位。AVCCAVCC是A/D轉(zhuǎn)換器、端口C(3..0)及ADC(7..6)的電源。不使用ADC時(shí),該引腳應(yīng)直接與VCC連接。使用ADC時(shí)應(yīng)通過(guò)一個(gè)低通濾波器與VCC連接。注意,端口C(5..4)為數(shù)字電源,VCC。AREFA/D的模擬基準(zhǔn)輸入引腳。ADC7..6(TQFP與MLF封裝)TQFP與MLF封裝的ADC7..6作為A/D轉(zhuǎn)換器的模擬輸入。為模擬電源且作為10位ADC通道。(8)ATmega8狀態(tài)寄存器狀態(tài)寄存器包含了最近執(zhí)行的算術(shù)指令的結(jié)果信息。這些信息能夠用來(lái)改變程序流程以實(shí)現(xiàn)條件操作。如指令集所述,所有ALU運(yùn)算都將阻礙狀態(tài)寄存器的內(nèi)容。如此,在許多情況下就不需要專門(mén)的比較指令了,從而使系統(tǒng)運(yùn)行更快速,代碼效率更高。在進(jìn)入中斷服務(wù)程序時(shí)狀態(tài)寄存器可不能自動(dòng)保存,中斷返回時(shí)也可不能自動(dòng)恢復(fù)。這些工作需要軟件來(lái)處理。AVR中斷寄存器SREG定義如下:?Bit7–I:全局中斷使能I置位時(shí)使能全局中斷。單獨(dú)的中斷使能由其他獨(dú)立的操縱寄存器操縱。假如I清零,則不論單獨(dú)中斷標(biāo)志置位與否,都可不能產(chǎn)生中斷。任意一個(gè)中斷發(fā)生后I清零,而執(zhí)行RETI指令后I恢復(fù)置位以使能中斷。I也能夠通過(guò)SEI和CLI指令來(lái)置位和清零。?Bit6–T:位拷貝存儲(chǔ)位拷貝指令BLD和BST利用T作為目的或源地址。BST把寄存器的某一位拷貝到T,而B(niǎo)LD把T拷貝到寄存器的某一位。?Bit5–H:半進(jìn)位標(biāo)志半進(jìn)位標(biāo)志H表示算術(shù)操作發(fā)生了半進(jìn)位。此標(biāo)志關(guān)于BCD運(yùn)算特不有用。詳見(jiàn)指令集的講明。?Bit4–S:符號(hào)位,S=N⊕VS為負(fù)數(shù)標(biāo)志N與2的補(bǔ)碼溢出標(biāo)志V的異或。詳見(jiàn)指令集的講明。?Bit3–V:2的補(bǔ)碼溢出標(biāo)志支持2的補(bǔ)碼運(yùn)算。詳見(jiàn)指令集的講明。?Bit2–N:負(fù)數(shù)標(biāo)志表明算術(shù)或邏輯操作結(jié)果為負(fù)。詳見(jiàn)指令集的講明。?Bit1–Z:零標(biāo)志表明算術(shù)或邏輯操作結(jié)果為零。詳見(jiàn)指令集的講明。?Bit0–C:進(jìn)位標(biāo)志(9)通用寄存器文件寄存器文件針對(duì)AVR增強(qiáng)型RISC指令集做了優(yōu)化。為了獲得需要的性能和靈活性,寄存器文件支持以下的輸入/輸出方案:?輸出一個(gè)8位操作數(shù),輸入一個(gè)8位結(jié)果。?輸出兩個(gè)8位位操作數(shù),輸入一個(gè)8位結(jié)果。?輸出兩個(gè)8位位操作數(shù),輸入一個(gè)16位結(jié)果。?輸出一個(gè)16位位操作數(shù),輸入一個(gè)16位結(jié)果。CPU32個(gè)通用工作寄存器的結(jié)構(gòu)(10)堆棧指針堆棧指針要緊用來(lái)保存臨時(shí)數(shù)據(jù)、局部變量和中斷/子程序的返回地址。堆棧指針總是指向堆棧的頂部。要注意AVR的堆棧是向下生長(zhǎng)的,即新數(shù)據(jù)推入堆棧時(shí),堆棧指針的數(shù)值將減小。堆棧指針指向數(shù)據(jù)SRAM堆棧區(qū)。在此聚攏了子程序堆棧和中斷堆棧。調(diào)用子序和使能中斷之前必須定義堆??臻g,且堆棧指針必須指向高于0x60的地址空間。使用PUSH指令將數(shù)據(jù)推入堆棧時(shí)指針減一;而子程序或中斷返回地址推入堆棧時(shí)指針將減二。使用POP指令將數(shù)據(jù)彈出堆棧時(shí),堆棧指針加一;而用RET或RETI指令從子程序或中斷返回時(shí)堆棧指針加二。AVR的堆棧指針由I/O空間中的兩個(gè)8位寄存器實(shí)現(xiàn)。實(shí)際使用的位數(shù)與具體器件有關(guān)。請(qǐng)注意某些AVR器件的數(shù)據(jù)區(qū)太小,用SPL就足夠了?,F(xiàn)在將不給出SPH寄存器。指令執(zhí)行時(shí)序這一節(jié)介紹指令執(zhí)行過(guò)程中的訪問(wèn)時(shí)序。AVRCPU由系統(tǒng)時(shí)鐘clkCPU驅(qū)動(dòng)?,F(xiàn)在鐘直接來(lái)自選定的時(shí)鐘源。芯片內(nèi)部不對(duì)現(xiàn)在鐘進(jìn)行分頻。Figure5講明了由Harvard結(jié)構(gòu)決定的并行取指和指令執(zhí)行,以及能夠進(jìn)行快速訪問(wèn)的寄存器文件的概念。這是一個(gè)差不多的流水線概念,性能高達(dá)1MIPS/MHz,具有優(yōu)良的性價(jià)比、功能/時(shí)鐘比、功能/功耗比。(11)復(fù)位與中斷處理AVR有不同的中斷源。每個(gè)中斷和復(fù)位在程序空間都有獨(dú)立的中斷向量。所有的中斷事件都有自己的使能位。當(dāng)使能位置位,且狀態(tài)寄存器的全局中斷使能位I也置位時(shí),中斷能夠發(fā)生。依照程序計(jì)數(shù)器PC的不同,在引導(dǎo)鎖定位BLB02或BLB12被編程的情況下,中斷可能被自動(dòng)禁止。那個(gè)特性提高了軟件的安全性。詳見(jiàn)P209“存儲(chǔ)器編程”的描述。程序存儲(chǔ)區(qū)的最低地址缺省為復(fù)位向量和中斷向量。完整的向量列表請(qǐng)參見(jiàn)P43“中斷”列表也決定了不同中斷的優(yōu)先級(jí)。向量所在的地址越低,優(yōu)先級(jí)越高。RESET具有最高的優(yōu)先級(jí),第二個(gè)為INT0–外部中斷請(qǐng)求0。通過(guò)置位通用中斷操縱寄存器(GICR)的IVSEL,中斷向量能夠移至引導(dǎo)Flash的起始處,參見(jiàn)P43“中斷”。編程熔絲位BOOTRST也能夠?qū)?fù)位向量移至引導(dǎo)Flash的起始處。具體參見(jiàn)P196“支持引導(dǎo)裝入程序-在寫(xiě)的同時(shí)能夠讀(RWW,Read-While-Write)的自我編程能力”。任一中斷發(fā)生時(shí)全局中斷使能位I被清零,從而禁止了所有其他的中斷。用戶軟件能夠在中斷程序里置位I來(lái)實(shí)現(xiàn)中斷嵌套?,F(xiàn)在所有的中斷都能夠中斷當(dāng)前的中斷服務(wù)程序。執(zhí)行RETI指令后I自動(dòng)置位。從全然上講有兩種類型的中斷。第一種由事件觸發(fā)并置位中斷標(biāo)志。關(guān)于這些中斷,程序計(jì)數(shù)器跳轉(zhuǎn)到實(shí)際的中斷向量以執(zhí)行中斷處理程序,同時(shí)硬件將清除相應(yīng)的中斷標(biāo)志。中斷標(biāo)志也能夠通過(guò)對(duì)其寫(xiě)”1”的方式來(lái)清除。當(dāng)中斷發(fā)生后,假如相應(yīng)的中斷使能位為"0",則中斷標(biāo)志位置位,并一直保持到中斷執(zhí)行,或者被軟件清除。類似的,假如全局中斷標(biāo)志被清零,則所有已發(fā)生的中斷都可不能被執(zhí)行,直到I置位。然后掛起的各個(gè)中斷按中斷優(yōu)先級(jí)依次執(zhí)行。2.點(diǎn)陣顯示器(1)8*8點(diǎn)陣原理圖(2)8*8點(diǎn)陣實(shí)物圖圖為8×8點(diǎn)陣LED外觀及引腳圖,其等效電路如圖(2)所示,只要其對(duì)應(yīng)的X、Y軸順向偏壓,即可使LED發(fā)亮。例如假如想使左上角LED點(diǎn)亮,則Y0=1,X0=0即可。應(yīng)用時(shí)限流電阻能夠放在X軸或Y軸(3)8*8點(diǎn)陣掃描方式LED一般采納掃描式顯示,實(shí)際運(yùn)用分為三種方式(1)點(diǎn)掃描(2)行列掃描16×64=1024Hz,周期小于1ms即可。若使用第二和第三種方式,則頻率必須大于16×8=128Hz,周期小于7.8ms即可符合視覺(jué)暫留要求。此外一次驅(qū)動(dòng)一列或一行(8顆LED)時(shí)需外加驅(qū)動(dòng)電路提高電流,否則LED亮度會(huì)不足。(4)8*8點(diǎn)陣應(yīng)用舉例點(diǎn)陣內(nèi)部結(jié)構(gòu)及外形如下,8X8點(diǎn)陣共由64個(gè)發(fā)光二極管組成,且每個(gè)發(fā)光二極管是放置在行線和列線的交叉點(diǎn)上,當(dāng)對(duì)應(yīng)的某一行置1電平,某一列置0電平,則相應(yīng)的二極管就亮;如要將第一個(gè)點(diǎn)點(diǎn)亮,則9腳接高電平13腳接低電平,則第一個(gè)點(diǎn)就亮了;假如要將第一行點(diǎn)亮,則第9腳要接高電平,而(13、3、4、10、6、11、15、16)這些引腳接低電平,那么第一行就會(huì)點(diǎn)亮;如要將第一列點(diǎn)亮,則第13腳接低電平,而(9、14、8、12、1、7、2、5)接高電平,那么第一列就會(huì)點(diǎn)亮。

一般我們使用點(diǎn)陣顯示漢字是用的16*16的點(diǎn)陣宋體字庫(kù),所謂16*16,是每一個(gè)漢字在縱、橫各16點(diǎn)的區(qū)域內(nèi)顯示的。也確實(shí)是講得用四個(gè)8*8點(diǎn)陣組合成一個(gè)16*16的點(diǎn)陣。如下圖所示,要顯示“你”則相應(yīng)的點(diǎn)就要點(diǎn)亮,由于我們的點(diǎn)陣在列線上是低電平有效,而在行線上是高電平有效,因此要顯示“你”字的話,它的位代碼信息要取反,即所有列(13~16腳)送(1111011101111111,0xF7,0x7F),而第一行(9腳)送1信號(hào),然后第一行送0。再送第二行要顯示的數(shù)據(jù)(13~16腳)送(1111011101111111,0xF7,0x7F),而第二行(14腳)送1信號(hào)。依此類推,只要每行數(shù)據(jù)顯示時(shí)刻間隔夠短,利用人眼的視覺(jué)暫停作用,如此送16次數(shù)據(jù)掃描完16行后就會(huì)看到一個(gè)“你”字;第二種送數(shù)據(jù)的方法是字模信號(hào)送到行線上再掃描列線也是同樣的道理。同樣以“你”字來(lái)講明,16行(9、14、8、12、1、7、2、5)上送(0000000000000000,0x00,0x00)而第一列(13腳)送、“0”。同理掃描第二列。當(dāng)行線上送了16次數(shù)據(jù)而列線掃描了16次后一個(gè)“你”字也就顯示出來(lái)了?!瘛瘛瘛瘛瘛瘛瘛瘛瘛瘛瘛瘛瘛瘛瘛褚虼?,形成的列代碼為00H,00H,3EH,41H,41H,3EH,00H,00H;只要把這些代碼分不依次送到相應(yīng)的列線上面,即可實(shí)現(xiàn)“0”的數(shù)字顯示。3.驅(qū)動(dòng)芯片4-16譯碼器CC4514(1)推舉工作條件電源電壓范圍……………….3V~15V輸入電壓范圍………………..0V~VDD(2)工作溫度范圍M類……………….-55℃~E類……………….-40℃~(3)極限值電源電壓…...-0.5V~18V輸入電壓……-0.5V~VDD+0.5V輸入電流………….±10mA儲(chǔ)存穩(wěn)定…………….-65℃~150℃CD4514引腳圖三廣告操縱器系統(tǒng)設(shè)計(jì)1.系統(tǒng)硬件設(shè)計(jì)(1)主操縱器ATmega8本操縱系統(tǒng)采納存儲(chǔ)容量大的AVR單片機(jī)ATmega8作為主操縱器,直接能夠?qū)⑷萘枯^大的系統(tǒng)字庫(kù)存儲(chǔ)在ATmega8內(nèi)部存儲(chǔ)器內(nèi),節(jié)約了資源,也使整個(gè)系統(tǒng)變得簡(jiǎn)潔。(2)點(diǎn)陣掃描驅(qū)動(dòng)電路掃描電路采納CD4514,即4-16的譯碼器來(lái)進(jìn)行行列掃描,用單片機(jī)操縱其選通端INH來(lái)操縱送行列字庫(kù)碼,操縱掃描,并在輸出端加一個(gè)非門(mén),來(lái)提高其驅(qū)動(dòng)能力,以滿足點(diǎn)陣發(fā)光的需求。2.系統(tǒng)軟件設(shè)計(jì)(1)程序流程圖(2)程序清單**********************************************/#include<32x16led.h>voidmain(void){ while(1) { led_initial(); print_char("TESTLED0123456789abc"); print_char("我愛(ài)金魚(yú)"); delay(50); // led_initial(); print_char("自己編的練習(xí)程序,"); print_char("顯示效果與延時(shí)參數(shù)和電腦速度有專門(mén)大關(guān)系."); print_char("我的電腦太差運(yùn)行起來(lái)老是一頓一頓的^_^"); print_char("相信換臺(tái)好點(diǎn)的電腦會(huì)有更好的效果!劉偉"); delay(50); }}/**********************************************#include<iom16v.h>#include<macros.h>#include<font.h>#defineLED_DATA_LOWPORTA#defineLED_DDR_LOWDDRA#defineLED_DATA_HIGHPORTB#defineLED_DDR_HIGHDDRB#defineLED_SCAN_DATA PORTC#defineLED_SCAN_DDR DDRC#defineucharunsignedchar#defineuintunsignedint//緩存大小,對(duì)應(yīng)LED屏的大小#definebuffer_long 64//定義字模數(shù)據(jù)數(shù)組的大小,即所存字的個(gè)數(shù) #definegb16_tabel_long62/*利用定時(shí)器1定時(shí)掃描LED屏*//*定時(shí)參數(shù)對(duì)顯示效果阻礙專門(mén)大*/#defineT1_TIME_H0xe7#defineT1_TIME_L0x50enumdirection{right,left}dir_f;uchardisplay_buffer[buffer_long];/****************LED屏初始化**************************/voidled_initial(void){uchari; //display_bufferinitialfor(i=0;i<buffer_long;i++) display_buffer[i]=0x00; //portinitial LED_DDR_LOW=0xff; LED_DDR_HIGH=0xff; LED_SCAN_DDR=0x1f; //移動(dòng)方向rightorleft dir_f=left; //t0initialCLI();//disableallinterruptsTCCR1B=0xe0;//stopTCNT1H=T1_TIME_H;//setupTCNT1L=T1_TIME_L;OCR1AH=0x01;OCR1AL=0xF4;OCR1BH=0x01;OCR1BL=0xF4;ICR1H=0x01;ICR1L=0xF4;TCCR1A=0x00;TCCR1B=0x02;//startTimerMCUCR=0x00;GICR=0x00;TIMSK=0x04;//timerinterruptsourcesSEI();//re-enableinterrupts}/***************字符串輸出子程序***********************/voidprint_char(char*p){ uchartab_n,j,i=0; intk; uchard0,d1; while(p[i]>0) { if(p[i]>=128)//假如是漢字 { /*查找移位輸出*/ for(j=0;j<=gb16_tabel_long;j++) { if((gb_16[j].index[0]==p[i])&&(gb_16[j].index[1]==p[i+1])) { if(dir_f==left)//假如字向左移動(dòng)就順序讀字模 for(k=0;k<32;k++) { d0=gb_16[j].mask[k]; k++; d1=gb_16[j].mask[k]; move_to_buffer(d0,d1); delay(1); } else//假如字向右移動(dòng)就逆序讀字模 for(k=31;k>=0;k--) { d1=gb_16[j].mask[k]; k--; d0=gb_16[j].mask[k]; move_to_buffer(d0,d1); delay(1); } break;//找到了就退出循環(huán) } } /*字庫(kù)沒(méi)有的字,則輸出空白0x00*/ if(j>gb16_tabel_long)// for(k=0;k<16;k++) { d0=0x00; d1=0x00; move_to_buffer(d0,d1); delay(1); } i+=2; } else //假如是字符 { j=p[i]-32; if(dir_f==left) for(k=0;k<16;k++) { d0=ASC_MSK[(j*16)+k]; k++; d1=ASC_MSK[(j*16)+k]; move_to_buffer(d0,d1); delay(1); } else for(k=15;k>=0;k--) { d1=ASC_MSK[(j*16)+k];

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論