80C196单片机鼠标接口程序设计实例
yte
INT_PENDEQU09H:Byte
BAUD_RTEQU0EH:Byte
IOP2EQU10H:Byte
SP_CONEQU11H:Byte
SP_STATEQU11H:Byte
IOC1EQU16H:Byte
SPEQU18H:Word
;
;通用寄存器预定义
RSEGATICH
AX:DSW1
DX:DSW1
ALEQUAX:BYTE
AHEQU(AX+1):BYTE
DLEQUDX:BYTE
DHEQU(DX+1):BYTE
SCRNWEQU640;显示屏宽度
SCRNHEQU480;显示屏高度
;
;变量区
RSEGAT20H
M_X:DSW1;光标X值
M_Y:DSW1:光标Y值
M_BUF:DSB4;接收缓冲区
M_P:DSW1;接收指针
BX:DSW1
LRB_OK:DSB1;鼠标状态
;Bit7:存在,Bit5,左键,Bit4:右键
;
CSEGAT2000H
DCWINIT
CSEGAT200CH
DCWSIOINT
DCWINIT
DCW0
DCB0,0,0,0,0,0
DCB08DH
DCB000H
DCB027H,0FEH
;
CSEGAT2080H
INIT:LDSP,#0100H;设堆栈指针
LDM_X,#SCRNW/2;初始化指针
LDM_Y,#SCRNH/2
ANDBLRB_OK,#7CH
LDM_P,#M_BUF
CLRBINT_PEND;清除中断
LDBINT_MASK,#40H;开串行中断
LDBAL,SP_STAT;清除RI/TI
LDBSP_CON,#09H;设串口模式
LDBBAUD_RT,#9BH;1200,12MHz
LDBBAUD_RT,#80H
INT_PENDEQU09H:Byte
BAUD_RTEQU0EH:Byte
IOP2EQU10H:Byte
SP_CONEQU11H:Byte
SP_STATEQU11H:Byte
IOC1EQU16H:Byte
SPEQU18H:Word
;
;通用寄存器预定义
RSEGATICH
AX:DSW1
DX:DSW1
ALEQUAX:BYTE
AHEQU(AX+1):BYTE
DLEQUDX:BYTE
DHEQU(DX+1):BYTE
SCRNWEQU640;显示屏宽度
SCRNHEQU480;显示屏高度
;
;变量区
RSEGAT20H
M_X:DSW1;光标X值
M_Y:DSW1:光标Y值
M_BUF:DSB4;接收缓冲区
M_P:DSW1;接收指针
BX:DSW1
LRB_OK:DSB1;鼠标状态
;Bit7:存在,Bit5,左键,Bit4:右键
;
CSEGAT2000H
DCWINIT
CSEGAT200CH
DCWSIOINT
DCWINIT
DCW0
DCB0,0,0,0,0,0
DCB08DH
DCB000H
DCB027H,0FEH
;
CSEGAT2080H
INIT:LDSP,#0100H;设堆栈指针
LDM_X,#SCRNW/2;初始化指针
LDM_Y,#SCRNH/2
ANDBLRB_OK,#7CH
LDM_P,#M_BUF
CLRBINT_PEND;清除中断
LDBINT_MASK,#40H;开串行中断
LDBAL,SP_STAT;清除RI/TI
LDBSP_CON,#09H;设串口模式
LDBBAUD_RT,#9BH;1200,12MHz
LDBBAUD_RT,#80H
- 上一篇论文: 用68HC908GP32单片机实现EPP增强并口的接口技术
- 下一篇论文: TM卡信息纽扣在预付费水表中的应用