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

📄 main.lis

📁 在AVR单片机上源程序 bluetooth uart
💻 LIS
📖 第 1 页 / 共 3 页
字号:
                        .module main.c
                        .area text(rom, con, rel)
 0000                   .dbfile D:\工作\老董_11.8\程序库\BLUETOOTH_UART\main.c
 0000                   .dbfunc e Delay_1us _Delay_1us fV
 0000           ;              i -> R16,R17
                        .even
 0000           _Delay_1us::
 0000                   .dbline -1
 0000                   .dbline 22
 0000           ; #include<iom16v.h>
 0000           ; #include<macros.h>
 0000           ; 
 0000           ; #define ROOM1_SHOW asm("cbi 0x1b,0")
 0000           ; #define ROOM1_DOWN asm("sbi 0x1b,0")
 0000           ; #define ROOM2_SHOW asm("sbi 0x1b,1")
 0000           ; #define ROOM2_DOWN asm("cbi 0x1b,1")
 0000           ; unsigned char flag_twinkle1;
 0000           ; unsigned char flag_twinkle2;
 0000           ; unsigned char flag_stake;
 0000           ; unsigned char stakeout_key;
 0000           ; unsigned char data;
 0000           ; unsigned char data_stake;
 0000           ; unsigned char r_data[10];
 0000           ; unsigned int second1,second2;
 0000           ; 
 0000           ; 
 0000           ; 
 0000           ; 
 0000           ; //延时us级
 0000           ; void Delay_1us(void)
 0000           ; {
 0000                   .dbline 24
 0000           ;   unsigned int i;
 0000           ;   for(i=1;i<1000;i++)
 0000 01E0              ldi R16,1
 0002 10E0              ldi R17,0
 0004 02C0              xjmp L5
 0006           L2:
 0006                   .dbline 25
 0006           L3:
 0006                   .dbline 24
 0006 0F5F              subi R16,255  ; offset = 1
 0008 1F4F              sbci R17,255
 000A           L5:
 000A                   .dbline 24
 000A 083E              cpi R16,232
 000C E3E0              ldi R30,3
 000E 1E07              cpc R17,R30
 0010 D0F3              brlo L2
 0012                   .dbline -2
 0012           L1:
 0012                   .dbline 0 ; func end
 0012 0895              ret
 0014                   .dbsym r i 16 i
 0014                   .dbend
 0014                   .dbfunc e Delay_1ms _Delay_1ms fV
 0014           ;              i -> R16,R17
                        .even
 0014           _Delay_1ms::
 0014                   .dbline -1
 0014                   .dbline 30
 0014           ;     ;
 0014           ; }
 0014           ; 
 0014           ;  //延时ms级
 0014           ; void Delay_1ms(void)      
 0014           ; {
 0014                   .dbline 32
 0014           ;   unsigned int i;
 0014           ;   for(i=1;i<900;i++)
 0014 01E0              ldi R16,1
 0016 10E0              ldi R17,0
 0018 02C0              xjmp L10
 001A           L7:
 001A                   .dbline 33
 001A           L8:
 001A                   .dbline 32
 001A 0F5F              subi R16,255  ; offset = 1
 001C 1F4F              sbci R17,255
 001E           L10:
 001E                   .dbline 32
 001E 0438              cpi R16,132
 0020 E3E0              ldi R30,3
 0022 1E07              cpc R17,R30
 0024 D0F3              brlo L7
 0026                   .dbline -2
 0026           L6:
 0026                   .dbline 0 ; func end
 0026 0895              ret
 0028                   .dbsym r i 16 i
 0028                   .dbend
 0028                   .dbfunc e Delay _Delay fV
 0028           ;              i -> R20,R21
 0028           ;              n -> R22,R23
                        .even
 0028           _Delay::
 0028 0E940000          xcall push_gset2
 002C B801              movw R22,R16
 002E                   .dbline -1
 002E                   .dbline 38
 002E           ;     ;
 002E           ; }
 002E           ; 
 002E           ; // 延时
 002E           ; void Delay(unsigned int n)      
 002E           ; {
 002E                   .dbline 39
 002E           ;   unsigned int i=0;
 002E 4427              clr R20
 0030 5527              clr R21
 0032                   .dbline 40
 0032           ;   for(i=0;i<n;i++)
 0032 03C0              xjmp L15
 0034           L12:
 0034                   .dbline 41
 0034 EFDF              xcall _Delay_1ms
 0036           L13:
 0036                   .dbline 40
 0036 4F5F              subi R20,255  ; offset = 1
 0038 5F4F              sbci R21,255
 003A           L15:
 003A                   .dbline 40
 003A 4617              cp R20,R22
 003C 5707              cpc R21,R23
 003E D0F3              brlo L12
 0040                   .dbline -2
 0040           L11:
 0040 0E940000          xcall pop_gset2
 0044                   .dbline 0 ; func end
 0044 0895              ret
 0046                   .dbsym r i 20 i
 0046                   .dbsym r n 22 i
 0046                   .dbend
 0046                   .dbfunc e Uart_Read_Data _Uart_Read_Data fc
                        .even
 0046           _Uart_Read_Data::
 0046                   .dbline -1
 0046                   .dbline 46
 0046                   .dbline 47
 0046 5F9B              sbis 0xb,7
 0048 05C0              rjmp L17
 004A                   .dbline 47
 004A                   .dbline 47
 004A 2CB0              in R2,0xc
 004C 20920F00          sts _data,R2
 0050                   .dbline 47
 0050 20920E00          sts _data_stake,R2
 0054                   .dbline 47
 0054           L17:
 0054                   .dbline -2
 0054           L16:
 0054                   .dbline 0 ; func end
 0054 0895              ret
 0056                   .dbend
 0056                   .dbfunc e Uart_Write_Data _Uart_Write_Data fV
 0056           ;         r_data -> R16
                        .even
 0056           _Uart_Write_Data::
 0056                   .dbline -1
 0056                   .dbline 53
 0056                   .dbline 54
 0056 5E99              sbic 0xb,6
 0058 01C0              rjmp L20
 005A                   .dbline 54
 005A 0CB9              out 0xc,R16
 005C           L20:
 005C                   .dbline -2
 005C           L19:
 005C                   .dbline 0 ; func end
 005C 0895              ret
 005E                   .dbsym r r_data 16 c
 005E                   .dbend
 005E                   .dbfunc e Room_Select _Room_Select fV
                        .even
 005E           _Room_Select::
 005E 0E940000          xcall push_gset2
 0062                   .dbline -1
 0062                   .dbline 65
 0062           ;   Delay_1ms();
 0062           ; }
 0062           ; 
 0062           ; //查询接收
 0062           ; unsigned char Uart_Read_Data(void)
 0062           ; {
 0062           ;   if(UCSRA&0x80) {data=UDR; data_stake=data;}
 0062           ;     //else ;
 0062           ; }
 0062           ; 
 0062           ; //查询发送
 0062           ; void Uart_Write_Data(unsigned char r_data)
 0062           ; {
 0062           ;   if(!(UCSRA&0x40)) UDR=r_data;
 0062           ;     //else;
 0062           ; }
 0062           ; 
 0062           ; //*************************************************
 0062           ; //照明控制系统
 0062           ; //*************************************************
 0062           ; 
 0062           ; 
 0062           ; //房间选择
 0062           ; void Room_Select()
 0062           ; {
 0062                   .dbline 66
 0062           ;   if(((data&0xc3)==0x01)|(data==0x00)) Room1_Handle();  //房间1处理
 0062 80910F00          lds R24,_data
 0066 837C              andi R24,195
 0068 8130              cpi R24,1
 006A 19F4              brne L25
 006C 61E0              ldi R22,1
 006E 70E0              ldi R23,0
 0070 02C0              xjmp L26
 0072           L25:
 0072 6627              clr R22
 0074 7727              clr R23
 0076           L26:
 0076 20900F00          lds R2,_data
 007A 2220              tst R2
 007C 19F4              brne L27
 007E 41E0              ldi R20,1
 0080 50E0              ldi R21,0
 0082 02C0              xjmp L28
 0084           L27:
 0084 4427              clr R20
 0086 5527              clr R21
 0088           L28:
 0088 1B01              movw R2,R22
 008A 242A              or R2,R20
 008C 352A              or R3,R21
 008E 2220              tst R2
 0090 11F4              brne X0
 0092 3320              tst R3
 0094 11F0              breq L23
 0096           X0:
 0096                   .dbline 66
 0096 20D0              xcall _Room1_Handle
 0098 1CC0              xjmp L24
 009A           L23:
 009A                   .dbline 67
 009A           ;     else if(((data&0xc3)==0x02)|((data&0xc3)==0x03)) Room2_Handle();  //房间2处理
 009A 80910F00          lds R24,_data
 009E 837C              andi R24,195
 00A0 8230              cpi R24,2
 00A2 19F4              brne L31
 00A4 61E0              ldi R22,1
 00A6 70E0              ldi R23,0
 00A8 02C0              xjmp L32
 00AA           L31:
 00AA 6627              clr R22
 00AC 7727              clr R23
 00AE           L32:
 00AE 80910F00          lds R24,_data
 00B2 837C              andi R24,195
 00B4 8330              cpi R24,3
 00B6 19F4              brne L33
 00B8 41E0              ldi R20,1
 00BA 50E0              ldi R21,0
 00BC 02C0              xjmp L34
 00BE           L33:
 00BE 4427              clr R20
 00C0 5527              clr R21
 00C2           L34:
 00C2 1B01              movw R2,R22
 00C4 242A              or R2,R20
 00C6 352A              or R3,R21
 00C8 2220              tst R2
 00CA 11F4              brne X1
 00CC 3320              tst R3
 00CE 09F0              breq L29
 00D0           X1:
 00D0                   .dbline 67
 00D0 7FD0              xcall _Room2_Handle
 00D2           L29:
 00D2           L24:
 00D2                   .dbline -2
 00D2           L22:
 00D2 0E940000          xcall pop_gset2
 00D6                   .dbline 0 ; func end
 00D6 0895              ret
 00D8                   .dbend
 00D8                   .dbfunc e Room1_Handle _Room1_Handle fc
                        .even
 00D8           _Room1_Handle::
 00D8                   .dbline -1
 00D8                   .dbline 76
 00D8           ;         //else ;

⌨️ 快捷键说明

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