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

📄 main.lis

📁 程序控制TFT全彩LCD显示屏
💻 LIS
📖 第 1 页 / 共 5 页
字号:
                        .module main.c
                        .area data(ram, con, rel)
 0000           _commtimer::
 0000                   .blkb 2
                        .area idata
 0000 0000              .word 0
                        .area data(ram, con, rel)
 0002                   .dbfile F:\yinhui\avr_tft\soft\main.c
 0002                   .dbsym e commtimer _commtimer i
 0002           _POS_number::
 0002                   .blkb 1
                        .area idata
 0002 03                .byte 3
                        .area data(ram, con, rel)
 0003                   .dbfile F:\yinhui\avr_tft\soft\main.c
 0003                   .dbsym e POS_number _POS_number c
                        .area vector(rom, abs)
                        .org 72
 0048 0C940000          jmp _uart0_rx_isr
                        .area data(ram, con, rel)
 0003                   .dbfile F:\yinhui\avr_tft\soft\main.c
                        .area text(rom, con, rel)
 0000                   .dbfile F:\yinhui\avr_tft\soft\main.c
 0000                   .dbfunc e uart0_rx_isr _uart0_rx_isr fV
 0000           ;            lll -> <dead>
 0000           ;              k -> <dead>
 0000           ;             aa -> <dead>
 0000           ;              s -> R16
                        .even
 0000           _uart0_rx_isr::
 0000 0A93              st -y,R16
 0002 0FB7              in R16,0x3f
 0004 0A93              st -y,R16
 0006                   .dbline -1
 0006                   .dbline 40
 0006           ; #include <iom128v.h>
 0006           ; #include <macros.h>
 0006           ; #include <stdio.h>
 0006           ; #include <eeprom.h>
 0006           ; #include "main.h"
 0006           ; #include "lcd_saizi.h"
 0006           ; #include "lcd_pic001.h"
 0006           ; #include "lcd_pic002.h"
 0006           ; 
 0006           ; unsigned int commtimer=0;
 0006           ; unsigned int beep_second;
 0006           ; unsigned char beep_flag;
 0006           ; unsigned char time_sector;         //设定的开门时段数
 0006           ; unsigned int alarm_time;           //报警时间
 0006           ; 
 0006           ; unsigned char time_data[7];
 0006           ; unsigned char RxHead1;
 0006           ; unsigned char sio1_flag;
 0006           ; unsigned char head1;
 0006           ; unsigned char RxHead0;
 0006           ; unsigned char sio0_flag;
 0006           ; unsigned char head0;
 0006           ; 
 0006           ; unsigned char passflag;
 0006           ; unsigned char password1;
 0006           ; unsigned int timecounter;
 0006           ; unsigned char POS_number=0x03;
 0006           ; unsigned char botelv_flag;
 0006           ; 
 0006           ; unsigned char RxHead0;
 0006           ; unsigned char sio_flag;
 0006           ; unsigned char head;
 0006           ; unsigned char TX_BUF0[75];                                     //发送缓冲区数组
 0006           ; unsigned char RX_BUF0[600];                                     //接受缓冲区数组
 0006           ; 
 0006           ; unsigned int timer;
 0006           ; 
 0006           ; #pragma interrupt_handler uart0_rx_isr:19
 0006           ; void uart0_rx_isr(void)
 0006           ; {
 0006                   .dbline 45
 0006           ;        unsigned char s;
 0006           ;        unsigned char aa;
 0006           ;        unsigned int k;
 0006           ;        unsigned char lll;
 0006           ;        CLI();
 0006 F894              cli
 0008                   .dbline 46
 0008           ;      s = UDR0;
 0008 0CB1              in R16,0xc
 000A                   .dbline 48
 000A           ;        
 000A           ;         SEI();
 000A 7894              sei
 000C                   .dbline -2
 000C           L1:
 000C 0991              ld R16,y+
 000E 0FBF              out 0x3f,R16
 0010 0991              ld R16,y+
 0012                   .dbline 0 ; func end
 0012 1895              reti
 0014                   .dbsym l lll 1 c
 0014                   .dbsym l k 1 i
 0014                   .dbsym l aa 1 c
 0014                   .dbsym r s 16 c
 0014                   .dbend
 0014                   .dbfunc e TransmitByte0 _TransmitByte0 fV
 0014           ;             ct -> R20
 0014           ;            len -> R18
 0014           ;           data -> R16,R17
                        .even
 0014           _TransmitByte0::
 0014 0E940000          xcall push_gset1
 0018                   .dbline -1
 0018                   .dbline 53
 0018           ;         
 0018           ; }
 0018           ; 
 0018           ; void TransmitByte0( unsigned char *data,unsigned char len )
 0018           ; {
 0018           L3:
 0018                   .dbline 55
 0018           L4:
 0018                   .dbline 55
 0018           ;        unsigned char ct;
 0018           ;      while (!(UCSR0A & (1<<UDRE0)));
 0018 5D9B              sbis 0xb,5
 001A FECF              rjmp L3
 001C                   .dbline 56
 001C           ;        UDR0=0xfe;
 001C 8EEF              ldi R24,254
 001E 8CB9              out 0xc,R24
 0020                   .dbline 57
 0020           ;       for (ct=0;ct<len;ct++)
 0020 4427              clr R20
 0022 07C0              xjmp L9
 0024           X0:
 0024                   .dbline 58
 0024           ;      {
 0024           L10:
 0024                   .dbline 59
 0024           L11:
 0024                   .dbline 59
 0024 5D9B              sbis 0xb,5
 0026 FECF              rjmp L10
 0028                   .dbline 60
 0028 F801              movw R30,R16
 002A 2190              ld R2,Z+
 002C 8F01              movw R16,R30
 002E 2CB8              out 0xc,R2
 0030                   .dbline 61
 0030           L7:
 0030                   .dbline 57
 0030 4395              inc R20
 0032           L9:
 0032                   .dbline 57
 0032 4217              cp R20,R18
 0034 B8F3              brlo L11
 0036                   .dbline -2
 0036           L2:
 0036 0E940000          xcall pop_gset1
 003A                   .dbline 0 ; func end
 003A 0895              ret
 003C                   .dbsym r ct 20 c
 003C                   .dbsym r len 18 c
 003C                   .dbsym r data 16 pc
 003C                   .dbend
 003C                   .dbfunc e TransmitByte1 _TransmitByte1 fV
 003C           ;             ct -> R20
 003C           ;            len -> R18
 003C           ;           data -> R16,R17
                        .even
 003C           _TransmitByte1::
 003C 0E940000          xcall push_gset1
 0040                   .dbline -1
 0040                   .dbline 64
 0040           ;          while (!(UCSR0A & (1<<UDRE0)));
 0040           ;        UDR0 = *data++;
 0040           ;      }           
 0040           ; }
 0040           ; void TransmitByte1(unsigned char *data,unsigned char len )
 0040           ; {
 0040                   .dbline 67
 0040           ;       unsigned char ct;
 0040           ;  //    while (!(UCSR0A & (1<<UDRE0)));
 0040           ;      for (ct=0;ct<len;ct++)
 0040 4427              clr R20
 0042 07C0              xjmp L17
 0044           X1:
 0044                   .dbline 68
 0044           ;      {
 0044           L18:
 0044                   .dbline 69
 0044           L19:
 0044                   .dbline 69
 0044 5D9B              sbis 0xb,5
 0046 FECF              rjmp L18
 0048                   .dbline 70
 0048 F801              movw R30,R16
 004A 2190              ld R2,Z+
 004C 8F01              movw R16,R30
 004E 2CB8              out 0xc,R2
 0050                   .dbline 71
 0050           L15:
 0050                   .dbline 67
 0050 4395              inc R20
 0052           L17:
 0052                   .dbline 67
 0052 4217              cp R20,R18
 0054 B8F3              brlo L19
 0056                   .dbline -2
 0056           L13:
 0056 0E940000          xcall pop_gset1
 005A                   .dbline 0 ; func end
 005A 0895              ret
 005C                   .dbsym r ct 20 c
 005C                   .dbsym r len 18 c
 005C                   .dbsym r data 16 pc
 005C                   .dbend
 005C                   .dbfunc e TransmitByte_1 _TransmitByte_1 fV
 005C           ;             ct -> R20
 005C           ;            len -> R18
 005C           ;           data -> R16,R17
                        .even
 005C           _TransmitByte_1::
 005C 0E940000          xcall push_gset1
 0060                   .dbline -1
 0060                   .dbline 74
 0060           ;          while (!(UCSR0A & (1<<UDRE0)));
 0060           ;        UDR0 = *data++;
 0060           ;      }           
 0060           ; }
 0060           ; void TransmitByte_1(unsigned char *data,unsigned char len )
 0060           ; {
 0060                   .dbline 77
 0060           ;       unsigned char ct;
 0060           ;  //    while (!(UCSR0A & (1<<UDRE0)));
 0060           ;      for (ct=0;ct<len;ct++)
 0060 4427              clr R20
 0062 0AC0              xjmp L25
 0064           X2:
 0064                   .dbline 78
 0064           ;      {
 0064           L26:
 0064                   .dbline 79
 0064           L27:
 0064                   .dbline 79
 0064 20909B00          lds R2,155
 0068 25FE              sbrs R2,5
 006A FCCF              rjmp L26
 006C                   .dbline 80
 006C F801              movw R30,R16
 006E 2190              ld R2,Z+
 0070 8F01              movw R16,R30
 0072 20929C00          sts 156,R2
 0076                   .dbline 81
 0076           L23:
 0076                   .dbline 77
 0076 4395              inc R20
 0078           L25:
 0078                   .dbline 77
 0078 4217              cp R20,R18
 007A A0F3              brlo L27
 007C                   .dbline -2
 007C           L21:
 007C 0E940000          xcall pop_gset1
 0080                   .dbline 0 ; func end
 0080 0895              ret
 0082                   .dbsym r ct 20 c
 0082                   .dbsym r len 18 c
 0082                   .dbsym r data 16 pc
 0082                   .dbend
 0082                   .dbfunc e timer1_init _timer1_init fV
                        .even
 0082           _timer1_init::
 0082                   .dbline -1
 0082                   .dbline 85
 0082           ;          while (!(UCSR1A & (1<<UDRE1)));
 0082           ;        UDR1 = *data++;
 0082           ;      }           
 0082           ; }
 0082           ; 
 0082           ; void timer1_init(void)
 0082           ; {
 0082                   .dbline 86
 0082           ;        TCCR1B = 0x00; //stop
 0082 2224              clr R2
 0084 2EBC              out 0x2e,R2
 0086                   .dbline 87
 0086           ;        TCNT1H = 0xFD; //setup
 0086 8DEF              ldi R24,253
 0088 8DBD              out 0x2d,R24
 008A                   .dbline 88
 008A           ;        TCNT1L = 0xE5;
 008A 85EE              ldi R24,229
 008C 8CBD              out 0x2c,R24
 008E                   .dbline 89
 008E           ;        TCCR1A = 0x00;
 008E 2FBC              out 0x2f,R2
 0090                   .dbline 90
 0090           ;        TCCR1B = 0x05; //start Timer
 0090 85E0              ldi R24,5
 0092 8EBD              out 0x2e,R24
 0094                   .dbline -2
 0094           L29:
 0094                   .dbline 0 ; func end
 0094 0895              ret
 0096                   .dbend
 0096                   .dbfunc e timer0_init _timer0_init fV
                        .even
 0096           _timer0_init::
 0096                   .dbline -1
 0096                   .dbline 93
 0096           ; }
 0096           ; void timer0_init(void)   //1ms
 0096           ; {
 0096                   .dbline 94
 0096           ;        TCCR0 = 0x00; //stop
 0096 2224              clr R2
 0098 23BE              out 0x33,R2
 009A                   .dbline 96
 009A           ; //     ASSR  = 0x00; //set async mode
 009A           ;        TCNT0 = 0x54; //set count
 009A 84E5              ldi R24,84
 009C 82BF              out 0x32,R24
 009E                   .dbline 98
 009E           ; //     OCR0  = 0xAC;
 009E           ;        TCCR0 = 0x04; //start timer
 009E 84E0              ldi R24,4
 00A0 83BF              out 0x33,R24
 00A2                   .dbline -2
 00A2           L30:
 00A2                   .dbline 0 ; func end
 00A2 0895              ret
 00A4                   .dbend
                        .area vector(rom, abs)
                        .org 64
 0040 0C945200          jmp _timer0_ovf_isr
                        .area text(rom, con, rel)
 00A4                   .dbfile F:\yinhui\avr_tft\soft\main.c
 00A4                   .dbfunc e timer0_ovf_isr _timer0_ovf_isr fV
                        .even
 00A4           _timer0_ovf_isr::
 00A4 2A92              st -y,R2
 00A6 3A92              st -y,R3
 00A8 8A93              st -y,R24
 00AA 9A93              st -y,R25
 00AC 2FB6              in R2,0x3f

⌨️ 快捷键说明

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