求C51 1t或者12T 单片机 读写24C04 或24C16 或24C32的C程序 要通过验证的才行哦,不要发24C02的哦!!

求C51 1t或者12T 单片机 读写24C04 或24C16 或24C32的C程序 要通过验证的才行哦,不要发24C02的哦!!,第1张

你确定你外部电路没有接错么?24c02只有256字节,所以不需要用到高8位地址;只要000h-0ffh就可以直接访问,24c04就需要用P2连接高8位地址,不然是无法正常访问0ffh以上的地址的。

根据他们的连接方式不同,可用的地址也略有不同

24C01在一个总线上最多可寻址八个1K器件,24C02在一个总线上最多可寻址八个2K器件,A2、A1和A0内部必须连接。

24C04仅使用A2、A1作为硬件连接的器件地址输入引脚,在一个总线上最多可寻址四个4K器件。A0引脚内部未连接。

24C08仅使用A2作为硬件连接的器件地址输入引脚,在一个总线上最多可寻址两个8K器件。A0和A1引脚内部未连接。

24C16未使用作为硬件连接的器件地址输入引脚,在一个总线上最多可连接一个16K器件。A0、A1和A2引脚内部未连接

简单说就是,以at24c02为例,at24c02共有256个(2k)可用地址,而前1024(8K)个地址可以共用,共用的条件是必须指定使用哪一部分,当选择的地址可以兼容时,程序便是兼容的,地址不兼容,程序当然也会出问题!!

;R5音调延时值;R6从内存中读到的数据

;9H--TABLE1~11数据;20H--TL1初值;21H--TH1初值;22H--修正后的按键值;30H--TABLE1~11地址计数器

;0AH--d奏音调延时值;0BH--内存地址;0CH--读写到内存的数据;0DH--按键值;0EH--内存器件地址

PORT1   EQU   P1

PORT2   EQU   P2

SCK     BIT   P30

SDA  BIT   P31

ORG   0H

SJMP  MAIN

ORG   0BH

LJMP  TIME0

ORG   1BH

LJMP  TIME1

ORG   30H

;--------------------------------------------------------------------------

MAIN:   CLR   TR0

CLR   TR1

MOV   SP,#4FH

MOV   R0,#100

CLR   P34

LCALL DELAY5

MOV   9H,#0

MOV   0AH,#0

MOV   0BH,#0

MOV   0CH,#0

MOV   TMOD,#11H

MOV   IE,#8AH

MOV   0DH,#88H

;------------扫描放歌和d奏建------------------------------------

XIAN:   JB    P32,QT1    ;没按下放歌建跳qt1

SETB  P34    ;按下放歌建LED发光

LCALL DELAY1

LCALL DELAY1

JNB   P32,$   ;放歌建没释放原地等待

LCALL DELAY1

LCALL DELAY1

Q1:     LCALL SAO

CJNE  R0,#0,Q11

SJMP  Q1

Q11:    LCALL TRANF

JZ    MAIN

MOV   0DH,A    ;0DH=按键值

LJMP  SING0

QT1:    JB    P33,QT4      ;没按d奏建跳QT3

SETB  P34

LCALL DELAY1

LCALL DELAY1

JNB   P33,$   ;d奏键没释放原地等待

LCALL DELAY1

LCALL DELAY1

QT2:    LCALL SAO

CJNE  R0,#0,QT3

SJMP  QT2

QT3:    LCALL TRANF

CJNE  A,#0BH,QT11 ;若按键值=11转(B键)MAIN;!=11键转QT11

LJMP  MAIN

QT11:   JC    MAIN   ;若按键值<11转MAIN;>11继续

CJNE  A,#0CH,M4  ;若按键值!=12转M1;=12(C键)继续 ;即C键没按下转M1

MOV   PORT1,#11101111B

JNB   P13,$   ;若C键没释放原地等待

MOV   0BH,#0

LJMP  LOOP    ;输入乐曲存储并演奏

M4:  LCALL DELAY1

LCALL DELAY1

LCALL RWX80     ;擦写内存数据;全部为1

LJMP  MAIN

QT4:    LJMP  XIAN    ;返回重新扫描放歌和d奏建

;--------------------------------------------------------------------------

RWX80:  CJNE  A,#0DH,MM2  ;A!=13(D键)转M2;若为D键继续;D键没按下转M2

MOV   0EH,#0A2H  ;0EH=162=10100010B;0EH为24c16页地址

SJMP  MM

MM2:     CJNE  A,#0EH,MM3  ;A!=14(E键)转M3;E键没按下转M3

MOV   0EH,#0A4H  ;0EH=164=10100100B

SJMP  MM

MM3:     MOV   0EH,#0A6H  ;F键按下;0EH=166=10100110B

MM:     MOV   0BH,#0

MOV   0CH,#0H

RWX801: LCALL RKX02

LCALL WKX02

INC   0BH

INC   0BH

INC   0BH

INC   0BH

MOV   A,0BH

CJNE  A,#0FFH,MM4

MOV   0BH,#0

MM4:    INC   0CH

INC   0CH

INC   0CH

INC   0CH

CJNE   A,#0H,RWX801

RET

;--------读数据------------------------------

RKX02:

LCALL START

MOV   A,#0A0H     ;24C16寻址10100000写

LCALL WRBYT

LCALL TACK

MOV   A,0BH     ;发送24c16子地址

LCALL WRBYT

LCALL TACK

LCALL START

MOV   A,#0A1H    ;24C16寻址10100001读

LCALL WRBYT

LCALL TACK

;LCALL WRBYT

;LCALL TACK

MOV   10H,R6

LCALL RDBYT

LCALL NOTACK

;LCALL WRBYT

;LCALL TACK

MOV   11H,R6

LCALL RDBYT

LCALL NOTACK

;LCALL WRBYT

;LCALL TACK

MOV   12H,R6

LCALL RDBYT

LCALL TACK

MOV   13H,R6

LCALL NOTACK

LCALL STOP

RET

;---------写数据-----------------------

WKX02:

MOV   R1,#10H

LCALL START

MOV   A,#0A0H

LCALL WRBYT

LCALL TACK

MOV   A,0BH

LCALL WRBYT

LCALL TACK

MOV   A,0CH

LCALL WRBYT

LCALL TACK

MOV   R0,#4

WKX021: MOV   A,@R1

LCALL WRBYT

LCALL TACK

INC   R1

DJNZ  R0,WKX021

LCALL STOP

LCALL DELAY5

LCALL DELAY5

RET

;-------输入乐曲存储并演奏--------------------------------------------

LOOP:   CLR   TR0

CLR   TR1

AAA:    JB    P33,LOOP4 ;d奏键按下 向下执行存储乐曲并演奏 否则转LOOP4继续输入乐曲

LCALL DELAY1

LCALL DELAY1

MOV   0CH,#0

LCALL WBAY    ;存00结束乐谱

LCALL DELAY1

MOV   0DH,#12

LJMP  SING0     ;播放d奏的乐曲

LOOP4:  LCALL   SAO

CJNE    R0,#0,KEYIN

LJMP    LOOP

KEYIN:  LCALL TRANF

SWAP  A

MOV   09H,A

SWAP  A

CJNE  A,#0,ZZZ     ;非0键转ZZZ

CLR   TR1

CLR   TR0

LJMP  ZZZZ      ;0键转ZZZZ

ZZZ: DEC   A    ;A为按键值;因从1键值音调序号对应TABLE频率表0位置;故减1

MOV   22H,A   ;22H存修正后(A=A-1)的按键值

CLR   C

RLC   A    ;A2因TABLE一个单元为2字节(1字),指向该单元的第1个字节

MOV   DPTR,#TABLE

MOVC  A,@A+DPTR

MOV   TH1,A   ;TH1赋初值

MOV   21H,A   ;TH1初值存21H

MOV   A,22H

CLR   C

RLC   A    ;A2因TABLE一个单元为2字节(1字)

INC   A    ;指向该单元的第2个字节

MOVC  A,@A+DPTR

MOV   TL1,A  ;TL1赋初值

MOV   20H,A  ;TL1初值存20H

MOV   TH0,#0C2H

MOV   TL0,#0F6H

SETB  TR0

SETB  TR1

ZZZZ:   MOV   A,PORT1

ORL   A,#0F0H

CJNE  A,#0FFH,ZZZZ

CLR   TR0

CLR   TR1

MOV   A,0AH     ;d奏乐谱频率延迟值赋A

CLR   C

RRC   A

CLR   C

RRC   A

CLR   C

RRC   A   ;d奏乐谱频率延迟值/8

CJNE  A,#0FH,NODE

SJMP  DDD

NODE:   JC    DDD

MOV   A,#0FH  ;d奏乐谱频率延迟值/8后;若>15则=15

DDD:    ORL   09H,A   ;

MOV   0AH,#0

>

MOV   0CH,A

LCALL WBAY

LCALL DELAY5

INC   0BH

LJMP  LOOP

;-----频率延时-----------------------------------------

DELAY:  MOV   R7,#125

DLY2:   MOV   R4,#02

DLY3:   MOV   R3,#248

DJNZ  R3,$

DJNZ  R4,DLY3

DJNZ  R7,DLY2

DJNZ  R5,DELAY

RET

;---------延时----------------------

DELAY1: MOV   R7,#30

MOV   R6,#0

S1:     DJNZ  R6,$

DJNZ  R7,S1

RET

DELAY5: MOV   R7,#10

MOV   R6,#0

S5:     DJNZ  R6,$

DJNZ  R7,S5

RET

;-----扫描按键子程序----------

SAO:    MOV   R0,#4

MOV   R3,#11101111B

MOV   R2,#11111111B

NLINE1: MOV   A,R3

MOV   PORT1,A

MOV   A,PORT1

ORL   A,#0F0H

CJNE  A,#0FFH,KEYIN1

MOV   A,R3

RL    A

MOV   R3,A

DJNZ  R0,NLINE1

RET

KEYIN1: LCALL DELAY1

LCALL DELAY1

LCALL DELAY1

LCALL NOPEN

RET

;-----按键延时-------------

NOPEN:  MOV   A,PORT1

MOV   R2,A

ORL   A,#0F0H

CJNE  A,#0FFH,NOPEN1

SJMP  NOPEN

NOPEN1: LCALL DELAY1

LCALL DELAY1

RET

;----------键盘码转换为按键值-----------------

TRANF:  MOV   B,#0

MOV   A,R2

C1:     RRC   A

JNC   C2 ;C=0跳C2

INC   B

INC   B

INC   B

INC   B  ;B=B+4

LJMP  C1

C2:     MOV   A,R2

RR    A

RR    A

RR    A

RR    A

C3:     RRC   A

JNC   C4

INC   B

LJMP  C3

C4:     MOV   A,B  ;B为按键值

RET

;---------按键值散转表-------------------

SING0:

MOV   30H,#00H   ;30H为TABLE1~11地址计数器

NEXT:   MOV   A,0DH

CJNE  A,#1,NN1

MOV   DPTR,#TABLE1

LJMP  WW

NN1:    CJNE  A,#2,NN2

MOV   DPTR,#TABLE2

LJMP  WW

NN2:    CJNE  A,#3,NN3

MOV   DPTR,#TABLE3

LJMP  WW

NN3:    CJNE  A,#4,NN4

MOV   DPTR,#TABLE4

LJMP  WW

NN4:    CJNE  A,#5,NN5

MOV   DPTR,#TABLE5

LJMP  WW

NN5:    CJNE  A,#6,NN6

MOV   DPTR,#TABLE6

LJMP  WW

NN6:    CJNE  A,#7,NN7

MOV   DPTR,#TABLE7

LJMP  WW

NN7:    CJNE  A,#8,NN8

MOV   DPTR,#TABLE8

LJMP  WW

NN8:    CJNE  A,#9,NN9

MOV   DPTR,#TABLE9

LJMP  WW

NN9:    CJNE  A,#10,NN10

MOV   DPTR,#TABLE10

LJMP  WW

NN10:   CJNE  A,#11,NN11

MOV   DPTR,#TABLE11

LJMP  WW

NN11:   CJNE  A,#12,NN12

MOV   0EH,#0A1H

MOV   0BH,#0

LJMP  NN

NN12:   CJNE  A,#13,NN13

;MOV   0EH,#0A3H

;MOV   0BH,#0H

LJMP  MAIN

NN13:   CJNE  A,#14,NN14

;MOV   0EH,#0A5H

;MOV   0BH,#0H

LJMP  MAIN

NN14:   CJNE  A,#15,NN

;MOV   0EH,#0A7H

;MOV   0BH,#00H

LJMP  MAIN

;--------------------------------

NN:     LCALL RBAY   ;读内存

NNT:    MOV   A,R6   ;R6为从内存中读到的数据

LJMP  IIC

;-----------奏乐--------------------------------------------

WW:     MOV   A,30H

JZ    WW0

MOVC  A,@A+DPTR

SJMP  IIC

WW0:    MOVC  A,@A+DPTR

MOV   30H,#1

MOV   31H,A

SJMP  WW

IIC:    MOV   R2,A

JZ    ENDF  ;A=00 结束标志跳ENDF程序重新开始

ANL   A,#0FH  ;低4位为延时值

MOV   R5,A   ;R5延时值;频率延时(DELAY)程序用

MOV   A,R2

SWAP  A

ANL   A,#0FH  ;高4位为音调序号若

JNZ   SING   ;为0则

CLR   TR1   ;为休止符

SJMP  DLY1

SING:   DEC   A    ;频率表从0位置开始,音调序号表从1位置开始,0位置数据是解密数据

PUSH  ACC

MOV   A,0DH

CJNE  A,#11,BD  ;若>11(B)键,即为C~F键转BD0;若<=11(B)键转DE,音调序号+31H

POP   ACC

SJMP  DE

BD:     POP   ACC

JNC   BD0

DE:     ADD   A,31H

BD0:    MOV   22H,A

RL    A

MOV   DPTR,#TABLE

MOVC  A,@A+DPTR

MOV   TH1,A

MOV   21H,A

MOV   A,22H

RL    A

INC   A

MOVC  A,@A+DPTR

MOV   TL1,A

MOV   20H,A

SETB  TR1

DLY1:   INC   R5

ACALL DELAY

INC   30H

INC   0BH

MOV   A,0DH    ;取按键值;判断是读内存键还是读乐谱序号键

CJNE  A,#0BH,NNBD  ;若按键值<11取下1个乐谱;若按键值为12~15(C~F)转NNBD读内存

NEXT1:  LJMP  NEXT

NNBD:   JC    NEXT1

LJMP  NN   ;读内存

;--------程序重新开始---------------------------------------

ENDF:   CLR   TR1

LJMP  MAIN

;--------T0中断服务d奏频率延迟时间---------------------------------------------

TIME0:  INC   0AH    ;d奏乐谱频率延迟值

MOV   TH0,#0C2H

MOV   TL0,#0F6H    ;定时初值 =49910    计数次数为 2^16(65536)-49910=15626=16ms

RETI

;--------T1中断服务发声-----------------------

TIME1:  PUSH  ACC

PUSH  PSW

MOV   TL1,20H

MOV   TH1,21H

CPL   P37

POP   PSW

POP   ACC

RETI

;--------读数据--------------------

RBAY:   LCALL START

MOV   A,#0A0H

LCALL WRBYT

LCALL TACK

MOV   A,0BH

LCALL WRBYT

LCALL TACK

LCALL START

MOV   A,0EH

LCALL WRBYT

LCALL TACK

LCALL RDBYT

LCALL NOTACK

LCALL STOP

RET

;-------写数据-------------------

WBAY:   LCALL START

MOV   A,#0A0H

LCALL WRBYT

LCALL TACK

MOV   A,0BH

LCALL WRBYT

LCALL TACK

MOV   A,0CH

LCALL WRBYT

LCALL TACK

LCALL STOP

RET

;---------写数据---------------

;WKX03:  MOV   R1,#10H

;LCALL START

;MOV   A,#0A2H

;LCALL WRBYT

;LCALL TACK

;MOV   A,0CH

;LCALL WRBYT

;LCALL TACK

;MOV   R0,#4

;WKX031: MOV   A,@R1

;LCALL WRBYT

;LCALL TACK

;INC   R1

;DJNZ  R0,WKX031

;LCALL STOP

;LCALL DELAY1

;LCALL DELAY1

;RET

;-------启动24C16读写时序------------------

START:  SETB  SDA

NOP

NOP

NOP

NOP

SETB  SCK

NOP

NOP

NOP

NOP

CLR   SDA

NOP

NOP

NOP

NOP

CLR   SCK

NOP

NOP

NOP

NOP

RET

;-------停止信号------------------

STOP:   CLR   SDA

NOP

NOP

NOP

NOP

SETB  SCK

NOP

NOP

NOP

NOP

SETB  SDA

NOP

NOP

NOP

NOP

;CLR   SCK

;NOP

;NOP

;NOP

;NOP

RET

;-------应答信号-----------------

TACK: SETB  SDA

;CLR   SDA

NOP

NOP

NOP

NOP

SETB  SCK

NOP

NOP

NOP

NOP

CLR   SCK

NOP

NOP

NOP

NOP

;SETB  SDA

;NOP

;NOP

;NOP

;NOP

RET

;-------------------------

CHACK:  SETB  SDA

NOP

NOP

NOP

NOP

SETB  SCK

NOP

NOP

NOP

NOP

MOV   C,SDA

CLR   SCK

NOP

NOP

NOP

NOP

RET

;-----------------------------

NOTACK: ;NOP

SETB  SDA

NOP

NOP

NOP

NOP

SETB  SCK

NOP

NOP

NOP

NOP

CLR   SCK

NOP

NOP

NOP

NOP

RET

;------读IIC-24C16------------------

RDBYT:  MOV   R7,#8

SETB  SDA

NOP

NOP

NOP

NOP

RDBYT1: SETB  SCK

NOP

NOP

NOP

NOP

NOP

NOP

MOV   C,SDA

MOV   A,R6

RLC   A

MOV   R6,A

CLR   SCK

NOP

NOP

NOP

NOP

NOP

NOP

DJNZ  R7,RDBYT1

RET

;------写IIC-24C16---------------

WRBYT:  MOV   R7,#8

WRBYT1: RLC   A

MOV   SDA,C

;JC    WRBYT2

;CLR   SDA

;NOP

;NOP

;NOP

;NOP

SETB  SCK

NOP

NOP

NOP

NOP

NOP

NOP

CLR   SCK

NOP

NOP

NOP

NOP

NOP

NOP

DJNZ  R7,WRBYT1

RET

;WRBYT2: SETB  SDA

;NOP

;NOP

;NOP

;NOP

;SETB  SCK

;NOP

;NOP

;NOP

;NOP

;CLR   SCK

;NOP

;NOP

;NOP

;NOP

;CLR   SDA

;NOP

;NOP

;NOP

;NOP

;DJNZ  R7,WRBYT1

RET

;-------;TABLE为频率值  -------------------------------------

TABLE:  DW 0F88CH,0F95BH,0FA15H,0FA67H,0FB04H,0FB90H,0FC0CH ;低音1~7

DW 0FC44H,0FCACH,0FD09H,0FD34H,0FD82H,0FDC8H,0FE06H ;中音1~7

DW 0FE22H,0FE56H,0FE85H,0FE9AH,0FEC1H,0FEE4H,0FF03H ;高音1~7

;--------TABLE1~11为音调序号和音调延时表调;数据高4位是-----------------------------------

;--------音调序号;低4位是音调延时值-----------------------------------------------------------------

;--------;兰花草---------------------------------------

TABLE1: DB 02H,42H,82H,82H,82H,84H,02H,72H,62H,72H,62H

DB 52H,48H,0B2H,0B2H,0B2H,0B2H,0B4H,02H,0A2H

DB 12H,0A2H,0D2H,92H,88H,82H,0B2H,0B2H,0A2H,84H

DB 02H,72H,62H,72H,62H,52H,44H,02H,12H,12H,62H

DB 62H,52H,44H,02H,82H,72H,62H,52H,32H,48H,00

;-------;哈巴--------------------------------------------

TABLE2: DB 04H,42H,42H,42H,52H,64H,04H,62H,62H,62H,72H,84H,04H

DB 92H,92H,82H,72H,64H,04H,82H,82H,52H,62H,44H,04H

DB 42H,42H,42H,52H,64H,04H,62H,62H,62H,72H,84H,04H

DB 92H,92H,82H,72H,64H,04H,82H,82H,52H,62H,44H,04H,00H

;-------;生日快乐---------------------------------------

TABLE3: DB 04H,82H,01H,81H,94H,84H,0B4H,0A4H,04H

DB 82H,01H,81H,94H,84H,0C4H,0B4H,04H

DB 82H,01H,0F4H,0D4H,0B4H,0A4H,94H

DB 0E2H,01H,0E1H,0D4H,0B4H,0C4H,0B4H,04H,00H

;-------;不倒翁--------------------------------------------

TABLE4: DB 04H,84H,94H,88H,64H,54H,68H,84H,64H

DB 54H,44H,62H,82H,42H,62H,58H;1

DB 84H,94H,88H,64H,54H,68H,84H,64H;2

DB 54H,44H,52H,42H,52H,62H,48H,00

;-------;妹妹背着洋娃娃---------------------------------------

TABLE5: DB 04H,84H,02H,82H,64H,54H,64H,54H,48H,64H

DB 02H,52H,44H,24H,14H,24H,18H;1

DB 24H,02H,22H,42H,24H,44H,54H,68H,54H;2

DB 02H,52H,84H,84H,54H,64H,48H,00

;-------;两只老虎-------------------------------------------------

TABLE6: DB 04H,44H,54H,64H,44H,44H,54H,64H,44H,64H,74H,88H,64H,74H,88H;1

DB 82H,92H,82H,72H,64H,44H,82H,92H,82H

DB 72H,64H,44H,44H,84H,48H,44H,14H,48H,00

;-------;三只小猫----------------------------------------------

TABLE7: DB 04H,62H,82H,82H,62H,98H,92H,0B2H,0B2H,82H,98H

DB 2H,82H,82H,52H,68H,92H,0B2H,0B2H,82H,98H

DB 62H,82H,82H,62H,92H,92H,94H

DB 92H,0B2H,0B2H,92H,84H,94H,0B8H,0B4H,04H,00

;-------;绿-------------------------------------------------------

TABLE8: DB 02H,42H,82H,82H,82H,84H,02H,72H,62H,72H,62H,52H,48H

DB 0B2H,0B2H,0B2H,0B2H,0B4H,02H,0A2H

DB 12H,0A2H,0D2H,92H,88H,82H,0B2H,0B2H,0A2H,84H

DB 02H,72H,62H,72H,62H,52H,44H,02H,12H

DB 12H,62H,62H,52H,44H,02H,82H,72H,62H,52H,32H,48H,00

;-------;绿岛小夜曲-----------------------------------------------

TABLE9: DB 00H,0C2H,0D2H,0F2H,0D2H,0C4H,0D2H,0F2H

DB 0D2H,0C2H,0A2H,92H,0A8H

DB 92H,0A2H,0C2H,0A2H,92H,82H,62H,82H,58H,58H

DB 0C4H,22H,0D2H,0C4H,0A4H,92H,0A2H,92H,82H,92H,0A4H,092H

DB 84H,82H,32H,54H,22H,62H,052H,058H

DB 64H,22H,52H,64H,84H,92H,0A2H,92H,82H,92H,0A4H,0C2H

DB 92H,94H,0A2H,0C4H,22H,0D2H,0C8H,0C8H

DB 0D2H,0D4H,0C2H,0A2H,0A2H,92H,82H,92H,0A2H,0C2H,0A8H

DB 92H,94H,82H,62H,52H,52H,82H,98H,98H

DB 0A2H,0A4H,92H,0A2H,0C2H,0A4H,92H,0A2H,92H,82H,68H

DB 52H,0C2H,0A2H,0F2H,0C2H,0D2H,0A2H,92H,88H,88H

DB 0D2H,0D2H,0D2H,0C2H,0A2H,0A2H,22H

DB 92H,94H,82H,62H,52H,62H,82H,98H,98H

DB 0C2H,0D2H,0C2H,92H,0A2H,0A4H,0A2H

DB 92H,94H,82H,64H,84H,0C8H,0D1H,0C1H,0A2H,0C2H,0D4H,0D2H,0E2H

DB 0C2H,0D2H,0C2H,0A2H,98H

DB 0A4H,92H,82H,64H,22H,82H,92H,0A1H,91H,82H,92H,0A4H,22H,0C2H

DB 0D4H,22H,0A2H,94H,0A2H,92H,88H,88H,00

;---------------------------------------------------------------------------

TABLE10:DB 00H,04H,42H,52H,62H,42H,42H,52H,62H,42H,62H,72H,86H,62H,72H,86H;1

DB 82H,92H,82H,72H,62H,42H,82H,92H,82H

DB 72H,62H,42H,42H,82H,46H,42H,12H,48H,00

;----------------------------------------------------------------------------

TABLE11:DB 00H,23H,01H,63H,01H,51H,61H,41H,51H

DB 64H,22H,92H,51H,61H,72H,64H

DB 04H,63H,01H,93H,01H,81H,91H,0A1H,0A1H

DB 94H,53H,61H,41H,51H,41H,31H,24H,04H

DB 53H,61H,41H,51H,41H,31H,24H,04H,53H,61H,82H

DB 92H,0AAH,02H,93H,0A1H,91H,81H,98H,04H,91H

DB 81H,92H,04H,61H,51H,62H,04H,56H,42H,12H

DB 22H,32H,32,28H,08H,00

;--------------------------------------------------------------------------

;TABLE12:

;DB 01H,00H

;---------------------

END

虚拟像素分为两个部分分析:摄影(数码成像)和显示(LED三色成像)

数码成像:

通常有的摄像头的光学分辨率是30万,却号称这个摄像头的分辨率是130万的,经销商解释这130万是插值像素,像素越大越好并推荐选购。其实不然,首先理解下“差值”的概念,所谓“差值”是指图像放大过程中图形产生像素值的增加和原先像素显示时的差值,在图像放大过程中,像素也相应的增加,增加的过程就是“插值”发生作用的过程,软件程序会自动选择信息,利用较好的像素作为增加、弥补空白像素空间,(其过程不仅仅限于临近的像素去调用)过程可以理解为白酒掺水,关键是插值并不能增加图像信息,尽管图像尺寸变大,但效果也相对要模糊些。而所谓的虚拟像素,所指的就是插值或差值。

LED显示:

何为虚拟像素

一、 虚拟像素显示的定义:

显示单元中每一点的红、绿、蓝显示组成部分均匀分布,以配合像素的混色效果;虚显示点的表征颜色由相邻的红、绿、蓝像素混色构成。

虚拟像素的点是分散的,实像素的点是凝聚的。虚拟像素的发光点在灯管间,实像素的发光点在灯管上。

二、 如何计算实像素点对应的 LED管的数量?

当 R、G、B以2、1、1分布时,一个像素点有两个红管、一个绿管和一个蓝管组成。

当 R、G、B以1、2、1分布时,一个像素点有一个红管、二个绿管和一个蓝管组成。

所以,实像素 LED 管的数量计算就是像素点数乘以(2+1+1)或乘以(1+2+1)。

三、 虚拟象素的实现方法:

按 2红1绿1蓝配出的灯板,如果是实像素、3×5点阵;虚拟效果将成为5×9点阵。换算关系为:单行或单列时: M=2N-1,M:虚拟点; N:实点

整体大屏的显示效果是实像素的显示效果的四倍: n是行灯管数、m是列灯管数时:

实像素显示的像素数是: m×n

虚拟像素的显示的像点是:( 2n-1)×(2m-1),这样当m和n足够大时, 就约等于 2n×2m,也就是4mn,所以是实像素的四倍。

四、 如何计算实像素点对应的 LED管的数量?

因为虚拟像素没有像素点,只有虚像点,虚拟像素的 LED管的数量,是RGB具体灯管的数量。

五、 为什么使用虚拟象素?

1、 可以提高显示性能:在同等的灯管数量下,虚拟像素显示相当于四倍的实像素显示的效果。

2、 可以大幅降低整屏的造价:使用虚拟像素大屏可以在同等分辨率下少用四分之一的灯管,而且能达到实像素不少用灯管同等的视觉效果,现在虚拟表贴的全彩大屏的成本主要在灯管上。

3、 使用虚拟像素可以降低人观看时的疲劳感,因为在 LED大屏上发光点越是均匀分布,同等面积下发光越是均匀,所以人在观看时的疲劳感就越低。虚拟像素是现在世界最先进LED显示的技术,使用虚拟像素意味着走在世界前列。

六、 像素显示的分辨率的约束条件:

1、 虚拟像素在显示纯色时的情况?

答:虚拟像素在显示纯红色、纯绿色和纯蓝色时与实像素显示的效果一样。因为这是只有相应的单色的灯管是亮的。所以虚拟像素屏在显示混色时有优势。但在现实中显示的纯色的内容相对要少。

2、 增加的虚拟像素点亮度是否减弱? R、G、B以3、6、1组成像素点时在虚拟显示下R的亮度是否减弱?

答:不减弱,因为每个虚拟点都是由周围的四个实际发光的灯管的灯光组成的。

3、 控制系统上的实像素和虚拟像素显示的区别?

答:控制系统中的帧板、长线发送、长线接收、三色接口板在虚拟像素显示和实像素显示中是一样的。不同的只有扫描板上的 EPC1和24C16的程序内容。

4、 计算机屏幕上的点与 LED大屏上的点在虚拟显示下是一一对应的吗:

答:计算机屏幕上的点与 LED大屏上的点在虚拟显示下是一一对应的。

是记忆频道、音量、亮度、对比度等信息的存储器有故障了。

处理方法,

1检查是否是EEPROM存储器插接不良或座虚焊。如果是,插紧或补焊即可。

2如果不是接触问题,就要买个同型号的换上即可。

3有的品牌的ee中有厂家信息等,如果换上后还不正常,就要联系厂家维修了。

显示器表现不同。

高压板的性能是黑色屏,但用强光照射显示器,仍能看到显示器上的内容。因为高压板是给背光源灯管供电的。

所以损坏的文字只是显示背光源灯管,无法照亮显示的图像,其实显示器还会显示图像,但肉眼是很难看到的。

驱动板是大管屏,白屏,一旦损坏则液晶屏不能正常工作,因为驱动板是液晶屏的驱动电路。

扩展资料:

显示器开机无信号

1注意观察,主板灯不亮,CPU风扇不能转回来,电源风扇不能转回来。不报警的主板可能是大故障点;

2CMOS中设置的跳跃式主板的CPU频率不正确,可能导致显示无故障。在这方面,只要CMOS明确就可以解决;

3记忆不被氧化,用橡皮擦取下记忆棒,然后将其插入看看,一般问题就可以解决了;

4按下主板上的BIOS芯片进行连接并插紧;仍未排除错误的;

5尽量更换可靠的主机电源;如果故障仍然是现象,是主板母线出了问题,需要送去修理。

以上就是关于求C51 1t或者12T 单片机 读写24C04 或24C16 或24C32的C程序 要通过验证的才行哦,不要发24C02的哦!!全部的内容,包括:求C51 1t或者12T 单片机 读写24C04 或24C16 或24C32的C程序 要通过验证的才行哦,不要发24C02的哦!!、求AT24C16,与AT24C02的电路(用51单片机控制) 顺便说说 AT24C02与 AT24、单片机简易电子琴程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9272049.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存