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

📄 main.lis

📁 项目是为日本瑞萨工作所做的BAKE炉温控系统 整个文件夹包括设计文档
💻 LIS
字号:
                        .module main.c
                        .area data
 0000           _FLine::
 0000                   .blkb 1
                        .area idata
 0000 00                .byte 0
                        .area data
 0001                   .dbfile main.c
 0001                   .dbsym e FLine _FLine c
 0001           _LcdShowBuff::
 0001                   .blkb 64
                        .area idata
 0001 CBD5D6DDB4F3D1A72020202020202020  .byte 203,213,214,221,180,243,209,167,32,32,32,32,32,32,32,32
 0011 B5A5C6ACBBFACAB5D1E9CAD220202020  .byte 181,165,198,172,187,250,202,181,209,233,202,210,32,32,32,32
 0021 687474703A2F2F73756D63752E732020  .byte 'h,'t,'t,'p,58,47,47,'s,'u,'m,'c,'u,46,'s,32,32
 0031 7564612E6564752E636E202020202020  .byte 'u,'d,'a,46,'e,'d,'u,46,'c,'n,32,32,32,32,32,32
                        .area data
 0041                   .dbfile main.c
 0041                   .dbsym e LcdShowBuff _LcdShowBuff A[64:64]c
                        .area text
 0000                   .dbfile main.c
 0000                   .dbfunc e main _main fV
 0000           ;             RF -> 0,X
 0000           ;             LN -> 2,X
 0000           _main::
 0000                   .dbline -1
 0000 A7FD              ais #-3
 0002 95                tsx
 0003                   .dbline 31
 0003           ; /*-----------------------------------------------------*
 0003           ; *工 程 名:TG12864E02.prj                               *
 0003           ; *硬件连接: 1.LCD的DB0-7与MCU的B口的PTB0-7连接          *
 0003           ; *          2.LCD的RS,R/W,E与MCU的PTC0,PTC1,PTC2连接    *
 0003           ; *   功 能:初始时显示:"苏州大学        "                *
 0003           ; *                    "单片机实验室    "                *
 0003           ; *                    "http://sumcu.s  "                *
 0003           ; *                    "uda.edu.cn      "                *
 0003           ; *-----------------------------------------------------*/
 0003           ; 
 0003           ; /*[头文件]*/
 0003           ; #include "GP32C.h"        //映像寄存器地址头文件
 0003           ; #include "lcd.h"          //Lcd头文件
 0003           ; #include "SCI.h"          //SCI头文件
 0003           ; //有关定时器寄存器位定义
 0003           ; #define TSTOPBit   5      //定时器计数停止位
 0003           ; //定时器初始化函数声明
 0003           ; void Timer1init(void);
 0003           ; //SCI初始化
 0003           ; extern void SCIInit(void);
 0003           ; //全局变量声明
 0003           ;   unsigned char FLine=0;  //得到焦点的行号
 0003           ;   //[外部定义64个字节的Lcd显示缓冲区]
 0003           ;   unsigned char LcdShowBuff[64]="苏州大学        "
 0003           ;                                 "单片机实验室    "                
 0003           ;                                 "http://sumcu.s  "                
 0003           ;                                 "uda.edu.cn      ";
 0003           ; //*====================================================*
 0003           ; /*[主函数]*/
 0003           ; void main()
 0003           ;  {  
 0003                   .dbline 34
 0003           ;     unsigned char *RF;        //接收标志
 0003           ;     unsigned char LN;         //行号标志
 0003           ;     asm("SEI");               //关总中断
 0003 9B                SEI
 0004                   .dbline 35
 0004           ;     Timer1init();             //调定时器1初始化子程序
 0004 CD0097            jsr _Timer1init
 0007                   .dbline 36
 0007           ;     Lcdinit();                //Lcd初始化
 0007 CD0000            jsr _Lcdinit
 000A                   .dbline 37
 000A           ;     SCIInit();                //SCI初始化
 000A CD0000            jsr _SCIInit
 000D 95                tsx
 000E                   .dbline 38
 000E           ;     asm("CLI");               //开总中断
 000E 9A                CLI
 000F CC0091            jmp L3
 0012           L2:
 0012                   .dbline 42
 0012           ;   //[主循环]
 0012           ;   //循环等待接收
 0012           ;   while(1)
 0012           ;   {
 0012                   .dbline 43
 0012           ;       SCISend1(86);
 0012 A656              lda #86
 0014 87                psha
 0015 CD0000            jsr _SCISend1
 0018 A701              ais #1
 001A 95                tsx
 001B                   .dbline 44
 001B           ;       if(SCIRe1(RF)!=56) continue;
 001B E601              lda 1,X
 001D 87                psha
 001E F6                lda ,X
 001F 87                psha
 0020 CD0000            jsr _SCIRe1
 0023 A702              ais #2
 0025 95                tsx
 0026 B700              sta *__r1
 0028 A138              cmp #56
 002A 2702              beq L5
 002C                   .dbline 44
 002C 2063              bra L3
 002E           L5:
 002E                   .dbline 45
 002E           ;       LN=SCIRe1(RF);
 002E E601              lda 1,X
 0030 87                psha
 0031 F6                lda ,X
 0032 87                psha
 0033 CD0000            jsr _SCIRe1
 0036 A702              ais #2
 0038 95                tsx
 0039 B700              sta *__r1
 003B E702              sta 2,X
 003D                   .dbline 46
 003D           ;       if(LN==1)     //将接收到的数据放在第一行显示缓冲区
 003D A101              cmp #1
 003F 2610              bne L7
 0041                   .dbline 47
 0041           ;        SCIReN(16,LcdShowBuff);
 0041 450001            ldhx #_LcdShowBuff
 0044 89                pshx
 0045 8B                pshh
 0046 A610              lda #16
 0048 87                psha
 0049 CD0000            jsr _SCIReN
 004C A703              ais #3
 004E 95                tsx
 004F 2040              bra L8
 0051           L7:
 0051                   .dbline 48
 0051           ;       else if(LN==2)//将接收到的数据放在第二行显示缓冲区
 0051 E602              lda 2,X
 0053 A102              cmp #2
 0055 2610              bne L9
 0057                   .dbline 49
 0057           ;          SCIReN(16,LcdShowBuff+16);
 0057 450011            ldhx #_LcdShowBuff+16
 005A 89                pshx
 005B 8B                pshh
 005C A610              lda #16
 005E 87                psha
 005F CD0000            jsr _SCIReN
 0062 A703              ais #3
 0064 95                tsx
 0065 202A              bra L10
 0067           L9:
 0067                   .dbline 50
 0067           ;       else if(LN==3)//将接收到的数据放在第三行显示缓冲区
 0067 E602              lda 2,X
 0069 A103              cmp #3
 006B 2610              bne L12
 006D                   .dbline 51
 006D           ;          SCIReN(16,LcdShowBuff+32);
 006D 450021            ldhx #_LcdShowBuff+32
 0070 89                pshx
 0071 8B                pshh
 0072 A610              lda #16
 0074 87                psha
 0075 CD0000            jsr _SCIReN
 0078 A703              ais #3
 007A 95                tsx
 007B 2014              bra L13
 007D           L12:
 007D                   .dbline 52
 007D           ;       else if(LN==4)//将接收到的数据放在第四行显示缓冲区
 007D E602              lda 2,X
 007F A104              cmp #4
 0081 260E              bne L15
 0083                   .dbline 53
 0083           ;          SCIReN(16,LcdShowBuff+48);
 0083 450031            ldhx #_LcdShowBuff+48
 0086 89                pshx
 0087 8B                pshh
 0088 A610              lda #16
 008A 87                psha
 008B CD0000            jsr _SCIReN
 008E A703              ais #3
 0090 95                tsx
 0091           L15:
 0091           L13:
 0091           L10:
 0091           L8:
 0091                   .dbline 54
 0091           L3:
 0091                   .dbline 41
 0091 CC0012            jmp L2
 0094           X0:
 0094                   .dbline -2
 0094           L1:
 0094 A703              ais #3
 0096                   .dbline 0 ; func end
 0096 81                rts
 0097                   .dbsym l RF 0 pc
 0097                   .dbsym l LN 2 c
 0097                   .dbend
 0097                   .dbfunc e Timer1init _Timer1init fV
 0097           _Timer1init::
 0097                   .dbline -1
 0097                   .dbline 64
 0097           ;   }
 0097           ;  }
 0097           ; 
 0097           ; /*[内部直接调用子程序存放处]*/
 0097           ; /*Timer1init:定时器1初始化子程序-----------------------*
 0097           ; *功能:对定时器1初始化                                  *
 0097           ; *参数:无                                               *
 0097           ; *返回:无                                               *
 0097           ; *-----------------------------------------------------*/
 0097           ; void Timer1init(void)
 0097           ;  {
 0097                   .dbline 66
 0097           ;      //允许溢出中断、不启动计数、分频因子=64
 0097           ;      T1SC=0b01100110;
 0097 A666              lda #102
 0099 B720              sta 0x20
 009B                   .dbline 68
 009B           ;      //计数寄存器初值=0x0000
 009B           ;      T1CNTH=0x00; T1CNTL=0x00;           
 009B 3F21              clr 0x21
 009D                   .dbline 68
 009D 3F22              clr 0x22
 009F                   .dbline 71
 009F           ;      //1/2秒产生1次溢出中断
 009F           ;      //计数寄存器=1/2×(2457600/64)=1200
 009F           ;      T1MODH=0x12; T1MODL=0x00;
 009F A612              lda #18
 00A1 B723              sta 0x23
 00A3                   .dbline 71
 00A3 3F24              clr 0x24
 00A5                   .dbline 73
 00A5           ;      //允许定时器1计数寄存器计数
 00A5           ;      T1SC&=~(1<<TSTOPBit);
 00A5 1B20              bclr #5,0x20
 00A7                   .dbline -2
 00A7           L18:
 00A7                   .dbline 0 ; func end
 00A7 81                rts
 00A8                   .dbend

⌨️ 快捷键说明

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