⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 subdef.asm

📁 一个点阵LED屏动态扫描显示的控制程序
💻 ASM
字号:
LEDCLK    EQU  P1.1
LEDRCK    EQU  P1.3     ; 锁存
LEDDAT    EQU  P1.2
LEDNOE    EQU  P1.6     ; 使能 低有效
LEDLIN    EQU  P1.7     ; 上八行下八行使能
LEDA2     EQU  P3.5     ; 地址的A2位



TXDCTR    EQU  P1.5      ;
;
biFRMFS   EQU  20H     ; 闪烁标志
biFRMBK   EQU  21H     ; 亮灭标志
;
biEPROM   EQU  22H    ; 读写E2PROM的A8地址位
biRXDFLG  EQU  23H    ; 485接收状态           =1 接收到帧头状态     =0 空
biCOMPRO  EQU  24H    ; 485接收等待处理状态   =1 接收等待处理停止接收 =0 可以接收
biTXDFLG  EQU  25H    ; 485数据帧发送状态     =1 数据帧发送状态  =0 空
biINFFLG  EQU  26H    ; 485发送状态           =1 有信息需发送    =0 无
biWR2864  EQU  27H    ; 写2864状态            =1 写2864等待状态 =0 空
biF8FLG   EQU  28H    ; 下传帧标志
biVISFLG  EQU  29H    ; 显示状态改变
biDYNA    EQU  2AH    ; 动态显示
biDYNADEL EQU  2BH    ; 动态计时标志
biSTOP    EQU  2CH    ; 显示暂停标志
biRXDDA   EQU  2DH    ; 接收数据标志
;
;

;
;
rDATBUF   EQU  18H    ; 定时器专用 临时寄存器
;
yRXDNUM   EQU  0BH    ; 485 接收字符数     第二组寄存器 R3
yFLGNUM   EQU  0CH    ; 485 接收帧长度数   第二组寄存器 R4
yTXDBG    EQU  0DH    ; 485 发送字符数     第二组寄存器 R5
yTXDNUM   EQU  0EH    ; 485 发送帧字符总数 第二组寄存器 R6
;

yCOMBUF   EQU  2EH    ;
yDATABUF  EQU  2FH
yCOMADR   EQU  30H    ; 485通讯 本机地址
;
yWR2864   EQU  31H    ; 写2864的延时计数器
;
yMSECL    EQU  32H    ; 1ms 计时器  低字
yMSECH    EQU  33H    ; 1ms 计时器  高字
;
;
yVISX     EQU  34H
yVISY     EQU  35H
;
;
yVALH     EQU  36H     ; 显示分值高2位(BCD码)
yVALL     EQU  37H     ; 显示分值高2位(BCD码)
yVISBIT   EQU  38H
;
yVISFLG   EQU  39H     ; 显示状态
;                      ; =0 显示缺省
                       ; =1 显示分值
                       ; =2 获得抢答 显示闪烁
                       ; =3 显示机号
                       ; =9 总复位
;
yWRTBGH   EQU  3AH     ; 写2864起始高字
yWRTBGL   EQU  3BH     ; 写2864起始低字

yFLSHDEL  EQU  3CH     ; 闪烁延时
yDYNA     EQU  3DH
;
;50H~5AH  显示代码暂存
;
;
DY_ADDR   EQU  0FFH      ;  本机地址
;

D_RAM     EQU  00000H    ;  00000H~01FFFH(6264)
D_KEYRD   EQU  02000H    ;
D_VISCOM  EQU  04001H
D_VISDAT  EQU  04000H
D_KEYOUT  EQU  08000H
D_E2PROM  EQU  0A000H    ; 0A000H~0BFFFH
D_VISLIN  EQU  08000H    ; 行扫描输出地址
;


;
;
D_TXD485  EQU  00100H    ; 485发送通讯帧存放区
;
D_VISBUF  EQU  00200H    ; 显示缓冲区
D_VISBUF2 EQU  00400H    ; 显示缓冲区2
D_DOTBUF  EQU  00600H    ; 缺省显示点阵暂存
D_VISDOT  EQU  0C000H    ; 缺省显示点阵
D_VISDYNA EQU  01000H
D_RXD485  EQU  00100H    ;
;
;
;
;
;
;
;
;
;
;
;P1.2     FS(VIS)    显示器字符控制信号
; **25045读写信号控制
;P1.0     X-CS
;P1.1     X-SO
;P1.6     X-SI
;P1.7     X-CLK
;
;P1.4     发送允许     (高有效)
;P1.5     接收允许     (低有效)
;
;
;
; 6264地址分配
;
; 00100H~001FFH   485发送通讯帧存放区
;                   00H      发送地址
;                   01H      帧总长度
;                   02H~0FFH 帧信息
;
; 00200H~003FFH   显示缓冲区
; 00400H~005FFH   显示缓冲区2
; 00600H~007FFH   缺省显示点阵暂存
;
;2864 存储分配   0C000H~0DFFFH
;
;
; 0C000H~0C1FFH   缺省显示点阵暂存
;
;
;2864 写有延时 写入一个字节需延时8ms 左右
;写2864建立队列,以不影响CPU响应其他事件.
;
;
; 通讯协议
;
;
; 上传协议帧:
;
; EAH + 本机地址 + 命令字 + 帧长度 + 信息 + 校验字 + EDH
;
; 帧长度: 从本字开始到帧尾的所有字节数
; 校验字: 信息的校验和
; 信息:   不定长
;
; 下传协议帧:
;
; EAH + 目的地址 + 命令字 + 帧长度 + 信息序列号 + 信息 + 校验字 + EDH
;
; 信息: 最长为 240 BYTE
; 信息序列号: 长帧拆分为短帧,其中短帧信息的顺序号
; 目的地址为0FBH 为叫号器广播帧
; 目的地址为0FCH 为发号机广播帧
;
; 地址分配
; FFH       主机地址
; F8H       下传地址
; 00H~0EFH  抢答器   共240个外接设备地址
; F0H       打分器地址
;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -