1. 各位大俠,我現在正在做大四畢業設計,課題是 基於單片機的led彩色顯示屏,要求必須做出硬體!!
hi ,你好,我是04級電子信息畢業,我的畢業論文寫的是《LED顯示屏設計》,可能我們選到一個題目了,包括硬體電路、信號處理、匯編語言的代碼,呵呵
以下為目錄,可供參考,禁止抄襲,如果覺得好,給分,我發論文給你。
目錄已經發到你郵箱了
摘要: 本設計以89c51單片機為核心,採用點陣圖形顯示器顯示漢字,通過時序控制電路,控制信號電路,顯示驅動電路等完成顯示。
Abstract: This design take the 89c51 monolithic integrated circuit asa core, uses the lattice graph monitor demonstration Chinesecharacter, through the sequential control electric circuit, controlsthe signal circuit, demonstrated the actuation electric circuit and soon completes the demonstration.
關鍵字:列顯示驅動、時序控制電路、串列非同步通信方式、顯示驅動電路、控制信號電路
目 錄
緒 論……………………………………………………1
第1章 設計思想………………………………………2
第2章 設計方案………………………………………4
第3章 基本結構………………………………………5
第4章 硬體部分………………………………………9
4.1 微機硬體電路…………………………………9
4.1.1 顯示控制電路……………………………9
4.1.2 顯示驅動電路……………………………10
4.2 控制信號………………………………………12
4.2.1 與列顯示數據有關的信號……………13
4.2.2 行號鎖存器打入信號…………………13
4.2.3 區分上寫部分的控制信號……………13
4.2.4 清屏信號………………………………14
第5章 軟體部分………………………………………15
5.1 理論分析………………………………………15
5.2 程序設計………………………………………17
5.3 流程圖…………………………………………22
5.3. 1主程序流程圖…………………………22
5.3. 2 中斷服務程序流程圖…………………23
第6章 結論……………………………………………24
參考文獻…………………………………………………25
致謝………………………………………………………26
5.2程序設計
ORG 0000H
SJMP MAIN :跳轉到主程序MAIN
ORG 0023H
SIENTRY: AJMP1 SIS :串列通信中斷入口,跳轉到
:串列通信中斷服務程序SIS
MAIN: MOV SP,60 :設棧
MOV R0,80H :指向RAM區
MOV R1,00 :R0,R1:RAM指針
MOV DPTR,1000H :EPROM的數據首地址
:DPTR:EPROM指針
REPROM: MOV A,00
MOVC A,@A+DPTR :從EPROM1000H讀數據
INV DPTR :從EPRON讀200H個位元組
:數據到RAM
PUSH DPL :DPTR進棧
PUSH DPH
MOV DPH,R0 :DPTR換成RAM指針
MOV DPL,R1
MOVX @DPTR,A :數據送RAM
INC DPRT
MOV R0,DPH :存DPTR
MOV R1,DPL
POP DPH :彈出DPTR(EPROM地址)
POP DPL
MOV R2,DPH :R2:判是否到1200H
CJNE R2,12H,REPROM :未傳送完200H個位元組轉回
SINIT: MOV TMOD,21H :設T1方式2,T0方式1
MOV TH1,FAH :設T1定時6.51μs
SETB 8EH :置TCONBIT6,打開T1
MOV TH0,00 :置T0定時
MOV TL0,00
MOV R6,7EH
MOV R7,00H
MOV SCON,50H :設SCON為50H,方式1,REN=1
MOV PCON,00 :設PCIN為0
MOV 50H,82H
MOV 51H,00
SETB AFH :開中斷
SETB ACH :允許串列通信中斷
SETB 9CH :SCONBIT4,REN=1
NEXT CLRC
MOV A,R7 :R7初值為0
ADD A,00
MOV R7,A
MOV A,R6 :R6初值為7E
ADC A,02H
MOV A,51H :51初值為0
XRL A,R7 :A=R7?
JNZ DISP1 :不等,轉到DISP1
MOV A,50H :等,50初值為82H
XRL A,R6 :A=R6?
JNZ 04H :不等,轉到DISP1
MOV R6,#80H :等,R6=80H
MOV R7,00
DSP1: MOV R0,00
TM256 MOV R3,00
TM512 MOV R2,00
MOV DPH,R6 :80H
MOV DPL,R7 :00H
CONT2: MOV R1,00
CLR B4H :P3BIT4=T0,上下控制=0
DISPH: MOVX A@DPTR :讀入RAM
INC DPTR
INC R1 :R1:位元組計數
MOV P1,A :向P1輸出一個RAM位元組數據
CLR B3H :P3BRT3=INT1
SETB B3H :INT1是移位寄存器的打入脈沖
CLR B5H :P3BRT5=T1
SETB B5H
CLR B5H :T1一共輸出8個脈沖
SETB B5H :即移位8次
CLR B5H :T1是移位寄存器的移位脈沖
SETB B5H
CLR B5H
SETB B5H
CLR B5H
SETB B5H
CLR B5H
SETB B5H
CLR B5H
SETB B5H
CLR B5H
SETB B5H
CJNE R1,10H,DISPH :R1<>10H,轉到DISPH
:10H=16D,16*8=128
PUSH DPH :若R1=10H,則DPTR進棧
PUSH SPL
SETB B4H :P3BIT4=T0,上下控制=1
CLRC
MOV A,DPL
ADD A,P0H :跳過F0H個位元組
MOV DPL,A :原DPTR已為10H,10H+F0H指向
MOV A,DPH :256位元組之後
ADC A,00 : 即指向下一半
MOV DPH,A
DISPL: MOVX A,@DPTE
INC DPTR
INC R1
MOV P1,A
CLR B3H
SETB B3H
CLR B5H
SETB B5H
CLR B5H
SETB B5H
CLR B5H
SETB B5H
CLR B5H
SETB B5H
CLR B5H
SETB B5H
CLR B5H
SETB B5H
CLR B5H
SETB B5H
CLR B5H
SETB B5H
CJNE R1,20H,D4H :R1<>20H,轉到DISPL
CLR B2H :P3BIT2=INT0
SETB B2H
MOV P1,R2 :R2輸出到P1
MOV DPTR,0000
MOVX @DPTR,A :只是讓地址動作
INC R2
POP DPL
POP DPH
CINE R2,10H,CONT1 :R2<>10H轉到CONT1
INC R3 :R2=10H
CINE R3,FFH,TIM256 :R3<>FFH,轉到TIM256
INC R0 :R3=FFH
CINE R0,02H,TIM512 :R0<>02H,TIM512
LJMP NEXT
TIM512: LJMP TM512 :$21
CONT1: LJMP CONT2
TIM256: AJMP0 TM256
ORG 0800H :串列通信服務程序
SIS: CLR AFH :IE BIT7關中斷
CLR 98H :SCONBIT0RI清接收中斷
MOV A,SBUF
XRL A,3FH :3FH傳輸起始標
JZ DTSTART :SBUF=3FH,開始
SJMP CLOSE :否則結束
DTSTART: MOV DPTR,#0001H :只是讓地址動作
MOVX @DPTR,A :關00解碼,開01解碼
:向74LS595送清除信號SRCLR*
CLR B2H :把清零的結果打入列輸出鎖存器
:完成關顯示操作
MOV DPTR,#8000H
MOV SBUF,A
WAITT: JNB 99H,WAITT :SCONB1TI=0,等待發射完成
CLR 99H :SCONB1TI=1
WAITR: JNB 98H,WAITR :SCONB0RI=0,等待接受完成
CLR 98H :SCONB0RI=1
MOV A,SBUF :傳輸位元組計數L
MOV 50H,A
CONTINUE: MOV SBUF,A
WARTT1: JBC 99H,WARTT1 :SCONB1TI=1,發射完成
SJMP WAITT1 :SCONB1TI=0,等待發射完成
WAITTR1: JBC 98H,RDATA :SCONB0RI=1,接收完成
SJMP WarrR1 :SCONB0RI=0,等待接收完成
RDATA: MOV A,SBUF :讀入顯示數據
MOV @DPTR,A
INC DPTR
MOV A,DPH
XRL A,50H
JNZ CONTINUE :(A)<>(50H),繼續接收
MOV A,DPL :(A)=(50H)
XRL A,51H
JNZ CONTINUE :(A)<>(51H),繼續接收
MOV ASBUF,A :(A)=(51H)WAITTE: JNB 99H,WAITTE :SCONB1TI=0,等待發射完成
CLR 99H :SCONB1TI=1
MOV DPTR,8000H
MOV R0,20H
MOV R1,10H
MOV R6,80H
MOV R7,00
CLOSE: SETB AFH :IE
RETI
ORG 0800H
DISPLAYDATA:DB 00,00,00,00,00,00,00,00,00,00
2. 基於51單片機的led點陣顯示屏設計原理與電路圖
51和led點陣一般要用到動態掃描的方式,也就是顯示的畫面不是一下子就把整個畫面的內容全部顯示出來,而是逐行顯示的,只不過顯示的頻率超過了50HZ
甚至更高,所以我們看起來是「不晃眼」的。也就是說,屏幕顯示是由行顯示組成的(即子程序)。行顯示再細分就是有位顯示組成,不過行顯示就不用逐位顯示了。其實行顯示就是串入並出,即行顯示是一下子就顯示出來的。
我給你傳一份資料你參考一下。。。。。。
3. 誰能幫我把這個基於單片機的LED漢字顯示屏改一下
下面串多兩個 shift register,
HI我也行
4. 基於單片機的LED點陣顯示設計
摘 要:由於普通LED點陣顯示屏動態顯示通常採用硬體掃描驅動,這在一些需要特殊顯示的場合顯得不夠靈活。文中提出了一種利用PC機和單片機的通訊來實現顯示屏靈活的動態顯示和遠程監控的設計方法,同時該方法還可以將顯示內容在PC機上進行預覽。 關鍵詞:LED;動態顯示;遠程式控制制;顯示預覽
1引言 LED 點陣電子顯示屏是集微電子技術、計算機技術、信息處理技術於一體的大型顯示屏系統。它以其色彩鮮艷,動態范圍廣,亮度高,壽命長,工作穩定可靠等優點而成為眾多顯示媒體以及戶外作業顯示的理想選擇。同時也可廣泛應用到軍事、車站、賓館、體育、新聞、金融、證券、廣告以及交通運輸等許多行業。 目前大多數的LED點陣顯示系統自帶字型檔。其顯示和動態效果(主要是顯示內容的滾動)的實現主要依靠硬體掃描驅動,該方法雖然比較方便,但顯示只能按照預先的設計進行。而實際上經常會遇到一些特殊要求的動態顯示,比如電梯運行中指示箭頭的上下移動、某些智能儀表幅值的條形顯示、廣告中廠家的商標顯示等。這時一般的顯示系統就很難達到要求。另外,由於受到存儲器本身的局限,其特殊字元或圖案也往往難以顯示,同時顯示內容也不能隨意更改。本文提出一種利用PC機和單片機控制的LED顯示系統通訊方法。該方法可以對顯示內容(包括漢字和特殊圖符)進行實時控制,從而實現諸如閃動、滾動、打字等多種動態顯示效果。該方法同時還可以調節動態顯示的速度,同時用戶也可以在PC機上進行顯示效果的預覽,顯示內容亦可以即時修改。另外,通過標準的RS232/485 轉換模塊還可以實現對顯示系統的遠程式控制制。2系統硬體設計 本 系統主要的硬體設計是下位機單片機的顯示 控制部分。而上位機(PC機)與單片機顯示控制部分的介面為標准RS232通訊方式。若需實現遠程監控,只需增加RS232/485轉換模塊即可,該部分已有成熟的電路設計,故不再詳細敘述。 具體的LED顯示屏控制電路如圖1所示。整個電路由單片機89C52、點陣數據存儲器6264、列驅動電路ULN2803、行驅動電路TIP122、移位寄存器4094及附屬電路組成。該電路所設計的電子屏可顯示10個漢字,需要40個8×8 LED點陣模塊,可組成16×160的矩形點陣。由於AT89C52僅有8k存儲空間,而顯示的內容由PC機控制,因此不可能預先把需要顯示的內容做成點陣存在單片機中,而只能由PC機即時地把所需顯示的點陣數據傳給單片機並存入緩沖區6264。 該電路的顯示採用逐行掃描方式。工作時,由單片機從緩沖區取出第一行需要顯示的20位元組點陣數據,再由列點陣數據輸入端P1.2口按位依次串列輸入至列移位寄存器,其數據輸入的順序與顯示內容的順序相反。然後置行點陣選通端P1.3為1,即置行移位寄存器的D為高電平,STR使能(所有4094的OE 引腳接+5V電平),從而使列移位寄存器中的數據同時並行輸出以選通該行。經延時一段時間後再進行下一行點陣數據的顯示。需要注意的是,每次只能選通一行數據,即要通過不斷的逐行掃描來實現漢字或字元的顯示。3顯示與控制的設計 在筆者設計的PC機控制多單片機顯示系統中,用PC機實現的主要功能包括單片機顯示子系統的選擇,顯示方式選擇(包括靜態、閃動、滾動、打字等),滾動方向選擇(包括上下滾動和左右滾動),動態顯示速度調節(即文字閃動頻率、滾動速度、打字顯示速度等),顯示內容輸入及顯示預覽等。單片機一般通過 RS232/485串列接收PC機發出的顯示指採用定時器中斷方式進行行掃描,每次中斷顯示一行,定時中斷時間為1.25ms,這樣整屏的刷新率為 50Hz,因而無閃爍感。
實現動態顯示速度調節的方法通常是改變定時器的中斷時間,但是當顯示速度很慢的時候,該方法容易使整屏的刷新率降低,從而使顯示內容出現閃爍。因此,本設計採用一種「軟定時」方法,即在程序中命名一變數作為「軟定時器」,以用來設定兩次動態顯示的時間間隔。在對定時中斷調用計數時,如果調用次數達到設定值,則改變顯示內容。為保證能夠正常顯示,「軟定時器」的設定值必須大於整屏顯示周期。由於顯示屏每行顯示1.25ms,整屏顯示周期為20ms,考慮到餘量的情況,可將軟定時器的設定值定在大於30ms。如此循環計數,即可實現動態顯示。「軟定時器」的設定值可以通過上位機PC機來改變,這樣既可實現 LED動態顯示的速度調節,又可保持顯示內容的流暢和無閃爍感。3.1單片機動態顯示控制 以上提到的靜態、閃動、滾動和打字等4種顯示方式,實際上是單片機定時中斷程序進行行掃描處理的不同方法。下面將分別說明如何實現這4種顯示方式。 靜態顯示只需在定時中斷處理程序中從顯示緩沖區調入相應的一行顯示數據,然後選中該行即可實現該行的顯示,如此循環,便可顯示整個內容。閃動顯示與此類似,不同的是要間隔一個「軟定時器」的定時時間,在行掃描時,行移位寄存器的D端打入的全為0,可使得整屏不顯示,以確保黑屏時間與顯示時間相等,從而實現漢字或圖符的閃動顯示。 滾動顯示要求需要顯示的內容每隔一定時間向指定方向(這里以從右向左為例)移動一列,這樣顯示屏可以顯示更多的內容。為此,需要在下次移動顯示之前對顯示緩沖區的內容進行更改,從而完成相應點陣數據的移位操作。具體操作方法是: 設置一個顯示緩沖區(如圖2所示),該區應包括兩部分:一部分用來保存當前LED顯示屏上顯示的10個漢字點陣數據;另一部分為點陣數據預裝載區,用來保存即將進入LED顯示屏的1個漢字的點陣數據。滾動指針始終指向顯示屏的最右邊原點。當滾動指針移動到需要顯示的點陣數據存儲區的第1個漢字的首地址時,顯示緩沖區LED顯示區為空白,而預裝載區已保存了第1個待顯示漢字的點陣數據。當需要滾動顯示時,則可在接下來的掃描周期的每個行掃描中斷處理程序中,將對顯示緩沖區的相應行點陣數據左移一位,同時更改顯示緩沖區的內容。(需要注意的是,要確保該操作能在1.25ms的中斷時間內完成。這里89C52採用22MHz晶振,實驗證明可以實現該操作)。這樣,在一個掃描周期後,整個漢字將左移一列,而顯示緩沖區的內容也同時更改。由於預裝載區保存了1個漢字點陣數據,即16×16點陣,所以當前顯示緩沖區的內容只能移動16列。當下一個滾動到來時,滾動指針將移動到點陣數據存儲區的下一個漢字的首地址,並在預裝載區存入該漢字的點陣數據。然後重復執行上述操作便可實現滾動顯示。特殊字元或圖形的顯示與此類似,這里不再贅述。
打字顯示要求漢字在顯示屏上按從左到右的順序一個個的出現,如同打字的效果。設計時可採用如下方法:首先將LED顯示屏對應的顯示緩沖區全部清零,即 LED顯示空白,然後每間隔一個「軟定時器」設定的動態顯示時間,顯示緩沖區依次加入一個漢字點陣數據並進行掃描顯示,這樣就可達到打字顯示的效果。3.2 PC機控製程序 a.通訊功能的實現 在Windows環境下,實現PC與單片機的通訊可利用Windows的通訊API函數或者利用VC++(或其它語言)的標准通訊函數_inp、_outp來實現。但上述兩種方法比較繁瑣,而採用ActiveX控制項MSComm32來實現則非常方便。該控制項用事件的方式簡化了對串口操作的編程,並可設置串列通信的數據發送和接收,還可對串口狀態及串口通信的信息格式和協議進行設置。其初始化程序如下: 一般情況下,PC要與多個單片機89C51系統進行主從式通訊,為了區分各單片機系統,可以使89C51採用串口工作方式3,即11位非同步接收/發送方式,該方式的有效數據為9位,其中第9位為地址/數據信息的標志位,其作用是使從機據此判斷發送的數據是否為地址,從而實現多機操作。但現在由於採用的是MSCOMM控制項來實現PC機和單片機之間的通訊,這是一種標準的10位串口通信方式,即8位標准數據位和該數據的起始位、停止位各1位。因此二者格式不相符,故很難利用上述方案。因此可考慮將單片機串口設為工作方式1,即改為10位非同步接收/發送方式來解決,其通訊流程如下: 首先發通信開始標志,接著發送需要操作的單片機系統地址,然後發送顯示工作命令字,該命令包括2個位元組,前一位元組用於設定顯示方式和滾動方向,後一位元組則用於設定顯示速度。再往下是傳送顯示內容的點陣數據,最後對數據進行校驗。該通訊規約非常簡便,能夠較好的解決上述問題,從而實現PC機與多單片機之間的主從式通訊及對顯示的控制。 需要注意的是,當顯示內容需要改變時,為了避免在單片機串列中斷接收數據時,顯示屏出現亂碼,應使顯示屏暫不顯示(處於「黑屏」狀態),直到數據接收完全,串列中斷處理結束時再顯示。 漢字字模的提取非常關鍵,本文的字模數據取自UCDOS下的字型檔文件HZK16。關於這方面的介紹較多,文獻〔2〕給出了較為具體的在VC下提取漢字字模的方案,這里不再贅述。對於特殊字元或圖形點陣數據的提取,簡便的方法可以先做一個BMP文件,然後用一些取模軟體(如字模提取v2.1)來獲得。為了顯示方便,點陣數據的格式應為n×(16×8),不足要求的則應以0數據補充。 b.動態效果模擬顯示 為了方便調節LED的顯示效果,筆者在PC機的控制界面上設計了LED顯示屏的模擬顯示,它同實際的顯示效果完全一樣。用戶可以設定顯示的模式,並調節顯示速度,然後在界面上對顯示效果進行預覽,同時還可以隨時修改和設定參數,因而十分方便簡捷。 為此,可先在界面上描繪出虛擬的LED顯示屏,由於實際的顯示屏為160×16點陣,故須在界面 上設定相同的區域。 實現動態顯示效果的方法和以上幾種基本類似,這里以滾動顯示為例作一說明。對於需要滾動的文字,可以將其設置為點陣圖格式,暫存於內存中,然後利用VC 提供的點陣圖拷貝函數BitBlt將點陣圖復制到顯示位置。對於特殊字元或圖形,則可以直接利用BitBlt函數調用到顯示位置。然後在類CLEDDlg的 OnTimer函數中調用該函數,以實現文字的滾動顯示。另外,也可以通過設定不同的響應時間間隔來改變文字的滾動速度。
漢字顯示屏廣泛應用與汽車報站器,廣告屏等。本文介紹一種實用的漢字顯示屏的製作,考慮到電路元件的易購性,沒有使用8*8的點陣發光管模塊, 而是直接使用了256個高量度發光管,組成了16行16列的發光點陣。同時為了降低製作難度, 僅作了一個字的輪流顯示,實際使用時可根據這個原理自行擴充顯示的字數。
1漢字顯示的原理:
我們以UCDOS中文宋體字型檔為例,每一個字由16行16列的點陣組成顯示。即國標漢字型檔中的每一個字均由256點陣來表示。我們可以把每一個點理解為一個像素,而把每一個字的字形理解為一幅圖像。事實上這個漢字屏不僅可以顯示漢字, 也可以顯示在256像素 范圍內的任何圖形。
用8位的AT89C51單片機控制, 由於單片機的匯流排為8位,一個字需要拆分為2個部分。
軟體打開後輸入漢字,點「檢取」,十六進制數據的漢字代碼即可自動生成,把我們所需要的豎排數據復制到我們的程序中即可。
我們把行列匯流排接在單片機的i0口,然後把上面分析到的掃描代碼送入匯流排, 就可以得到顯示的漢字了。 在這個例子里,由於一共用到16行,16列, 如果將其全部接入89c51
單片機, 一共使用32條io口,這樣造成了io資源的耗盡,系統也再無擴充的餘地。 實際應用中我們使用4-16線解碼器74ls154來完成列方向的顯示。 而行方向16條線則接在
p0口和p2口。
程序清單:
ORG 00H
LOOP: MOV A,#0FFH ;開機初始化,清除畫面
MOV P0,A ;清除P0口
ANL P2,#00 ;清除P2口
MOV R2,#200
D100MS: MOV R3,#250 ;延時100毫秒
DJNZ R3,$
DJNZ R2,D100MS
MOV 20H,#00H ;取碼指針的初值
l100: MOV R1,#100 ;每個字的停留時間
L16: MOV R6,#16 ;每個字16個碼
MOV R4,#00H ;掃描指針清零
MOV R0,20H ;取碼指針存入R0
L3: MOV A,R4 ;掃描指針存入A
MOV P1,A ;掃描輸出
INC R4 ;掃描指針加1,掃描下一個
MOV A,R0 ; 取碼指針存入A
MOV DPTR,#TABLE ;取數據表的上半部分的代碼
MOVC A,@A+DPTR
MOV P0,A ; 輸出到P0
INC R0 ;取碼指針加1,取下一個碼。
MOV A,R0
MOV DPTR,#TABLE ;取數據表下半部份的代碼
MOVC A,@A+DPTR
MOV P2,A ;輸出到P2口
INC R0
MOV R3,#02 ;掃描1毫秒
DELAY2: MOV R5,#248 ;
DJNZ R5,$
DJNZ R3,DELAY2
MOV A,#00H ;清除屏幕
MOV P0,A
ANL P2,#00H
DJNZ R6,L3 ;一個字16個碼是否完成?
DJNZ R1,L16 ;每個字的停留時間是否到了?
MOV 20H,R0 ;取碼指針存入20H
CJNE R0,#0FFH,L100 ;8個字256個碼是否完成?
JMP LOOP ;反復循環
TABLE :
;漢字「倚」的代碼
db 01H,00H,02H,00H,04H,00H,1FH,0FFH
db 0E2H,00H,22H,00H,22H,0FCH,26H,88H
db 2AH,88H,0F2H,88H,2AH,0FAH,26H,01H
db 63H,0FEH,26H,00H,02H,00H,00H,00H
;以下分別輸入天,一,出, 寶,刀,屠,龍,的代碼,略。
end
電路中行方向由p0口和p2口完成掃描,由於p0口沒有上拉電阻,因此接一個4.7k*8的排阻上拉。 如沒有排阻,也可用8個普通的4.7k 1/8w電阻。為提供負載能力,接16個2n5551的NPN三極體驅動。
列方向則由4—16解碼器74LS154完成掃描,它由89C51的P1.0---P1.3控制。同樣,驅動部分則是16個2N5401的三極體完成的。
電路的供電為一片LM7805三端穩壓器,耗電電流為100Ma左右。
採用一塊12*20cm的萬能電路板,應當選用質量好些的發光管,(否則有壞點現象, 更換起來較麻煩)首先將256個發光管插入電路板,注意插入方向,同時使高度一致,行方向直接焊接起來, 列方向則搭橋架空焊接,完成後用萬用表測試一下如有不亮的更換掉。
然後找一個電腦硬碟的數據線, 截取所需的長度,分別將行,列線引出至電路的相關管腳即可。原理圖為了簡潔,故只畫出了示意圖,行列方向只畫出了2個三極體,屏幕只畫出4個發光管, 實際上發光管為256隻,三極體行列方向各16隻,一共32隻。焊接過程認真仔細一天時間即可完成全部製作。將程序編譯後燒寫入89c51, 插入40pin Ic座,即可看到屏幕輪流顯示:「倚天一出寶刀屠龍」。
當然,你可將程序的漢字代碼部分更換為您所需要的代碼即可顯示你所需要的漢字
元件清單:
名稱 數量 規格
4.7k 1/8w 32 電阻
4.7k*8排阻 1
2n5551 16 小功率NPN三極體
2n5401 16 小功率PNP三極體
led 256 3mm白發紅高亮度
22P 2 瓷片電容
10uf/50v 1 電解電容
100uf/25v 2 電解電容
AT89C51 1 或AT89S51
40pin Ic座 1 插89c51用
12M 1 晶體
74LS154 1 或74HC154
LM7805 1 穩壓IC
電源插座 1
穩壓電源 1
5. 用單片機能驅動全彩LED屏幕嗎
驅動小功率led是沒有問題的。1個51單片機外加4個pnp三極體(如c9012或8550),以及12個電阻就可以了。將32個led分成4組共陽連接,採用動態掃描方式輸出驅動led,這樣共佔用單片機12根口線。
6. 基於單片機的led大型數碼顯示屏設計有什麼缺點
abstract
ii
第1章
前言
1
1.1
led電子顯示屏概述
1
1.3
led顯示屏的應用示例
2
第2章
顯示原理及控制方式分析
3
2.1
led點陣模塊結構
3
2.2
led動態顯示原理
4
2.3
led常見的控制方式
4
第3章
方案設計與分析
7
3.1
顯示單元
7
3.2
滾屏的實現
7
3.3
關於可擴展性
7
3.4
微控制器的考慮
7
3.5
關於點陣數據的存儲方式
8
3.6
關於顯示內容的更新
9
3.7
總體電路結構及工作原理
9
3.7.1
硬體電路框圖
9
3.7.2
工作原理
11
第4章
硬體電路設計
13
4.1
顯示單元電路設計
13
4.1.1
led點陣模塊的選擇
13
4.1.2
列驅動電路設計
13
4.1.3
行驅動電路設計
14
4.2
單片機控制系統電路設計
15
4.2.1
單片機的選型
15
4.2.2
單片機系統電路設計
16
4.3
字型檔與單片機的介面設計
17
4.3.1
字型檔晶元選型
17
4.3.2
字型檔晶元的使用方法
17
4.3.3
字型檔晶元的電氣特性
18
4.3.4
字型檔晶元與單片機的介面設計
19
4.3.5
字型檔晶元3.3v電源設計
20
4.3.6
5v-3.3v的電平轉換電路設計
20
7. 基於單片機的led點陣顯示屏設計該如何入手,求解
最好先模擬 模擬的比較不錯
先寫8*8的 寫閃動的再寫滾動的
再寫16*16的 其中各種原理和要用到的東西自己慢慢想吧 想完了發現很好玩的
8. 基於51系列單片機的LED顯示屏開發技術 這本書怎麼樣
是國內第一本針對鐵電單片機的書籍,為初學鐵電單片機或是希望了解該單片機的讀者提供了較為全面的資料和開發常式。此外還對通用LED顯示屏上位機控制軟體設計、LED顯示屏控制系統常用時鍾晶元DS1302、溫度感測器DS18B20等模塊控製程序和硬體電路進行分析和講解。這些內容是作者近幾年來部分開發工作的實踐總結,有些是根據實際生產產品的提煉和推廣。
9. 600分:基於單片機的點陣式LED顯示屏設計
如果你相信我,你就把你要的具體要求傳到我的郵箱,[email protected]或[email protected]
我會給你選好你想要的,或者去我的網路貼吧看看,我就是吧主。。。呵呵我的專業忘說了。。。信息顯示與光電技術。。。。
不信我也沒關系,
只能遺憾的提示你一下:如果是20個字的話1602就夠了,要有很好效果的話12864是個不錯的選擇,可是要「基於網路」比較困難,至少要1355控制器的320*240
10. 單片機製作led顯示屏,怎麼讓字滾動,思路是什麼
按照時間段來說,一開始先顯示一個字,延時500mS後,這個字的每個亮的點都向換到旁邊的點亮,然後再延時500mS……依此類推,這個字就向左滾動了,要讓它快點或者慢點滾,改變延時時間即可。