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

📄 1820.lis

📁 基于ATMEGA16的温度传感器原代码
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 00F6 46C0              xjmp L40
 00F8           X10:
 00F8 47C0              xjmp L22
 00FA           L42:
 00FA 473D              cpi R20,215
 00FC E0E0              ldi R30,0
 00FE 5E07              cpc R21,R30
 0100 29F1              breq L26
 0102 4B3D              cpi R20,219
 0104 E0E0              ldi R30,0
 0106 5E07              cpc R21,R30
 0108 49F1              breq L30
 010A 4D3D              cpi R20,221
 010C E0E0              ldi R30,0
 010E 5E07              cpc R21,R30
 0110 69F1              breq L34
 0112 4E3D              cpi R20,222
 0114 E0E0              ldi R30,0
 0116 5E07              cpc R21,R30
 0118 09F4              brne X11
 011A 30C0              xjmp L38
 011C           X11:
 011C 473D              cpi R20,215
 011E E0E0              ldi R30,0
 0120 5E07              cpc R21,R30
 0122 0CF4              brge X12
 0124 31C0              xjmp L22
 0126           X12:
 0126           L43:
 0126 473E              cpi R20,231
 0128 E0E0              ldi R30,0
 012A 5E07              cpc R21,R30
 012C 69F0              breq L25
 012E 4B3E              cpi R20,235
 0130 E0E0              ldi R30,0
 0132 5E07              cpc R21,R30
 0134 89F0              breq L29
 0136 4D3E              cpi R20,237
 0138 E0E0              ldi R30,0
 013A 5E07              cpc R21,R30
 013C A9F0              breq L33
 013E 4E3E              cpi R20,238
 0140 E0E0              ldi R30,0
 0142 5E07              cpc R21,R30
 0144 C9F0              breq L37
 0146 20C0              xjmp L22
 0148           X2:
 0148                   .dbline 101
 0148           ; /*******************************************************/
 0148           L25:
 0148                   .dbline 102
 0148           ; /******   函数名称: main()                        ******/
 0148 0027              clr R16
 014A 1FC0              xjmp L21
 014C           L26:
 014C                   .dbline 103
 014C           ; /******   功    能: 读取18B20温度,在数码管显示   ******/
 014C 01E0              ldi R16,1
 014E 1DC0              xjmp L21
 0150           L27:
 0150                   .dbline 104
 0150           ; /******   参    数: 无                            ******/
 0150 02E0              ldi R16,2
 0152 1BC0              xjmp L21
 0154           L28:
 0154                   .dbline 105
 0154           ; /******   返回值  : 无                            ******/
 0154 03E0              ldi R16,3
 0156 19C0              xjmp L21
 0158           L29:
 0158                   .dbline 106
 0158           ; /*******************************************************/
 0158 04E0              ldi R16,4
 015A 17C0              xjmp L21
 015C           L30:
 015C                   .dbline 107
 015C           ; void main(void)
 015C 05E0              ldi R16,5
 015E 15C0              xjmp L21
 0160           L31:
 0160                   .dbline 108
 0160           ; {unsigned int tem;
 0160 06E0              ldi R16,6
 0162 13C0              xjmp L21
 0164           L32:
 0164                   .dbline 109
 0164           ;       CPU_Init();                                                             //初始化单片机
 0164 07E0              ldi R16,7
 0166 11C0              xjmp L21
 0168           L33:
 0168                   .dbline 110
 0168           ;       while(1)                                                                //无限循环
 0168 08E0              ldi R16,8
 016A 0FC0              xjmp L21
 016C           L34:
 016C                   .dbline 111
 016C           ;       {
 016C 09E0              ldi R16,9
 016E 0DC0              xjmp L21
 0170           L35:
 0170                   .dbline 112
 0170           ;               temprter=Read_1820_temprter();          //读取温度
 0170 0AE0              ldi R16,10
 0172 0BC0              xjmp L21
 0174           L36:
 0174                   .dbline 113
 0174           ;               
 0174 0BE0              ldi R16,11
 0176 09C0              xjmp L21
 0178           L37:
 0178                   .dbline 114
 0178           ;             Lcd_INT();                      //初始化液晶屏
 0178 0CE0              ldi R16,12
 017A 07C0              xjmp L21
 017C           L38:
 017C                   .dbline 115
 017C           ;                       lcd_clear();                    //清屏
 017C 0DE0              ldi R16,13
 017E 05C0              xjmp L21
 0180           L39:
 0180                   .dbline 116
 0180           ;                       
 0180 0EE0              ldi R16,14
 0182 03C0              xjmp L21
 0184           L40:
 0184                   .dbline 117
 0184           ;                        lcd_write2(2,1,temprter%10000/1000);  //显示温度的十位
 0184 0FE0              ldi R16,15
 0186 01C0              xjmp L21
 0188           L22:
 0188                   .dbline 118
 0188           ;              lcd_write2(2,2,temprter%10000%1000/100); //显示温度的个位
 0188 00E1              ldi R16,16
 018A                   .dbline -2
 018A           L21:
 018A 0E940000          xcall pop_gset1
 018E                   .dbline 0 ; func end
 018E 0895              ret
 0190                   .dbsym r key 16 c
 0190                   .dbend
 0190                   .dbfunc e Display_One_SMG _Display_One_SMG fV
 0190           ;           data -> R22
 0190           ;            bit -> R20
                        .even
 0190           _Display_One_SMG::
 0190 0E940000          xcall push_gset2
 0194 622F              mov R22,R18
 0196 402F              mov R20,R16
 0198                   .dbline -1
 0198                   .dbline 129
 0198           ;                         
 0198           ;                       
 0198           ;                       LCD_Write_string(2,3,".");      
 0198           ;            //lcd_write2(2,4,5); 
 0198           ;             lcd_write2(2,4,temprter%10000%1000%100/10);       //显示小数点后一位
 0198           ;               lcd_write2(2,5,temprter%10000%1000%100%10); //显示小数点后两位
 0198           ;               delay_nms(500);         
 0198           ;                                               
 0198           ;                                                                                       
 0198           ;                                                                                       
 0198           ;       } 
 0198                   .dbline 130
 0198           ; }
 0198 80E0              ldi R24,<_SMG_Conver
 019A 90E0              ldi R25,>_SMG_Conver
 019C E62F              mov R30,R22
 019E FF27              clr R31
 01A0 E80F              add R30,R24
 01A2 F91F              adc R31,R25
 01A4 E491              lpm R30,Z
 01A6 E8BB              out 0x18,R30
 01A8                   .dbline 131
 01A8           ; }
 01A8 DB9A              sbi 0x1b,3
 01AA                   .dbline 132
 01AA           ; }
 01AA DB98              cbi 0x1b,3
 01AC                   .dbline 133
 01AC           ; }
 01AC 01E0              ldi R16,1
 01AE 142F              mov R17,R20
 01B0 0E940000          xcall lsl8
 01B4 202E              mov R2,R16
 01B6 2094              com R2
 01B8 28BA              out 0x18,R2
 01BA                   .dbline 134
 01BA           ; }
 01BA DA9A              sbi 0x1b,2
 01BC                   .dbline 135
 01BC           ; }
 01BC DA98              cbi 0x1b,2
 01BE                   .dbline 136
 01BE           ; }
 01BE 02E0              ldi R16,2
 01C0 10E0              ldi R17,0
 01C2 2CDF              xcall _delay_nms
 01C4                   .dbline -2
 01C4           L44:
 01C4 0E940000          xcall pop_gset2
 01C8                   .dbline 0 ; func end
 01C8 0895              ret
 01CA                   .dbsym r data 22 c
 01CA                   .dbsym r bit 20 c
 01CA                   .dbend
 01CA                   .dbfunc e Display_One_SMG_Point _Display_One_SMG_Point fV
 01CA           ;            bit -> R20
                        .even
 01CA           _Display_One_SMG_Point::
 01CA 0E940000          xcall push_gset1
 01CE 402F              mov R20,R16
 01D0                   .dbline -1
 01D0                   .dbline 144
 01D0           ; }
 01D0           ; }
 01D0           ; }
 01D0           ; }
 01D0           ; }
 01D0           ; }
 01D0           ; }
 01D0           ; }
 01D0                   .dbline 145
 01D0           ; }
 01D0 80E8              ldi R24,128
 01D2 88BB              out 0x18,R24
 01D4                   .dbline 146
 01D4           ; }
 01D4 DB9A              sbi 0x1b,3
 01D6                   .dbline 147
 01D6           ; }
 01D6 DB98              cbi 0x1b,3
 01D8                   .dbline 148
 01D8           ; }
 01D8 01E0              ldi R16,1
 01DA 142F              mov R17,R20
 01DC 0E940000          xcall lsl8
 01E0 202E              mov R2,R16
 01E2 2094              com R2
 01E4 28BA              out 0x18,R2
 01E6                   .dbline 149
 01E6           ; }
 01E6 DA9A              sbi 0x1b,2
 01E8                   .dbline 150
 01E8           ; }
 01E8 DA98              cbi 0x1b,2
 01EA                   .dbline 151
 01EA           ; }
 01EA 02E0              ldi R16,2
 01EC 10E0              ldi R17,0
 01EE 16DF              xcall _delay_nms
 01F0                   .dbline -2
 01F0           L45:
 01F0 0E940000          xcall pop_gset1
 01F4                   .dbline 0 ; func end
 01F4 0895              ret
 01F6                   .dbsym r bit 20 c
 01F6                   .dbend
 01F6                   .dbfunc e En_Led _En_Led fV
                        .even
 01F6           _En_Led::
 01F6                   .dbline -1
 01F6                   .dbline 160
 01F6           ; }
 01F6           ; }
 01F6           ; }
 01F6           ; }
 01F6           ; }
 01F6           ; }
 01F6           ; }
 01F6           ; }
 01F6           ; }
 01F6                   .dbline 161
 01F6           ; }
 01F6 8FEF              ldi R24,255
 01F8 87BB              out 0x17,R24
 01FA                   .dbline 162
 01FA           ; }
 01FA 88BB              out 0x18,R24
 01FC                   .dbline 163
 01FC           ; }
 01FC DC9A              sbi 0x1b,4
 01FE                   .dbline -2
 01FE           L46:
 01FE                   .dbline 0 ; func end
 01FE 0895              ret
 0200                   .dbend
 0200                   .dbfunc e Un_Led _Un_Led fV
                        .even
 0200           _Un_Led::
 0200                   .dbline -1
 0200                   .dbline 172
 0200           ; }
 0200           ; }
 0200           ; }
 0200           ; }
 0200           ; }
 0200           ; }
 0200           ; }
 0200           ; }
 0200           ; }
 0200                   .dbline 173
 0200           ; }
 0200 8FEF              ldi R24,255
 0202 87BB              out 0x17,R24
 0204                   .dbline 174
 0204           ; }
 0204 88BB              out 0x18,R24
 0206                   .dbline 175
 0206           ; }
 0206 DC9A              sbi 0x1b,4
 0208                   .dbline 176
 0208           ; }
 0208 DC98              cbi 0x1b,4
 020A                   .dbline -2
 020A           L47:
 020A                   .dbline 0 ; func end
 020A 0895              ret
 020C                   .dbend
 020C                   .dbfunc e Clear_SMG _Clear_SMG fV
                        .even
 020C           _Clear_SMG::
 020C                   .dbline -1
 020C                   .dbline 185
 020C           ; }
 020C           ; }
 020C           ; }
 020C           ; }
 020C           ; }
 020C           ; }
 020C           ; }
 020C           ; }
 020C           ; }
 020C                   .dbline 186
 020C           ; }
 020C 8FEF              ldi R24,255
 020E 87BB              out 0x17,R24
 0210                   .dbline 187
 0210           ; }
 0210 2224              clr R2
 0212 28BA              out 0x18,R2
 0214                   .dbline 188
 0214           ; }

⌨️ 快捷键说明

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