銀行利率屏多採用單片機控制的LED顯示,儘管單片機控制LED顯示已不是什麼新技術,但由於利率屏所用LED數量多(達到數百到上千),每個LED的驅動電流大(達數百毫安時),壓降大(達2-3伏)時,依然有一些實際問題要解決。 一、LED的驅動形式 二、單片機驅動CD4094的方式 ORG0000H LJMPSTART START: SETB P3.3;將P3.3置為高電平為後面作準備 MOV30H,#01H;30H為顯示緩衝區 S_1: LCALLDISP SJMP$ ;以上主程序 DISP: MOV A,30H MOV DPTR,#ZX_TAB;字形表首地址 MOVC A,@A+DPTR;查字形 MOV R7,#2;R7用於控制循環次數 DISP_LOOP: RLA DJNZ R7,DISP_LOOP ;由於用P1.2作為數據輸出端,所以必須先把待送出的數左移二次將數據的第0位 ;移到第2位,例要送的數為05H即00000101,移位二次變成00010100 MOV P1,A;將移位后的數據送到P1口 CLR P3.3 SETB P3.3;形成一次脈衝的上升沿,將第一位數據 MOV R7,#7 DISP_LOOP1: RR A;數據右移 MOV P1,A;數據送P1口 CLRP3.3 SETB P3.3;形成一次脈衝上升沿,送入一位數據 DJNZ R7,DISP_LOOP1;循環7次,送入7位數據 RET ;以剛才的例子,移位7次分別是00001010、00000101、;10000010、01000001、10100000、01010000、00101000請注意粗、斜體的數字,它位加上第一次送出 ;的1,正好就是10100000,與串列口發送是相同 ZX_TAB: DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH END 以上例子是發送一個數據,稍作修改,即可一次發送多個數據。如果用其它的并行口位作數據輸出端或脈衝輸出端,也只要對程序稍作改動即可。 圖1(A) 圖1(B) 採用這一方法后,我們將LED分組,一般利率屏中一行的LED數量為18到20多隻不等,將兩行或三行為一個單元為其配一個驅動單元(即并行口的兩位),這樣一個由300到500個左右的LED構成的屏約需30個左右的并行口位,這隻需要擴展一片8255加上P1口和P3口的一些位就夠了。串列口可以留作鍵盤擴展或作遠距遙控等用。 三、電平轉換及驅動能擴展 ͼ2
[admin via 研發互助社區 ] 銀行利率屏的設計已經有1811次圍觀
本文地址:http://cocdig.com/docs/show-post-568.html