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

📄 hardware.asm

📁 本程序为某企业的税控机固件程序.基于东芝TMP93CS41 16位单片机编写,符合国家标准.该程序已经经过多次长期调试.
💻 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 + -