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

📄 main.lis

📁 户外显示屏源程序
💻 LIS
📖 第 1 页 / 共 3 页
字号:
                        .module main.c
                        .area lit(rom, con, rel)
 0000           _table::
 0000 303132333435363738392E432000      .byte 48,49,50,51,52,53,54,55,56,57,46,'C,32,0
 000E                   .dbfile F:\我的设计\delphi\uartdispy\mcu\main.c
 000E                   .dbsym e table _table A[14:14]kc
                        .area data(ram, con, rel)
 0000                   .dbfile F:\我的设计\delphi\uartdispy\mcu\main.c
 0000           _i::
 0000                   .blkb 1
                        .area idata
 0000 00                .byte 0
                        .area data(ram, con, rel)
 0001                   .dbfile F:\我的设计\delphi\uartdispy\mcu\main.c
 0001                   .dbsym e i _i c
 0001           _clr::
 0001                   .blkb 1
                        .area idata
 0001 00                .byte 0
                        .area data(ram, con, rel)
 0002                   .dbfile F:\我的设计\delphi\uartdispy\mcu\main.c
 0002                   .dbsym e clr _clr c
 0002           _two::
 0002                   .blkb 1
                        .area idata
 0002 00                .byte 0
                        .area data(ram, con, rel)
 0003                   .dbfile F:\我的设计\delphi\uartdispy\mcu\main.c
 0003                   .dbsym e two _two c
 0003           _end::
 0003                   .blkb 1
                        .area idata
 0003 00                .byte 0
                        .area data(ram, con, rel)
 0004                   .dbfile F:\我的设计\delphi\uartdispy\mcu\main.c
 0004                   .dbsym e end _end c
 0004           _start::
 0004                   .blkb 1
                        .area idata
 0004 00                .byte 0
                        .area data(ram, con, rel)
 0005                   .dbfile F:\我的设计\delphi\uartdispy\mcu\main.c
 0005                   .dbsym e start _start c
 0005           _one::
 0005                   .blkb 1
                        .area idata
 0005 00                .byte 0
                        .area data(ram, con, rel)
 0006                   .dbfile F:\我的设计\delphi\uartdispy\mcu\main.c
 0006                   .dbsym e one _one c
                        .area text(rom, con, rel)
 0000                   .dbfile F:\我的设计\delphi\uartdispy\mcu\main.c
 0000                   .dbfunc e port_init _port_init fV
                        .even
 0000           _port_init::
 0000                   .dbline -1
 0000                   .dbline 42
 0000           ; /*********************************Copyright (c)*********************************
 0000           ; **                              
 0000           ; ** 文   件   名: main.c
 0000           ; ** 最后修改日期: 2005年06月8日
 0000           ; ** 描        述: 主函数
 0000           ; ** 版      本: V1.0
 0000           ; ** 主  控  芯 片:M16  晶振频率:8 MHZ
 0000           ; *******************************************************************************/
 0000           ; #include <iom16v.h>
 0000           ; #include <macros.h>
 0000           ; #include "define.h"
 0000           ; #include "function.h"
 0000           ; #include "defineDS18B20.h"
 0000           ; #include "defineLCD.h"
 0000           ; #define b9600   0x33
 0000           ; #define baud   b9600
 0000           ; #define fone   0x2a
 0000           ; #define ftwo   0x2b
 0000           ; #define fclr   0x2d
 0000           ; #define fend   0x3c
 0000           ; #define floop  0x3e
 0000           ; /******************************************************************************
 0000           ;                   定义全局变量
 0000           ; *******************************************************************************/
 0000           ; const unsigned char table[]="0123456789.C "  ;         //显示常量
 0000           ; unsigned char i=0                            ;         //中断里的计数变量
 0000           ; char string[18]                              ;         //字符串
 0000           ; unsigned char  clr   = 0                      ;         //清屏命令标志
 0000           ; unsigned char  two   = 0                      ;                  //第二行显示标志
 0000           ; unsigned char   end  = 0                                               ;        // 结束标志
 0000           ; unsigned char  start = 0                      ;         //接收完成标志
 0000           ; unsigned char  one   = 0                                               ;                 //第一行显示标志
 0000           ; 
 0000           ; 
 0000           ; //void draw(unsigned long int m );
 0000           ; /*****************************************************************************
 0000           ;                        函数声明
 0000           ; ******************************************************************************/
 0000           ; void puts(unsigned int data );
 0000           ; void display(void)           ;
 0000           ; void port_init(void)
 0000           ; {
 0000                   .dbline 43
 0000           ;  PORTA = 0x00;
 0000 2224              clr R2
 0002 2BBA              out 0x1b,R2
 0004                   .dbline 44
 0004           ;  DDRA  = 0x00;
 0004 2ABA              out 0x1a,R2
 0006                   .dbline 45
 0006           ;  PORTB = 0x00;
 0006 28BA              out 0x18,R2
 0008                   .dbline 46
 0008           ;  DDRB  = 0x00;                                                                         //输出
 0008 27BA              out 0x17,R2
 000A                   .dbline 47
 000A           ;  PORTC = 0x00;                                                                 //m103 output only
 000A 25BA              out 0x15,R2
 000C                   .dbline 48
 000C           ;  DDRC  = 0x00;                                                                 //输出 
 000C 24BA              out 0x14,R2
 000E                   .dbline 49
 000E           ;  DDRD  = 0x00;
 000E 21BA              out 0x11,R2
 0010                   .dbline 50
 0010           ;  PORTD = 0x00;
 0010 22BA              out 0x12,R2
 0012                   .dbline -2
 0012           L1:
 0012                   .dbline 0 ; func end
 0012 0895              ret
 0014                   .dbend
 0014                   .dbfunc e getchar _getchar fc
                        .even
 0014           _getchar::
 0014                   .dbline -1
 0014                   .dbline 58
 0014           ; }
 0014           ; 
 0014           ; /******************************************************************************
 0014           ; 
 0014           ;               //字符输入函数 
 0014           ; *******************************************************************************/               
 0014           ; unsigned char getchar(void)
 0014           ;       {
 0014           L3:
 0014                   .dbline 59
 0014           L4:
 0014                   .dbline 59
 0014           ;        while(!(UCSRA& (1<<RXC)));
 0014 5F9B              sbis 0xb,7
 0016 FECF              rjmp L3
 0018                   .dbline 60
 0018           ;      return UDR;
 0018 0CB1              in R16,0xc
 001A                   .dbline -2
 001A           L2:
 001A                   .dbline 0 ; func end
 001A 0895              ret
 001C                   .dbend
                        .area vector(rom, abs)
                        .org 44
 002C 0C940E00          jmp _uart0_rx_isr
                        .area text(rom, con, rel)
 001C                   .dbfile F:\我的设计\delphi\uartdispy\mcu\main.c
 001C                   .dbfunc e uart0_rx_isr _uart0_rx_isr fV
                        .even
 001C           _uart0_rx_isr::
 001C 2A92              st -y,R2
 001E 0A93              st -y,R16
 0020 1A93              st -y,R17
 0022 8A93              st -y,R24
 0024 9A93              st -y,R25
 0026 EA93              st -y,R30
 0028 FA93              st -y,R31
 002A 2FB6              in R2,0x3f
 002C 2A92              st -y,R2
 002E                   .dbline -1
 002E                   .dbline 69
 002E           ;       }
 002E           ;       
 002E           ;       
 002E           ; /*******************************************************************************
 002E           ;         串行口接收中断
 002E           ; *******************************************************************************/      
 002E           ; #pragma interrupt_handler uart0_rx_isr:12
 002E           ; void uart0_rx_isr(void)
 002E           ; {
 002E                   .dbline 70
 002E           ;  string[i]= UDR ;
 002E 80E0              ldi R24,<_string
 0030 90E0              ldi R25,>_string
 0032 E0910000          lds R30,_i
 0036 FF27              clr R31
 0038 E80F              add R30,R24
 003A F91F              adc R31,R25
 003C 2CB0              in R2,0xc
 003E 2082              std z+0,R2
 0040                   .dbline 71
 0040           ;  if(i==0)
 0040 20900000          lds R2,_i
 0044 2220              tst R2
 0046 79F5              brne L7
 0048                   .dbline 72
 0048           ;   {switch (string[0])
 0048                   .dbline 72
 0048 00910000          lds R16,_string
 004C 1127              clr R17
 004E 0A32              cpi R16,42
 0050 E0E0              ldi R30,0
 0052 1E07              cpc R17,R30
 0054 49F0              breq L12
 0056 0B32              cpi R16,43
 0058 E0E0              ldi R30,0
 005A 1E07              cpc R17,R30
 005C 89F0              breq L13
 005E 0D32              cpi R16,45
 0060 E0E0              ldi R30,0
 0062 1E07              cpc R17,R30
 0064 C9F0              breq L14
 0066 37C0              xjmp L8
 0068           X0:
 0068                   .dbline 73
 0068           ;    {
 0068           L12:
 0068                   .dbline 74
 0068           ;     case fone : {one=1;two=0;i++;}break;
 0068                   .dbline 74
 0068 81E0              ldi R24,1
 006A 80930500          sts _one,R24
 006E                   .dbline 74
 006E 2224              clr R2
 0070 20920200          sts _two,R2
 0074                   .dbline 74
 0074 80910000          lds R24,_i
 0078 8F5F              subi R24,255    ; addi 1
 007A 80930000          sts _i,R24
 007E                   .dbline 74
 007E                   .dbline 74
 007E 2BC0              xjmp L8
 0080           L13:
 0080                   .dbline 75
 0080           ;       case ftwo : {two=1;one=0;i++;}break;
 0080                   .dbline 75
 0080 81E0              ldi R24,1
 0082 80930200          sts _two,R24
 0086                   .dbline 75
 0086 2224              clr R2
 0088 20920500          sts _one,R2
 008C                   .dbline 75
 008C 80910000          lds R24,_i
 0090 8F5F              subi R24,255    ; addi 1
 0092 80930000          sts _i,R24
 0096                   .dbline 75
 0096                   .dbline 75
 0096 1FC0              xjmp L8
 0098           L14:
 0098                   .dbline 76
 0098           ;       case fclr : {clr=1;i=0;}      break;
 0098                   .dbline 76
 0098 81E0              ldi R24,1
 009A 80930100          sts _clr,R24
 009E                   .dbline 76
 009E 2224              clr R2
 00A0 20920000          sts _i,R2
 00A4                   .dbline 76

⌨️ 快捷键说明

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