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

📄 main.lis

📁 项目是为日本瑞萨工作所做的BAKE炉温控系统 整个文件夹包括设计文档
💻 LIS
字号:
                        .module main.c
                        .area text
 0000                   .dbfile main.c
 0000                   .dbfunc e main _main fV
 0000           ;              i -> 0,X
 0000           ;              p -> 1,X
 0000           _main::
 0000                   .dbline -1
 0000 A7FD              ais #-3
 0002 95                tsx
 0003                   .dbline 30
 0003           ; /*-----------------------------------------------------*
 0003           ; *工 程 名:Flash.prj                                    *
 0003           ; *硬件连接:无                                           *
 0003           ; *功  能:                                              *
 0003           ; *    1.等待接收N+1个数,并放入N和data数组中             *
 0003           ; *    2.擦除以addr为首地址的Flash一页,将N个数据写入     *
 0003           ; *    3.从以addr为首址的Flash区读取N个数据,串口发送    *
 0003           ; *说  明:                                               *
 0003           ; *    1.与Visual Basic 6.0 程序Flash_Test.vbp联合运行   *
 0003           ; *    2.擦/写函数中用来暂存写入或擦除程序的首末地址的   *
 0003           ; *      变量pbase,pend;用来暂存待写入或擦除的Flash首    *
 0003           ; *      地址faddr;用来存放写入的数据个数N和写入的数据   *
 0003           ; *      data[]必须在main函数中定义,否则将出错           *
 0003           ; *    3.调用擦/写子程序之前先将待擦/写页后一页开始的    *
 0003           ; *       所有区域写保护                                 *
 0003           ; *------------------------------------------------------*
 0003           ; /*[头文件]*/
 0003           ; #include "SCI.h"           //串行通信子程序头文件
 0003           ; #include "GP32C.h"         //包含头文件
 0003           ; #include "flash.h"         //包含头文件
 0003           ; #include "SCIInit.h"         //包含头文件
 0003           ; //UINT16 g_bBegin, g_bEnd, g_pAddress;
 0003           ; //函数声明
 0003           ; 
 0003           ; //内存变量声明
 0003           ; unsigned char N,data[64]; //N:写入FLASH的数据个数
 0003           ;                           //data:将写入flash的数据
 0003           ; //主程序
 0003           ; void main()
 0003           ;   {
 0003                   .dbline 33
 0003           ;     unsigned char i;
 0003           ;     unsigned char *p;
 0003           ;     SCIInit();            //调串行口初始化子程序
 0003 CD0000            jsr _SCIInit
 0006 95                tsx
 0007 2073              bra L3
 0009           L2:
 0009                   .dbline 36
 0009           ;     //主循环开始
 0009           ;     while(1)
 0009           ;     {  
 0009                   .dbline 37
 0009           ;       SCISend1(86);       //发送握手信号86
 0009 A656              lda #86
 000B 87                psha
 000C CD0000            jsr _SCISend1
 000F A701              ais #1
 0011 95                tsx
 0012                   .dbline 39
 0012           ;       //等待接收一个字节的握手信号
 0012           ;       if(SCIRe1(p)!=56)   //是否是56?
 0012 E602              lda 2,X
 0014 87                psha
 0015 E601              lda 1,X
 0017 87                psha
 0018 CD0000            jsr _SCIRe1
 001B A702              ais #2
 001D 95                tsx
 001E B700              sta *__r1
 0020 A138              cmp #56
 0022 2702              beq L5
 0024                   .dbline 40
 0024           ;         continue;         //否,继续握手      
 0024 2056              bra L3
 0026           L5:
 0026                   .dbline 42
 0026 450000            ldhx #_data
 0029 89                pshx
 002A 8B                pshh
 002B A601              lda #1
 002D 87                psha
 002E CD0000            jsr _SCIReN
 0031 A703              ais #3
 0033                   .dbline 43
 0033 4E0040            mov *_data,*_N
 0036                   .dbline 45
 0036 450000            ldhx #_data
 0039 89                pshx
 003A 8B                pshh
 003B B640              lda *_N
 003D 87                psha
 003E CD0000            jsr _SCIReN
 0041 A703              ais #3
 0043                   .dbline 48
 0043 A602              lda #2
 0045 C7FF7E            sta 0xff7e
 0048                   .dbline 49
 0048 458000            ldhx #-32768
 004B 89                pshx
 004C 8B                pshh
 004D CD0000            jsr _EraseFlash
 0050 A702              ais #2
 0052                   .dbline 52
 0052 A602              lda #2
 0054 C7FF7E            sta 0xff7e
 0057                   .dbline 53
 0057 3F00              clr *__r0
 0059 B640              lda *_N
 005B 87                psha
 005C B600              lda *__r0
 005E 87                psha
 005F 450000            ldhx #_data
 0062 89                pshx
 0063 8B                pshh
 0064 458000            ldhx #-32768
 0067 89                pshx
 0068 8B                pshh
 0069 CD0000            jsr _WriteFlash
 006C A706              ais #6
 006E                   .dbline 55
 006E 458000            ldhx #-32768
 0071 89                pshx
 0072 8B                pshh
 0073 B640              lda *_N
 0075 87                psha
 0076 CD0000            jsr _SCISendN
 0079 A703              ais #3
 007B 95                tsx
 007C                   .dbline 56
 007C           L3:
 007C                   .dbline 35
 007C 208B              bra L2
 007E           X0:
 007E                   .dbline -2
 007E           L1:
 007E A703              ais #3
 0080                   .dbline 0 ; func end
 0080 81                rts
 0081                   .dbsym l i 0 c
 0081                   .dbsym l p 1 pc
 0081                   .dbend
                        .area bss
 0000                   .dbfile main.c
 0000           _data::
 0000                   .blkb 64
 0040                   .dbsym e data _data A[64:64]c
 0040           _N::
 0040                   .blkb 1
 0041                   .dbsym e N _N c

⌨️ 快捷键说明

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