專(zhuān)注差異化嵌入式產(chǎn)品解決方案 給智能產(chǎn)品定制注入靈魂給予生命
提供開(kāi)發(fā)工具、應(yīng)用測(cè)試 完善的開(kāi)發(fā)代碼案例庫(kù)分享
從全面的產(chǎn)品導(dǎo)入到強(qiáng)大技術(shù)支援服務(wù) 全程貼心伴隨服務(wù),創(chuàng)造無(wú)限潛能!
提供新的芯片及解決方案,提升客戶產(chǎn)品競(jìng)爭(zhēng)力
提供最新的單片機(jī)資訊,行業(yè)消息以及公司新聞動(dòng)態(tài)
工作需要選擇一款液晶,看到北京集粹電子設(shè)備制造有限公司的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 ;臨時(shí)RAM
acc_H .usect ".data0", 1 ;臨時(shí)保存ACC.H
acc_L .usect ".data0", 1 ;臨時(shí)保存ACC.L
zkadr .usect ".data0", 1 ;漢字庫(kù)地址
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
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
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 ;延時(shí)
ldp #DP_B02
splk #XM, zkadr
call Display ;顯示熊貓圖片
lar ar4, #40h
call Delay ;延時(shí)
ldp #DP_B02
splk #PIG, &n,bsp;zkadr
call Display ;顯示小豬圖片
lar ar4, #40h ;延時(shí)
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ù)存儲(chǔ)空間
ldp #DP_PF1
splk #85feh, SCSR1
splk #0e8h, WDCR;不使能WDT
ldp #0
splk #0000h, IMR ;不使能
splk #0ffffh, IFR ;清全部中斷標(biāo)志
ldp #DP_PF2
splk #0ff00h, MCRB
lacl MCRC
and #0ff00h ;IOPE口配置為一般I/O功能
sacl MCRC
lacl PEDATDIR
or #0ff00h ;IOPE 設(shè)置為輸出方式
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 ;送字庫(kù)首地址
lar ar5, #127 ;128列
;字庫(kù)部分
;字庫(kù)提?。?/span>PCtoLCD2002完美版
模式:圖形
選項(xiàng):陰碼 逆向 列行式
PIG: ;小豬圖庫(kù)
.byte 0C0H,0C0H,0E0H,0E0H,0E0H,0C0H,080H,000H,------
-------------
XM: ;熊貓圖庫(kù)
.byte 000H,000H,000H,000H,000H,000H,000H,000H,000H,----
--------------
.end