




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、. . . . 單片機(jī)課程設(shè)計(jì)報(bào)告書設(shè)計(jì)題目:基于AT89C51單片機(jī)的16*16點(diǎn)陣LED顯示器設(shè)計(jì)姓 名:院 系:專 業(yè):學(xué) 號(hào):指導(dǎo)教師:教師職稱:2012年11月25日25 / 26目錄摘要1第1章 引言11.1 LED與LED顯示屏 11.2 功能要求21.3 方案論證2第2章 系統(tǒng)總體方案與硬件設(shè)計(jì)32.1 AT89C51的原理與說明32.2 顯示屏總體設(shè)計(jì)方案32.3 列驅(qū)動(dòng)電路42.4 行驅(qū)動(dòng)部分 4第 3 章 系統(tǒng)硬件電路的設(shè)計(jì)83.1單片機(jī)系統(tǒng)與外圍電路83.2列驅(qū)動(dòng)電路83.3 行驅(qū)動(dòng)電路9第 4 章 系統(tǒng)程序的設(shè)計(jì)104.1顯示驅(qū)動(dòng)程序104.2系統(tǒng)主程序114.3單片
2、機(jī)匯編程序11第5章系統(tǒng)調(diào)試 22第6章設(shè)計(jì)心得 22參考文獻(xiàn) 22附錄 23摘要:本設(shè)計(jì)使用簡(jiǎn)單單片機(jī)AT89C51作為主控制模塊,利用簡(jiǎn)單的外圍電路來驅(qū)動(dòng)16×16的點(diǎn)陣LED顯示屏。在本設(shè)計(jì)中主要用兩個(gè)74HC595來驅(qū)動(dòng)16×16點(diǎn)陣顯示屏的列,用AT89C51來驅(qū)動(dòng)16×16點(diǎn)陣顯示屏的行,可以最終實(shí)現(xiàn)“十六乘十六點(diǎn)陣可調(diào)速顯示屏設(shè)計(jì)” 十五個(gè)漢字的自動(dòng)左移,而且它們的“進(jìn)”和“出”是以滾動(dòng)形式設(shè)計(jì)的。也就是說,硬件電路大致上可以分成單片機(jī)系統(tǒng)與外圍電路、列驅(qū)動(dòng)電路和行驅(qū)動(dòng)電路三部分。從而可以實(shí)現(xiàn)一個(gè)室用的16×16點(diǎn)陣LED圖文顯示屏,在目測(cè)
3、條件下LED顯示屏各點(diǎn)亮度均勻、充足,可顯示圖形和文字,顯示圖形或文字應(yīng)穩(wěn)定、清晰無(wú)串?dāng)_,圖形或文字顯示有靜止、移入移出等顯示方式。最后,利用燒錄器可以很方便的實(shí)現(xiàn)單片機(jī)與PC機(jī)等外圍存儲(chǔ)設(shè)備的數(shù)據(jù)傳輸,并能利用軟件方便的進(jìn)行顯示容的多樣變化,另一方面,LED點(diǎn)陣顯示屏作為一種新興的顯示器件,是由多個(gè)獨(dú)立的LED發(fā)光二極管封裝而成。進(jìn)行了單片機(jī)AT89C51的軟件仿真并成功完成了仿真驗(yàn)證。結(jié)果表明包括系統(tǒng)具體的硬件設(shè)計(jì)方案,軟件流程圖和部分C語(yǔ)言程序等方面。具有在負(fù)載圍, 只需通過簡(jiǎn)單的級(jí)連就可以對(duì)顯示屏進(jìn)行擴(kuò)展,是一種成本低廉的圖文顯示方案意義。它在實(shí)際生活中具有廣泛的應(yīng)用。關(guān)鍵詞:?jiǎn)纹瑱C(jī)、
4、16*16點(diǎn)陣、滾動(dòng)顯示第1章 引言1.1 LED與LED顯示屏LED顯示屏顯示畫面色彩鮮艷,立體感強(qiáng),靜如油畫,動(dòng)如電影,廣泛應(yīng)用于車站、碼頭、機(jī)場(chǎng)、商場(chǎng)、醫(yī)院、賓館、銀行、證券市場(chǎng)、建筑市場(chǎng)、拍賣行、工業(yè)企業(yè)管理和其它公共場(chǎng)所。在實(shí)際應(yīng)用中的顯示屏由于成本和可靠性的因素常采用一種稱為動(dòng)態(tài)掃描的顯示方法。LED 就是Light Emitting Diode(發(fā)光二極管)的縮寫。在某些半導(dǎo)體材料的PN結(jié)中,注入的少數(shù)載流子與多數(shù)載流子復(fù)合時(shí)會(huì)把多余的能量以光的形式釋放出來,從而把電能直接轉(zhuǎn)換為光能。PN結(jié)加反向電壓,少數(shù)載流子難以注入,故不發(fā)光。這種利用注入式電致發(fā)光原理制作的二極管叫發(fā)光二極
5、管,通稱LED。LED顯示屏是一種通過控制半導(dǎo)體發(fā)光二極管的顯示方式,用來顯示文字、圖形、圖像、動(dòng)畫、行情、視頻、錄像信號(hào)等各種信息的顯示屏幕。LED顯示屏分為圖文顯示屏和視頻顯示屏,均由LED矩陣塊組成。圖文顯示屏可與計(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):亮度高、工
6、作電壓低、功耗小、微型化、易與集成電路匹配、驅(qū)動(dòng)簡(jiǎn)單、壽命長(zhǎng)、耐沖擊、性能穩(wěn)定。1.2 功能要求設(shè)計(jì)一個(gè)室用16×16點(diǎn)陣LED圖文顯示屏,要求在目測(cè)條件下LED顯示屏各點(diǎn)亮度均勻、充足,可顯示圖形和文字,顯示圖形或文字應(yīng)穩(wěn)定、清晰無(wú)串?dāng)_,圖形或文字顯示有靜止、移入移出等顯示方式。1.3 方案論證16×16的點(diǎn)陣顯示屏共有256個(gè)發(fā)光二極管,顯然單片機(jī)沒有這么多端口,如果我們采用鎖存器來擴(kuò)展端口,按8位的鎖存器來計(jì)算,16×16的點(diǎn)陣需要256/8=32個(gè)鎖存器。這個(gè)數(shù)字很龐大,因?yàn)槲覀儍H僅是16×16的點(diǎn)陣,在實(shí)際應(yīng)用中的顯示屏往往要大的多,這樣在鎖存
7、器上花的成本將是一個(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)器。具體就16×16的點(diǎn)陣來說,我們把所有同一行的發(fā)光管的陽(yáng)極連在一起,把所有同一列的發(fā)光管的陰極連在一起(共陽(yáng)的接法),先送出對(duì)應(yīng)第一行發(fā)光管亮滅的數(shù)據(jù)并鎖存,然后選通第一行使其燃亮一定的時(shí)間,然后熄滅;再送出第二行的數(shù)據(jù)并鎖存,然后選通第二行使其燃亮一樣的時(shí)間,然后熄滅; 第十六行之后又重新燃亮第一行,這樣反復(fù)輪回。當(dāng)這樣輪回的速度足夠快(每秒24次以上),由于
8、人眼的視覺暫留現(xiàn)象,我們就能看到顯示屏上穩(wěn)定的圖形了。采用串行傳輸?shù)姆椒?,控制電路可以只用一根信?hào)線,將列數(shù)據(jù)一位一位傳往列驅(qū)動(dòng)器,在硬件方面無(wú)疑是十分經(jīng)濟(jì)的。但是,串行傳輸過程較長(zhǎng),數(shù)據(jù)按順序一位一位地輸出給列驅(qū)動(dòng)器,只有當(dāng)一行的各列數(shù)據(jù)都已傳輸?shù)轿恢?,這一行的各列才能并行地進(jìn)行顯示。這樣,對(duì)于一行的顯示過程就可以分解成列數(shù)據(jù)準(zhǔn)備(傳輸)和列數(shù)據(jù)顯示兩個(gè)部分。對(duì)于串行傳輸方式來說,列數(shù)據(jù)準(zhǔn)備時(shí)間可能相當(dāng)長(zhǎng),在行掃描周期確定的情況下,留給行顯示的時(shí)間就太少了,以至影響到LED的亮度。解決串行傳輸中列數(shù)據(jù)準(zhǔn)備和列數(shù)據(jù)顯示的時(shí)間矛盾問題,可以采用重疊處理的方法。即在顯示本行各列數(shù)據(jù)的同時(shí),傳送下
9、一行的列數(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ì)影響本行的顯示。第2章 系統(tǒng)總體方案與硬件設(shè)計(jì)2.1 AT89C51的原理與說明AT89C51是美國(guó)Intel公司生產(chǎn)的低電壓,高性能CHMOS8位單片機(jī),片含4k bytes的可反復(fù)擦寫的只讀程序存儲(chǔ)器(PEROM)和藹可親128 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),器件采用In
10、tel公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),片置通用4位中央處理器(CPU)和Flash存儲(chǔ)單元,功能強(qiáng)大AT89C51單片機(jī)適合于許多較為復(fù)雜控制應(yīng)用場(chǎng)合。AT89C51引腳圖2.2 顯示屏總體設(shè)計(jì)方案列驅(qū)動(dòng)器 單片機(jī) 行驅(qū)動(dòng)器LED顯示點(diǎn)陣2.3 列驅(qū)動(dòng)電路列驅(qū)動(dòng)電路有集成電路74HC595構(gòu)成。它具有一個(gè)8位串入并出的移位寄存器和一個(gè)8位輸出鎖存器的結(jié)構(gòu),而且移位寄存器和輸出鎖存器的控制是各自獨(dú)立的,可以實(shí)現(xiàn)在顯示本行列數(shù)據(jù)的同時(shí),傳送下一行的列數(shù)據(jù),既達(dá)到重疊處理的目的。74HC595的外形與部結(jié)構(gòu)如圖所示。它的輸入側(cè)有8個(gè)串行移位寄存器,每個(gè)移位寄存器的輸出都連接一個(gè)輸出鎖存器。引腳S
11、I是串行數(shù)據(jù)的輸入端。引腳SCK是移位寄存器的移位時(shí)鐘脈沖,在其上升沿發(fā)生移位,并將SI的下一個(gè)數(shù)據(jù)打入最低位。移位后的各位信號(hào)出現(xiàn)在各移位寄存器的輸出端,也就是輸出鎖存器的輸入端。RCK是輸出鎖存器的打入信號(hào),其上升沿將移位寄存器的輸出打入輸出鎖存器。引腳G是輸出三態(tài)門的開放信號(hào),只有當(dāng)其為低時(shí)鎖存器的輸出才開放,否則為高組態(tài)。SCLR信號(hào)是移位寄存器清零輸入端,當(dāng)其為低時(shí)移位寄存器的輸出全部為零。由于SCK和RCK兩個(gè)信號(hào)是互相獨(dú)立的,所以能夠做到輸入串行移位與輸出鎖存互不干擾。芯片的輸出端為QAQH,最高位QH可作為多片74HC595級(jí)聯(lián)應(yīng)用時(shí),向上一級(jí)的級(jí)聯(lián)輸出。但因?yàn)镼H受輸出鎖存器
12、的打入控制,所以還從輸出鎖存器前引出QH,作為與移位寄存器完全同步的級(jí)聯(lián)輸出。2.4 行驅(qū)動(dòng)器由于4點(diǎn)陣顯示器有16行,為充分利用單片機(jī)的接口,本電路中運(yùn)用了單片機(jī)AT89C51的P1口和P2口,其輸入是一個(gè)16進(jìn)制碼,解碼輸出為低態(tài)掃描信號(hào),單片機(jī)P1口和P2口輸出生產(chǎn)16條行選通訊信號(hào)線,再經(jīng)過驅(qū)動(dòng)器驅(qū)動(dòng)對(duì)應(yīng)的線。74LS241三態(tài)八緩沖器/線驅(qū)動(dòng)器/線接收器(3S,兩組控制)簡(jiǎn)要說明:241為三態(tài)輸出的八組緩沖器和總線驅(qū)動(dòng)器,其主要電器特性的典型值如下(不同廠家具體值有差別):型號(hào)tPLHtphlPD54LS241/74LS24112ns12ns110mW引出端符號(hào):1A11A4,2A1
13、2A4輸入端/1G, /2G三態(tài)允許端(低電平有效)1Y11Y4,2Y12Y4輸出端邏輯圖:雙列直插封裝極限值:電源電壓 .7V輸入電壓.5.5V輸出高阻態(tài)時(shí)高電平電壓.5.5V工作環(huán)境溫度54XXX.-5512574XXX.070存儲(chǔ)溫度.-65150功能表:推薦工作條件:54LS244/74LS244單位最小額定最大電源電壓Vcc544.555.5V744.7555.25輸入高電平電ViH2V輸入低電平電ViL540.7V740.8輸出高電平電流IOH54-12mA74-15輸出低電平電流IOL5412mA7424動(dòng)態(tài)特性(TA=25)參 數(shù)測(cè) 試 條 件LS244單位最大tPLH輸出由低
14、到高傳輸延遲時(shí)間Vcc =5VCL=45pFRL=66718nstPHL輸出由高到低傳輸延遲時(shí)間18nstPZH輸出由高阻態(tài)到高允許時(shí)間23nstPZL輸出由高阻態(tài)到低允許時(shí)間30nstPHZ輸出由高到高阻態(tài)禁止時(shí)間Vcc=5V CL=5pFRL=90 18nstPLZ輸出由低到高阻態(tài)禁止時(shí)間25ns靜態(tài)特性(TA為工作環(huán)境溫度圍)參 數(shù)測(cè) 試 條 件1LS244單位最小最大VIK輸入嵌位電壓Vcc=最小,Iik=-18mA-1.5VVT滯后電壓Vcc最小0.2VVOH輸出高電平電壓Vcc最小,VIL最大,VIH=2V,IOH3mA2.4VVOL輸出低電平電壓Vcc=最小,VIL最大, IOL
15、=最大540.4V740.5II最大輸入電壓時(shí)輸出電流Vcc最大,VI=7V0.1mAIIH輸入高電平電流Vcc最大,VIH=2.7V20uAIIL輸入低電平電流1A,2AVcc最大,VIL=0.4V-0.2mAIOS輸出短路電流Vcc最大-40-225mAIOZH輸出高阻態(tài)時(shí)高電平電流Vcc最大,VIH=2VVIL=最大,VO=2.7V20uAIOZL輸出高阻態(tài)時(shí)低電平電流Vcc最大,VIH=2V,VIL最大,VO=0.4V-20uAIcc電源電流Vcc最大1Y,2Y均為高電平27mA1Y,2Y均為低電平461Y,2Y均為高阻態(tài)54測(cè)試條件中的“最小”和“最大”用推薦工作條件中的相應(yīng)值。第
16、3 章 系統(tǒng)硬件電路的設(shè)計(jì)硬件電路大致上可以分成單片機(jī)系統(tǒng)與外圍電路、列驅(qū)動(dòng)電路和行驅(qū)動(dòng)電路三部分。3.1AT89C51單片機(jī)AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器,(FPEROMFalsh Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS8位微處理器。(1)AT89C51引腳圖如圖所: AT89C51單片機(jī)引腳圖(2)AT89C51單片機(jī)P口的特點(diǎn):P0口:P0口為一個(gè)8位漏級(jí)開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)
17、據(jù)/地址的第八位。在FIASH編程時(shí),P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。P1口:P1口是一個(gè)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。 P2口:P2口為一個(gè)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門電流,當(dāng)P2口被寫“1”時(shí),其管腳被部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出
18、電流。這是由于部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),P2口輸出其特殊功能寄存器的容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。 P3口:P3口管腳是8個(gè)帶部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門電流。當(dāng)P3口寫入“1”后,它們被部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。3.2單片機(jī)系統(tǒng)與外圍電路單片機(jī)采用89C51或其兼容系列的芯片,采用24M或
19、更高頻率的晶振,以獲得較高的刷新頻率,使顯示更穩(wěn)定。單片機(jī)的串口與列驅(qū)動(dòng)器相連,用來送顯示數(shù)據(jù)。P1口與P2口為行驅(qū)動(dòng)器,送出行信號(hào);P3.5P3.7口則用來發(fā)送控制信號(hào)。P0口空著,在有必要時(shí)可以擴(kuò)展系統(tǒng)的ROM和RAM。16×16點(diǎn)陣顯示屏的硬件原理圖如圖3-1圖3-1 16×16點(diǎn)陣顯示屏硬件原理圖3.3列驅(qū)動(dòng)電路列驅(qū)動(dòng)電路由集成電路74HC595構(gòu)成,它具有一個(gè)8位串入并出的移位寄存器和一個(gè)8位輸出鎖存器的結(jié)構(gòu),而且移位寄存器和輸出鎖存器的控制是各自獨(dú)立的,可以實(shí)現(xiàn)在顯示本行各列數(shù)據(jù)的同時(shí),傳送下一行的列數(shù)據(jù),即達(dá)到重疊處理的目的。74HC595的外形與部結(jié)構(gòu)如圖7
20、.3所示。它的輸入側(cè)有8個(gè)串行移位寄存器,每個(gè)移位寄存器的輸出都連接一個(gè)輸出鎖存器。引腳SI是串行數(shù)據(jù)的輸入端。引腳SCK是移位寄存器的移位時(shí)鐘脈沖,在其上升沿發(fā)生移位,并將SI的下一個(gè)數(shù)據(jù)打入最低位。移位后的各位信號(hào)出現(xiàn)在各移位寄存器的輸出端,也就是輸出鎖存器的輸入端。RCK是輸出鎖存器的打入信號(hào),其上升沿將移位寄存器的輸出打入到輸出鎖存器。引腳G是輸出三態(tài)門的開放信號(hào),只有當(dāng)其為低時(shí)鎖存器的輸出才開放,否則為高阻態(tài)。SCLR信號(hào)是移位寄存器的清零輸入端,當(dāng)其為低時(shí)移位寄存器的輸出全部為零。由于SCK和RCK兩個(gè)信號(hào)是互相獨(dú)立的,所以能夠做到輸入串行移位與輸出鎖存互不干擾。芯片的輸出端為QA
21、QH,最高位QH可作為多片74HC595級(jí)聯(lián)應(yīng)用時(shí),向上一級(jí)的級(jí)聯(lián)輸出。但因QH受輸出鎖存器打入控制,所以還從輸出鎖存器前引出了QH,作為與移位寄存器完全同步的級(jí)聯(lián)輸出。圖3-274HC595外形與部邏輯結(jié)構(gòu)圖3.4行驅(qū)動(dòng)電路單片機(jī)P1口與P2口為行驅(qū)動(dòng)器,送出行信號(hào);P3.5P3.7口則用來發(fā)送控制信號(hào)。74LS154譯碼后生成16條行選通信號(hào)線,一條行線上要帶動(dòng)16列的LED進(jìn)行顯示。第 4 章 系統(tǒng)程序的設(shè)計(jì)顯示屏軟件的主要功能是向屏體提供顯示數(shù)據(jù),并產(chǎn)生各種控制信號(hào),使屏幕按設(shè)計(jì)的要求顯示。根據(jù)軟件分層次設(shè)計(jì)的原理,我們可把顯示屏的軟件系統(tǒng)分成兩大層:第一層是底層的顯示驅(qū)動(dòng)程序,第二層
22、是上層的系統(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)。從有利于實(shí)現(xiàn)較復(fù)雜的算法(顯示效果處理)和有利于程序結(jié)構(gòu)化考慮,顯示屏程序適宜采用C語(yǔ)言編寫。4.1顯示驅(qū)動(dòng)程序顯示驅(qū)動(dòng)程序在進(jìn)入中斷后首先要對(duì)定時(shí)器T0重新賦初值以保證顯示屏刷新率的穩(wěn)定,1/16掃描的顯示屏的刷新率(幀頻)的計(jì)算公式如下:其中fosc為晶振頻率,t0為定時(shí)器T0初值(工作在16位定時(shí)器模式)。然后顯示驅(qū)動(dòng)程序查詢當(dāng)前燃亮的行號(hào),從顯示緩
23、存區(qū)讀取下一行的顯示數(shù)據(jù),并通過串口發(fā)送給移位寄存器。為消除在切換行顯示數(shù)據(jù)的時(shí)候產(chǎn)生拖尾現(xiàn)象,驅(qū)動(dòng)程序先要關(guān)閉顯示屏,即消隱,等顯示數(shù)據(jù)打入輸出鎖存器并鎖存,然后再輸出新的行號(hào),重新打開顯示。圖4-1為顯示驅(qū)動(dòng)程序(顯示屏掃描函數(shù))流程圖。系統(tǒng)初始化“滾動(dòng)出”顯示效果“加速”顯示效果“減速”顯示效果“默認(rèn)”顯示效果開始圖4-2系統(tǒng)主程序流程圖定時(shí)器賦初值讀取行號(hào)并增1送新行顯示數(shù)據(jù)消隱切換顯示數(shù)據(jù)送新行號(hào)、打開顯示進(jìn)入中斷退出中斷圖4-1顯示驅(qū)動(dòng)程序流程圖4.2系統(tǒng)主程序系統(tǒng)主程序開始以后首先是對(duì)系統(tǒng)環(huán)境初始化,包括設(shè)置串口、定時(shí)器、中斷和端口。然后以“滾動(dòng)出”效果顯示一個(gè)字,停留約3秒,接
24、著向左滾動(dòng)顯示“十六乘十六點(diǎn)陣可調(diào)速顯示屏設(shè)計(jì)”十五個(gè)漢字,停留約3秒,再向左滾動(dòng)顯示“十六乘十六點(diǎn)陣可調(diào)速顯示屏設(shè)計(jì)”這十五個(gè)漢字,循環(huán)重復(fù),由于單片機(jī)沒有停機(jī)指令,所以我們可以設(shè)置系統(tǒng)程序不斷地循環(huán)執(zhí)行上述顯示效果。圖4-2是系統(tǒng)主程序的流程圖。4.3單片機(jī)匯編程序#include <reg51.h>sbit SET=P35;sbit ADD=P36;sbit SUB=P37;sbit LOCK=P32;sbit DAT=P30;sbit CLK=P31;unsigned chart,cnt2,line,*p,*old,shift,t4;char speed,i;bit sec
25、,key_mark;unsigned char code Matrix00132=/*-轉(zhuǎn)換字符 十 -*/0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0xFF,0xFE,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,;unsigned char code Matrix00232=/*-轉(zhuǎn)換字符 六 -*/0x02,0x00,0x01,0x00,0x00,0x80,0x00,0x80,0
26、x00,0x00,0xFF,0xFE,0x00,0x00,0x00,0x00,0x04,0x40,0x04,0x20,0x08,0x10,0x08,0x08,0x10,0x08,0x20,0x04,0x40,0x04,0x00,0x00,;unsigned char code Matrix00332=/*-轉(zhuǎn)換字符 乘 -*/0x00,0xF8,0x3F,0x00,0x01,0x00,0x7F,0xFC,0x01,0x00,0x09,0x24,0xF9,0x38,0x09,0x22,0x39,0x22,0xCB,0x9E,0x05,0x40,0x09,0x20,0x31,0x18,0xC1,0
27、x06,0x01,0x00,0x01,0x00,;unsigned char code Matrix00432=/*-轉(zhuǎn)換字符 十 -*/0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0xFF,0xFE,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00, ;unsigned char code Matrix00532=/*-轉(zhuǎn)換字符 六 -*/0x02,0x00,0x01,0x00,0x00,
28、0x80,0x00,0x80,0x00,0x00,0xFF,0xFE,0x00,0x00,0x00,0x00,0x04,0x40,0x04,0x20,0x08,0x10,0x08,0x08,0x10,0x08,0x20,0x04,0x40,0x04,0x00,0x00,;unsigned char code Matrix00632=/*-轉(zhuǎn)換字符 點(diǎn) -*/0x02,0x00,0x02,0x00,0x02,0x00,0x03,0xFC,0x02,0x00,0x02,0x00,0x3F,0xF0,0x20,0x10,0x20,0x10,0x20,0x10,0x3F,0xF0,0x00,0x00,
29、0x24,0x88,0x22,0x44,0x42,0x44,0x80,0x04,;unsigned char code Matrix00732=/*-轉(zhuǎn)換字符 陣 -*/0x00,0x40,0x7C,0x40,0x44,0x40,0x4B,0xFE,0x48,0x80,0x50,0xA0,0x49,0x20,0x49,0xFC,0x44,0x20,0x44,0x20,0x44,0x20,0x6B,0xFE,0x50,0x20,0x40,0x20,0x40,0x20,0x40,0x20,;unsigned char code Matrix00832=/*-轉(zhuǎn)換字符 可 -*/0x00,0x00,
30、0x7F,0xFE,0x00,0x10,0x00,0x10,0x1F,0x10,0x11,0x10,0x11,0x10,0x11,0x10,0x11,0x10,0x11,0x10,0x1F,0x10,0x11,0x10,0x00,0x10,0x00,0x10,0x00,0x50,0x00,0x20,;unsigned char code Matrix00932=/*-轉(zhuǎn)換字符 調(diào) -*/0x00,0x00,0x47,0xFC,0x24,0x44,0x24,0x44,0x05,0xF4,0x04,0x44,0xE4,0x44,0x27,0xFC,0x24,0x04,0x25,0xF4,0x25,
31、0x14,0x2D,0x14,0x35,0xF4,0x24,0x04,0x04,0x14,0x08,0x08,;unsigned char code Matrix01032=/*-轉(zhuǎn)換字符 速 -*/0x00,0x40,0x20,0x40,0x17,0xFC,0x10,0x40,0x03,0xF8,0x02,0x48,0xF2,0x48,0x13,0xF8,0x10,0xE0,0x11,0x50,0x12,0x48,0x14,0x44,0x10,0x40,0x28,0x00,0x47,0xFE,0x00,0x00,;unsigned char code Matrix01132=/*-轉(zhuǎn)換字符
32、顯 -*/0x00,0x00,0x1F,0xF0,0x10,0x10,0x10,0x10,0x1F,0xF0,0x10,0x10,0x10,0x10,0x1F,0xF0,0x04,0x40,0x44,0x44,0x24,0x44,0x14,0x48,0x14,0x50,0x04,0x40,0xFF,0xFE,0x00,0x00,;unsigned char code Matrix01232=/*-轉(zhuǎn)換字符 示 -*/0x00,0x00,0x3F,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFE,0x01,0x00,0x01,0x00,
33、0x11,0x10,0x11,0x08,0x21,0x04,0x41,0x02,0x81,0x02,0x05,0x00,0x02,0x00,;unsigned char code Matrix01332=/*-轉(zhuǎn)換字符 屏 -*/0x00,0x00,0x3F,0xF8,0x20,0x08,0x20,0x08,0x3F,0xF8,0x24,0x10,0x22,0x20,0x2F,0xF8,0x22,0x20,0x22,0x20,0x3F,0xFC,0x22,0x20,0x42,0x20,0x44,0x20,0x84,0x20,0x08,0x20,;unsigned char code Matri
34、x01432=/*-轉(zhuǎn)換字符 設(shè) -*/0x00,0x00,0x21,0xF0,0x11,0x10,0x11,0x10,0x01,0x10,0x02,0x0E,0xF4,0x00,0x13,0xF8,0x11,0x08,0x11,0x10,0x10,0x90,0x14,0xA0,0x18,0x40,0x10,0xA0,0x03,0x18,0x0C,0x06,;unsigned char code Matrix01532=/*-轉(zhuǎn)換字符 計(jì) -*/0x00,0x40,0x20,0x40,0x10,0x40,0x10,0x40,0x00,0x40,0x00,0x40,0xF7,0xFE,0x10,
35、0x40,0x10,0x40,0x10,0x40,0x10,0x40,0x10,0x40,0x14,0x40,0x18,0x40,0x10,0x40,0x00,0x40,;unsigned char code Matrix01632=/*-轉(zhuǎn)換字符 代 -*/0x08,0x90,0x08,0x88,0x08,0x88,0x10,0x80,0x10,0xBE,0x37,0xC0,0x30,0x80,0x50,0x40,0x90,0x40,0x10,0x40,0x10,0x20,0x10,0x22,0x10,0x12,0x10,0x0A,0x10,0x06,0x10,0x02,;unsigned
36、char code Matrix10032=0;unsigned char code end;void SendData(unsigned char *q) unsigned char i,t; t=*q; for(i=0;i<16;i+) if(i=8) t=*(q+1); if(t&1) DAT=1; else DAT=0; CLK=0; CLK=1; t>>=1; LOCK=0; LOCK=1; void t0() interrupt 1 TH0=-50000>>8;TL0=-50000;if(+cnt2>speed) t2=0; sec=1;
37、 void t1() interrupt 3 TH1=-1000>>8;TL1=-1000;if(+cnt>=0) t=0; if(+line>15) line=0; P1=P2=0xff; t0=*(p+(line<<1);t1=*(p+1+(line<<1);t2=*(p+32+(line<<1);t3=*(p+33+(line<<1);if(shift<=7) t0=(t0<<shift)|(t1>>(8-shift); t1=(t1<<shift)|(t2>>(
38、8-shift);else t0=(t1<<(shift-8)|(t2>>(16-shift); t1=(t2<<(shift-8)|(t3>>(16-shift); SendData(t); if(line<8) P1=(1<<line); else P2=(1<<(line-8); void delay() unsigned char i,j;for(i=0;i<4;i+) for(j=0;j<100;j+) ;void key() if(!SET) p=Matrix001; shift=0; els
39、e if(!ADD) speed+=4; else if(!SUB) speed-=4; if(speed<=1) speed=1; void init_t0() TH0=-50000>>8;TL0=-50000;TMOD|=0X01;IE|=0X82;void init_t1() TH1=-1000>>8;TL1=-1000;TMOD|=0X10;IE|=0X88;void delay500ms() char n;IE=0X88; /DISABLE T0 INTERRUPT for(n=0;n<10;n+) TH0=-50000>>8; TL0=-50000; while(!TF0); TF0=0; IE=0X8A;main()p=Matrix001;i
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 陜西省商洛市商南縣2024-2025學(xué)年八年級(jí)上學(xué)期期末生物學(xué)試題(含答案)
- 湖南省邵陽(yáng)市新邵縣第二中學(xué)2024-2025學(xué)年高三下學(xué)期2月開學(xué)考試生物學(xué)試題(含答案)
- 小學(xué)生作文素材故事解讀
- 風(fēng)險(xiǎn)評(píng)估與應(yīng)對(duì)策略分析表
- 蓋板制作工程 現(xiàn)場(chǎng)質(zhì)量檢驗(yàn)報(bào)告單
- 基于人工智能的智能交通管理系統(tǒng)預(yù)案
- 餐飲行業(yè)廚師勞動(dòng)合同
- 年度辦公室工作任務(wù)安排表
- 如何理解和運(yùn)用動(dòng)詞:七年級(jí)英語(yǔ)語(yǔ)法專題
- 初中語(yǔ)法銜接教學(xué)方案:go與going的區(qū)別
- 《新能源汽車動(dòng)力電池技術(shù)》課件
- (已壓縮)礦產(chǎn)資源儲(chǔ)量技術(shù)標(biāo)準(zhǔn)解讀300問-1-90
- 醫(yī)院培訓(xùn)課件:《靜脈中等長(zhǎng)度導(dǎo)管臨床應(yīng)用專家共識(shí)》
- 2023江蘇護(hù)理職業(yè)學(xué)院高職單招語(yǔ)文/數(shù)學(xué)/英語(yǔ)筆試參考題庫(kù)含答案解析
- GB/T 14706-1993校對(duì)符號(hào)及其用法
- 高二數(shù)學(xué)平面向量的基本定理
- 高中美術(shù)-美術(shù)鑒賞《審美自律》
- 強(qiáng)讀和弱讀-(課堂)課件
- 裕興新概念英語(yǔ)第二冊(cè)筆記第42課
- 管理高爾夫?qū)崙?zhàn)訓(xùn)練課程課件
- 2022年義務(wù)教育語(yǔ)文課程標(biāo)準(zhǔn)(2022版)解讀【新課標(biāo)背景下的初中名著閱讀教學(xué)質(zhì)量提升思考】
評(píng)論
0/150
提交評(píng)論