2282 1616點(diǎn)陣LED電子顯示屏
2282 1616點(diǎn)陣LED電子顯示屏,點(diǎn)陣,led,電子顯示屏
題 目:16×16 點(diǎn)陣 LED 電子顯示屏的設(shè)計(jì)姓 名:學(xué) 號(hào):專 業(yè):電氣工程及其自動(dòng)化指導(dǎo)老師:徐武雄設(shè)計(jì)時(shí)間:2010 年 6 月說明:姓名處第一人為小組長(zhǎng),學(xué)號(hào)順序與姓名對(duì)應(yīng)。(上交文檔時(shí),此行刪除)單片機(jī)原理及應(yīng)用課程設(shè)計(jì)報(bào)告書電子與信息工程學(xué)院目 錄1. 引 言 ..................................................11.1. 設(shè)計(jì)意義 .........................................11.2. 系統(tǒng)功能要求 .....................................11.3. 本組成員所做的工作 ...............................12. 方案設(shè)計(jì) ...............................................13. 硬件設(shè)計(jì) ...............................................14. 軟件設(shè)計(jì) ...............................................15. 系統(tǒng)調(diào)試 ...............................................26. 設(shè)計(jì)總結(jié) ...............................................27. 附 錄 A;源程序 ........................................28. 附 錄 B;作品實(shí)物圖片 ..................................29. 參考文獻(xiàn) ...............................................2 16×16 點(diǎn)陣 LED 室內(nèi)電子顯示屏的設(shè)計(jì) 單片機(jī)原理及應(yīng)用課程設(shè)計(jì)116×16點(diǎn)陣 LED室內(nèi)電子顯示屏的設(shè)計(jì)摘要:LED 顯示屏作為一種新型的顯示器件,是由多個(gè)發(fā)光二極管按矩陣形式排列封裝而成,通常用來顯示時(shí)間、圖文等信息。本設(shè)計(jì)是基于 ATS52 單片機(jī)的 16x16 顯示屏,其中包含了硬件、軟件、調(diào)試等方案的設(shè)計(jì)。此外、該設(shè)計(jì)只需簡(jiǎn)單的級(jí)聯(lián)就能實(shí)現(xiàn)顯示屏的拓展,但級(jí)聯(lián)時(shí)要注意不要超過驅(qū)動(dòng)負(fù)載范圍。關(guān)鍵詞:Ats52;LED;單片機(jī)1 引 言1.1. 設(shè)計(jì)意義LED 顯示屏是一種通過控制半導(dǎo)體發(fā)光二極管的顯示方式,用來顯示文字、圖形、圖像、動(dòng)畫、行情、視頻、錄像信號(hào)等各種信息的顯示屏幕。圖文顯示屏可與計(jì)算機(jī)同步顯示漢字、英文文本和圖形;視頻顯示屏采用微型計(jì)算機(jī)進(jìn)行控制,圖文、圖像并茂,以實(shí)時(shí)、同步、清晰的信息傳播方式播放各種信息,還可顯示二維、三維動(dòng)畫、錄像、電視、VCD 節(jié)目以及現(xiàn)場(chǎng)實(shí)況。LED 顯示屏顯示畫面色彩鮮艷,立體感強(qiáng),靜如油畫,動(dòng)如電影,廣泛應(yīng)用于車站、碼頭、機(jī)場(chǎng)、商場(chǎng)、醫(yī)院、賓館、銀行、證券市場(chǎng)、建筑市場(chǎng)、拍賣行、工業(yè)企業(yè)管理和其它公共場(chǎng)所。它的優(yōu)點(diǎn):亮度高、工作電壓低、功耗小、微型化、易與集成電路匹配、驅(qū)動(dòng)簡(jiǎn)單、壽命長(zhǎng)、耐沖擊、性能穩(wěn)定。1.2. 系統(tǒng)功能要求設(shè)計(jì)一個(gè)能顯示 16X16 點(diǎn)陣圖文 LED 顯示屏,要求能顯示圖文或文字,顯示圖文或文字應(yīng)穩(wěn)定、清晰,圖文或文字顯示,以卷簾形式向上滾動(dòng)顯示。1.3. 本組成員所做的工作方案原理論證:汪航,李如發(fā),杜紹飛焊接:汪航調(diào)試:李如發(fā)設(shè)計(jì)報(bào)告:杜紹飛 16×16 點(diǎn)陣 LED 室內(nèi)電子顯示屏的設(shè)計(jì) 單片機(jī)原理及應(yīng)用課程設(shè)計(jì)22方案設(shè)計(jì)2.1 總體設(shè)計(jì)2.2 設(shè)計(jì)論證圖文顯示一般有靜態(tài)和動(dòng)態(tài)顯示兩種方案,靜態(tài)方案雖然設(shè)計(jì)簡(jiǎn)單,但其使用的管腳太多,如本設(shè)計(jì)中 16x16 的點(diǎn)陣共有 256 個(gè)發(fā)光二極管,顯然單片機(jī)沒有這么多的端口,如果我采用鎖存器來擴(kuò)展端口,按 8 位的鎖存器來計(jì)算,16x16 的點(diǎn)陣需要 256/8=32 個(gè)鎖存器。這個(gè)數(shù)字很龐大,因?yàn)槲覀儍H僅是16x16 的點(diǎn)陣,在實(shí)際應(yīng)用中的顯示屏往往要大得多,這樣在鎖存器上花的成本將是一個(gè)很龐大的數(shù)字。因此在實(shí)際應(yīng)用中的顯示屏幾乎都不采用這種設(shè)計(jì),而采用另外一種稱為動(dòng)態(tài)掃描的顯示方法。動(dòng)態(tài)掃描的意思簡(jiǎn)單地說就是逐行輪流點(diǎn)亮,這樣掃描驅(qū)動(dòng)電路就可以實(shí)現(xiàn)多行(比如 16 行)的同名列共用一套驅(qū)動(dòng)器。具體就 16x16 的點(diǎn)陣來說,把所有同 1 行的發(fā)光管的陽極連在一起,把所有同 1 列的發(fā)光管的陰極連在一起(共陽極的接法) ,先送出對(duì)應(yīng)第一行發(fā)光管亮滅的數(shù)據(jù)并鎖存,然后選通第1 行使其燃亮一定時(shí)間,然后熄滅;再送出第二行的數(shù)據(jù)并鎖存,然后選通第2 行使其燃亮相同的時(shí)間,然后熄滅;以此類推,第 16 行之后,又重新燃亮第1 行,反復(fù)輪回。當(dāng)這樣輪回的速度足夠快(每秒 24 次以上) ,由于人眼的視覺暫留現(xiàn)象,就能夠看到顯示屏上穩(wěn)定的圖形了。采用掃描方式進(jìn)行顯示時(shí),每一行有一個(gè)行驅(qū)動(dòng)器,各行的同名列共用一個(gè)驅(qū)動(dòng)器。顯示數(shù)據(jù)通常存儲(chǔ)在單片機(jī)的存儲(chǔ)器中,按 8 位一個(gè)字節(jié)的形式順序排放。顯示時(shí)要把一行中各列的數(shù)據(jù)都傳送到相應(yīng)的列驅(qū)動(dòng)器上去,這就存在一個(gè)顯示數(shù)據(jù)傳輸?shù)膯栴}。從控制電路到列驅(qū)動(dòng)器的數(shù)據(jù)傳輸可以采用并列方式或串行方式。顯然,采用并行方式時(shí),從控制電路到列驅(qū)動(dòng)器的線路數(shù)量大,相應(yīng)的硬件數(shù)目多。當(dāng)列數(shù)很多時(shí),并列傳輸?shù)姆桨甘遣豢扇〉?。單片機(jī)列驅(qū)動(dòng)器行驅(qū)動(dòng)器 16X16LED 顯示點(diǎn)陣電源 16×16 點(diǎn)陣 LED 室內(nèi)電子顯示屏的設(shè)計(jì) 單片機(jī)原理及應(yīng)用課程設(shè)計(jì)3采用串行傳輸?shù)姆椒ǎ刂齐娐房梢灾挥靡桓盘?hào)線,將列數(shù)據(jù)一位一位傳往列驅(qū)動(dòng)器,在硬件方面無疑是十分經(jīng)濟(jì)的。但是,串行傳輸過程較長(zhǎng),數(shù)據(jù)按順序一位一位地輸出給列驅(qū)動(dòng)器,只有當(dāng)一行的各列數(shù)據(jù)都以傳輸?shù)轿恢螅@一行的各列才能并行地進(jìn)行顯示。這樣,對(duì)于一行的顯示過程就可以分解成列數(shù)據(jù)準(zhǔn)備(傳輸)和列數(shù)據(jù)顯示兩部分。對(duì)于串行傳輸方式來說,列數(shù)據(jù)準(zhǔn)備時(shí)間可能相當(dāng)長(zhǎng),在行掃描周期確定的情況下留給行顯示的時(shí)間就太少了,以致影響到 LED 的亮度。解決串行傳輸中列數(shù)據(jù)準(zhǔn)備和列數(shù)據(jù)顯示的時(shí)間矛盾問題,可以采用重疊處理的方法。即在顯示本行各列數(shù)據(jù)的同時(shí),傳送下一列數(shù)據(jù)。為了達(dá)到重疊處理的目的,列數(shù)據(jù)的顯示就需要具有所存功能。經(jīng)過上述分析,就可以歸納出列驅(qū)動(dòng)器電路應(yīng)具有的功能。對(duì)于列數(shù)據(jù)準(zhǔn)備來說,它應(yīng)能實(shí)現(xiàn)串入并處的移位功能;對(duì)于列數(shù)據(jù)顯示來說,應(yīng)具有并行鎖存的功能。這樣,本行已準(zhǔn)備好的數(shù)據(jù)打入并行鎖存器進(jìn)行顯示時(shí),串并移位寄存器就可以準(zhǔn)備下一行的列數(shù)據(jù),而不會(huì)影響本行的顯示3硬件設(shè)計(jì)3.1 電源、單片機(jī)系統(tǒng)及其管腳? 電源部分? 單片機(jī)系統(tǒng)及其管腳常用的時(shí)鐘電路設(shè)計(jì)有兩種方式,一種是內(nèi)部時(shí)鐘方式,一種是外部時(shí)鐘方式。本實(shí)驗(yàn)采用內(nèi)部時(shí)鐘方式,將 XTAL1 與 XTAL2 之間跨接一個(gè)石英晶振和微調(diào)電容,從而構(gòu)成一個(gè)穩(wěn)定的自激震蕩器。電容值取 30pF 左右,其大小將影響震蕩頻率的高低、振蕩器的穩(wěn)定性和起振的快速性。為減少線間的寄生電容,晶振和電容應(yīng)盡能安裝得與單片機(jī)靠近,保證晶振穩(wěn)定可靠的工作。另一部分是復(fù)位部分。上電自動(dòng)復(fù)位電路是最簡(jiǎn)單的復(fù)位電路,只需要一個(gè)1K 左右電阻、一個(gè) 22pF 左右的電容及 12MHZ 的晶振。有時(shí)還需要按鍵手動(dòng)復(fù)位,此時(shí)只要在電容上并聯(lián)一個(gè)按鍵即可。單片機(jī)信號(hào)輸出采用串行輸出,因此在下一模塊的移位寄存器要與該部分的串行口 P3.0(RXD)及 P3.1(TXD )相連其圖形如下圖說明:此部分為為電源部分。若電源為家用電源,則需經(jīng)過降壓,整流濾波,穩(wěn)壓等步驟得到一個(gè)穩(wěn)定的 5V 電壓,此電壓可作為主電路的電壓源。電路中二極管為電源指示燈。 16×16 點(diǎn)陣 LED 室內(nèi)電子顯示屏的設(shè)計(jì) 單片機(jī)原理及應(yīng)用課程設(shè)計(jì)43.2 點(diǎn)陣及其驅(qū)動(dòng)部分點(diǎn)陣顯示用是動(dòng)的態(tài)掃描來實(shí)現(xiàn)的。在采用掃描方式顯示時(shí),由于每行要帶動(dòng)十六個(gè)二極管,每行電流較大。若每個(gè)二極管安 5mA 計(jì)算,十六個(gè)二極管就得 80mA 電流,超出單片機(jī)管腳的承受范圍,因此每行都加有一個(gè)驅(qū)動(dòng)器,本設(shè)計(jì)的行驅(qū)動(dòng)用的是十六個(gè) pnp 型三極管。三極管的發(fā)射極接 5V 電壓,集電極接點(diǎn)陣的行線,而其基級(jí)本應(yīng)接單片機(jī),但該接線方式占用為了 16 個(gè)單片機(jī)管腳,為了節(jié)省單片機(jī)管腳,用了一片 74LS154 譯碼器,這樣就只需要 3 個(gè)管腳了。74LS154 的管腳圖及其說明如圖三。點(diǎn)陣及其驅(qū)動(dòng)部分總體接線圖如圖五(未畫完整)各行的同名列共用一個(gè)列驅(qū)動(dòng),數(shù)據(jù)通常存儲(chǔ)在單片機(jī)的存儲(chǔ)器中,按8位一個(gè)字節(jié)的形式存放。由于列線過多,故多采用串行傳輸。由于每次要傳輸16位,而且數(shù)據(jù)要逐位輸給驅(qū)動(dòng)器,只有當(dāng)一行中各列數(shù)據(jù)都已傳輸?shù)轿缓螅@一行的各列才能進(jìn)行并行顯示,耗時(shí)較長(zhǎng)。為了滿足以上要求,驅(qū)動(dòng)選擇74LS595移位寄存器。74HC595是硅結(jié)構(gòu)的CMOS器件, 。74HC595 是有8位移位寄存器和一個(gè)存儲(chǔ)器,三態(tài)輸出功能。 移位寄存器和存儲(chǔ)器是分別的時(shí)鐘。 數(shù)據(jù)在SCHcp的上升沿輸入,在STcp的上升沿進(jìn)入的存儲(chǔ)寄存器中去。如果兩個(gè)時(shí)鐘連在一起,則移位寄存器總是比存儲(chǔ)寄存器早一個(gè)脈沖。 移位寄存器有一個(gè)串行移位輸入(Ds) ,和一個(gè)串行輸出(Q7’) ,和一個(gè)異步的低電平復(fù)位,存儲(chǔ)寄存器有一個(gè)并行8位的,具備三態(tài)的總線輸出,當(dāng)使能OE時(shí)(為低電平) ,存儲(chǔ)寄存器的數(shù)據(jù)輸出到總線。其特點(diǎn):8位串行輸入 /8位串行或并行輸出 存儲(chǔ)狀態(tài)寄存器,三種狀態(tài); 輸出寄存器可以直接清除 100MHz的移位頻率。輸出能力: 并行輸出,總線驅(qū)動(dòng);串行輸出;標(biāo)準(zhǔn)中等規(guī)模集成電路 。 74LS595的管腳圖及其說明如圖四。圖二 單片機(jī)管腳圖圖一 單片機(jī)接線圖 16×16 點(diǎn)陣 LED 室內(nèi)電子顯示屏的設(shè)計(jì) 單片機(jī)原理及應(yīng)用課程設(shè)計(jì)5圖三 74LS154 管腳圖圖四: 74LS595管腳圖管腳及其說明:QA--QH: 八位并行輸出端。QH': 級(jí)聯(lián)輸出端。SI: 串行數(shù)據(jù)輸入端。74595的控制端說明:/SCLR(10腳): 低點(diǎn)平時(shí)將移位寄存器的數(shù)據(jù)清零。SCK(11腳):上升沿時(shí)數(shù)據(jù)寄存器的數(shù)據(jù)移位。QAQBQC...QH;下降沿移位寄存器數(shù)據(jù)不變。 (脈沖寬度:5V時(shí),大于幾十納秒就行了)RCK(12腳) :上升沿時(shí)移位寄存器的數(shù)據(jù)進(jìn)入數(shù)據(jù)存儲(chǔ)寄存器,下降沿時(shí)存儲(chǔ)寄存器數(shù)據(jù)不變。(5V時(shí),大于幾十納秒就行了) ,更新顯示數(shù)據(jù)。/G(13腳 ): 高電平時(shí)禁止輸出(高阻態(tài)) 。如果單片機(jī)的引腳不緊張,用一個(gè)引腳控制它,可以方便地產(chǎn)生閃爍和熄滅效果。比通過數(shù)據(jù)端移位控制要省時(shí)省力。對(duì)3個(gè)輸入信號(hào)進(jìn)行譯碼。得到8個(gè)輸出狀態(tài)。 G1,G2A,G2B,為數(shù)據(jù)允許輸出端,G2A,G2B 低電平有效。G1 高電平有效。A,B,C 為譯碼信號(hào)輸出端,Y0~Y7 為譯碼輸出端,低電平有效 16×16 點(diǎn)陣 LED 室內(nèi)電子顯示屏的設(shè)計(jì) 單片機(jī)原理及應(yīng)用課程設(shè)計(jì)6圖五 點(diǎn)陣及其驅(qū)動(dòng)4 軟件設(shè)計(jì)本軟件要求實(shí)現(xiàn)如下要求:漢字要穩(wěn)定、明亮并且文字要以一定速度上升滾動(dòng)顯示。顯示屏軟件模塊:初始化程序、主程序、多字滾動(dòng)、顯示程序、掃描程序。顯示程序的主要功能是向屏體提供顯示數(shù)據(jù),并產(chǎn)生各種控制信號(hào),使屏幕按設(shè)計(jì)的要求顯示。軟件設(shè)計(jì)中,顯示屏的軟件系統(tǒng)分為兩層;第一層是底層的顯示驅(qū)動(dòng)程序,第二層是上層的系統(tǒng)應(yīng)用程序。顯示驅(qū)動(dòng)程序負(fù)責(zé)向屏體送顯示數(shù)據(jù),并負(fù)責(zé)產(chǎn)生行掃描信號(hào)和其他控制信號(hào),配合完成 LED 顯示屏的掃描顯示工作。顯示驅(qū)動(dòng)器程序由定時(shí)器 T0 中斷程序?qū)崿F(xiàn)。系統(tǒng)應(yīng)用程序完成系統(tǒng)環(huán)境設(shè)置(初始化) 、顯示效果處理等工作,由主程序來實(shí)現(xiàn)。4.1 顯示驅(qū)動(dòng)程序顯示驅(qū)動(dòng)程序在進(jìn)入中斷后首先要對(duì)定時(shí)器 T0 重新賦初值,以保證顯示屏刷新率的穩(wěn)定,1/16 掃描顯示屏的刷新率(幀頻)計(jì)算公式如下:刷頻率(幀頻)=1/16×T0 溢=1/16×f/12(65536-t) 其中 f 位晶振頻率,t 為定時(shí)器 T0 初值(工作在 16 位定時(shí)器模式) 。然后顯示驅(qū)動(dòng)程序查詢當(dāng)前燃亮的行號(hào),從顯示緩存區(qū)內(nèi)讀取下一行的顯示數(shù)據(jù),并通過串口發(fā)送給移位寄存器。為消除在切換行顯示數(shù)據(jù)的時(shí)候產(chǎn)生拖尾現(xiàn)象,驅(qū)動(dòng)程序先要關(guān)閉顯示屏,即消隱,等顯示數(shù)據(jù)打入輸出鎖存器并鎖存,然后再輸出新的行號(hào),重新打開顯示。圖六為顯示驅(qū)動(dòng)程序(顯示屏掃描函數(shù)) 16×16 點(diǎn)陣 LED 室內(nèi)電子顯示屏的設(shè)計(jì) 單片機(jī)原理及應(yīng)用課程設(shè)計(jì)7流程圖圖六4.2 系統(tǒng)主程序本設(shè)計(jì)的系統(tǒng)軟件能使系統(tǒng) LED 顯示屏各點(diǎn)亮度均勻、充足,可顯示圖形和文字,顯示圖形和文字應(yīng)穩(wěn)定、清晰無串?dāng)_。圖形或文字顯示有靜止、移入移出等顯示方式。系統(tǒng)主程序開始以后,首先是對(duì)系統(tǒng)環(huán)境初始化,包括設(shè)置串口、定時(shí)器、中斷和端口;然后以“卷簾出”效果顯示圖形,停留約幾秒;接著向上滾動(dòng)顯示“--------”這幾個(gè)漢字及一個(gè)圖形,然后以“卷簾入”效果隱去圖形。由于單片機(jī)沒有停機(jī)指令,所以可以設(shè)置系統(tǒng)程序不斷的循環(huán)執(zhí)行上述顯示效果。單元顯示屏可以接收來自控制器(主控制電路板)或上一級(jí)顯示單元模塊傳輸下來的數(shù)據(jù)信息和命令信息,并可將這些數(shù)據(jù)信息和命令信息不經(jīng)任何變化地再傳送到下一級(jí)顯示模塊單元中,因此顯示板可擴(kuò)展至更多的顯示單元,用于顯示更多的顯示內(nèi)容。如果想改變些事內(nèi)容,先用字模產(chǎn)生字代碼,將用這段代碼覆蓋原來的代碼,即可顯示你想要的內(nèi)容。進(jìn)入中斷定時(shí)器賦初值讀取行號(hào)并增加 1送新行顯示數(shù)據(jù)消 隱切換顯示數(shù)據(jù)發(fā)送新行號(hào),打開顯示退出中斷 16×16 點(diǎn)陣 LED 室內(nèi)電子顯示屏的設(shè)計(jì) 單片機(jī)原理及應(yīng)用課程設(shè)計(jì)8圖七是系統(tǒng)主程序流程圖。5系統(tǒng)調(diào)試? 調(diào)試主要分為硬件調(diào)試和軟件調(diào)試: 硬件調(diào)試:在焊接電路板的時(shí)候,應(yīng)該從最基本的最小系統(tǒng)開始,分模塊,逐個(gè)進(jìn)行焊接測(cè)試。在對(duì)各個(gè)硬件模塊進(jìn)行測(cè)試時(shí),要保證軟件正確的情況下去測(cè)試硬件,要不然發(fā)生錯(cuò)誤時(shí),不知道到底是哪一方出錯(cuò)了。當(dāng)然,在設(shè)計(jì)的過程中也存在著失誤和不足,在調(diào)試中進(jìn)行修改了。焊接完成后,檢驗(yàn)點(diǎn)陣、及線路的好壞:燒進(jìn)檢驗(yàn)程序,點(diǎn)陣將自第一排向下(上)點(diǎn)亮。檢驗(yàn)無異常,下載主程序? 軟件調(diào)試:軟件為老師所提供提供,其原理在上一模塊以作說明,在這里再作說明,軟件經(jīng)調(diào)試無誤,直接將其下再到單片機(jī)中,看是否達(dá)到所要的效果軟件部分是先參考書上的例子,然后自己根據(jù)硬件電路寫程序,由于以前所學(xué)是單片機(jī)匯編語言,所以這個(gè)系統(tǒng)在編寫程序過程中都采用匯編語言編寫。剛剛開始,編寫不會(huì)一次性通過,經(jīng)過仔細(xì)分析修改最后編譯成功。但是,在實(shí)際寫如 S51 中,LED 顯示屏出現(xiàn)各種各樣的亂碼,通過再次認(rèn)真仔開始系統(tǒng)初始化“卷簾出”顯示效果“上滾屏”顯示效果“卷簾入”顯示效果 圖七 16×16 點(diǎn)陣 LED 室內(nèi)電子顯示屏的設(shè)計(jì) 單片機(jī)原理及應(yīng)用課程設(shè)計(jì)9細(xì)分析多次修改程序后,程序能夠正常運(yùn)行6 設(shè)計(jì)總結(jié)本文設(shè)計(jì)的 6x16 的點(diǎn)陣 LED 圖文顯示屏,能夠在目測(cè)條件下 LED 顯示屏各點(diǎn)亮度均勻、充足,可顯示圖形和文字,顯示的圖形和文字較穩(wěn)定、清晰。圖形或文字向上滾動(dòng)顯示。本系統(tǒng)具有硬件少,結(jié)構(gòu)簡(jiǎn)單,容易實(shí)現(xiàn),性能穩(wěn)定可靠,成本低等特點(diǎn)。在此次設(shè)計(jì)中,我們得到以下體會(huì):一、在這次點(diǎn)陣設(shè)計(jì)的過程讓我進(jìn)一步熟悉 KEIL 及 Proteus 的使用。二、本次設(shè)計(jì)結(jié)果仍有缺陷,有一行總是全亮,干擾顯示。三、通過這次點(diǎn)陣設(shè)計(jì),重新復(fù)習(xí)并進(jìn)一步學(xué)習(xí)了 MCS-52 優(yōu)點(diǎn),明確了研究目標(biāo)。四、本文設(shè)計(jì)的 LED 顯示屏能夠?qū)崿F(xiàn)在目測(cè)條件下 LED 顯示屏各點(diǎn)亮度均勻、充足,可顯示圖形和文字,顯示圖形和文字應(yīng)穩(wěn)定、清晰無串?dāng)_。圖形或文字以移入移出方式顯示。五、在后的設(shè)計(jì)中,既要想到電路器件的聯(lián)合使用,又要靈活變通,舉一反三。在焊接方面,我們了解到焊接某些器件時(shí),要先消去電烙鐵上的靜電,防止靜電對(duì)芯片特別是放大器件造成傷害,焊接二極管、三極管等芯片時(shí)要快,防止持續(xù)高溫?fù)p壞芯片。7.附 錄 A;源程序***************************************; * *; * 單個(gè) 16x16 的點(diǎn)陣電子屏字符顯示器 *; * ATA89C52 12MHz 晶振 *; * 2004.2.11 LRM *; ***************************************;顯示字用查表法,不占用內(nèi)存,字符用 16x16 共陽 LED 點(diǎn)陣,;效果:向上滾動(dòng)顯示 5 個(gè)字,再重復(fù)循環(huán)。;R1:查表偏址寄存器,B:查表首址,R2:掃描地址(從 00~0FH) 。;R3:滾動(dòng)顯示時(shí)控制移動(dòng)速度,單字顯示可控制靜止顯示的時(shí)間。;*************; 16×16 點(diǎn)陣 LED 室內(nèi)電子顯示屏的設(shè)計(jì) 單片機(jī)原理及應(yīng)用課程設(shè)計(jì)10;中斷入口程序 ;;*************;;ORG 0000HLJMP STARTORG 0003HRETIORG 000BHLJMP INTTOORG 0013HERTIORG 001BHERTIORG 0023HRETIORG 002BHRETI;;***********;;初始化程序;;***********;;;;***********;; 主程序 ;;***********;;START: MOV 20H,#00H ;清零標(biāo)志,00H 為第 16 行開始掃描標(biāo)志,01 為 1 幀;掃描結(jié)束標(biāo)志MOV A,#0FFH ;端口初始化MOV P1,A MOV P1,AMOV P3,AMOV P0,ACLR P1.6 ;串行寄存器輸入打入輸出控制位MOV TMOD,#01H ;使用 T0 做 16 位定時(shí)器,行掃描用。MOV TH0,#0FCH ;1ms 初值(12MHz)MOV TL0,#18HMOV SCON,#00H ;串口 0 方式傳送顯示字節(jié)MOV IE,#82H ;T0 中斷允許,總中斷允許MOV SP,#70HMAIN: LCALL DISI ;顯示準(zhǔn)備,黑屏,1.5sMOV DPTR,#TABLCALL MOVDISP ;向上滾動(dòng)顯示一頁(8 個(gè)字) 16×16 點(diǎn)陣 LED 室內(nèi)電子顯示屏的設(shè)計(jì) 單片機(jī)原理及應(yīng)用課程設(shè)計(jì)11INC DPHLCALL MOVDISP ;向上滾動(dòng)顯示一頁(8 個(gè)字)INC DPHLACLL MOVDISP ;向上滾動(dòng)顯示一頁(8 個(gè)字)AJMP MAIN;;;***********************;; 多字滾動(dòng)顯示程序 ;;***********************;;每次 8 個(gè)字,入口時(shí)定義好 DPTR 值;MOVDISP: MOV B,#00H ;向上移動(dòng)顯示,查表偏值暫存(從 00 開始)DISLOOP: MOV R3,#07H ;移動(dòng)速度DISMOV: MOV R2,00H ;第 0 行開始MOV R1,BSETB TR0 ;開掃描(每次一幀)WAITMOV: JBC 01H,DISMOV1 ;標(biāo)志為 1 掃描一幀結(jié)束(16ms 為 1 幀,每行 1ms)AJMP WAITMOVDISMOV1: DJNZ R3,DISMOV ;1 幀重復(fù)顯示(控制移動(dòng)速度)INC B ;顯示字的下一行(每行 2 字節(jié))INC BMOV A,R1 ;R1 為 0,8 個(gè)字顯示完JZ MOVOUTAJMP DISLOOPMOVOUT: RET ;移動(dòng)先是結(jié)束;;;****************;; 單字顯示程序 ;;****************;;顯示表中某個(gè)字;;****************;DIS1: MOV R3,#5AH ;靜止顯示時(shí)間控制(16ms*#=1.6s)DIS11: MOV R2,#00H ;一幀掃描初始值(行地址從 00~0FH)MOV DPTR,#TAB ;取表首址MOV R1,#00H ;查表偏址(顯示第一個(gè)字)SETB TR0 ;開掃描(每次一幀)WAIT11: JBC 01H,DIS111 ;為 1,掃描一幀結(jié)束AJMP WAIT11DIS111: DJNZ R3,DIS11RET;; 16×16 點(diǎn)陣 LED 室內(nèi)電子顯示屏的設(shè)計(jì) 單片機(jī)原理及應(yīng)用課程設(shè)計(jì)12;************;; 掃描程序 ;;************;;1ms 刷新一次,每行顯示 1sINTT0: PUSH ACCMOV TH0,#0FCH ;1ms 初值重裝MOV TL0,#18HJBC 00H,GOEND ;16 行掃描標(biāo)志為 1,結(jié)束INC R1 ;取行右邊字節(jié)偏址MOV A,R1MOVC A,@A+DPTR ;查表MOV SBUF,A ;串口 0 方式發(fā)送WAIT: JBC TI,GO ;等待發(fā)送完畢AJMP WAIT1GO: DEC R1 ;取行左邊字節(jié)偏址MOV A,R1MOVC A,@A+DPTRMOV SBUF,AWAIT1: JBC T1,GO1AJMP WAIT1GO1: SETB P1.7 ;關(guān)行顯示,準(zhǔn)備刷新NOP ;串口寄存器數(shù)據(jù)穩(wěn)定SETB P1.6 ;產(chǎn)生上升沿,行數(shù)據(jù)打入輸出端NOPNOPCLR P1.6 ;恢復(fù)低電平MOV A,R2 ;修改顯示行地址ORL A,#0F0H ;修改顯示行地址MOV R2,A ;修改顯示行地址MOV A,P1 ;修改顯示行地址ORL A,#0FH ;修改顯示行地址ANL A,R2 ;修改顯示行地址MOV P1,A ;修改完成CLR P1.7 ;開行顯示INC R2 ;下一行掃描地址值INC R1INC R1 ;下一行數(shù)據(jù)地址MOV A,R2ANL A,#0FHJNZ GO2SETB 00H ;R2 為 01H,現(xiàn)為末行掃描,置標(biāo)志GO2: POP ACC RETIGOEND: CLR TR0 ;一幀掃描完畢,關(guān)掃描 16×16 點(diǎn)陣 LED 室內(nèi)電子顯示屏的設(shè)計(jì) 單片機(jī)原理及應(yīng)用課程設(shè)計(jì)13SETB 01H ;一幀掃描完畢,置結(jié)束標(biāo)志POP ACCRETI ;退出;;;***************;; 掃描文字表 ;;***************;;TAB:DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,00FFH,0FFH,0FFH ;黑屏DB0F9H,0BFH,0C7H,0AFH,0F7H,0B7H,0F7H,0B7H,0F7H,0BFH,000H,001H,0F7H,0BFH,0F7H,0B7H ;我DB0F1H,0D7H,0C7H,0CFH,037H,0DFH,0F7H,0AFH,0F6H,06DH,0F7H,0F5H,0D7H,0F9H,0EFH,0FDH ;DB0FFH,007H,0C0H,06FH,0EDH,0EFH,0F6H,0DFH,0C0H,001H,0DDH,0FDH,0BDH,0FFH,0C0H,003H ;愛DB0FBH,0FFH,0F8H,00FH,0F3H,0DFH,0F4H,0BFH,0EFH,03FH,09CH,0CFH,073H,0F1H,0CFH,0FBH ;DB0F7H,0DFH,0F9H,0CFH,0FBH,0BFH,0C0H,007H,0DEH,0F7H,0C0H,007H,0DEH,0F7H,0DEH,0F7H ;單DB0C0H,007H,0DEH,0F7H,0FEH,0FFH,000H,001H,0FEH,0FFH,0FEH,0FFH,0FEH,0FFH,0FEH,0FFHDB0FFH,0BFH,0EFH,0BFH,0EFH,0BFH,0EFH,0BBH,0E0H,001H,0EFH,0FFH,0EFH,0FFH,0EFH,0FFH ;片DB0E0H,00FH,0EFH,0EFH,0EFH,0EFH,0EFH,0EFH,0DFH,0EFH,0DFH,0EFH,0BFH,0EFH,07FH,0FFHDB0EFH,0FFH,0EFH,007H,0EFH,077H,001H,077H,0EFH,077H,0EFH,077H,0C7H,077H,0CBH,077H ;機(jī)DB0ABH,077H,0AFH,077H,06EH,0F7H,0EEH,0F5H,0EDH,0F5H,0EDH,0F5H,0EBH,0F9H,0EFH,0FFH ; DB0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH ;黑屏DB 16×16 點(diǎn)陣 LED 室內(nèi)電子顯示屏的設(shè)計(jì) 單片機(jī)原理及應(yīng)用課程設(shè)計(jì)140FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH ;END8.附 錄 B;作品實(shí)物圖片實(shí)物圖如下圖下圖為總體電路圖 16×16 點(diǎn)陣 LED 室內(nèi)電子顯示屏的設(shè)計(jì) 單片機(jī)原理及應(yīng)用課程設(shè)計(jì)16 16×16 點(diǎn)陣 LED 室內(nèi)電子顯示屏的設(shè)計(jì) 單片機(jī)原理及應(yīng)用課程設(shè)計(jì)88.參考文獻(xiàn)[1] 劉欣銘,張廣斌.LED 顯示屏技術(shù)綜述[J].黑龍江電力,2003, 25(4):294-296.[2] 陽進(jìn).基于單片機(jī)的 LED 顯示屏的漢字顯示[J].中國(guó)科技信息,2005, (12):112.[3] Mark Nelson著.瀟湘工作室譯.串行通信開發(fā)指南[M].中國(guó)水利水電出版社,2002. [4] 王宜懷.單片機(jī)原理及其嵌入式應(yīng)用教程[M].北京希望電子出版社,2002. [5] 韓潤(rùn)萍,陳小萍.點(diǎn)陣LED顯示屏控制系統(tǒng)[J].微計(jì)算機(jī)信息,2003,19(10):50-51.
收藏