8×8點(diǎn)陣LED原理及應(yīng)用分享
點(diǎn)陣LED掃描法介紹
點(diǎn)陣LED一般采用掃描式顯示,實(shí)際運(yùn)用分為三種方式:
(1) 點(diǎn)掃描;
(2) 行掃描;
(3) 列掃描。
若使用第一種方式,其掃描頻率必須大于16×64=1024Hz,周期小于1ms即
可。若使用第二和第三種方式,則頻率必須大于16×8=128Hz,周期小于7.8ms即可符合視覺(jué)暫留要求。此外一次驅(qū)動(dòng)一列或一行(8顆LED)時(shí)需外加驅(qū)動(dòng)電路提高電流,否則LED亮度會(huì)不足。如圖3所示。
下面是一個(gè)用P1口控制掃描,用74HC164控制顯示輸出,使8×8點(diǎn)陣LED顯示一個(gè)“×”的例程。如圖(3)所示。
CLK EQU P3.2
DINA EQU P3.3
DINB EQU P3.4
CLEAR EQU P3.5
ORG 0000H
AJMP MAIN
ORG 0100H
MAIN:
MOV SP,#70H ;設(shè)堆棧指針
MOV 50H,#07EH ;設(shè)置發(fā)送的列數(shù)據(jù)(Y0~Y7)
MOV 51H,#0BDH
MOV 52H,#0DBH
MOV 53H,#0E7H
MOV 54H,#0E7H
MOV 55H,#0DBH
MOV 56H,#0BDH
MOV 57H,#07EH
CLR CLEAR ;初始化I/O口
SETB CLK
SETB DINA
SETB DINB
SETB CLEAR
mainloop:
mov r6,#8h;設(shè)置掃描次數(shù)
mov dptr,#09000h;讀取掃描端口數(shù)據(jù)
MOV R1,#50H ;指定列數(shù)據(jù)指針
flashcy:
MOV A,@R1 ;讀取列數(shù)據(jù)
MOV R0,A
INC R1 ;列數(shù)據(jù)指針加1
CLR A
MOVC A,@A+DPTR
MOV P1,#0FFH
LCALL SENDTO
MOV P1,A
INC DPTR
LCALL DELAY
DJNZ R6,flashcy
SJMP MAINLOOP
sendto: ;發(fā)送數(shù)據(jù)子程序
PUSH ACC
CLR CLK
SENDTIME:
MOV R7,#08H
MOV A,R0
CLR C
SENDCY:
RRC A
MOV DINA,C
SETB CLK
CLR CLK
DJNZ R7,SENDCY
POP ACC
RET
DELAY: MOV R7,#01 ;延時(shí)子程序
DELAY0: MOV R4,#17
DELAY1: MOV R3,#28
DJNZ R3,$
DJNZ R4,DELAY1
DJNZ R7,DELAY0
RET
ORG 09000H
DB 0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07FH ;X0~X7(列掃描)
相關(guān)推薦
技術(shù)專區(qū)
- FPGA
- DSP
- MCU
- 示波器
- 步進(jìn)電機(jī)
- Zigbee
- LabVIEW
- Arduino
- RFID
- NFC
- STM32
- Protel
- GPS
- MSP430
- Multisim
- 濾波器
- CAN總線
- 開(kāi)關(guān)電源
- 單片機(jī)
- PCB
- USB
- ARM
- CPLD
- 連接器
- MEMS
- CMOS
- MIPS
- EMC
- EDA
- ROM
- 陀螺儀
- VHDL
- 比較器
- Verilog
- 穩(wěn)壓電源
- RAM
- AVR
- 傳感器
- 可控硅
- IGBT
- 嵌入式開(kāi)發(fā)
- 逆變器
- Quartus
- RS-232
- Cyclone
- 電位器
- 電機(jī)控制
- 藍(lán)牙
- PLC
- PWM
- 汽車電子
- 轉(zhuǎn)換器
- 電源管理
- 信號(hào)放大器
評(píng)論