機電之家資源網(wǎng)
單片機首頁|單片機基礎|單片機應用|單片機開發(fā)|單片機文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓信息
贊助商
DSP(LF2407)以串行方式驅(qū)動液晶
DSP(LF2407)以串行方式驅(qū)動液晶
 更新時間:2008-7-27 16:54:30  點擊數(shù):3
【字體: 字體顏色
  工作需要選擇一款液晶,看到北京集粹電子設備制造有限公司的O12864-12C型液晶尺寸比較適合,于是就用手頭的DSP-LF2407A板編程序看效果,調(diào)試后,效果圖如下(圖1):   

                                                       

1

       接線圖如下(圖2):

          

                                          2

       源程序如下:

;主程序-----------LCD.ASM

                     .title              "LCD.ASM"

                     .include      "F2407REGS.H"              ;引用頭部文件

 

                 .def             _c_int0

 

s_data           .usect          ".data0",        1            ;send data

temp             .usect            ".data0",       1            ;臨時RAM

acc_H           .usect            ".data0",       1            ;臨時保存ACC.H

acc_L           .usect            ".data0",       1            ;臨時保存ACC.L

zkadr            .usect            ".data0",       1            ;漢字庫地址

wht_blk        .usect            ".data0",       1            ;清屏效果字

 

;宏定義

;SDL-----IOPE1

SDL_L         .macro                                                   

                     ldp         #DP_PF2

                     lacl  PEDATDIR

                     and        #0fffdh

                     sacl PEDATDIR

                     .endm

 

SDL_H        .macro

                     ldp         #DP_PF2

                     lacl  PEDATDIR

                     or           #00002h

                     sacl PEDATDIR

                     .endm

 

;SCL------IOPE2

SCL_L         .macro

                     ldp         #DP_PF2

                     lacl  PEDATDIR

                     and        #0fffbh

                     sacl PEDATDIR

                     .endm

 

SCL_H         .macro

                     ldp         #DP_PF2

                     lacl  PEDATDIR

                     or           #00004h

                     sacl PEDATDIR

                     .endm

 

;A0_L------IOPE3

A0_L            .macro

                     ldp         #DP_PF2

                     lacl  PEDATDIR

                     and        #0fff7h

                     sacl PEDATDIR

                     .endm

 

A0_H           .macro

                     ldp         #DP_PF2

                     lacl  PEDATDIR

                     or           #00008h

                     sacl PEDATDIR

                     .endm

 

;RES_L------IOPE4

RES_L         .macro

                     ldp         #DP_PF2

                     lacl  PEDATDIR

                     and        #0ffefh

                     sacl PEDATDIR

                     .endm

 

RES_H         .macro

                     ldp         #DP_PF2

                     lacl  PEDATDIR

                     or           #00010h

                     sacl PEDATDIR

                     .endm

 

;CS_L------IOPE4

CS_L            .macro

                     ldp         #DP_PF2

                     lacl  PEDATDIR

                     and        #0ffdfh

                     sacl PEDATDIR

                     .endm

 

CS_H           .macro

                     ldp         #DP_PF2

                     lacl  PEDATDIR

                     or           #00020h

                     sacl PEDATDIR

                     .endm

 

;DELAY

DELY           .macro n

                     rpt          #n

                     nop

                     .endm

             

;==========================================================

                 .text

_c_int0: nop

                     call  Init_DSP

                     call  Init_LCD

 

loop:

                     ldp         #DP_B02

                     splk #0ffh,                  wht_blk

                     call  Clr_LCD                                  ;黑色清屏

      

                     lar          ar4,               #01h

                     call  Delay

 

                     ldp         #DP_B02

                     splk #000h,                 wht_blk

                     call  Clr_LCD                                  ;白色清屏

 

                     lar          ar4,               #01h

                     call  Delay                                 ;延時

 

                     ldp         #DP_B02

                     splk #XM,                   zkadr

                     call  Display                              ;顯示熊貓圖片

 

                     lar          ar4,               #40h

                     call  Delay                                 ;延時

 

                     ldp         #DP_B02

                     splk #PIG,                   zkadr

                     call  Display                              ;顯示小豬圖片

 

                     lar          ar4,               #40h      ;延時

                     call  Delay

 

 

                     b            loop                                  

;==========================================================

 

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

;      function:       Init DSP              DSP初始化子程序

;      input:            ------

;      output:          ------

;      usege:           acc

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

Init_DSP:

 

                     setc intm

                     clrc sxm

                     clrc ovm

                     clrc cnf                       ;B0 被配置為數(shù)據(jù)存儲空間

 

                     ldp         #DP_PF1

                     splk #85feh,                SCSR1

                     splk #0e8h,                 WDCR;不使能WDT

 

                     ldp         #0

                     splk #0000h,               IMR      ;不使能

                     splk #0ffffh,        IFR ;清全部中斷標志

 

                     ldp         #DP_PF2

                     splk #0ff00h,              MCRB

                    

                     lacl  MCRC

                     and        #0ff00h               ;IOPE口配置為一般I/O功能

                     sacl MCRC

 

                     lacl  PEDATDIR

                     or           #0ff00h               ;IOPE 設置為輸出方式

                     sacl PEDATDIR

 

                     ret

 

 

 

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

;      function:       Clr_LCD                    液晶清屏(RAM)子程序

;      input:            wht_blk

;      output:          LCD

;      usege:           acc,ar4,ar5,ar6,ar7

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

Clr_LCD:

                     lar          ar4,        #7

                     lar          ar6,        #0afh

 

cl_lp:            mar        *,                  ar6

                     adrk       #1

 

                     ldp         #DP_B02

                     sar          ar6,        s_data

                     call  Wr_comd

 

                     ldp         #DP_B02

                     splk #010h,          s_data

                     call  Wr_comd

                    

                     ldp         #DP_B02

                     splk #000h,          s_data

                     call  Wr_comd    

 

                     lar          ar5,        #127

cl_lp0:          ldp         #DP_B02

                     lacl  wht_blk

                     sacl s_data

                     call  Wr_data

 

                     mar        *,                  ar5 

                     banz       cl_lp0

 

                     mar        *,                  ar4 

                     banz       cl_lp

 

                     ret

 

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

;      function:       display LCD                     液晶顯示子程序

;      input:            zkadr

;      output:          LCD

;      usege:           acc,ar4,ar5,ar6,ar7

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

Display:

                     lar          ar4,        #7

 

                     lar          ar6,        #0afh

 

dp_lp:           mar        *,                  ar6

                     adrk       #1

 

                     ldp         #DP_B02

                     sar          ar6,        s_data

                     call  Wr_comd

 

                     ldp         #DP_B02

                     splk #010h,          s_data

                     call  Wr_comd

                    

                     ldp         #DP_B02

                     splk #000h,          s_data

                     call  Wr_comd    

 

                     ldp         #DP_B02

                     lacl  zkadr                                 ;送字庫首地址

                     lar          ar5,        #127             ;128

dp_lp0:         ldp         #DP_B02                  

                     tblr  s_data

                     sacl acc_L                                ;暫存acc.L

                     call  Wr_data

                     ldp         #DP_B02

                     lacl  acc_L                                ;恢復acc.L

                     add        #1                                      ;下一列

 

                     mar        *,                  ar5 

                     banz       dp_lp0

 

                     ldp         #DP_B02

                     lacl  zkadr

                     add        #128                                  ;下一頁

                     sacl zkadr                                 ;暫存下一頁地址

 

                     mar        *,                  ar4 

                     banz       dp_lp

 

                     ret

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

;      function:       init LCD              液晶初始化子程序

;      input:            s_data

;      output:          LCD

;      usege:           acc,ar7

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

Init_LCD:    RES_L

                     DELY    200

                     RES_H

                     DELY    100

 

                     CS_H

                     DELY    100

 

                     ldp         #DP_B02

                     splk #0afh,           s_data

                     call  Wr_comd                                 ;ON display

 

                     ldp         #DP_B02

                     splk #40h,            s_data

                     call  Wr_comd                                 ;star display

                    

                     ldp         #DP_B02

                     splk #0a0h,          s_data

                     call  Wr_comd                                 ;ADC normal     

                    

                     ldp         #DP_B02

                     splk #0a6h,          s_data

                     call  Wr_comd                                 ;

                    

                     ldp         #DP_B02

                     splk #0a4h,          s_data

                     call  Wr_comd                                 ;clear

                    

                     ldp         #DP_B02

                     splk #0a2h,          s_data

                     call  Wr_comd                                 ;1/9BIAS

                    

                     ldp         #DP_B02

                     splk #0c8h,          s_data

                     call  Wr_comd                                 ;direction

                    

                     ldp         #DP_B02

                     splk #02fh,           s_data

                     call  Wr_comd                                 ;power control

                    

                     ldp         #DP_B02

                     splk #024h,          s_data

                     call  Wr_comd                                 ;resister ratio

                    

                     ldp         #DP_B02

                     splk #081h,          s_data

                     call  Wr_comd                                 ;volum mode set

                    

                     ldp         #DP_B02

                     splk #024h,          s_data

                     call  Wr_comd                                 ;resister ratio

 

                     ret

 

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

;      function:       write command   寫命令字子程序

;      input:            s_data

;      output:          LCD

;      usege:           acc,ar7

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

Wr_comd:    CS_L

                     DELY    8

 

                     A0_L

                     DELY    8

                                                

                     ldp         #DP_B02

                     lacc s_data,          16

 

                     call  Data_out

 

                     DELY    8                         

                     CS_H

                    

                     ret

 

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

;      function:       write data            寫數(shù)據(jù)字子程序

;      input:            s_data

;      output:          LCD

;      usege:           acc,ar7

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

Wr_data:      CS_L

                     DELY    8

 

                     A0_H   

                     ldp         #DP_B02

                     lacc s_data,          16

 

                     call  Data_out

 

                     DELY    8                         

                     CS_H

 

                     ret

 

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

;      function:       data out 基本數(shù)據(jù)輸出實現(xiàn)

;      input:            acc.H

;      output:          LCD

;      usege:           acc,ar7

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

Data_out:

                     lar          ar7,        #07h

 

                     rpt          #7

                     sfl

 

                     ldp         #DP_B02

                     sach       acc_H

 

dt_lp:            SCL_L

                     DELY   8

 

                     ldp         #DP_B02

                     zalr acc_H

                     sfl

                     sach       acc_H

 

                     bcnd      dt_0,             NC

                     SDL_H

                     b            dt_jp

dt_0:             SDL_L

dt_jp:            DELY   8

                     SCL_H

 

                     DELY   8

                     mar        *,                  ar7

                     banz       dt_lp            

                     ret  

 

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

;      function:       Delay            延時

;      input:            ar4

;      output:          ---

;      usege:           ar4,ar0

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

Delay:           nop

dy_lp:           mar        *,                  ar0

                     lar          ar0,        #0ffffh

dy_lp0:         nop

                     banz       dy_lp0

                     mar        *,                  ar4 

                     banz       dy_lp

                     ret         

                    

 

;字庫部分

;字庫提。PCtoLCD2002完美版

模式:圖形

選項:陰碼 逆向 列行式

PIG:      ;小豬圖庫

.byte 0C0H,0C0H,0E0H,0E0H,0E0H,0C0H,080H,000H,------

       -------------

 

XM:       ;熊貓圖庫

.byte 000H,000H,000H,000H,000H,000H,000H,000H,000H,----

       --------------

 

                     .end

  • 上一篇: GPS導航定位系統(tǒng)的DSP設計與實現(xiàn)
  • 下一篇: DSP結合的dsPIC芯片
  • 發(fā)表評論   告訴好友   打印此文  收藏此頁  關閉窗口  返回頂部
    熱點文章
     
    推薦文章
     
    相關文章
    網(wǎng)友評論:(只顯示最新5條。)
    關于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機電之家 | 會員助手 | 免費鏈接

    點擊這里給我發(fā)消息66821730(技術支持)點擊這里給我發(fā)消息66821730(廣告投放) 點擊這里給我發(fā)消息41031197(編輯) 點擊這里給我發(fā)消息58733127(審核)
    本站提供的機電設備,機電供求等信息由機電企業(yè)自行提供,該企業(yè)負責信息內(nèi)容的真實性、準確性和合法性。
    機電之家對此不承擔任何保證責任,有侵犯您利益的地方請聯(lián)系機電之家,機電之家將及時作出處理。
    Copyright 2007 機電之家 Inc All Rights Reserved.機電之家-由機電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術支持

    主辦:杭州市高新區(qū)(濱江)機電一體化學會
    中國行業(yè)電子商務100強網(wǎng)站

    網(wǎng)站經(jīng)營許可證:浙B2-20080178-1