网站公告列表

  没有公告

加入收藏
设为首页
联系站长
您现在的位置: 61IC中国电子在线 >> DSP >> 代码示例 >> TI DSP代码示例 >> C5000 >> 文章正文
  液晶屏实验代码         ★★★ 【字体:
液晶屏实验代码
作者:61IC    文章来源:本站原创    点击数:    更新时间:2007-1-22    

 

************************************************
* FileName:  ex8.asm                        *
* Description: 液晶屏             *
* Copyright(C) SanZhi Electronic, Author Zpin  *
************************************************

  .title "exx"
  .global _c_int00
  .mmregs

LCDAWD .set 7009h  ;液晶屏片选1写数据
LCDARO .set 700Ah  ;液晶屏片选1读状态
LCDAWO .set 7008h  ;液晶屏片选1写命令
LCDBWD .set 6009h  ;液晶屏片选2写数据
LCDBRO .set 600Ah  ;液晶屏片选2读状态
LCDBWO .set 6008h  ;液晶屏片选2写命令
STATE   .set    60h    ;STATE
CONTROL .set    61h    ;CONTROL
DAT     .set    62h    ;DATA
XPOS    .set    66h    ;列指针
YPOS    .set    67h    ;行指针
VXPOS   .set    68h
VYPOS   .set    69h
       
  .data
  ;.word 2100h,0900h,1100h,2400h,2200h,0100h,0900h,2000h,2400h
        ;.byte  000H,010H,008H,006H,001H,082H,008cH,040H,030H,00cH,003H,00cH,010H,060H,0c0H,040H,000H,004H,034H,0c4H,04H,0c4H,03cH,020H,010H,00fH,0e8H,008H,008H,028H,018H,000H     ;欢
        .byte  14h,24h,44h,84h,64h,1Ch,20h,18h,0Fh,0E8h,08h,08h,28h,18h,08h,00h,20h,10h,4Ch,43h,43h,2Ch,20h,10h,0Ch,03h,06h,18h,30h,60h,20h,00h
        .byte  40h,41h,0CEh,04h,00h,0FCh,04h,02h,02h,0FCh,04h,04h,04h,0FCh,00h,00h,40h,20h,1Fh,20h,40h,47h,42h,41h,40h,5Fh,40h,42h,44h,43h,40h,00h
        .byte  40h,20h,0F0h,1Ch,07h,0F2h,94h,94h,94h,0FFh,94h,94h,94h,0F4h,04h,00h,00h,00h,7Fh,00h,40h,41h,22h,14h,0Ch,13h,10h,30h,20h,61h,20h,00h
        .byte  00h,00h,00h,0FEh,22h,22h,22h,22h,0FEh,22h,22h,22h,22h,0FEh,00h,00h,80h,40h,30h,0Fh,02h,02h,02h,02h,0FFh,02h,02h,42h,82h,7Fh,00h,00h
        .byte  00h,04h,84h,84h,84h,84h,84h,84h,84h,84h,84h,84h,84h,04h,00h,00h,00h,20h,20h,20h,20h,20h,20h,20h,20h,20h,20h,20h,20h,20h,20h,00h
        .byte  40h,0A0h,98h,8Fh,88h,0F8h,88h,88h,00h,0F8h,08h,08h,08h,0F8h,00h,00h,80h,40h,20h,18h,07h,02h,04h,18h,00h,7Fh,10h,10h,10h,3Fh,00h,00h
        .byte  08h,0F8h,08h,08h,08h,10h,0E0h,00h,00h,00h,00h,00h,00h,00h,00h,00h,20h,3Fh,20h,20h,20h,10h,0Fh,00h,00h,00h,00h,00h,00h,00h,00h,00h
        .byte   00h,70h,88h,08h,08h,08h,38h,00h,00h,00h,00h,00h,00h,00h,00h,00h, 00h,38h,20h,21h,21h,22h,1Ch,00h,00h,00h,00h,00h,00h,00h,00h,00h
        .byte   08h,0F8h,08h,08h,08h,08h,0F0h,00h,00h,00h,00h,00h,00h,00h,00h,00h,20h,3Fh,21h,01h,01h,01h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h
        .byte   00h,10h,0Ch,04h,4Ch,0B4h,94h,05h,0F6h,04h,04h,04h,14h,0Ch,04h,00h,00h,82h,82h,42h,42h,23h,12h,0Ah,07h,0Ah,12h,0E2h,42h,02h,02h,00h
        .byte   02h,0FAh,82h,82h,0FEh,80h,40h,60h,58h,46h,48h,50h,20h,20h,20h,00h,08h,08h,04h,24h,40h,3Fh,22h,2Ch,21h,2Eh,20h,30h,2Ch,23h,20h,00h
        .byte   40h,20h,0F0h,0Ch,03h,00h,38h,0C0h,01h,0Eh,04h,0E0h,1Ch,00h,00h,00h,00h,00h,0FFh,00h,40h,40h,20h,10h,0Bh,04h,0Bh,10h,20h,60h,20h,00h
        ;.byte  0H,40H,020H,01fH,020H,047H,042H,041H,00H,07fH,040H,042H,044H,023H,060H,010H,00H,042H,044H,088H,00H,0fcH,04H,02H,03H,0feH,02H,02H,02H,0feH,00H,00H                   ;迎
        ;.byte  00,00,00,0ffH,00,080H,043H,045H,029H,019H,017H,021H,021H,041H,0c3H,040H,00H,040H,020H,0f8H,07H,04H,0f4H,014H,014H,014H,0ffH,014H,014H,014H,0f6H,04H                 ;使
        ;.byte  00H,080H,060H,01fH,02H,02H,02H,02H,07fH,02H,02H,042H,082H,07fH,00H,00H,00H,00H,00H,0feH,022H,022H,022H,022H,0feH,022H,022H,022H,022H,0ffH,02,00                     ;用
        ;.byte  00h,020h,020h,020h,020h,020h,020h,020h,020h,020h,020h,020h,020h,020h,030h,020h,00h,00h,04h,084h,084h,084h,084h,084h,084h,084h,084h,084h,0c4h,086h,04h,00h           ;三
DELAY .macro sec_tenth  ;延时 sec_tenth/10 秒
  STM sec_tenth-1,AR5
loop1? STM #09h,AR6
loop0? STM #49999,AR7
  BANZ $,*AR7-
  BANZ loop0?,*AR6-
  BANZ loop1?,*AR5-
  .endm

  .sect ".vectors"
rst: B _c_int00
  NOP
  NOP
  .space 15*4*16

   .text
_c_int00

  LD #0h,DP
  STM #3000h,SP
  SSBX INTM
  STM #07FFFh,SWWSR  ;IO总线外部等待时间14个周期
  STM #01h,2Bh

  STM #0h,CLKMD   ;20MHz工作
tst  BITF CLKMD,#1h
  BC tst,TC
  STM #01007h,CLKMD
  RPT #0FFh
  NOP
  
  ST #0FFFFh,IFR
  ORM #0001h,IMR
  RSBX INTM
  
  LD #0h,DP
        call LCDRESET;read state
        st #4h,ar1
        ST #0H,DAT
        CALL FILL
bb      st #2000h,AR0 ;欢
        st #1fh,XPOS
        st #02H,YPOS
        CALL WRITE
        ST #1fH,XPOS
        ST #03H,YPOS
        CALL WRITE
        
        st #2fh,XPOS  ;迎
        st #02H,YPOS
        CALL WRITE
        ST #2fH,XPOS
        ST #03H,YPOS
        CALL WRITE
                       ;使
        st #3fh,XPOS
        st #02H,YPOS
        CALL WRITE
        ST #3fH,XPOS
        ST #03H,YPOS
        CALL WRITE
       
       
        st #4fh,XPOS
        st #02H,YPOS
        CALL WRITE
        ST #4fH,XPOS
        ST #03h,YPOS
        CALL WRITE               ;用
       
        st #0bh,XPOS         ;三
        st #04H,YPOS
        CALL WRITE
        ST #0bH,XPOS
        ST #05h,YPOS
        CALL WRITE

        st #1ah,XPOS         ;知
        st #04H,YPOS
        CALL WRITE
        ST #1aH,XPOS
        ST #05h,YPOS
        CALL WRITE

        st #29h,XPOS         ;D
        st #04H,YPOS
        CALL WRITE
        ST #29H,XPOS
        ST #05h,YPOS
        CALL WRITE
       
        st #31h,XPOS         ;S
        st #04H,YPOS
        CALL WRITE
        ST #31H,XPOS
        ST #05h,YPOS
        CALL WRITE

       
        st #39h,XPOS         ;P
        st #04H,YPOS
        CALL WRITE
        ST #39H,XPOS
        ST #05h,YPOS
        CALL WRITE

        st #041h,XPOS         ;实
        st #04H,YPOS
        CALL WRITE
        ST #041H,XPOS
        ST #05h,YPOS
        CALL WRITE

        st #50h,XPOS         ;验
        st #04H,YPOS
        CALL WRITE
        ST #50H,XPOS
        ST #05h,YPOS
        CALL WRITE

        st #5fh,XPOS         ;仪
        st #04H,YPOS
        CALL WRITE
        ST #5fH,XPOS
        ST #05h,YPOS
        CALL WRITE
        NOP
        NOP
        CALL DELAY
        call DELAY
        CALL DELAY
        ST #00H,DAT
        CALL FILL
        CALL DELAY
        banz bb,*ar1-
        nop
        nop
        nop
        b bb
FILL    ST  #00H,YPOS
LFLPB   ST  #00H,XPOS
LFLPA   CALL LCDPOS
        nop
        nop
        nop
        rpt #10
        CALL LCDWD
        ADDM #01H,XPOS
        BITF XPOS,#80H
        BC  LFLPA,NTC
        ADDM #01H,YPOS
        BITF YPOS,#08H
        BC LFLPB,NTC
        RET

WRITE    MVDK XPOS,VXPOS
         ST #0FH,AR2
WRITE1   MVDK *AR0+,DAT
         ANDM #0FFH,DAT
         CALL LCDPOS
         CALL LCDWD         
         ADDM #01H,XPOS
         BANZ WRITE1,*AR2-
         MVDK VXPOS,XPOS
         ST #0FH,AR2
         RET

WAITIDLE1  PORTR  LCDARO,STATE ;READ CS1 STATE
                nop
          nop
          BITF STATE,#80H    ;为0表示准备好
          BC WAITIDLE1,tc
             ret
WAITIDLE2  PORTR  LCDBRO,STATE  ;READ CS2 STATE
          nop
          nop
          BITF STATE,#080H
          BC WAITIDLE2,tc
          ret
LCDWC1       CALL WAITIDLE1            ;WRITE CS1 CONTROL
           PORTW  CONTROL,LCDAWO
           RET
LCDWC2       CALL WAITIDLE2            ;WRITE CS2 CONTROL
            PORTW  CONTROL,LCDBWO 
                 RET
LCDWD1           CALL WAITIDLE1            ;WRITE CS1 DATA
                 PORTW DAT,LCDAWD
                 RET
LCDWD2           CALL WAITIDLE2             ;WRITE CS2 DATA
                 PORTW DAT,LCDBWD
                 RET                          
LCDRESET         ;ST #003EH,CONTROL        ;复位LCD
                 ;CALL LCDWC1
                 ;CALL LCDWC2
           ST #003FH,CONTROL        ;复位LCD
                 CALL LCDWC1
                 CALL LCDWC2
                 ST #00C0H,CONTROL
                 CALL LCDWC1
                 CALL LCDWC2
                 RET
LCDWD            BITF XPOS,#0040H
                 BC LWDLAY,tc
                 CALL LCDWD1
                ;RPT #1AH
                 B LWDLAX
LWDLAY           CALL LCDWD2
                ;RPT #1AH
LWDLAX           RET

LCDPOS      BITF XPOS,#0040H    ;XPOS列方向小于64则对CS1操作
            BC LPSLAY,tc
            MVDK YPOS,VYPOS
      ANDM #0007H,VYPOS
      ADDM #0B8H,VYPOS
      MVDK VYPOS,CONTROL
      CALL LCDWC1            ;设页码
      MVDK XPOS,VXPOS
      ANDM #03FH,VXPOS
      ORM  #40H,VXPOS
      MVDK VXPOS,CONTROL       ;设列码
      CALL LCDWC1
      B LCDLAX
LPSLAY     MVDK YPOS,VYPOS
            ANDM #0007H,VYPOS    ;XPOS列方向大于等于64则对CS1操作
      ADDM #0B8H,VYPOS
      MVDK VYPOS,CONTROL
      CALL LCDWC2            ;设页码
      MVDK XPOS,VXPOS
      ANDM #03FH,VXPOS
      ORM  #40H,VXPOS
      MVDK VXPOS,CONTROL
      CALL LCDWC2             ;设列码
LCDLAX      RET  


DELAY ST #0100h,AR7   ;延时子程序
  BANZ $,*AR7-
  BANZ DELAY,*AR6-
  RET

  
;testxf stm #ST1,AR0
;  bitf *AR0,#2000h
;  bc clrxf,TC
;  ssbx xf
;  ret
;clrxf rsbx xf
;  ret

;testxf ssbx xf
;  DELAY #1
;  rsbx xf
;  DELAY #1
;  b testxf

               欢迎点击进入:TI德州中文网   (国内唯一针对TI应用的中文技术网站)    文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
    没有相关文章
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    站长:61IC 湘ICP备05002478号