




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、目 錄 引言11 設(shè)計(jì)思想11.1 設(shè)計(jì)要求11.2 設(shè)計(jì)方案21.3 系統(tǒng)方框圖22 設(shè)計(jì)原理32.1 16*64點(diǎn)陣LED原理及應(yīng)用32.2 LED 點(diǎn)陣的顯示文字圖形原理33 主要硬件組成63.1 主控芯片LPC21326的簡(jiǎn)介6的主要特性6結(jié)構(gòu)概述73.2 行掃描驅(qū)動(dòng)電路83.3 列驅(qū)動(dòng)電路93.4 雙向八位數(shù)據(jù)緩沖器74LS245104 系統(tǒng)軟件設(shè)計(jì)114.1 設(shè)計(jì)的基本原則11控制系統(tǒng)設(shè)計(jì)的基本原則11控制系統(tǒng)設(shè)計(jì)應(yīng)用的軟件11控制系統(tǒng)設(shè)計(jì)的一般步驟124.2 顯示驅(qū)動(dòng)系統(tǒng)124.3 總程序設(shè)計(jì)流程圖134.4 綜合調(diào)試135 總結(jié)13謝 辭15參考文獻(xiàn)16附 錄17引言LED電子
2、顯示屏是利用發(fā)光二極管點(diǎn)陣模塊或像素單元組成的平面式顯示屏幕。它是集微電子技術(shù)、光電子技術(shù)、計(jì)算機(jī)技術(shù)、信息處理技術(shù)于一體的顯示系統(tǒng),是目前國(guó)際上 極為先進(jìn)的顯示媒體。由于它具有發(fā)光效率高、使用壽命長(zhǎng)、組態(tài)靈活、色彩豐富、工作性能穩(wěn)定以及對(duì)室內(nèi)室外環(huán)境適應(yīng)能力強(qiáng)等優(yōu)點(diǎn)而日漸成為顯示媒體中的佼 佼者。在我國(guó)改革開放之后,特別是進(jìn)入90年代國(guó)民經(jīng)濟(jì)高速增長(zhǎng),對(duì)公眾場(chǎng)合發(fā)布信息的需求日益強(qiáng)烈,LED顯示屏的出現(xiàn)正好適應(yīng)了這一市場(chǎng)形勢(shì),因而在LED顯示屏的設(shè)計(jì)制造技術(shù)與應(yīng)用水平上都得到了迅速的提高,生產(chǎn)也得到了迅速的發(fā)展,并逐步形成產(chǎn)業(yè),成為光電子行業(yè)的新興產(chǎn)業(yè)領(lǐng)域。LED顯示屏經(jīng)歷了從單色、雙色圖文
3、顯示屏,到圖像顯示屏的發(fā)展過程。隨著信息產(chǎn)業(yè)的高速發(fā)展,LED顯示屏作為信息傳播的一種重要手段成為現(xiàn)代信息化社會(huì)的一個(gè)閃亮標(biāo)志。近年LED顯示屏已廣泛應(yīng)用于室內(nèi)、外需要進(jìn)行服務(wù)內(nèi)容和服務(wù)宗旨宣傳的公眾場(chǎng)所如銀行、營(yíng)業(yè)部、車站、機(jī)場(chǎng)、港口、體育場(chǎng)館等信息的發(fā)布,政府機(jī)關(guān)政策、政令,各類市場(chǎng)行情信息的發(fā)部和宣傳等。目前,對(duì)于那些需要顯示的信息量不是很大,分辨率不是很高,又需要制造成本相對(duì)比較低的場(chǎng)合,使用大、小屏幕LED點(diǎn)陣顯示器是比較經(jīng)濟(jì)適用的,它可以用單片機(jī)控制實(shí)現(xiàn)顯示字符、數(shù)字、漢字和簡(jiǎn)單圖形,可以根據(jù)需要使用不同字號(hào)、字型。LED之所以受到廣泛重視而得到迅速發(fā)展,是與它本身所具有的優(yōu)點(diǎn)分不
4、開的。這些優(yōu)點(diǎn)概括起來是:亮度高、工作電壓低、功耗小、小型化、壽命長(zhǎng)、耐沖擊和性能穩(wěn)定。LED的發(fā)展前景極為廣闊,目前正朝著更高亮度、更高耐氣候性、更高的發(fā)光密度、更高的發(fā)光均勻性,可靠性、全色化方向發(fā)展。1 設(shè)計(jì)思想1.1 設(shè)計(jì)要求(1) 點(diǎn)陣規(guī)格8*8(2) 顯示數(shù)字、字母(3) 實(shí)現(xiàn)水平、垂直移動(dòng)發(fā)揮部分:(1) 實(shí)現(xiàn)16*64顯示(2) 具有閃爍功能1.2 設(shè)計(jì)方案方案一 串行方式顯示。這種方式可同時(shí)顯示4個(gè)16×l6點(diǎn)陣漢字或8個(gè)16×8點(diǎn)陣的漢字、字符或數(shù)字。點(diǎn)陣顯示屏每個(gè)單元由16個(gè)8×8點(diǎn)陣LED顯示模塊、行信號(hào)選擇譯碼器74HC138、驅(qū)動(dòng)器74
5、HC245、數(shù)據(jù)移位寄存器74HC595和行驅(qū)動(dòng)器組成,如圖1所示。單元顯示屏可以接收控制器(主控制電路板)或上一級(jí)顯示單元模塊傳輸下來的數(shù)據(jù)信息和命令信息,并可將這些數(shù)據(jù)信息和命令信息不經(jīng)任何變化地再傳送到下一級(jí)顯示模塊單元中,因此顯示屏可擴(kuò)展至更多的顯示單元,用于顯示更多的內(nèi)容。方案二 并行方式顯示??梢酝ㄟ^鎖存器芯片來擴(kuò)展IO口,達(dá)到控制LED點(diǎn)陣的64個(gè)列線的目的。方案中運(yùn)用16片鎖存器74HC573來組成8組雙緩沖寄存器,驅(qū)動(dòng)LED點(diǎn)陣的8組列線,用4/16譯碼器74HC595對(duì)LED點(diǎn)陣的16行進(jìn)行掃描。在送每一行的數(shù)據(jù)到LED點(diǎn)陣前,先把數(shù)據(jù)分別送到第一級(jí)的8個(gè)74HC573,然
6、后再給第二級(jí)的8個(gè)74HC573送鎖脈沖,數(shù)據(jù)一起輸出到LED點(diǎn)陣列中,這樣就避免了各行數(shù)據(jù)顯示不同步問題。由于并行數(shù)據(jù)傳輸速度比串行快,所以字符閃爍的問題得到較好地解決,文字左右移動(dòng)也比較容易控制。經(jīng)過對(duì)兩種方案進(jìn)行比較,最終選擇了方案一。此方案為點(diǎn)陣顯示屏系統(tǒng)中比較常用的,所用器件也比較常用,容易買到。1.3 系統(tǒng)方框圖該課題的總系統(tǒng)方框圖如圖1.1所示:行驅(qū)動(dòng)LED點(diǎn)陣顯示列驅(qū)動(dòng)主 控 模 板鍵盤電源圖1.1 系統(tǒng)方框圖2 設(shè)計(jì)原理2.1 16*64點(diǎn)陣LED原理及應(yīng)用 設(shè)計(jì)時(shí)必須掌握點(diǎn)陣工作原理方能進(jìn)行更深層設(shè)計(jì)。16x64LED點(diǎn)陣其實(shí)就是16塊8*8點(diǎn)陣LED級(jí)聯(lián)而成的,因此特給出
7、8*8點(diǎn)陣LED的工作原理。圖2.1為8*8點(diǎn)陣LED外觀及引腳圖,其等效電路如圖2.2所示,只要其對(duì)應(yīng)的X、Y軸順向偏壓,即可使LED發(fā)亮。例如如果想使左上角LED點(diǎn)亮,則Y0=1,X0=0即可。應(yīng)用時(shí)限流電阻可以放在X軸或Y軸。而16x64就是在8x8原理的基礎(chǔ)上將16塊8x8級(jí)聯(lián)而成。圖2.1 8×8點(diǎn)陣LED外觀及引腳圖圖2.2 8×8點(diǎn)陣LED等效電路2.2 LED 點(diǎn)陣的顯示文字圖形原理漢字顯示屏用于顯示漢字、字符及圖像信息,在公共汽車、銀行、醫(yī)院及戶外廣告等地方都有廣泛的應(yīng)用。下面是簡(jiǎn)單的漢字顯示屏的制作,由單片機(jī)控制漢字的顯示內(nèi)容。為了降低成本,使用了四塊8
8、×8的LED點(diǎn)陣發(fā)光管的模塊,組成了一個(gè)16×64的LED點(diǎn)陣顯示屏。在這里僅做了8個(gè)漢字的顯示,在實(shí)際的使用中可以根據(jù)這個(gè)原理自行的擴(kuò)展顯示的漢字,下面是介紹漢字顯示的原理。 LED驅(qū)動(dòng)顯示采用動(dòng)態(tài)掃描方法,動(dòng)態(tài)掃描方式是逐行輪流點(diǎn)亮,這樣掃描驅(qū)動(dòng)電路就可以實(shí)現(xiàn)多行的同名列共用一套列驅(qū)動(dòng)器。以16×64點(diǎn)陣為例,把所有同一行的發(fā)光管的陰極連在一起,把所有同一列的發(fā)光管的陽(yáng)極連在一起(共陰的接法),先送出對(duì)應(yīng)第1列發(fā)光管亮滅的數(shù)據(jù)并鎖存,然后選通第1列使其燃亮一定的時(shí)間,然后熄滅;再送出第2列的數(shù)據(jù)并鎖存,然后選通第2列使其燃亮相同的時(shí)間,然后熄滅;.第64列之后
9、,又重新燃亮第1列,反復(fù)輪回。當(dāng)這樣輪回的速度足夠快(每秒24次以上),由于人眼的視覺暫留現(xiàn)象,就能看到顯示屏上穩(wěn)定的圖形。該方法能驅(qū)動(dòng)較多的LED,控制方式較靈活,而且節(jié)省單片機(jī)的資源。顯示數(shù)據(jù)可通過ARM7的P0和P1口接驅(qū)動(dòng)電路傳輸?shù)近c(diǎn)陣行引腳。LED點(diǎn)陣顯示模塊進(jìn)行的方法有兩種:(1)水平方向(X方向)掃描,即逐列掃描的方式(簡(jiǎn)稱列掃描方式):此時(shí)用一個(gè)P口輸出列碼決定哪一列能亮(相當(dāng)于位碼),用另一個(gè)P口輸出行碼(列數(shù)據(jù)),決定該列上哪個(gè)LED亮(相當(dāng)于段碼)。能亮的列從左到右掃描完64列(相當(dāng)于位碼循環(huán)移動(dòng)64次)即顯示出一個(gè)完整的圖像。(2)豎直方向(Y方向)掃描,即逐行掃描方式
10、(簡(jiǎn)稱行掃描方式):此時(shí)用一個(gè)P口輸出決定哪一行能亮(相當(dāng)于位碼),另一個(gè)P口輸出列碼(行數(shù)據(jù),行數(shù)據(jù)為將列數(shù)據(jù)的點(diǎn)陣旋轉(zhuǎn)90度的數(shù)據(jù))決定該行上哪些LED燈亮(相當(dāng)于段碼)。能亮的行從上向下掃描完16行(相當(dāng)于位碼循環(huán)移位16次)即顯示一幀完整的圖像。本設(shè)計(jì)應(yīng)用的是第一種的掃描方法,即水平方向(X方向)掃描。每一個(gè)字由16行64列的點(diǎn)陣形成顯示,即每個(gè)字均由256個(gè)點(diǎn)陣來表示,我們可以把每一個(gè)點(diǎn)理解為一個(gè)像素。一般我們使用的16×16的點(diǎn)陣宋體字庫(kù),即所謂的16×16,是每一個(gè)漢字在縱橫各16點(diǎn)的區(qū)域內(nèi)顯示的。漢字庫(kù)從該位置起的32字節(jié)信息記錄了該字的字模信息。事實(shí)上這個(gè)
11、漢字屏不僅可以顯示漢字,也可以顯示在256像素范圍內(nèi)的任何圖形。 2.3 點(diǎn)陣的移動(dòng)以下以16×64點(diǎn)陣為例介紹點(diǎn)陣的移動(dòng)。要顯示一個(gè)字符,該字符的點(diǎn)陣數(shù)據(jù)可以列向(縱向)64點(diǎn)組字,又可以行向(橫向)16點(diǎn)組字。無論哪一種組字方法,都既可以顯示字符的水平方向的移動(dòng),又可以顯示豎直方向的移動(dòng)。本設(shè)計(jì)主要采用漢字的左移,所以以下只作左移顯示的解釋。顯示字符的左右移動(dòng)(1) 列掃描方式左移動(dòng):列向組字顯示字符水平方向的移動(dòng)(左滾動(dòng))在這里有兩個(gè)方法:方法1:延長(zhǎng)數(shù)組法。將原來字符點(diǎn)陣數(shù)組的16個(gè)數(shù)據(jù)重復(fù)一遍延長(zhǎng),點(diǎn)陣數(shù)組的數(shù)據(jù)個(gè)數(shù)為32個(gè)。每掃描一幀取8個(gè)數(shù)據(jù)顯示,下一幀取數(shù)要在數(shù)組中后
12、移一個(gè)數(shù)取數(shù)。循環(huán)一遍掃16幀。可以假想有2塊16×16的點(diǎn)陣模塊(共32幀)水平平行排列,用一個(gè)恰好能罩住16列點(diǎn)陣的中空方框去罩這個(gè)點(diǎn)陣,第1(第1幀)罩住最左邊數(shù)起第一列開始的16列,就掃描顯示這16列;第2次(第2幀)使方框右移一列,罩住做左邊數(shù)起第2列開始的16列,就掃描顯示這16列;·····;這樣每掃描完一幀使方框右移一列,最后第16次(第16幀)時(shí),罩住左邊數(shù)起的第16列開始的16列,就掃描顯示這16列。如此完成16幀畫面的掃描顯示,也就完成了整個(gè)一次移動(dòng)循環(huán)掃描、之后反復(fù)循環(huán),即可呈現(xiàn)顯示字符沿水平向左移動(dòng)的圖像,如
13、圖2.3所示: 圖2.3方框圖法左右移動(dòng)示意圖因?yàn)槭橇邢蚪M字(列掃描方式,點(diǎn)陣數(shù)據(jù)為行碼,上邊為低位下面為高位),希望顯示移動(dòng)的一個(gè)字符,第1次掃描從行碼的點(diǎn)陣數(shù)組中取第116個(gè)數(shù)據(jù),送行碼輸出口,對(duì)應(yīng)于這8個(gè)數(shù)據(jù),同時(shí)用列碼輸出口輸出列碼,分別控制第116列。掃描完前16個(gè)數(shù)據(jù)之后,第2次掃描從點(diǎn)陣數(shù)組中取第318個(gè)數(shù)據(jù)(第18個(gè)數(shù)據(jù)與第1個(gè)數(shù)據(jù)同),送行碼輸出口,對(duì)應(yīng)于這16個(gè)數(shù)據(jù),同時(shí)用列碼輸出口輸出列碼,仍分別控制掃第116列。第3次掃描從點(diǎn)陣數(shù)組中取第520個(gè)數(shù)據(jù)(第20個(gè)數(shù)據(jù)碼與第2個(gè)數(shù)據(jù)碼相同)掃描······;如此實(shí)現(xiàn)
14、字符向左移動(dòng)。以上完成一個(gè)圖形移動(dòng)的方法,也可以看成是移動(dòng)16個(gè)不同的字形。如圖2.13所示,首先掃描第一個(gè)字型,同樣是16行,16次掃描,16次顯示;完成一個(gè)字型的掃描以后,再掃描第二個(gè)字型;完成第二個(gè)字型的掃描之后,再掃描第三個(gè)字型······依此類推,即可產(chǎn)生該文字的左移的感覺。假設(shè)如果原本某個(gè)漢字的字型(第一個(gè)字型),其編碼為:00H,10H,20H,30H,40H,50H,60H,70H,80H,90H,0A0H,0B0H,0C0H,0D0H0E0H,0F0H;第二個(gè)字型的編碼為:20H,30H,40H,50H,60H,70
15、H,80H,90H,0A0H,0B0H,0C0H,0D0H0E0H,0F0H, 00H,10H也就是把第一個(gè)字型的編碼中,第1列顯示數(shù)據(jù),變?yōu)榈?列顯示數(shù)據(jù);第2列顯示數(shù)據(jù),變成第3列顯示數(shù)據(jù);第3列顯示數(shù)據(jù),變成第4列顯示數(shù)據(jù);第4列顯示數(shù)據(jù),變成第5列顯示數(shù)據(jù)······以此類推。當(dāng)?shù)谝粋€(gè)字型掃描顯示完成之后,就進(jìn)行這樣的動(dòng)作調(diào)整,以產(chǎn)生第二個(gè)字型的編碼。同樣的,當(dāng)?shù)诙€(gè)字型掃描完成之后,就進(jìn)行這樣的調(diào)整動(dòng)作,以產(chǎn)生第三個(gè)字型的編碼。這個(gè)調(diào)整動(dòng)作時(shí)先將16個(gè)編碼根據(jù)序填入存儲(chǔ)器,例如第1行編碼存入20H,第二行編碼存入21H
16、83;·····要進(jìn)行左移調(diào)整時(shí),則先將20H地址的數(shù)據(jù)轉(zhuǎn)移到36H地址,再將21H地址的數(shù)據(jù)轉(zhuǎn)移到20H地址,將22H地址的數(shù)據(jù)轉(zhuǎn)移到21H地址,將23H地址的數(shù)據(jù)轉(zhuǎn)移到22H地址,將24H地址的數(shù)據(jù)轉(zhuǎn)移到23H地址,將25H地址的數(shù)據(jù)轉(zhuǎn)移到24H地址,將26 H地址的數(shù)據(jù)轉(zhuǎn)移到25H地址,將27H地址的數(shù)據(jù)轉(zhuǎn)移到26 H地址,將28H地址的數(shù)據(jù)轉(zhuǎn)移到27H地址······本設(shè)計(jì)主要采用以上方法實(shí)現(xiàn)左移,其他方法在此不再說明。3 主要硬件組成3.1 主控芯片LPC21323.1.1L
17、PC2132的簡(jiǎn)介L(zhǎng)PC2132是基于一個(gè)支持實(shí)時(shí)仿真和嵌入式跟蹤的32/16位ARM7TDMI-STM CPU 的微控制器,并帶有32kB、64kB、512kB的嵌入的高速Flash 存儲(chǔ)器。128 位寬度的存儲(chǔ)器接口和獨(dú)特的加速結(jié)構(gòu)使32位代碼能夠在最大時(shí)鐘速率下運(yùn)行。對(duì)代碼規(guī)模有嚴(yán)格控制的應(yīng)用可使用16位Thumb®模式將代碼規(guī)模降低超過30%,而性能的損失卻很小。較小的封裝和極低的功耗使 LPC2131/2132/2138可理想地用于小型系統(tǒng)中,如訪問控制和POS機(jī)。寬范圍的串行通信接口和片內(nèi)8/16/32kB 的SRAM 使LPC2132非常適用于通信網(wǎng)關(guān)、協(xié)議轉(zhuǎn)換器、軟m
18、odem、聲音辨別和低端成像,為它們提供巨大的緩沖區(qū)空間和強(qiáng)大的處理功能。多個(gè)32位定時(shí)器、1個(gè)或2個(gè)10位8路ADC、10 位DAC、PWM 通道和47個(gè)GPIO 以及多達(dá)9個(gè)邊沿或電平觸發(fā)的外部中斷使它們特別適用于工業(yè)控制和醫(yī)療系統(tǒng)。3.1.2LPC2132的主要特性(1) 16/32位ARM7TDMI-S,超小LQFP64。(2) 8/16/32KB的片內(nèi)靜態(tài)RAM和32/64/128/256/512KB的片內(nèi)Flash程序存儲(chǔ)器。128位寬度接口/加速器可實(shí)現(xiàn)高達(dá)60MHz的工作頻率。(3) 通過片內(nèi)boot裝載程序?qū)崿F(xiàn)在系統(tǒng)編程/在應(yīng)用編程(ISP/IAP)。單個(gè)Flash扇區(qū)或整片
19、擦除時(shí)間為400ms。256字節(jié)編程時(shí)間為1ms。(4) EmbeddedICERT和嵌入式跟蹤接口通過片內(nèi)RealMonitor軟件對(duì)代碼進(jìn)行實(shí)時(shí)調(diào)試和高速跟蹤。(5) 1個(gè)10位的D/A轉(zhuǎn)換器,可產(chǎn)生不同的模擬輸出。(6) 2個(gè)32位定時(shí)器/外部事件計(jì)數(shù)器和看門狗。(7) 低功耗實(shí)時(shí)時(shí)鐘具有獨(dú)立的電源和特定的32KHz時(shí)鐘輸入。(8) 多個(gè)串行接口,包括2個(gè)16C550工業(yè)標(biāo)準(zhǔn)UART、2個(gè)高速I2C總線張和具有緩沖作用和數(shù)據(jù)長(zhǎng)度可變功能的SSP。(9) 向量中斷控制器??膳渲脙?yōu)先級(jí)和向量地址。(10) 小型的LQFP64封裝上包含多達(dá)47個(gè)通用I/O口。(11) 多達(dá)9個(gè)邊沿或電平觸發(fā)的
20、外部中斷管腳。(12) 通過片內(nèi)PLL可實(shí)現(xiàn)最大為60MHz的CPU操作頻率。(13) 片內(nèi)集成振蕩器與外部晶體的操作頻率范圍為130MHz,與外部振蕩器的操作頻率范圍高達(dá)50MHz。(14) 低功耗模式:空閑和掉電。(15) 可通過個(gè)別使能/禁止外部功能和外圍時(shí)鐘分頻來優(yōu)化功耗。(16) 通過外部中斷或BOD將處理器從掉電模式中喚醒。(17) 單電源,具有上電復(fù)位和掉電檢測(cè)電路。(18) CPU操作電壓范圍:3.0V3.6V(3.3±10%),I/O口可承受5V的電壓。3.1.3結(jié)構(gòu)概述LPC2132包含一個(gè)支持仿真的ARM7TDMI-S CPU、與片內(nèi)存儲(chǔ)器控制器接口ARM7局部
21、總線、與中斷控制器接口的AMBA高性能總線(AHB)和連接片內(nèi)外設(shè)功能的VLSI外設(shè)總線(VPB,ARMAMBA總線的兼容超集)。LPC2132將ARM7TDMI-S配置為小端(little-endian)字節(jié)順序。AHB外設(shè)分配了2M字節(jié)的地址范圍,它位于4G字節(jié)ARM存儲(chǔ)器空間的最頂端。每個(gè)AHB外設(shè)都分配了16k字節(jié)的地址空間。LPC2132的外設(shè)功能(中斷控制器除外)都連接到VPB 總線。AHB到VPB的橋?qū)PB 總線與AHB總線相連。VPB外設(shè)也分配了2M字節(jié)的地址范圍,從3.5GB地址點(diǎn)開始。每個(gè)VPB外設(shè)在VPB地址空間內(nèi)都分配了16k字節(jié)地址空間。片內(nèi)外設(shè)與器件管腳的連接由管
22、腳連接模塊控制。該模塊必須由軟件進(jìn)行控制以符合外設(shè)功能與管腳在特定應(yīng)用中的需求。LPC2132的功能框圖如圖3.1所示:圖3.1 LPC2132的功能圖3.2 行掃描驅(qū)動(dòng)電路16*64LED點(diǎn)陣的行掃描是用兩片74HC138譯碼器級(jí)聯(lián)而成的4/16線譯碼器。LPC2132的P1口高5位輸出的信號(hào)經(jīng)4/16線譯碼器74HC138譯碼后生成16條行選通信號(hào)后,再經(jīng)過74HC04反向驅(qū)動(dòng)器驅(qū)動(dòng)對(duì)應(yīng)的行線。其基于74HC138的行驅(qū)動(dòng)仿真原理圖如圖3.2所示:圖3.2 基于74HC138的行驅(qū)動(dòng)3.3 列驅(qū)動(dòng)電路列驅(qū)動(dòng)采用集成芯片74HC595,利用列驅(qū)動(dòng)74HC595的鎖存功能,即在它接收下一行待顯
23、示的數(shù)據(jù),還沒有鎖存新數(shù)據(jù)的這段時(shí)間來顯示本行的內(nèi)容,這樣就可以不需要額外加延時(shí)來增加顯示屏的亮度。采用這個(gè)方法就不要再增加LED的列驅(qū)動(dòng)器件,可以使整個(gè)硬件結(jié)構(gòu)更簡(jiǎn)化,成本降低。列信號(hào)由8片8位帶鎖存的串入并出移位寄存器74HC595來完成。在同步移位時(shí)鐘的作用下,點(diǎn)陣數(shù)據(jù)逐位移動(dòng)輸入移位寄存器74HC595的對(duì)應(yīng)電陣位置,74HC595在接收到鎖存信號(hào)后,將數(shù)據(jù)并行輸出至LED的列線,最后在行驅(qū)動(dòng)信號(hào)作用下點(diǎn)亮LED。其列驅(qū)動(dòng)電路仿真圖和時(shí)序圖分別如圖3.3和圖3.4所示:圖3.3 列驅(qū)動(dòng)電路圖3.4 74HC595時(shí)序圖3.4 雙向八位數(shù)據(jù)緩沖器74LS245為了隔離外界的干擾信號(hào),使用
24、了74LS245八位數(shù)據(jù)緩沖器。因?yàn)槿魏螘r(shí)候74HC595里面的數(shù)據(jù)是不確定的,只有顯示屏稍有一點(diǎn)外界干擾,導(dǎo)致74HC138使能端E變低,74HC138就會(huì)有信號(hào)輸出(通過他的真值表可以看到全0全1都有一行是被選中輸出低電位的),這樣顯示屏就會(huì)顯示一些不確定的圖案,就不符合我們所要設(shè)計(jì)的要求。74LS245是一種常用的8位緩沖器,其接口電路如圖3.5所示:圖3.5 74LS245接口電路74LS245類似于ARM芯片的端口,其端口線能作輸入也能作輸出。由于ARM芯片數(shù)據(jù)/地址/控制總線端口有一定的負(fù)載能力,如果負(fù)載超過芯片負(fù)載能力一般應(yīng)加驅(qū)動(dòng)器,所以總線驅(qū)動(dòng)器可以使用TTL三態(tài)緩沖門電路。4
25、 系統(tǒng)軟件設(shè)計(jì)4.1 設(shè)計(jì)的基本原則顯示屏軟件的主要功能是向顯示屏提供顯示數(shù)據(jù),并產(chǎn)生各種控制信號(hào),使電子屏按設(shè)計(jì)的要求顯示。根據(jù)軟件分層次設(shè)計(jì)的原理,可把顯示屏的軟件系統(tǒng)分成兩大層:第一層是底層的顯示驅(qū)動(dòng)程序;第二層是上層的系統(tǒng)應(yīng)用程序。顯示驅(qū)動(dòng)程序負(fù)則向點(diǎn)陣屏傳送特定的顯示組合數(shù)據(jù),并負(fù)責(zé)產(chǎn)生行掃描信號(hào)和其他控制信號(hào),配合完成LED顯示屏的顯示工作。顯示驅(qū)動(dòng)由顯示子程序?qū)崿F(xiàn)。顯示效果處理工作則由主程序通過調(diào)用子程序來實(shí)現(xiàn)。4.1.1ARM控制系統(tǒng)設(shè)計(jì)的基本原則任何一種電氣系統(tǒng)都是為了實(shí)現(xiàn)被控對(duì)象的工藝要求,以提高生產(chǎn)效率和生產(chǎn)質(zhì)量。因此,在設(shè)計(jì)ARM控制系統(tǒng)時(shí),應(yīng)遵循以下基本原則:(1)
26、最大限度的滿足被控對(duì)象的控制對(duì)象。設(shè)計(jì)前,因深入現(xiàn)場(chǎng)進(jìn)行調(diào)查,收集資料。(2) 在滿足控制系統(tǒng)要求的前提下,力求使控制系統(tǒng)簡(jiǎn)單、經(jīng)濟(jì),使用及維修方便。(3) 保證控制系統(tǒng)的安全可靠。(4) 考慮工藝和改進(jìn)。4.1.2控制系統(tǒng)設(shè)計(jì)應(yīng)用的軟件 這次軟件設(shè)計(jì)使用的軟件是uVision3。uVision3集成開發(fā)環(huán)境(uVision3 IDE)是一個(gè)窗口化的軟件開發(fā)平臺(tái),它集成了功能強(qiáng)大的編輯器、工程管理器以及各種編譯工具(包括C編譯器、宏編譯器、鏈接/裝載器和十六進(jìn)制文件轉(zhuǎn)換器)。uVision3包括以下功能組件,能加速嵌入式應(yīng)用程序的開發(fā)過程:(1)功能強(qiáng)大的源代碼編輯器;(2)可根據(jù)開發(fā)工具配置
27、的設(shè)備數(shù)據(jù)庫(kù);(3)用于創(chuàng)建和維護(hù)工程的工程管理器;(4)集匯編、編譯和鏈接過程于一體的編譯工具;(5)用于設(shè)置開發(fā)工具配置的對(duì)話框;(6)真正集成高速CPU及片上外設(shè)模擬器的源碼級(jí)調(diào)試器;(7)高級(jí)GDI接口;可用于目標(biāo)硬件的軟件調(diào)試和KEIL ULINK仿真器的連接;(8)用于下載應(yīng)用程序到FLASH ROM中的FLASH編程器;(9)完善的開發(fā)工具手冊(cè)、設(shè)備數(shù)據(jù)手冊(cè)和用戶向?qū)?。uVision3 IDE使用簡(jiǎn)單、功能強(qiáng)大,是設(shè)計(jì)者完成設(shè)計(jì)任務(wù)的重要保證。uVision3 IDE還提供了大量的例程及相關(guān)信息,有助于開發(fā)人員快速開發(fā)嵌入式應(yīng)用程序。uVision3 IDE提供了BUILD MO
28、DE(編譯)和DEBUG MODE(調(diào)試)兩種工作方式。編譯模式BUILD MODE用于維護(hù)工程文件和生成應(yīng)用程序;而在調(diào)試模式DEBUG MODE下,既可以用功能強(qiáng)大的CPU和外設(shè)仿真器測(cè)試程序,也可以使用調(diào)試器經(jīng)KEIL ULINK USB-JTAG適配器(或其他AGDI驅(qū)動(dòng)器)連接目標(biāo)系統(tǒng)測(cè)試程序。ULINK仿真器能用于系在應(yīng)用程序到目標(biāo)系統(tǒng)的FLASH ROM中。4.1.3控制系統(tǒng)設(shè)計(jì)的一般步驟(1) 根據(jù)生產(chǎn)的工藝過程分析控制要求。(2) 根據(jù)控制要求確定所需的用戶輸入/輸出設(shè)備。(3) 選擇ARM系統(tǒng)。(4) 分配ARM的I/O口,設(shè)計(jì)I/O連接圖。(5) 進(jìn)行ARM的程序設(shè)計(jì)。4
29、.2 顯示驅(qū)動(dòng)系統(tǒng)顯示驅(qū)動(dòng)程序查詢當(dāng)前點(diǎn)亮的行號(hào),從顯示緩沖區(qū)內(nèi)讀取下一行的顯示數(shù)據(jù)。并通過串口發(fā)送給移位寄存器。為消除在切換行顯示數(shù)據(jù)時(shí)產(chǎn)生拖尾現(xiàn)象,驅(qū)動(dòng)程序先要關(guān)閉顯示屏即消影。等數(shù)據(jù)發(fā)送完畢后輸出74HC595的鎖存信號(hào),將顯示數(shù)據(jù)傳入鎖存器并鎖存,然后再輸出新的行號(hào),并打開顯示。顯示驅(qū)動(dòng)程序流程圖如圖4.1所示:將數(shù)據(jù)讀取到緩沖區(qū)將緩沖區(qū)數(shù)據(jù)調(diào)整后發(fā)送到串口發(fā)送完畢?N關(guān)閉138,所存595輸出行號(hào)及138使能返回Y圖4.1 顯示驅(qū)動(dòng)程序流程圖4.3 總程序設(shè)計(jì)流程圖 LED點(diǎn)陣的總設(shè)計(jì)流程圖如圖4.2所示程序初始化中斷程序初始化判斷左移或者閃爍是否顯示完YN傳入?yún)?shù)為移動(dòng)速度串口發(fā)送
30、顯示命令將顯示緩存送顯示屏顯示,掃描16行圖4.2 LED點(diǎn)陣的總設(shè)計(jì)流程圖4.4 綜合調(diào)試 我做的是LED點(diǎn)陣,點(diǎn)陣模塊是用以有的點(diǎn)陣屏,所以硬件電路比較簡(jiǎn)單只有一些接口電路和一塊245緩存器,在硬件調(diào)試方面比較順利。但在軟件編寫中就遇到了很多的問題,首先我是將點(diǎn)陣的每一行慢慢點(diǎn)亮,還算順利但到顯示字符時(shí)就出現(xiàn)了問題,將138的輸入信號(hào)定義錯(cuò)了,顯示屏上雖然有顯示可都是凌亂的亮點(diǎn),經(jīng)過一段時(shí)間的折騰才發(fā)現(xiàn)是行輸入有問題。接下來就是讓這些字符移動(dòng)了,但對(duì)移動(dòng)這個(gè)概念比較模糊都不知道怎么下手。經(jīng)過問之前做過點(diǎn)陣的同學(xué)才知道一動(dòng)是將第一行移了后將下一行填充上來,最后一行填充空字符讓屏幕滅掉。為了讓
31、其穩(wěn)定做了兩級(jí)緩沖:顯示緩存和處理緩存。顯示緩存負(fù)責(zé)顯示,處理緩沖處理要顯示的信號(hào)。在軟件調(diào)試中遇到了很多的問題得經(jīng)常請(qǐng)教同學(xué)和上網(wǎng)查資料最終才得以將要求實(shí)現(xiàn)了。5 總結(jié)這次嵌入式實(shí)訓(xùn)使我了解到嵌入式系統(tǒng)在我們生活中是多么地實(shí)用,它在人們?nèi)粘I钪兴鶓?yīng)用的范圍之廠以及數(shù)量是遠(yuǎn)超越了我們所用的電腦。試想,如果生活沒有應(yīng)用嵌入式,我們的生活將枯燥乏味,更沒有方便可言。因此,我覺得做此次嵌入式實(shí)訓(xùn)使我們收獲非常大。而且也讓我們對(duì)嵌入式不再陌生。雖然這次實(shí)訓(xùn)只是通過用軟件來仿真實(shí)現(xiàn)的,但它卻與實(shí)際沒有太大差別。只要在仿真中能實(shí)現(xiàn)設(shè)計(jì)要求的功能,用到實(shí)際中也一樣行得通。它不但為電子開發(fā)人員提供了一種能縮
32、短研發(fā)時(shí)間的方法,同時(shí)也為生產(chǎn)產(chǎn)家節(jié)約了成本。本系統(tǒng)設(shè)計(jì)是基于ARM嵌入式微處理器LPC2132作為核心部件,所設(shè)計(jì)的16*64點(diǎn)陣顯示屏作品的功能與實(shí)際生活中完全接軌,在實(shí)際生活中應(yīng)用非常廣泛,如:廣告牌、車站信息公布、公車報(bào)站等,它不但顯示清晰明了,而且可以隨時(shí)更改信息。對(duì)于要實(shí)現(xiàn)本設(shè)計(jì)要考慮的方面比較多,即對(duì)作品要實(shí)現(xiàn)的功能進(jìn)行分析,必須要考慮到使用什么器件,也要掌握所使用的元件所具有的功能,對(duì)這些器件的控制方式要熟練,這樣才能設(shè)計(jì)出一個(gè)性價(jià)比高的產(chǎn)品來。通過這次實(shí)訓(xùn)我掌握了ARM體系結(jié)構(gòu),ARM指令系統(tǒng),ARM指令尋址方式,了解了ARM程序計(jì)的基本流程,對(duì)以前所學(xué)到的知識(shí)進(jìn)一步的溫習(xí),
33、也掌握了74HC595和74HC138的時(shí)序電路、結(jié)構(gòu)和控制方式,也了解了LPC2132的工作原理以及與外接電路的設(shè)計(jì)思路。當(dāng)然,在實(shí)訓(xùn)過程中,我發(fā)現(xiàn)了自己的許多不足之處:在實(shí)際設(shè)計(jì)中需要注意很多的細(xì)節(jié), 以前在書本上學(xué)到的東西用到了事實(shí)踐中來,平時(shí)說理論時(shí)感覺蠻簡(jiǎn)單,但是具體到自己做出來的時(shí)候還是很有難度,只好在去翻書,再去查閱資料。包括程序設(shè)計(jì)和硬件設(shè)計(jì)都需要我們認(rèn)真嚴(yán)謹(jǐn),硬件電路雖然都是一些比較常見的電路,但設(shè)計(jì)時(shí)必須要周密的考慮好,將可能要用到的口留出來。我發(fā)現(xiàn)對(duì)此門課的理論知識(shí)特別缺乏,由此在編程方面非常吃力,經(jīng)常要問同學(xué)和老師才能把遇到的困難解決。因此也經(jīng)常與同學(xué)一起討論學(xué)習(xí),不斷
34、提高。最后就的體會(huì)就是自己不懂的東西太多,需要好好去學(xué)習(xí)!總之,在這次實(shí)訓(xùn)中我學(xué)到了很多的東西,為自己即將走上社會(huì)做了鋪墊。謝 辭感謝學(xué)院給我們提供了一個(gè)展現(xiàn)自己的舞臺(tái),給我們一次難得煅煉的機(jī)會(huì),使得我們的動(dòng)手能力和專業(yè)技能都有了很大的提高。在做作品的日子里得到了老師的悉心指導(dǎo),在此向我的指導(dǎo)教師致以誠(chéng)摯的謝意。感謝提供相關(guān)技術(shù)幫助的老師和同學(xué),你們的支持和鼓勵(lì)使我組對(duì)這次的作品完成有了信心和動(dòng)力,也給了我組很多無私的幫助和支持,我在此深表謝意。此外,感謝我們學(xué)院為我們提供這個(gè)機(jī)會(huì),讓我們能一起合作做電子制作的機(jī)會(huì),使我們的團(tuán)隊(duì)精神有了更好的提高;感謝老師們孜孜不倦的教導(dǎo)我們,才能讓我們更好的
35、理解我們這個(gè)專業(yè)的相關(guān)知識(shí)的應(yīng)用于聯(lián)系。參考文獻(xiàn)1 魏洪興 嵌入式系統(tǒng)設(shè)計(jì)與實(shí)例開發(fā)實(shí)驗(yàn)教材,北京:清華大學(xué)出版社,2005.92 周立功 ARM嵌入式系統(tǒng)基礎(chǔ)教程(第二版),北京:北京航空航天大學(xué)出版社,2008.93 范圣一 ARM原理與嵌入式系統(tǒng)實(shí)戰(zhàn), 北京:機(jī)械工業(yè)出版社,20074 胡偉 ARM嵌入式系統(tǒng)基礎(chǔ)與實(shí)踐, 北京:北京航空航天大學(xué)出版社,2007.35 吳學(xué)智 基于ARM的嵌入式系統(tǒng)設(shè)計(jì)與開發(fā), 北京:人民郵電出版社,20076 楊宗德 嵌入式ARM系統(tǒng)原理與實(shí)例開發(fā), 北京:北京大學(xué)出版社,20077 王宜懷,劉曉升 嵌入式技術(shù)基礎(chǔ)與實(shí)踐, 北京:清華大學(xué)出版社,2007
36、8 陳艷華,侯安華,劉盼盼 基于ARM的嵌入式系統(tǒng)開發(fā)與實(shí)例, 北京:人民郵電出版社,20089 劉嵐, 尹勇, 李京蔚 基于ARM的嵌入式系統(tǒng)開發(fā), 北京:電子工業(yè)出版社,200810 趙宏偉, 劉萍萍, 周國(guó)梁 ARM系統(tǒng)實(shí)踐教程, 長(zhǎng)春:吉林大學(xué)出版社,200811 Lei Luo embedded real-time operating system and application development, Beijing: Beijing Aerospace University Press, 2005附 錄(1) LED點(diǎn)陣主程序#include <LPC213X.H>
37、#include "display.h"#include "led.h"#define uint unsigned int #define uchar unsigned charuchar Serial_Int_temp5;uchar scan_mod;uchar Move_Effect=0; #define OUTPUT (1) int main(void) IO1DIR |=HC138_OE;IO1DIR |=LL1;IO1DIR |=LL2;IO1DIR |=LL3;IO1DIR |=LL4;IO1DIR |=R2;IO1DIR |=R1;IO1D
38、IR |=G1; IO1DIR |=G2;IO1DIR &=(1<<keyleft); IO1DIR &=(1<<keyup);IO1DIR &=(1<<keys);IO1SET |=G1;IO1SET |=G2;IO1SET |=R2;IO1SET |=(1<<keyup);IO1SET |=(1<<keys);IO1DIR |= STR_BIT;while(1) cldispb(); switch(Move_Effect) case 1: moveleft(20); flicker(20,1);break;
39、 case 2: moveup(100); flicker(20,1);break; default: moveleft(20);break; (2) 顯示部分主要函數(shù)#include "display.h"#include "code_area.h"#include "led.h"#define dispbuf_mul 16 /顯示屏行數(shù)#define plong 8 /屏寬為8*8=64uchar scan_temp;/顯示內(nèi)容標(biāo)志unsigned char disp_buf128; /顯示屏寬度的單倍顯示緩存void photo
40、_todisp(void); /圖片到緩存void letter_todisp(void); /字母到緩存void num_todisp(void); /數(shù)據(jù)到顯示緩存區(qū)void Showline(uchar line_num); /行掃void ddlay(uchar ms); /延時(shí)void display1p(void);/顯示函數(shù)void leftoned(void);/左移一點(diǎn)void moveup(unsigned char sspp);void up15line(void);void flicker(unsigned char sspeed,unsigned char stop)
41、;/閃爍顯示/*函數(shù)名稱:cldispb()傳入?yún)?shù):無函數(shù)功能:清顯示緩存區(qū)*/ void cldispb(void)/清顯示緩存區(qū)uchar *disbuff;uint i; disbuff=&disp_buf0;for(i=0;i<plong*dispbuf_mul;i+)*disbuff=0xff; /*函數(shù)名稱:flicker()傳入?yún)?shù):unsigned char sspeed, ttime 閃爍速度及持續(xù)時(shí)間函數(shù)功能:立即顯示*/ void flicker(unsigned char sspeed,unsigned char stop)/閃爍顯示 uint i,kk
42、,stopt,sped;uchar j;sped=sspeed*10; stopt=stop*10;for(i=0;i<sped;i+)display1p();cldispb();for(i=0;i<sped;i+)display1p(); Move_Effect=1;goto exit;if (IO1PIN & (1<<keyup)!=(1<<keyup) Move_Effect = 2;goto exit;if (IO1PIN & (1<<keys)!=(1<<keys) Move_Effect = 3;goto
43、exit; switch(scan_temp) case 'n': num_todisp(); break; default: dztodisp(); break; for(kk=0;kk<stopt;kk+)display1p(); if (IO1PIN & (1<<keyleft)!=(1<<keyleft) Move_Effect=1;goto exit;if (IO1PIN & (1<<keyup)!=(1<<keyup) Move_Effect = 2;goto exit; if (IO1PIN &
44、amp; (1<<keys)!=(1<<keys) Move_Effect = 3;goto exit;exit: cldispb();/*函數(shù)名稱:dztodisp()傳入?yún)?shù):函數(shù)功能:漢字?jǐn)?shù)據(jù)到顯示緩存區(qū)*/void dztodisp(void)/數(shù)據(jù)到顯示緩存區(qū) unsigned char i,k; unsigned char const *point; unsigned char *temp1,*disp_temp; point=&dotmatrix_chinese00; /漢字庫(kù)首地址 disp_temp=&disp_buf0; /取計(jì)算緩存
45、首地址 for(k=0;k<plong/2;k+) /4個(gè)字 point=&dotmatrix_chinesek0; /從ROM中的下一個(gè)漢字的首地址 for(i=0;i<16;i+) temp1=disp_temp+(plong*i); /對(duì)應(yīng)行地址=漢字?jǐn)?shù)*2(字節(jié)數(shù))*行號(hào)*temp1=*(point+i*2); /漢字對(duì)應(yīng)行的第二個(gè)字節(jié)temp1+; *temp1=*(point+i*2+1); /漢字對(duì)應(yīng)行的第一個(gè)字節(jié) disp_temp=disp_temp+2; /下一個(gè)漢字 void num_todisp(void)/數(shù)據(jù)到顯示緩存區(qū) unsigned cha
46、r i,k; unsigned char *temp1,*disp_temp; point=&num_dotmatrix00; /漢字庫(kù)首地址 disp_temp=&disp_buf0; /取計(jì)算緩存首地址 for(k=0;k<plong;k+) /4個(gè)字 point=&num_dotmatrixk0; /從ROM中的下一個(gè)漢字的首地址 for(i=0;i<16;i+) temp1=disp_temp+(plong*i); /對(duì)應(yīng)行地址=漢字?jǐn)?shù)*2(字節(jié)數(shù))*行號(hào)*temp1=*(point+i+1+1); /漢字對(duì)應(yīng)行的第二個(gè)字節(jié) disp_temp=disp_temp+1; /下一個(gè)數(shù)字 /*函數(shù)名稱:display1p()傳入?yún)?shù):uchar char_num 顯示屏寬度函數(shù)功能:掃描顯示屏*/void display1p(void) uchar temp,j,k,i,m; unsigned char *point,*point1; point = point1; for(j=0 ;j<16;j+) for(k=0;k<plong;k+) temp=*point; fo
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 敏捷開發(fā)概念與實(shí)踐試題及答案
- 考慮可訪問性的設(shè)計(jì)原則試題及答案
- 2025年敏捷開發(fā)實(shí)戰(zhàn)試題及答案
- 法學(xué)概論復(fù)習(xí)方法大公開試題及答案
- 2025年中國(guó)鋼結(jié)構(gòu)防火門市場(chǎng)調(diào)查研究報(bào)告
- 行政法學(xué)相關(guān)性試題及答案解答
- 2025年中國(guó)銅質(zhì)合頁(yè)市場(chǎng)調(diào)查研究報(bào)告
- 2025年中國(guó)鈣塊市場(chǎng)調(diào)查研究報(bào)告
- 筑安全考試試題及答案
- 波譜考試試題及答案
- 取水泵站施工方案
- 醫(yī)療糾紛應(yīng)急處置預(yù)案
- (新教材)細(xì)胞核是細(xì)胞生命活動(dòng)的控制中心(公開課)課件
- 教師職業(yè)道德與專業(yè)發(fā)展智慧樹知到課后章節(jié)答案2023年下山東師范大學(xué)
- 企業(yè)安全生產(chǎn)風(fēng)險(xiǎn)辨識(shí)評(píng)估管控指導(dǎo)手冊(cè)-危險(xiǎn)貨物儲(chǔ)罐倉(cāng)儲(chǔ)
- 監(jiān)控立桿基礎(chǔ)國(guó)家標(biāo)準(zhǔn)
- 大病歷體格檢查-系統(tǒng)回顧(精簡(jiǎn)版)
- 濟(jì)南出入境檢驗(yàn)檢疫局國(guó)際旅行衛(wèi)生保健中心
- 黑土地知識(shí)科學(xué)普及-黑土地保護(hù)法宣貫課件
- 毛尖茶葉批生產(chǎn)記錄匯總
- 維修電工求職簡(jiǎn)歷
評(píng)論
0/150
提交評(píng)論