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

📄 main.s

📁 为日本瑞萨苏州分公司做的一个温控系统
💻 S
字号:
	.module main.c
	.area text
	.dbfile main.c
	.dbfunc e main _main fV
;              i -> 0,X
;              p -> 1,X
_main::
	.dbline -1
	ais #-3
	tsx
	.dbline 30
; /*-----------------------------------------------------*
; *工 程 名:Flash.prj                                    *
; *硬件连接:无                                           *
; *功  能:                                              *
; *    1.等待接收N+1个数,并放入N和data数组中             *
; *    2.擦除以addr为首地址的Flash一页,将N个数据写入     *
; *    3.从以addr为首址的Flash区读取N个数据,串口发送    *
; *说  明:                                               *
; *    1.与Visual Basic 6.0 程序Flash_Test.vbp联合运行   *
; *    2.擦/写函数中用来暂存写入或擦除程序的首末地址的   *
; *      变量pbase,pend;用来暂存待写入或擦除的Flash首    *
; *      地址faddr;用来存放写入的数据个数N和写入的数据   *
; *      data[]必须在main函数中定义,否则将出错           *
; *    3.调用擦/写子程序之前先将待擦/写页后一页开始的    *
; *       所有区域写保护                                 *
; *------------------------------------------------------*
; /*[头文件]*/
; #include "SCI.h"           //串行通信子程序头文件
; #include "GP32C.h"         //包含头文件
; #include "flash.h"         //包含头文件
; #include "SCIInit.h"         //包含头文件
; //UINT16 g_bBegin, g_bEnd, g_pAddress;
; //函数声明
; 
; //内存变量声明
; unsigned char N,data[64]; //N:写入FLASH的数据个数
;                           //data:将写入flash的数据
; //主程序
; void main()
;   {
	.dbline 33
;     unsigned char i;
;     unsigned char *p;
;     SCIInit();            //调串行口初始化子程序
	jsr _SCIInit
	tsx
	bra L3
L2:
	.dbline 36
;     //主循环开始
;     while(1)
;     {  
	.dbline 37
;       SCISend1(86);       //发送握手信号86
	lda #86
	psha
	jsr _SCISend1
	ais #1
	tsx
	.dbline 39
;       //等待接收一个字节的握手信号
;       if(SCIRe1(p)!=56)   //是否是56?
	lda 2,X
	psha
	lda 1,X
	psha
	jsr _SCIRe1
	ais #2
	tsx
	sta *__r1
	cmp #56
	beq L5
	.dbline 40
;         continue;         //否,继续握手      
	bra L3
L5:
	.dbline 42
	ldhx #_data
	pshx
	pshh
	lda #1
	psha
	jsr _SCIReN
	ais #3
	.dbline 43
	mov *_data,*_N
	.dbline 45
	ldhx #_data
	pshx
	pshh
	lda *_N
	psha
	jsr _SCIReN
	ais #3
	.dbline 48
	lda #2
	sta 0xff7e
	.dbline 49
	ldhx #-32768
	pshx
	pshh
	jsr _EraseFlash
	ais #2
	.dbline 52
	lda #2
	sta 0xff7e
	.dbline 53
	clr *__r0
	lda *_N
	psha
	lda *__r0
	psha
	ldhx #_data
	pshx
	pshh
	ldhx #-32768
	pshx
	pshh
	jsr _WriteFlash
	ais #6
	.dbline 55
	ldhx #-32768
	pshx
	pshh
	lda *_N
	psha
	jsr _SCISendN
	ais #3
	tsx
	.dbline 56
L3:
	.dbline 35
	bra L2
X0:
	.dbline -2
L1:
	ais #3
	.dbline 0 ; func end
	rts
	.dbsym l i 0 c
	.dbsym l p 1 pc
	.dbend
	.area bss
	.dbfile main.c
_data::
	.blkb 64
	.dbsym e data _data A[64:64]c
_N::
	.blkb 1
	.dbsym e N _N c

⌨️ 快捷键说明

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