【測控技術(shù)與儀器】基于mcs51的16x16點陣led電子顯示屏的設(shè)計
《【測控技術(shù)與儀器】基于mcs51的16x16點陣led電子顯示屏的設(shè)計》由會員分享,可在線閱讀,更多相關(guān)《【測控技術(shù)與儀器】基于mcs51的16x16點陣led電子顯示屏的設(shè)計(15頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、 目 錄 摘要 1 關(guān)鍵詞 1 Abstract 1 Key words 1 引言 1 1.背景介紹 2 1.1 LED及LED顯示屏 2 1.2 MCS-51系列單片機(jī)簡介 2 1.2.1 MCS-51系列單片機(jī)及其特點 2 1.2.2 單片機(jī)的發(fā)展歷史簡介 2 3.功能要求 3 4.方案實現(xiàn) 3 4.1 系統(tǒng)硬件電路的設(shè)計 4 單片機(jī)系統(tǒng)及外圍電路 4 列驅(qū)動電路 4 行驅(qū)動器 5 4.2.系統(tǒng)程序的設(shè)計 5 顯示驅(qū)動程序 5 系統(tǒng)主程序 6 5性能分析與總結(jié) 7 5.1 性能分析 7 5.2 總結(jié) 8 致謝 8 參考
2、文獻(xiàn) 8 附錄A 16x16的點陣LED圖文顯示屏的硬件原理圖 9 附錄 B 主要匯編程序清單 10 基于MCS-51的16x16點陣LED電子顯示屏的設(shè)計 自動化專業(yè)學(xué)生 劉隆超 指導(dǎo)教師 黃金明 摘要:LED點陣顯示屏作為一種新興的顯示器件,是由多個獨立的LED發(fā)光二極管封裝而成. LED點陣顯示屏可以顯示數(shù)字或符號, 通常用來顯示時間、速度、系統(tǒng)狀態(tài)等。文章給出了一種基于MCS-51單片機(jī)的16×16 點陣LED顯示屏的設(shè)計方案。包括系統(tǒng)具體的硬件設(shè)計方案,軟件流程圖和部
3、分匯編語言程序等方面。在負(fù)載范圍內(nèi), 只需通過簡單的級聯(lián)就可以對顯示屏進(jìn)行擴(kuò)展,是一種成本低廉的圖文顯示方案。 關(guān)鍵詞:MCS-51;LED;單片機(jī) a kind of simple 16x16 LED display screen design process based on MCS-51 Student majoring in Automation LiuLongChao Tutor HuangJinMing Abstract:As a popular display device component, LED dot
4、-matrix display board consists of several independent LED (Light Emitting Diode). The LED dot-matrix display board can display the number or sign, and it is usually used to show time, speed, the state of system etc. This paper introduces a kind of simple 16x16 LED display screen design process based
5、 on MCS-51 single chip minicomputer . The detail hardware scheme, software flow and assemble language programmer design and so on is followed. The display part can be cascaded to meet the need. The practice proves the design is low-cost and effective. Key words: MCS-51;LED;MCU 引言 LED顯示屏顯示畫面色彩
6、鮮艷,立體感強(qiáng),靜如油畫,動如電影,廣泛應(yīng)用于車站、碼頭、機(jī)場、商場、醫(yī)院、賓館、銀行、證券市場、建筑市場、拍賣行、工業(yè)企業(yè)管理和其它公共場所。在實際應(yīng)用中的顯示屏由于成本和可靠性的因素常采用一種稱為動態(tài)掃描的顯示方法。本文設(shè)計的是一個室內(nèi)用16x16的點陣LED圖文顯示屏,圖形或文字顯示有靜止、移入移出等顯示方式。 1.1 LED及LED顯示屏 LED 就是Light Emitting Diode(發(fā)光二極管)的縮寫。在某些半導(dǎo)體材料的PN結(jié)中,注入的少數(shù)載流子與多數(shù)載流子復(fù)合時會把多余的能量以光的形式釋放出來,從而把電能直接轉(zhuǎn)換為光能。PN結(jié)
7、加反向電壓,少數(shù)載流子難以注入,故不發(fā)光。這種利用注入式電致發(fā)光原理制作的二極管叫發(fā)光二極管,通稱LED。發(fā)光二極管是由p 型和n 型半導(dǎo)體組成的二極管。在LED 的p - n 結(jié)附近,n 型材料中多數(shù)載流子是電子,p 型材料中多數(shù)載流子是空穴。p -n 結(jié)上未加電壓時構(gòu)成一定的勢壘,當(dāng)加正向偏壓時,在外電場作用下,p 區(qū)的空穴和n 區(qū)的電子就向?qū)Ψ綌U(kuò)散運動,構(gòu)成少數(shù)載流子的注入,從而在p - n結(jié)附近產(chǎn)生導(dǎo)帶電子和價帶空穴的復(fù)合,同時釋放出相對應(yīng)的能量hν(h 為普朗克常數(shù),ν為光子頻率)而發(fā)光。該能量相當(dāng)于半導(dǎo)體材料的帶隙能量Eg(Ev) ,其與發(fā)光波長λ(nm) 的關(guān)系為λ= 1239.
8、 6PEg。 LED顯示屏是一種通過控制半導(dǎo)體發(fā)光二極管的顯示方式,用來顯示文字、圖形、圖像、動畫、行情、視頻、錄像信號等各種信息的顯示屏幕。 LED顯示屏分為圖文顯示屏和視頻顯示屏,均由LED矩陣塊組成。圖文顯示屏可與計算機(jī)同步顯示漢字、英文文本和圖形;視頻顯示屏采用微型計算機(jī)進(jìn)行控制,圖文、圖像并茂,以實時、同步、清晰的信息傳播方式播放各種信息,還可顯示二維、三維動畫、錄像、電視、VCD節(jié)目以及現(xiàn)場實況。LED顯示屏顯示畫面色彩鮮艷,立體感強(qiáng),靜如油畫,動如電影,廣泛應(yīng)用于車站、碼頭、機(jī)場、商場、醫(yī)院、賓館、銀行、證券市場、建筑市場、拍賣行、工業(yè)企業(yè)管理和其它公共場所。 它的優(yōu)點:亮
9、度高、工作電壓低、功耗小、微型化、易與集成電路匹配、驅(qū)動簡單、壽命長、耐沖擊、性能穩(wěn)定。 1.2 MCS-51系列單片機(jī)簡介 MCS-51系列單片機(jī)及其特點 ①可靠性高: 因為芯片是按工業(yè)測控環(huán)境要求設(shè)計的,故抗干擾的能力優(yōu)于PC機(jī)。系統(tǒng)軟件(如:程序指令,常數(shù),表格)固化在ROM中,不易受病毒破壞。許多信號的通道均在一個芯片內(nèi),故運作時系統(tǒng)穩(wěn)定可靠。 ②便于擴(kuò)展: 片內(nèi)具有計算機(jī)正常運行所必需的部件,片外有很多供擴(kuò)展用的(總線,并行和串行的輸入/輸出)管腳,很容易組成一定規(guī)模的計算機(jī)應(yīng)用系統(tǒng)。 ③控制功能強(qiáng): 具有豐富的控制指令:如:條件分支轉(zhuǎn)移指令,I/O口的邏輯操作
10、指令,位處理指令。 ④實用性好: 體積小,功耗低,價格便宜,易于產(chǎn)品化。 1.2.2 單片機(jī)的發(fā)展歷史簡介 ①第1階段(1971年—1978年),以MCS-48系列為代表,稱4位單片機(jī)。在片內(nèi):CPU有4位或8位;ROM有1KB或2KB;RAM有64B或128B;只有并行接口,無串行接口;只有1個8位的定時/計時器;中斷源只有2個。在片外:尋址范圍只有4KB;芯片引腳有40個。 ②第2階段(1978年—1983年),以MCS-51系列為代表,稱8位單片機(jī)。在片內(nèi):CPU有8位;ROM有4KB或8KB;RAM有128B或256B;有串/并行接口;有2個或3個16位的定時/計時器;中斷
11、源有5至7個。在片外:尋址范圍有64KB;芯片引腳有40個。 ③第3階段(1983年以后),以MCS-96系列為代表,稱16位單片機(jī)。在片內(nèi):CPU有16位;ROM有8KB;RAM有232B;有串/并行接口;有4個16位的定時/計時器;中斷源有8個;增加了D/A和A/D轉(zhuǎn)換電路。在片外:尋址范圍有64KB;芯片引腳有48個或68個。 以上MCS-51系列以其優(yōu)良的性價比,在我國得到了廣泛的應(yīng)用。 設(shè)計一個室內(nèi)用16x16的點陣LED圖文顯示屏,要求在目測條件下LED顯示屏各點亮度均勻、充足,可顯示圖形和文字,顯示圖形和文字應(yīng)穩(wěn)定、清晰無串?dāng)_。圖形或文字顯示有靜止、移入移出等顯示方式。
12、 實現(xiàn) 從理論上說,不論顯示圖形還是文字,只要控制與組成這些圖形或文字的各個點所在的位置相對應(yīng)的LED器件發(fā)光,就可以得到我們想要的顯示結(jié)果,這種同時控制各個發(fā)光點亮滅的方法稱為靜態(tài)驅(qū)動顯示方式。16x16的點陣共有256個發(fā)光二極管,顯然單片機(jī)沒有這么多的端口,如果我采用鎖存器來擴(kuò)展端口,按8位的鎖存器來計算,16x16的點陣需要256/8=32個鎖存器。這個數(shù)字很龐大,因為我們僅僅是16x16的點陣,在實際應(yīng)用中的顯示屏往往要大得多,這樣在鎖存器上花的成本將是一個很龐大的數(shù)字。因此在實際應(yīng)用中的顯示屏幾乎都不采用這種設(shè)計,而采用另外一種稱為動態(tài)掃描的顯示方法。 動態(tài)掃描的意思簡
13、單地說就是逐行輪流點亮,這樣掃描驅(qū)動電路就可以實現(xiàn)多行(比如16行)的同名列共用一套驅(qū)動器。具體就16x16的點陣來說,把所有同1行的發(fā)光管的陽極連在一起,把所有同1列的發(fā)光管的陰極連在一起(共陽極的接法),先送出對應(yīng)第一行發(fā)光管亮滅的數(shù)據(jù)并鎖存,然后選通第1行使其燃亮一定時間,然后熄滅;再送出第二行的數(shù)據(jù)并鎖存,然后選通第2行使其燃亮相同的時間,然后熄滅;以此類推,第16行之后,又重新燃亮第1行,反復(fù)輪回。當(dāng)這樣輪回的速度足夠快(每秒24次以上),由于人眼的視覺暫留現(xiàn)象,就能夠看到顯示屏上穩(wěn)定的圖形了。 采用掃描方式進(jìn)行顯示時,每一行有一個行驅(qū)動器,各行的同名列共用一個驅(qū)動器。顯示數(shù)據(jù)通常
14、存儲在單片機(jī)的存儲器中,按8位一個字節(jié)的形式順序排放。顯示時要把一行中各列的數(shù)據(jù)都傳送到相應(yīng)的列驅(qū)動器上去,這就存在一個顯示數(shù)據(jù)傳輸?shù)膯栴}。從控制電路到列驅(qū)動器的數(shù)據(jù)傳輸可以采用并列方式或串行方式。顯然,采用并行方式時,從控制電路到列驅(qū)動器的線路數(shù)量大,相應(yīng)的硬件數(shù)目多。當(dāng)列數(shù)很多時,并列傳輸?shù)姆桨甘遣豢扇〉摹? 采用串行傳輸?shù)姆椒?,控制電路可以只用一根信號線,將列數(shù)據(jù)一位一位傳往列驅(qū)動器,在硬件方面無疑是十分經(jīng)濟(jì)的。但是,串行傳輸過程較長,數(shù)據(jù)按順序一位一位地輸出給列驅(qū)動器,只有當(dāng)一行的各列數(shù)據(jù)都以傳輸?shù)轿恢?,這一行的各列才能并行地進(jìn)行顯示。這樣,對于一行的顯示過程就可以分解成列數(shù)據(jù)準(zhǔn)備(
15、傳輸)和列數(shù)據(jù)顯示兩部分。對于串行傳輸方式來說,列數(shù)據(jù)準(zhǔn)備時間可能相當(dāng)長,在行掃描周期確定的情況下留給行顯示的時間就太少了,以致影響到LED的亮度。 解決串行傳輸中列數(shù)據(jù)準(zhǔn)備和列數(shù)據(jù)顯示的時間矛盾問題,可以采用重疊處理的方法。即在顯示本行各列數(shù)據(jù)的同時,傳送下一列數(shù)據(jù)。為了達(dá)到重疊處理的目的,列數(shù)據(jù)的顯示就需要具有所存功能。經(jīng)過上述分析,就可以歸納出列驅(qū)動器電路應(yīng)具有的功能。對于列數(shù)據(jù)準(zhǔn)備來說,它應(yīng)能實現(xiàn)串入并處的移位功能;對于列數(shù)據(jù)顯示來說,應(yīng)具有并行鎖存的功能。這樣,本行已準(zhǔn)備好的數(shù)據(jù)打入并行鎖存器進(jìn)行顯示時,串并移位寄存器就可以準(zhǔn)備下一行的列數(shù)據(jù),而不會影響本行的顯示。圖1為顯示屏電路
16、實現(xiàn)的結(jié)構(gòu)框圖。 列驅(qū)動器 單 片 機(jī) 電源 行驅(qū)動器 LED顯示點陣 圖1,顯示屏電路框圖 4.1 系統(tǒng)硬件電路的設(shè)計 硬件電路大致上可以分成單片機(jī)系統(tǒng)及外圍電路、列驅(qū)動電路和行驅(qū)動電路三部分。 4.單片機(jī)系統(tǒng)及外圍電路 單片機(jī)采用MSC-51或其兼容系列芯片,采用24MHZ或更高頻率晶振,以獲得較高的刷新頻率,時期顯示更穩(wěn)定。單片機(jī)的串口與列驅(qū)動器相連,
17、用來顯示數(shù)據(jù)。P1口低4位與行驅(qū)動器相連,送出行選信號;P1.5~P1.7口則用來發(fā)送控制信號。P0口和P2口空著,在有必要的時候可以擴(kuò)展系統(tǒng)的ROM和RAM。16x16的點陣顯示屏的硬件原理圖如圖2所示(在附錄A)。 列驅(qū)動電路 列驅(qū)動電路有集成電路74HC595構(gòu)成。它具有一個8位串入并出的移位寄存器和一個8位輸出鎖存器的結(jié)構(gòu),而且移位寄存器和輸出鎖存器的控制是各自獨立的,可以實現(xiàn)在顯示本行列數(shù)據(jù)的同時,傳送下一行的列數(shù)據(jù),既達(dá)到重疊處理的目的。 74HC595的外形及內(nèi)部結(jié)構(gòu)如圖3所示。它的輸入側(cè)有8個串行移位寄存器,每個移位寄存器的輸出都連接一個輸出鎖存器。引腳SI是串行數(shù)據(jù)的輸
18、入端。引腳SCK是移位寄存器的移位時鐘脈沖,在其上升沿發(fā)生移位,并將SI的下一個數(shù)據(jù)打入最低位。 移位后的各位信號出現(xiàn)在各移位寄存器的輸出端,也就是輸出鎖存器的輸入端。RCK是輸出鎖存器的打入信號,其上升沿將移位寄存器的輸出打入輸出鎖存器。引腳G是輸出三態(tài)門的開放信號,只有當(dāng)其為低時鎖存器的輸出才開放,否則為高組態(tài)。SCLR信號是移位寄存器清零輸入端,當(dāng)其為低時移位寄存器的輸出全部為零。由于SCK和RCK兩個信號是互相獨立的,所以能夠做到輸入串行移位與輸出鎖存互不干擾。芯片的輸出端為QA~QH,最高位QH可作為多片74HC595級聯(lián)應(yīng)用時,向上一級的級聯(lián)輸出。但因為QH受輸出鎖存器的打入控制
19、,所以還從輸出鎖存器前引出QH,作為與移位寄存器完全同步的級聯(lián)輸出。 74HC595 QB 1 16 Vcc QC 2 15 QA QD 3 14 SI QE
20、 4 13 G QF 5 12 RCK QG 6 11 SCK QH 7 10 SCLR GND 8 9 QH
21、 圖3. 74HC595外形及引腳 行驅(qū)動器 單片機(jī)P1口低4位輸出的行號經(jīng)4/16線譯碼器74LS154譯碼后生成16條行選通信號線,再經(jīng)過驅(qū)動器驅(qū)動對應(yīng)的行線。一條行線上要帶動16列的LED進(jìn)行顯示,按每一LED器件20MA電流計算,16個LED同時發(fā)光時,需要320MA電流,選通三極管8550作為驅(qū)動管可滿足要求。 顯示屏軟件的主要功能是向屏體提供顯示數(shù)據(jù),并產(chǎn)生各種控制信號,使屏幕按設(shè)計的要求顯示。根據(jù)軟件分層次設(shè)計的原理,可以把顯示屏的軟件系統(tǒng)分為兩層;第一層是底層的顯示
22、驅(qū)動程序,第二層是上層的系統(tǒng)應(yīng)用程序。顯示驅(qū)動程序負(fù)責(zé)向屏體送顯示數(shù)據(jù),并負(fù)責(zé)產(chǎn)生行掃描信號和其他控制信號,配合完成LED顯示屏的掃描顯示工作。顯示驅(qū)動器程序由定時器T0中斷程序?qū)崿F(xiàn)。系統(tǒng)應(yīng)用程序完成系統(tǒng)環(huán)境設(shè)置(初始化)、顯示效果處理等工作,由主程序來實現(xiàn)。 從有利于實現(xiàn)較復(fù)雜的算法(顯示效果處理)和有利于程序結(jié)構(gòu)化考慮,顯示屏程序適宜采用C語言編寫。 顯示驅(qū)動程序 顯示驅(qū)動程序在進(jìn)入中斷后首先要對定時器T0重新賦初值,以保證顯示屏刷新率的穩(wěn)定,1/16掃描顯示屏的刷新率(幀頻)計算公式如下: 刷頻率(幀頻)=1/16×T0溢出率
23、 =1/16×f/12(65536-t) 其中f位晶振頻率,t為定時器T0初值(工作在16位定時器模式)。 然后顯示驅(qū)動程序查詢當(dāng)前燃亮的行號,從顯示緩存區(qū)內(nèi)讀取下一行的顯示數(shù)據(jù),并通過串口發(fā)送給移位寄存器。為消除在切換行顯示數(shù)據(jù)的時候產(chǎn)生拖尾現(xiàn)象,驅(qū)動程序先要關(guān)閉顯示屏,即消隱,等顯示數(shù)據(jù)打入輸出鎖存器并鎖存,然后再輸出新的行號,重新打開顯示。圖4為顯示驅(qū)動程序(顯示屏掃描函數(shù))流程圖。
24、 進(jìn)入中斷 定時器賦初值 讀取行號并增加1 送新行顯示數(shù)據(jù) 消 隱 切換顯示數(shù)據(jù) 發(fā)送新行號,打開顯示 退出中斷
25、 圖 4 顯示驅(qū)動程序流程圖 系統(tǒng)主程序 本文設(shè)計的系統(tǒng)軟件能使系統(tǒng)在目測條件下LED顯示屏各點亮度均勻、充足,可顯示圖形和文字,顯示圖形和文字應(yīng)穩(wěn)定、清晰無串?dāng)_。圖形或文字顯示有靜止、移入移出等顯示方式。 系統(tǒng)主程序開始以后,首先是對系統(tǒng)環(huán)境初始化,包括設(shè)置串口、定時器、中斷和端口;然后以“卷簾出”效果顯示圖形,停留約3s;接著向上滾動顯示“我愛單片機(jī)”這5個漢字及一個圖形,然后以“卷簾入”效果隱去圖形。由于單片機(jī)沒有停機(jī)指令, 所以可以設(shè)置系統(tǒng)程序不斷的循環(huán)執(zhí)行上述顯示效果。 單
26、元顯示屏可以接收來自控制器(主控制電路板)或上一級顯示單元模塊傳輸下來的數(shù)據(jù)信息和命令信息,并可將這些數(shù)據(jù)信息和命令信息不經(jīng)任何變化地再傳送到下一級顯示模塊單元中,因此顯示板可擴(kuò)展至更多的顯示單元,用于顯示更多的顯示內(nèi)容。 圖5是系統(tǒng)主程序流程圖。 開始 系統(tǒng)初始化 “卷簾出”顯示效果 “上滾屏”顯示效果
27、 “左跑馬”顯示效果 “卷簾入”顯示效果 圖 5 系統(tǒng)主程序流程圖 5性能分析與總結(jié) 5.1 性能分析 LED顯示屏硬件電路只要硬件質(zhì)量可靠,引腳焊接正確,一般無需調(diào)試即可 正常工作。軟件部分需要調(diào)試的主要有顯示屏刷新頻率及顯示效果兩部分。顯示屏刷新率由定時器T0的溢出率和單片機(jī)的晶振頻率決定,表5.1給出了實驗調(diào)試時采用的頻率及其對應(yīng)的定時器T0初值。 表
28、5.1 顯示平刷新率與T0初值關(guān)系表(24MHz晶振) 刷新率 25 50 75 85 100 120 T0初值 0Xec78 0Xf63C 0Xf830 0xF97E 0XFA42 0XFB1E 0xFBEE 從理論上來說,24Hz以上的刷新頻率就能看到穩(wěn)定的連續(xù)的顯示,刷新率越高,顯示越穩(wěn)定,同時刷新頻率越高,顯示驅(qū)動程序占用的CPU時間越多。試驗證明,在目測條件下刷新頻率40Hz一下的畫面看起來閃爍較嚴(yán)重,刷新頻率50Hz以上的已基本察覺不出畫面的閃爍,刷新頻率達(dá)到85Hz以上時再增加畫面閃爍沒有明顯的改善。 顯示效果處理程序的內(nèi)容及方法非常
29、廣泛,其調(diào)試過程在此不作具體討論,讀者可以照源程序自行分析。 這個方案設(shè)計的16x16的點陣LED圖文顯示屏,電路簡單,成本較低,且較容易擴(kuò)展成更大的顯示屏;顯示屏各點亮度均勻、充足;顯示圖形或文字穩(wěn)定、清晰無串?dāng)_;可用靜止、移入移出等多種顯示方式顯示圖形或文字。 5.2 總結(jié) 本文設(shè)計的一個室內(nèi)用16x16的點陣LED圖文顯示屏,能夠在目測條件下LED顯示屏各點亮度均勻、充足,可顯示圖形和文字,顯示圖形和文字應(yīng)穩(wěn)定、清晰無串?dāng)_。圖形或文字顯示有靜止、移入移出等顯示方式。本系統(tǒng)具有硬件少,結(jié)構(gòu)簡單,容易實現(xiàn),性能穩(wěn)定可靠,成本低等特點。 總結(jié)本文的研究工作,主要做了下面幾點較
30、突出的工作: 一、通過查閱大量的相關(guān)資料,詳細(xì)了解了LED的發(fā)光原理和LED顯示屏的原理,了解了LED的現(xiàn)狀,清楚地了解了LED顯示屏與其它顯示屏相比較有那些 優(yōu)點,明確了研究目標(biāo)。 二,本文設(shè)計的LED顯示屏能夠?qū)崿F(xiàn)在目測條件下LED顯示屏各點亮度均勻、充足,可顯示圖形和文字,顯示圖形和文字應(yīng)穩(wěn)定、清晰無串?dāng)_。圖形或文字顯示有靜止、移入移出等顯示方式。 三,文章給出了系統(tǒng)具體的硬件設(shè)計方案,硬件結(jié)構(gòu)電路圖,軟件流程圖和具體匯編語言程序設(shè)計與調(diào)試等方面。 四,在這次畢業(yè)設(shè)計的過程中學(xué)會了 Protel 99se 的基本使用,感到Protel 99se 對自動化專業(yè)的同學(xué)來說是一門
31、很有用的課程。 五,通過這次畢業(yè)設(shè)計,重新復(fù)習(xí)并進(jìn)一步學(xué)習(xí)了MCS-51;熟練掌握了WORD軟件的使用。 六,存在缺陷:沒有考慮抗干擾的問題。 致謝 本文是在黃金明老師的悉心指導(dǎo)下完成的。從課題的立項、選題到課題的開發(fā)與研究,再到本論文的撰寫到定稿的每一步工作都傾注著黃老師的心血和汗水,同時得到同學(xué)們相助,并提供了大量的資料. 在此,對于老師和同學(xué)們的幫助表示忠心的感謝。 參考文獻(xiàn) [1] 何立民.MCS-51系列單片機(jī)應(yīng)用系統(tǒng)設(shè)計與接口技術(shù) .北京航空航天大學(xué)出版社,1990 [2] .電子工業(yè)出版社,1997 [3] .北京航空航天大學(xué)出版社,2000 [4] .
32、哈爾濱工業(yè)電子出版社,1996 [5] .北京航空航天大學(xué)出版社,1998 [6] 張凱.LED介紹完全手冊.北京航空航天大學(xué)出版社,2000 [7] 張友德等.單片微型機(jī)原理應(yīng)用與實驗,復(fù)旦大學(xué)出版社,1996 附錄A 16x16的點陣LED圖文顯示屏的硬件原理圖 附錄 B 主要匯編程序清單 以下是16x16的點陣LED電子圖文顯示屏的源程序采用匯編語言編寫(也可采用C語言編寫,C程序KeiluVision2 V2.30環(huán)境下調(diào)試通過。 以下為用匯編語言編寫的字符顯示控制程序: ;
33、 *************************************** ; * * ; * 單個16x16的點陣電子屏字符顯示器 * ; * ATA89C52 12MHz晶振 * ; * 2004.2.11 LRM * ; *****************************
34、********** ;顯示字用查表法,不占用內(nèi)存,字符用16x16共陽LED點陣, ;效果:向上滾動顯示5個字,再重復(fù)循環(huán)。 ;R1:查表偏址寄存器,B:查表首址,R2:掃描地址(從00~0FH)。 ;R3:滾動顯示時控制移動速度,單字顯示可控制靜止顯示的時間。 ;*************; ;中斷入口程序 ; ;*************; ; ORG 0000H LJMP START ORG 0003H RETI ORG 000BH LJMP INTTO ORG 0013H ERTI ORG 001B
35、H ERTI ORG 0023H RETI ORG 002BH RETI ; ;***********; ;初始化程序; ;***********; ; ; ;***********; ; 主程序 ; ;***********; ; START: MOV 20H,#00H ;清零標(biāo)志,00H為第16行開始掃描標(biāo)志,01為1幀 ;掃描結(jié)束標(biāo)志 MOV A,#0FFH ;端口初始化 MOV P1,A MOV
36、 P1,A MOV P3,A MOV P0,A CLR P1.6 ;串行寄存器輸入打入輸出控制位 MOV TMOD,#01H ;使用T0做16位定時器,行掃描用。 MOV TH0,#0FCH ;1ms初值(12MHz) MOV TL0,#18H MOV SCON,#00H ;串口0方式傳送顯示字節(jié) MOV IE,#82H ;T0中斷允許,總中斷允許 MOV SP,#70H MOV DPTR,#TAB LCALL MOVDISP ;向上滾
37、動顯示一頁(8個字) INC DPH LCALL MOVDISP ;向上滾動顯示一頁(8個字) INC DPH LACLL MOVDISP ;向上滾動顯示一頁(8個字) AJMP MAIN ; ; ;***********************; ; 多字滾動顯示程序 ; ;***********************; ;每次8個字,入口時定義好DPTR值 ; MOVDISP: MOV B,#00H ;
38、向上移動顯示,查表偏值暫存(從00開始) DISLOOP: MOV R3,#07H ;移動速度 DISMOV: MOV R2,00H ;第0行開始 MOV R1,B SETB TR0 ;開掃描(每次一幀) WAITMOV: JBC 01H,DISMOV1 ;標(biāo)志為1掃描一幀結(jié)束(16ms為1幀,每行1ms) AJMP WAITMOV DISMOV1: DJNZ R3,DISMOV ;1幀重復(fù)顯示(控制移動速度) I
39、NC B ;顯示字的下一行(每行2字節(jié)) INC B MOV A,R1 ;R1為0,8個字顯示完 JZ MOVOUT AJMP DISLOOP MOVOUT: RET ;移動先是結(jié)束 ; ; ;****************; ; 單字顯示程序 ; ;****************; ;顯示表中某個字; ;****************; DIS1: MOV R3
40、,#5AH ;靜止顯示時間控制(16ms*#=1.6s) DIS11: MOV R2,#00H ;一幀掃描初始值(行地址從00~0FH) MOV DPTR,#TAB ;取表首址 MOV R1,#00H ;查表偏址(顯示第一個字) SETB TR0 ;開掃描(每次一幀) WAIT11: JBC 01H,DIS111 ;為1,掃描一幀結(jié)束 AJMP WAIT11 DIS111: DJNZ R3,DIS11 RET ; ; ;************; ; 掃描程序
41、; ;************; ;1ms刷新一次,每行顯示1s INTT0: PUSH ACC MOV TH0,#0FCH ;1ms初值重裝 MOV TL0,#18H JBC 00H,GOEND ;16行掃描標(biāo)志為1,結(jié)束 INC R1 ;取行右邊字節(jié)偏址 MOV A,R1 MOVC A,@A+DPTR ;查表 MOV SBUF,A ;串口0方式發(fā)送 WAIT: JBC TI,GO ;等待發(fā)送完畢 AJMP WAIT1
42、 GO: DEC R1 ;取行左邊字節(jié)偏址 MOV A,R1 MOVC A,@A+DPTR MOV SBUF,A WAIT1: JBC T1,GO1 AJMP WAIT1 GO1: SETB P1.7 ;關(guān)行顯示,準(zhǔn)備刷新 NOP ;串口寄存器數(shù)據(jù)穩(wěn)定 SETB P1.6 ;產(chǎn)生上升沿,行數(shù)據(jù)打入輸出端 NOP NOP CLR P1.6 ;恢復(fù)低電平 MOV
43、 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 R1 INC R1
44、 ;下一行數(shù)據(jù)地址 MOV A,R2 ANL A,#0FH JNZ GO2 SETB 00H ;R2為01H,現(xiàn)為末行掃描,置標(biāo)志 GO2: POP ACC RETI GOEND: CLR TR0 ;一幀掃描完畢,關(guān)掃描 SETB 01H ;一幀掃描完畢,置結(jié)束標(biāo)志 POP ACC RETI ;退出 ; ; ;***************; ; 掃描文字表 ; ;**
45、*************; ; TAB:DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,00FFH,0FFH,0FFH ;黑屏 DB 0F9H,0BFH,0C7H,0AFH,0F7H,0B7H,0F7H,0B7H,0F7H,0BFH,000H,001H,0F7H,0BFH,0F7H,0B7H ;我 DB 0F1H,0D7H,0C7H,0CFH,037H,0DFH,0F7H,0AFH,0F6H,06DH,0F7H,0F5H,0D7H,0F9H,0EFH,0FDH ;
46、 DB 0FFH,007H,0C0H,06FH,0EDH,0EFH,0F6H,0DFH,0C0H,001H,0DDH,0FDH,0BDH,0FFH,0C0H,003H ;愛 DB 0FBH,0FFH,0F8H,00FH,0F3H,0DFH,0F4H,0BFH,0EFH,03FH,09CH,0CFH,073H,0F1H,0CFH,0FBH ; DB 0F7H,0DFH,0F9H,0CFH,0FBH,0BFH,0C0H,007H,0DEH,0F7H,0C0H,007H,0DEH,0F7H,0DEH,0F7H ;單 DB 0C0H,007H,0DE
47、H,0F7H,0FEH,0FFH,000H,001H,0FEH,0FFH,0FEH,0FFH,0FEH,0FFH,0FEH,0FFH DB 0FFH,0BFH,0EFH,0BFH,0EFH,0BFH,0EFH,0BBH,0E0H,001H,0EFH,0FFH,0EFH,0FFH,0EFH,0FFH ;片 DB 0E0H,00FH,0EFH,0EFH,0EFH,0EFH,0EFH,0EFH,0DFH,0EFH,0DFH,0EFH,0BFH,0EFH,07FH,0FFH DB 0EFH,0FFH,0EFH,007H,0EFH,077H,001H,077H,0EFH,077H,0EF
48、H,077H,0C7H,077H,0CBH,077H ;機(jī) DB 0ABH,077H,0AFH,077H,06EH,0F7H,0EEH,0F5H,0EDH,0F5H,0EDH,0F5H,0EBH,0F9H,0EFH,0FFH ; DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH ;黑屏 DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH ; END
- 溫馨提示:
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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 建筑施工重大危險源安全管理制度
- 安全培訓(xùn)資料:典型建筑火災(zāi)的防治基本原則與救援技術(shù)
- 企業(yè)雙重預(yù)防體系應(yīng)知應(yīng)會知識問答
- 8 各種煤礦安全考試試題
- 9 危險化學(xué)品經(jīng)營單位安全生產(chǎn)管理人員模擬考試題庫試卷附答案
- 加壓過濾機(jī)司機(jī)技術(shù)操作規(guī)程
- 樹脂砂混砂工藝知識總結(jié)
- XXXXX現(xiàn)場安全應(yīng)急處置預(yù)案
- 某公司消防安全檢查制度總結(jié)
- 1 煤礦安全檢查工(中級)職業(yè)技能理論知識考核試題含答案
- 4.燃?xì)獍踩a(chǎn)企業(yè)主要負(fù)責(zé)人模擬考試題庫試卷含答案
- 工段(班組)級安全檢查表
- D 氯化工藝作業(yè)模擬考試題庫試卷含答案-4
- 建筑起重司索信號工安全操作要點
- 實驗室計量常見的30個問問答題含解析