📄 hardware.asm
字号:
;==========================================================
;
; 四川成都前锋电子股份有限公司
;
; QF561型税控器
;
; 底层硬件驱动程序
;
;==========================================================
;
;开发团队:
;前锋集团技术中心/税控收款机开发项目组1999-2005
;
;==========================================================
;
;硬件环境: QF561硬件版本号V1.0
;MCU: TOSHIBA TMP93CS41@max 16M/1
;程序版本: V1.00
;最后修订时间: 2004年12月17日
;修订部分说明:
;
;==========================================================
;********************系统配置命令**************************
$MAXIMUM
;*********************模块名定义***************************
module stc93ml_mac
;*********************器件信息*****************************
$include "TMP93CS41.inc"
;********************堆栈设置命令**************************
base_xsp equ 0x880 ;堆栈底部地址
;**********************外部声明****************************
extern large __Initial ;Defined in 'ini93ml.c'
;*********************指令段声明***************************
f_area section data large align=2,2
f_data section data medium align=2,2
QWE section data abs = 0x100
Buffer dsb 0x300
f_code section code abs = 0x900
PUBLIC __startup ;将在ini93ml.c文件中被调用
__startup:
;************************堆栈设置**************************
di ;设置前关闭中断,避免功能混乱
ld XSP,base_xsp ;For Setting XSP
;**********************系统时钟配置*************************
ld (SYSCR0),0xA0
ld (SYSCR1),0x00
;***********************端口初始化**************************
$include "Portinit.inc"
;**********************器件初始化***************************
$include "Initdevices.inc"
;*********************总线宽度设置**************************
ldb (B2CS),0x10 ;8-BIT宽总线结构
;*********************运行状态配制**************************
ldb (WDMOD),0x00 ;正常运行模式
;**********************看门狗配制***************************
ldb (WDCR),0xB1 ;禁止看门狗
;*********************系统初始化配置***********************
;由于PA口的口线方向需要频繁更改,并且PA口方向寄存器不允许读-修改-写
;操作,我们在内存空间内定义了一个变量地址用于存放一个方向字变量,
;这个方向字被定义在:
PACR_RAM equ 0x143
LD (PACR_RAM),0x60
LD (PACR),(PACR_RAM)
j __Initial ;在文件ini93ml.c中,器件初始化,由C完成
;==========================================================
;*********************汇编指令部分*************************
;----------------------地址定义---------------------------
ff_code section code abs=0x80800
;**********************************************************
PUBLIC __delay
__delay: ;延迟1mS
ld b,0x00
d_loop:
nop ;18T延迟核
nop
nop
nop
nop
nop
nop
nop
nop
djnz b,d_loop
ret
;**********************************************************
$include "Card_Cpuv21.inc" ;---cpu card操作
;**********************************************************
$include "LCDv115.inc" ;---LCD显示
;**********************************************************
$include "IcCardv17.inc" ;---IC card操作
;**********************************************************
$include "I2Cv10.inc" ;---I2C操作
;**********************************************************
$include "RTCv10.inc" ;---RTC操作
;**********************************************************
$include "USARTv201.inc" ;---串口操作
;**********************************************************
END
;**********************************************************
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -