#1楼主:在示波器上显示名字(转)
文章发表于:2008-05-13 02:40
记得以往有个电赛的题是用单片机和液晶屏开发示波器的,那个需要弄懂和掌握的信号与测量的知识比起仅仅分配X、Y时序和偏压来要复杂的多。
板子用的89s52+DAC0832×2+LM358做的,大家应该就会知道个大概了。
显示的内容是“谢成荫”三个字。很明显的效果有些不尽人意:首先是程序代码可能有些问题,字段上的点有些错位;然后屏幕左边明显比右边挤些,估计是电路内部构成的时间电路有关,其实在末极运放上做个补偿就能消除这个问题,但是,懒得做了~~
程序贴在下面,可以看见注释部分还一片空白,也懒得去添了,反正也不是这一回不负责任了。对这个很感兴趣的朋友还请多花些时间,慢慢读下程序,不长,也还简单。
板子焊起来比较费事,有条件还是不要用万能板,自己做个线路板。
PS:回头看发现这些天在无聊搞显示部分搞了个不停,有块没有任何资料的液晶屏折腾得我死去活来。还说考研呢,晕头转向的。...
WR2 BIT P2.7
WRX BIT P2.4
WRY BIT P2.6
ORG 00H
SJMP MAIN
MAIN:MOV SP,#70H
START:MOV R0,#96
MOV R1,#255
CLR WRX
MOV P0,R1
NOP
NOP
NOP ;<——这里这么多NOP是为了等待0832这个蜗牛反应的,少了还不行
NOP
NOP
NOP
NOP
NOP
NOP
NOP
SETB WRX
MOV R2,#0
CLR WRY
MOV P0,R2
SETB WRY
MOV R3,#0
MOV DPTR,#TABLE1
READ: MOV A,#0
MOVC A,@A+DPTR
DISPWD:JNB ACC.7,INCY
CLR WR2
LCALL DELAY1
SETB WR2
INCY:PUSH A
MOV A,R2
ADD A,#16
MOV R2,A
CLR WRY
MOV P0,A
SETB WRY
POP A
RL A
INC R3
CJNE R3,#8,DISPWD
MOV R3,#0
INC DPTR
DJNZ R0,JUDGEY
SJMP START
JUDGEY:CJNE R2,#0,READ
MOV A,R1
SUBB A,#5
MOV R1,A
CLR WRX
MOV P0,A
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
SETB WRX
SJMP READ
DELAY1:MOV R7,#960.0007
DJNZ R7,$
RET
TABLE1:
;谢
db 02H,00H,42H,00H,33H,0FCH,00H,4AH
db 3FH,0D4H,6AH,48H,0AAH,52H,2AH,61H
db 7FH,0FEH,24H,80H,04H,62H,04H,01H
db 0FFH,0FEH,04H,00H,04H,00H,00H,00H
;成
db 00H,02H,00H,04H,1FH,0F8H,11H,00H
db 11H,10H,11H,08H,11H,0F0H,10H,02H
db 0FEH,04H,11H,0C8H,50H,38H,30H,24H
db 10H,0C2H,13H,01H,00H,0FH,00H,00H
;荫
db 20H,00H,2FH,0FFH,28H,10H,29H,08H
db 0FAH,88H,2CH,71H,20H,02H,20H,0CH
db 2FH,0F0H,29H,20H,0F9H,20H,29H,22H
db 29H,21H,6FH,0FEH,20H,00H,00H,00H