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

📄 ire.lis

📁 16个单片机c语言实验程序
💻 LIS
📖 第 1 页 / 共 2 页
字号:
 00A8           ; TIMSK=0x00;               //停止发送
 00A8 2224              clr R2
 00AA 29BE              out 0x39,R2
 00AC                   .dbline -2
 00AC           L11:
 00AC                   .dbline 0 ; func end
 00AC 0895              ret
 00AE                   .dbend
 00AE                   .dbfunc e send_n _send_n fV
 00AE           ;              i -> R22
 00AE           ;             cc -> R20
 00AE           ;             bb -> R10
 00AE           ;             aa -> R12
                        .even
 00AE           _send_n::
 00AE 0E940000          xcall push_xgsetF03C
 00B2 A22E              mov R10,R18
 00B4 C02E              mov R12,R16
 00B6                   .dbline -1
 00B6                   .dbline 93
 00B6           ; }
 00B6           ; 
 00B6           ; //发送函数
 00B6           ; void send_n(uchar aa,uchar bb)  //aa系统码,bb键码
 00B6           ; {
 00B6                   .dbline 95
 00B6           ;  uchar cc,i;
 00B6           ;  TIMSK=0x01;
 00B6 81E0              ldi R24,1
 00B8 89BF              out 0x39,R24
 00BA                   .dbline 96
 00BA           ;  timer1_init(0xb9,0x9e);     //引导码9ms低
 00BA 2EE9              ldi R18,158
 00BC 09EB              ldi R16,185
 00BE C3DF              xcall _timer1_init
 00C0                   .dbline 97
 00C0           ;  TIMSK=0x00;
 00C0 2224              clr R2
 00C2 29BE              out 0x39,R2
 00C4                   .dbline 98
 00C4           ;  timer1_init(0xdc,0xcf);     //引导码4.5ms高
 00C4 2FEC              ldi R18,207
 00C6 0CED              ldi R16,220
 00C8 BEDF              xcall _timer1_init
 00CA                   .dbline 100
 00CA           ;  //发送系统码      
 00CA           ;  cc=0x80;
 00CA 40E8              ldi R20,128
 00CC                   .dbline 101
 00CC           ;  for(i=0;i<8;i++)        
 00CC 6627              clr R22
 00CE 08C0              xjmp L16
 00D0           L13:
 00D0                   .dbline 102
 00D0           ;     {
 00D0                   .dbline 103
 00D0           ;      if(aa&cc)
 00D0 2C2C              mov R2,R12
 00D2 2422              and R2,R20
 00D4 11F0              breq L17
 00D6           X1:
 00D6                   .dbline 104
 00D6           ;        {
 00D6                   .dbline 105
 00D6           ;         out_1();
 00D6 CFDF              xcall _out_1
 00D8                   .dbline 106
 00D8           ;        }
 00D8 01C0              xjmp L18
 00DA           L17:
 00DA                   .dbline 108
 00DA           ;      else
 00DA           ;        {       
 00DA                   .dbline 109
 00DA           ;         out_0();
 00DA D7DF              xcall _out_0
 00DC                   .dbline 110
 00DC           ;        }
 00DC           L18:
 00DC                   .dbline 111
 00DC           ;     cc=cc>>1;
 00DC 4695              lsr R20
 00DE                   .dbline 112
 00DE           ;     }
 00DE           L14:
 00DE                   .dbline 101
 00DE 6395              inc R22
 00E0           L16:
 00E0                   .dbline 101
 00E0 6830              cpi R22,8
 00E2 B0F3              brlo L13
 00E4           X2:
 00E4                   .dbline 114
 00E4           ;  //发送系统反码
 00E4           ;  aa=~aa;
 00E4 C094              com R12
 00E6                   .dbline 115
 00E6           ;  cc=0x80;
 00E6 40E8              ldi R20,128
 00E8                   .dbline 116
 00E8           ;  for(i=0;i<8;i++)        
 00E8 6627              clr R22
 00EA 08C0              xjmp L22
 00EC           L19:
 00EC                   .dbline 117
 00EC           ;     {
 00EC                   .dbline 118
 00EC           ;      if(aa&cc)
 00EC 2C2C              mov R2,R12
 00EE 2422              and R2,R20
 00F0 11F0              breq L23
 00F2           X3:
 00F2                   .dbline 119
 00F2           ;        {
 00F2                   .dbline 120
 00F2           ;         out_1();
 00F2 C1DF              xcall _out_1
 00F4                   .dbline 121
 00F4           ;        }
 00F4 01C0              xjmp L24
 00F6           L23:
 00F6                   .dbline 123
 00F6           ;      else
 00F6           ;        {       
 00F6                   .dbline 124
 00F6           ;         out_0();
 00F6 C9DF              xcall _out_0
 00F8                   .dbline 125
 00F8           ;        }
 00F8           L24:
 00F8                   .dbline 126
 00F8           ;     cc=cc>>1;
 00F8 4695              lsr R20
 00FA                   .dbline 127
 00FA           ;     }
 00FA           L20:
 00FA                   .dbline 116
 00FA 6395              inc R22
 00FC           L22:
 00FC                   .dbline 116
 00FC 6830              cpi R22,8
 00FE B0F3              brlo L19
 0100           X4:
 0100                   .dbline 129
 0100           ;  //发送键码   
 0100           ;  cc=0x80;
 0100 40E8              ldi R20,128
 0102                   .dbline 130
 0102           ;  for(i=0;i<8;i++)
 0102 6627              clr R22
 0104 08C0              xjmp L28
 0106           L25:
 0106                   .dbline 131
 0106           ;     {
 0106                   .dbline 132
 0106           ;      if(bb&cc)
 0106 2A2C              mov R2,R10
 0108 2422              and R2,R20
 010A 11F0              breq L29
 010C           X5:
 010C                   .dbline 133
 010C           ;        {
 010C                   .dbline 134
 010C           ;         out_1();
 010C B4DF              xcall _out_1
 010E                   .dbline 135
 010E           ;        }
 010E 01C0              xjmp L30
 0110           L29:
 0110                   .dbline 137
 0110           ;      else
 0110           ;        {       
 0110                   .dbline 138
 0110           ;         out_0();
 0110 BCDF              xcall _out_0
 0112                   .dbline 139
 0112           ;        }
 0112           L30:
 0112                   .dbline 140
 0112           ;     cc=cc>>1;
 0112 4695              lsr R20
 0114                   .dbline 141
 0114           ;     }
 0114           L26:
 0114                   .dbline 130
 0114 6395              inc R22
 0116           L28:
 0116                   .dbline 130
 0116 6830              cpi R22,8
 0118 B0F3              brlo L25
 011A           X6:
 011A                   .dbline 143
 011A           ;  //发送键码反码
 011A           ;  bb=~bb;
 011A A094              com R10
 011C                   .dbline 144
 011C           ;  cc=0x80;
 011C 40E8              ldi R20,128
 011E                   .dbline 145
 011E           ;  for(i=0;i<8;i++)
 011E 6627              clr R22
 0120 08C0              xjmp L34
 0122           L31:
 0122                   .dbline 146
 0122           ;     {
 0122                   .dbline 147
 0122           ;      if(bb&cc)
 0122 2A2C              mov R2,R10
 0124 2422              and R2,R20
 0126 11F0              breq L35
 0128           X7:
 0128                   .dbline 148
 0128           ;        {
 0128                   .dbline 149
 0128           ;         out_1();
 0128 A6DF              xcall _out_1
 012A                   .dbline 150
 012A           ;        }
 012A 01C0              xjmp L36
 012C           L35:
 012C                   .dbline 152
 012C           ;      else
 012C           ;        {       
 012C                   .dbline 153
 012C           ;         out_0();
 012C AEDF              xcall _out_0
 012E                   .dbline 154
 012E           ;        }
 012E           L36:
 012E                   .dbline 155
 012E           ;     cc=cc>>1;
 012E 4695              lsr R20
 0130                   .dbline 156
 0130           ;     }
 0130           L32:
 0130                   .dbline 145
 0130 6395              inc R22
 0132           L34:
 0132                   .dbline 145
 0132 6830              cpi R22,8
 0134 B0F3              brlo L31
 0136           X8:
 0136                   .dbline 158
 0136           ; //结束
 0136           ; out_f();
 0136 B3DF              xcall _out_f
 0138                   .dbline -2
 0138           L12:
 0138                   .dbline 0 ; func end
 0138 0C940000          xjmp pop_xgsetF03C
 013C                   .dbsym r i 22 c
 013C                   .dbsym r cc 20 c
 013C                   .dbsym r bb 10 c
 013C                   .dbsym r aa 12 c
 013C                   .dbend
 013C                   .dbfunc e main _main fI
                        .even
 013C           _main::
 013C                   .dbline -1
 013C                   .dbline 162
 013C           ; }
 013C           ; 
 013C           ; main()
 013C           ; {
 013C                   .dbline 163
 013C           ; init_devices();
 013C 92DF              xcall _init_devices
 013E 04C0              xjmp L39
 0140           L38:
 0140                   .dbline 165
 0140           ; while(1)
 0140           ;      {
 0140                   .dbline 166
 0140           ;       send_n(0x00,0x58);   //发送遥控码
 0140 28E5              ldi R18,88
 0142 0027              clr R16
 0144 B4DF              xcall _send_n
 0146           L41:
 0146                   .dbline 167
 0146           ;         while(1);
 0146           L42:
 0146                   .dbline 167
 0146 FFCF              xjmp L41
 0148           L39:
 0148                   .dbline 164
 0148 FBCF              xjmp L38
 014A           X9:
 014A                   .dbline -2
 014A           L37:
 014A                   .dbline 0 ; func end
 014A 0895              ret
 014C                   .dbend
 014C           ;      }
 014C           ; }

⌨️ 快捷键说明

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