📄 maxbcdasm.asm
字号:
;******************************************************************************/
;* file name:MAXBCDASM.ASM */
;* */
;* This is proprietary information, not to be published -- NUAA_306_WORKGUROP */
;* Copyright (C) 2003, NUAA_306_WORKGROP. All Rights Reserved. */
;* */
;* Author: Jianbo.CHU */
; Date: June,8, 2003 */
; */
; This code is to driver the micro-printer */
; */
;* */
;************************************************
* MAX7219 LED显示电路
;阴极LED 控制芯片MAX7219
;CAP5/QEO4/IPOF0 与MAX7219 OE脚相连
;CAP6/IOPF1与max7219 dir相连
;1 A到B
;0 B到A
;MAX7219 与 LF240连接7 说明
;DIN(1管脚) PWM7/IOPE1 LED显示所用信号
;LOAD(12管脚) PWM8/IOPE2
;CLK(13管脚) PWM9/IOPE3 */
.include "F2407REGS.H"
;(1)建立中断向量表
.sect ".vectors" ;定义主向量段
RSVECT B _c_int0 ;PM 0 复位向量1
INT1 B GISR1 ;PM 2 中断优先级 14
INT2 B PHANTOM ;PM 4 中断优先级2 5
INT3 B PHANTOM ;PM 6 中断优先级 36
INT4 B PHANTOM ;PM 8 中断优先级 47
INT5 B GISR5 ;PM A 中断优先级 58
INT6 B PHANTOM ;PM C 中断优先级 69
RESERVED B PHANTOM ;PM E (保留位)10
SW_INT8 B PHANTOM ;PM 10 用户定义软件中断 -
INT7 B PHANTOM
INT8 B PHANTOM
INT9 B PHANTOM
INT10 B PHANTOM
INT11 B PHANTOM
INT12 B PHANTOM
INT13 B PHANTOM
INT14 B PHANTOM
INT15 B PHANTOM
INT20 B PHANTOM
INT21 B PHANTOM
INT22 B PHANTOM
INT23 B PHANTOM
INT24 B PHANTOM
INT25 B PHANTOM
INT26 B PHANTOM
INT27 B PHANTOM
INT28 B PHANTOM
INT29 B PHANTOM
INT30 B PHANTOM
SW_INT31 B PHANTOM ;PM 3E 用户定义软件中断
DIN_7219 .set 02h
LOAD_7219 .set 04h
CLK_7219 .set 08h
.bss temp1,1
.bss temp2,1
;中断子向量入口定义pvecs
.sect ".pvecs" ;定义子向量段
PVECTORS B PHANTOM ;保留向量地址偏移量0000h
B PHANTOM ;保留向量地址偏移量0001h
.space 80
B PHANTOM ;保留向量地址偏移量003Fh
B PHANTOM ;保留向量地址偏移量0040h CAN接收中断
B PHANTOM ;保留向量地址偏移量0041h
;(2)主程序
.text
_c_int0 ; clrc xf
CALL SYSINIT ;系统初始化程序
CALL IOPF_INIT
CALL IOPE_INIT
LAR AR6,#60H
CLRC INTM
;SETC XF
; LDP #PEDATDIR>>7
; SBIT0 PBDATDIR,B0
;
; SBIT0 PEDATDIR,DIN_7219
; SBIT1 PEDATDIR,DIN_7219
; SBIT0 PEDATDIR,DIN_7219
;
; SBIT0 PEDATDIR,CLK_7219
; SBIT1 PEDATDIR,CLK_7219
; SBIT0 PEDATDIR,CLK_7219
;
; SBIT0 PEDATDIR,LOAD_7219
; SBIT1 PEDATDIR,LOAD_7219
; SBIT0 PEDATDIR,LOAD_7219
;CALL ALLON
LDP #200H>>7
;LACC #1240H,4
;IN 240H,0100H
;LACL 240H
;LACC 240H
SPLK #0CC11H,200H
SPLK #0CC11H,200H
SPLK #0FF00H,201H
SPLK #099FFH,202H
SPLK #0AA44H,203H
SPLK #0BB77H,204H
;SPLK #1100H,210H
;SPLK #2200H,211H
;SPLK #3300H,212H
;SPLK #4400H,213H
;SPLK #5500H,214H
;SPLK #6600H,215H
;SPLK #7700H,216H
;SPLK #8800H,217H
SPLK #1109H,230H
SPLK #2289H,231H
SPLK #3309H,232H
SPLK #4489H,233H
SPLK #5505H,234H
SPLK #6689H,235H
SPLK #7705H,236H
SPLK #8809H,237H
SPLK #0FFH,241H
SPLK #100H,240H
LAR AR1,#200H ;//shut down normal,D0=1,else all down
CALL WRITE_7219
LAR AR1,#201H
CALL WRITE_7219
LAR AR1,#202H
CALL WRITE_7219
LAR AR1,#203H
CALL WRITE_7219
LAR AR1,#204H
CALL WRITE_7219
;LDP #200H>>7
;SPLK #9901H,210H
;SPLK #2202H,211H
;SPLK #3303H,212H
;SPLK #4404H,213H
;SPLK #5505H,214H
;SPLK #6606H,215H
;SPLK #7707H,216H
;SPLK #8808H,217H
;SPLK #9909H,218H ;
;LAR AR1,#210H
;CALL WRITE_7219
;LAR AR1,#211H
;CALL WRITE_7219
;LAR AR1,#212H
;CALL WRITE_7219
;LAR AR1,#213H
;CALL WRITE_7219
;LAR AR1,#214H
;CALL WRITE_7219
;LAR AR1,#215H
;CALL WRITE_7219
;LAR AR1,#216H
;CALL WRITE_7219
;LAR AR1,#217H
;CALL WRITE_7219
;LAR AR1,#218H ;
;CALL WRITE_7219 ;
;LAR AR1,#temp1
;MAR *,AR1
;SPLK #05319H,* ;Data to be displayed
;CALL BCDWRITE
;LAR AR1,#temp1
;MAR *,AR1
;SPLK #temp1,* ;Data to be displayed
;CALL ADRESSWRITE
;CALL SHUTDOWN
CALL QS
WAIT:
LDP #200H>>7
LACL 240H
SUB #100H
BCND L0,EQ ;=0
LACL 240H
SUB #0CH
BCND LCLR,EQ ;=0
LACL 240H
SUB #0EH
BCND LE,EQ ;=0
LACL 240H
SUB #0EH
BCND LF,EQ ;=0
LACL 240H
SUB #0AH
BCND LST0,EQ ;=0
LDP #200H>>7
LACL 240H
SUB #0BH
BCND WAIT1,EQ ;=0
SPLK #100H,240H
B L0
LSTOP: SPLK #100H,240H
WAIT1:
LDP #200H>>7
LACL 240H
SUB #0CH
BCND LCLRW,EQ ;=0
LACL 240H
SUB #0AH
SPLK #100H,240H
BCND L0,EQ ;=0
B WAIT1
LCLRW:
LDP #200H>>7
SPLK #100H,240H
SPLK #1100H,230H
SPLK #2280H,231H
SPLK #3300H,232H
SPLK #4480H,233H
SPLK #5500H,234H
SPLK #6680H,235H
SPLK #7700H,236H
SPLK #8800H,237H
CALL QS
B WAIT1
LCLR:
LDP #200H>>7
SPLK #100H,240H
SPLK #1,241H
SPLK #1109H,230H
SPLK #2289H,231H
SPLK #3309H,232H
SPLK #4489H,233H
SPLK #5505H,234H
SPLK #6689H,235H
SPLK #7705H,236H
SPLK #8809H,237H
B L0
LE:
LDP #200H>>7
SPLK #100H,240H
SPLK #1,241H
B L0
LF:
LDP #200H>>7
SPLK #100H,240H
SPLK #0FFH,241H
B L0
LST0:
LDP #200H>>7
SPLK #100H,240H ;SPLK #8800H,217H
L0:
LDP #200H>>7
LACL 237H
sub #1
SACL 237H
SUB #8800H
BCND L1,EQ ;=0
B L20
L1: SPLK #8809H,237H
LACL 236H
sub #1
SACL 236H
SUB #7700H
BCND L2,EQ ;<=0
B L20
L2: SPLK #7705H,236H
LACL 235H
sub #1
SACL 235H
SUB #6680H
BCND L3,EQ ;<=0
B L20
L3: SPLK #6689H,235H
LACL 234H
sub #1
SACL 234H
SUB #5500H
BCND L4,EQ ;<=0
B L20
L4: SPLK #5505H,234H
LACL 233H
sub #1
SACL 233H
SUB #4480H
BCND L5,EQ ;<=0
B L20
L5: SPLK #4489H,233H
LACL 232H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -