导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→请教12864  ST7920控制器

* 85064: 请教12864 ST7920控制器

   Maxchang 
Maxchang发表的帖子 

 请教12864  ST7920控制器
我的程序:
RS    EQU    P3.2
RW    EQU    P3.3
E     EQU    P3.4
ORG  0H
ACALL DELAY1
ACALL DELAY1
ACALL DELAY1
ACALL DELAY1
ACALL DELAY1
ACALL DELAY1
ACALL DELAY1
STAR:     MOV   A,#01H
          LCALL WRITE_COM
          LCALL SETUP    ; 初始化
          LCALL DEF_CHAR  ;显示图形
          MOV A,#80H
          LCALL WRITE_COM
          MOV R3,#8H
SETUP:

          MOV A,#00001100B        ;功能设定
          LCALL WRITE_COM
          ACALL DELAY1
          MOV A,#00001100B         ;8位数据线,基本指令
          LCALL WRITE_COM
          MOV A,#00001110B         ;显示状态开关
          LCALL WRITE_COM
          ACALL DELAY1
          MOV A,#00000001B          ;清屏
          LCALL WRITE_COM
          ACALL DELAY1
          ACALL DELAY1
          ACALL DELAY1
          ACALL DELAY1

          MOV A,#00000110B         ;点设定
          LCALL WRITE_COM
          RET

WRITE_COM:
          LCALL DELAY1
          CLR RS
          CLR RS
          CLR RW
          CLR RW
          MOV P1,A
          MOV P1,A
          SETB E
          SETB E
          NOP
          NOP
          CLR E
          CLR E
          RET
DEF_CHAR:
          MOV A,#01000000B          ;设定CGRAM地址
          LCALL WRITE_COM
          MOV R3,#8H
DEF1:
          MOV A,#0H
          LCALL WRITE_DAT
          LCALL WRITE_DAT
          MOV A,#0FFH
          LCALL WRITE_DAT
          LCALL WRITE_DAT
          DJNZ R3,DEF1
          MOV R3,#8H
          RET
TEST11:
          MOV DPTR,#CGRAM1
          LCALL WRITE_CGRAM
          DJNZ R3,TEST11
          MOV A,#90H
          LCALL WRITE_COM
;Begin to display
BU0:
          CLR   RS
          SETB  RW
          SETB  E
          ACALL DELAY1
          CLR  E
          MOV A,P1
          JB   ACC.7,BU0       ;读BF,直到BF=0
          MOV A,#80H
          LCALL WRITE_COM
          MOV DPTR,#CHINESE
          LCALL WRITE_HZ
BU1:      CLR   RS
          SETB  RW
          SETB  E
          ACALL DELAY1
          CLR  E
          MOV A,P1
          JB   ACC.7,BU1
          MOV A,#90H
          LCALL WRITE_CGRAM
          MOV DPTR,#CHINESE1
          LCALL WRITE_HZ
          MOV A,#88H
          LCALL WRITE_COM
          MOV DPTR,#TABLE1
          LCALL WRITE_ASCII
          ACALL DELAY1
          ACALL DELAY1


AAA:      LCALL STAR
WRITE_CGRAM:
          CLR A
          MOV DPTR,#CGRAM1
          MOVC A,@A+DPTR
          LCALL WRITE_DAT
          INC DPTR
          CLR A
          MOVC A,@A+DPTR
          LCALL WRITE_DAT
          RET
WRITE_DAT:
          LCALL DELAY1
          SETB RS
          SETB RS
          CLR RW
          CLR RW
          MOV P1,A
          MOV P1,A
          SETB E
          SETB E
          NOP
          NOP
          CLR E
          CLR E
          RET
DELAY1:
          MOV R7,#10H       
D10:      MOV R6,#10H
D11:      DJNZ R6,D11
          DJNZ R7,D10
          RET
WRITE_ASCII:
          MOV R4,#16
DDDD:
          CLR A
          MOVC A,@A+DPTR
          LCALL WRITE_DAT
          INC DPTR
          DJNZ R4,DDDD
          RET
WRITE_HZ:
          MOV R4,#8
DD:
          CLR A
          MOVC A,@A+DPTR
          INC DPTR
          ACALL WRITE_DAT
          CLR A
          MOVC A,@A+DPTR
          INC DPTR
          LCALL WRITE_DAT
          DJNZ R4,DD
          RET
TABLE1:
          DB 48H,41H,4EH,47H,5AH,48H,4FH,55H      
          DB 20H,53H,55H,4EH,54H,45H,4BH,20H
TABLE2:
          DB 20H,57H,45H,4CH,43H,4FH,4DH,20H
          DB 54H,4FH,20H,59H,4FH,55H,21H,20H
CGRAM1:   DB 0H,0H   ;
CGRAM2:   DB 0H,2H
CGRAM3:   DB 0H,4H
CGRAM4:   DB 0H,6H
CHINESE:  DB 0A1H,0F1H,0BAH,0BCH,0D6H,0DDH,0C7H,0E5H    
CHINESE1: DB '有限公司欢迎您!'
END


怎么连个黑点都没有显示啊?
请高手指点!谢谢

Email: chunpu_chang@163.com

发表时间:2005年10月27日16:28:21

  
回复该帖

本主题共有 4 帖,分页:>>>>>该主题的所有内容[4]条

 *树形目录 只列出部分跟帖的标题以及简单的摘要信息 该主题的部分跟帖如下:

  85068.[详细]1
摘要:怎么没有回复[em23]......(18字)
- [Maxchang][894次] 2005年10月27日

  85074.[详细]1
摘要:自己解决了,哈哈......(15字)
- [Maxchang][961次] 2005年10月28日

  97497.[详细]共享一下
摘要:说说你是怎么解决的.........(21字)
- [哈佛][1114次] 2006年9月7日

[上一篇帖子]:TR1=1是启动定时器1,为串口提供clk.你的输出函数才能通过串口输出。
[下一篇帖子]:[求助]向做过MEGA128自编程的大虾们请教!!!在MEGA128中能否用仿真器分别将BOOT区程