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

📄 温湿度传感器.lis

📁 avr基础程序大全
💻 LIS
📖 第 1 页 / 共 3 页
字号:
                        .module _温湿度传感器.c
                        .area text(rom, con, rel)
 0000                   .dbfile ..\20温湿~1\温湿度传感器.c
 0000                   .dbfile E:\AVR自编程序\11avr实验板\20温湿~1\温湿度传感器.c
 0000                   .dbfunc e port_init _port_init fV
                        .even
 0000           _port_init::
 0000                   .dbline -1
 0000                   .dbline 72
 0000           ; //ICC-AVR application builder : 2008-4-28 9:22:37
 0000           ; // Target : M8
 0000           ; // Crystal: 8.0000Mhz
 0000           ; /*************************************************************************
 0000           ; 程序开发软件:ICC-AVR 
 0000           ; 功能:波特率9600 串口发送温湿度数据  
 0000           ; 数据格式:湿度高8位 湿度高8位  温度低8位 温度低8位  校验和     
 0000           ;    
 0000           ;           校验和= 湿度高8位+湿度低8位+温度高8位+温度低8位
 0000           ;                 
 0000           ; 公司:DHT21
 0000           ; 芯片:M8
 0000           ; 晶振:外部 8Mhz
 0000           ; 创建人: 
 0000           ; 创建时间:09.07.03
 0000           ; 修改人:
 0000           ; 修改时间:
 0000           ; 修改原因:
 0000           ; **************************************************** **********************/
 0000           ; 
 0000           ; 
 0000           ; #include <iom16v.h>
 0000           ; #include <macros.h>
 0000           ; typedef unsigned char  U8;       /* defined for unsigned 8-bits integer variable        无符号8位整型变量  */
 0000           ; typedef signed   char  S8;       /* defined for signed 8-bits integer variable                  有符号8位整型变量  */
 0000           ; typedef unsigned int   U16;      /* defined for unsigned 16-bits integer variable       无符号16位整型变量 */
 0000           ; typedef signed   int   S16;      /* defined for signed 16-bits integer variable         有符号16位整型变量 */
 0000           ; typedef unsigned long  U32;      /* defined for unsigned 32-bits integer variable       无符号32位整型变量 */
 0000           ; typedef signed   long  S32;      /* defined for signed 32-bits integer variable         有符号32位整型变量 */
 0000           ; typedef float          F32;      /* single precision floating point variable (32bits) 单精度浮点数(32位长度) */
 0000           ; typedef double         F64;      /* double precision floating point variable (64bits) 双精度浮点数(64位长度) */
 0000           ; 
 0000           ; 
 0000           ; /**************************************************************************
 0000           ;                     I/O空间定义
 0000           ; ***************************************************************************/
 0000           ; // B0_IN      DDRB &= ~(1 << PB0)             /*设置输入*/
 0000           ; // B0_OUT     DDRB |= (1 << PB0)              /*设置输出*/
 0000           ; // B0_CLR     PORTB &= ~(1 << PB0)    /*置低电平*/
 0000           ; // B0_SET     PORTB |= (1 << PB0)             /*置高电平*/
 0000           ; // B0_R           PINB & (1 <<PB0)            /*读了电平*/
 0000           ; 
 0000           ;  #define    C4_IN       DDRC &= ~(1 << PC4)           /*设置输入*/
 0000           ;  #define    C4_OUT      DDRC |= (1 << PC4)            /*设置输出*/
 0000           ;  #define    C4_CLR      PORTC &= ~(1 << PC4)      /*置低电平*/
 0000           ;  #define    C4_SET      PORTC |= (1 << PC4)           /*置高电平*/
 0000           ;  #define    C4_R          PINC & (1 <<PC4)            /*读了电平*/
 0000           ; 
 0000           ; /**************************************************************************
 0000           ;                     通讯I/O空间定义
 0000           ; ***************************************************************************/
 0000           ;  #define       COM_IN          C4_IN  
 0000           ;  #define       COM_OUT         C4_OUT
 0000           ;  #define       COM_CLR         C4_CLR
 0000           ;  #define       COM_SET         C4_SET
 0000           ;  #define       COM_R           C4_R
 0000           ;  
 0000           ; /**************************************************************************
 0000           ;                     全局变量定义区
 0000           ; ***************************************************************************/
 0000           ;       U8       i;
 0000           ;       U8    U8FLAG,k;
 0000           ;       U8    U8count,U8temp;
 0000           ;       U8    U8T_data_H,U8T_data_L,U8RH_data_H,U8RH_data_L,U8checkdata;
 0000           ;       U8    U8T_data_H_temp,U8T_data_L_temp,U8RH_data_H_temp,U8RH_data_L_temp,U8checkdata_temp;
 0000           ;       U8    U8comdata;
 0000           ;       U16   ReceiveHighByte;
 0000           ;       U16   ReceiveLowByte;
 0000           ; /**************************************************************************
 0000           ; ***************************************************************************/
 0000           ; void port_init(void)
 0000           ; {
 0000                   .dbline 73
 0000           ;  PORTB = 0x00;
 0000 2224              clr R2
 0002 28BA              out 0x18,R2
 0004                   .dbline 74
 0004           ;  DDRB  = 0xFF;
 0004 8FEF              ldi R24,255
 0006 87BB              out 0x17,R24
 0008                   .dbline 75
 0008           ;  PORTC = 0x03;                    
 0008 83E0              ldi R24,3
 000A 85BB              out 0x15,R24
 000C                   .dbline 76
 000C           ;  DDRC  = 0x0C;
 000C 8CE0              ldi R24,12
 000E 84BB              out 0x14,R24
 0010                   .dbline 77
 0010           ;  PORTD = 0x00;
 0010 22BA              out 0x12,R2
 0012                   .dbline 78
 0012           ;  DDRD  = 0xF0;
 0012 80EF              ldi R24,240
 0014 81BB              out 0x11,R24
 0016                   .dbline -2
 0016           L1:
 0016                   .dbline 0 ; func end
 0016 0895              ret
 0018                   .dbend
 0018                   .dbfunc e watchdog_init _watchdog_init fV
                        .even
 0018           _watchdog_init::
 0018                   .dbline -1
 0018                   .dbline 82
 0018           ; }
 0018           ; 
 0018           ; void watchdog_init(void)
 0018           ; {
 0018                   .dbline -2
 0018           L2:
 0018                   .dbline 0 ; func end
 0018 0895              ret
 001A                   .dbend
 001A                   .dbfunc e Delay _Delay fV
 001A           ;              i -> R16,R17
                        .even
 001A           _Delay::
 001A                   .dbline -1
 001A                   .dbline 89
 001A           ;   //WDR();        //this prevents a timout on enabling
 001A           ;   //WDTCR = 0x0F; //WATCHDOG ENABLED - dont forget to issue WDRs
 001A           ; }
 001A           ; 
 001A           ; 
 001A           ; void Delay(unsigned int i)
 001A           ; {
 001A           L4:
 001A                   .dbline 90
 001A           ;       while(i--);
 001A           L5:
 001A                   .dbline 90
 001A 1801              movw R2,R16
 001C 0150              subi R16,1
 001E 1040              sbci R17,0
 0020 2220              tst R2
 0022 D9F7              brne L4
 0024 3320              tst R3
 0026 C9F7              brne L4
 0028           X0:
 0028                   .dbline -2
 0028           L3:
 0028                   .dbline 0 ; func end
 0028 0895              ret
 002A                   .dbsym r i 16 i
 002A                   .dbend
 002A                   .dbfunc e DelaymS _DelaymS fV
 002A           ;              i -> R20,R21
 002A           ;            dly -> R16,R17
                        .even
 002A           _DelaymS::
 002A 4A93              st -y,R20
 002C 5A93              st -y,R21
 002E                   .dbline -1
 002E                   .dbline 94
 002E           ; }
 002E           ; 
 002E           ; void DelaymS (U16 dly)                   
 002E           ; {
 002E                   .dbline 96
 002E           ;       U16 i;
 002E           ;       for ( ; dly>0; dly--)
 002E 0CC0              xjmp L11
 0030           L8:
 0030                   .dbline 97
 0030           ;       {
 0030                   .dbline 98
 0030           ;           WDR();
 0030 A895              wdr
 0032                   .dbline 99
 0032           ;               for (i=0; i<1119; i++);        
 0032 4427              clr R20
 0034 5527              clr R21
 0036 02C0              xjmp L15
 0038           L12:
 0038                   .dbline 99
 0038           L13:
 0038                   .dbline 99
 0038 4F5F              subi R20,255  ; offset = 1
 003A 5F4F              sbci R21,255
 003C           L15:
 003C                   .dbline 99
 003C 4F35              cpi R20,95
 003E E4E0              ldi R30,4
 0040 5E07              cpc R21,R30
 0042 D0F3              brlo L12
 0044           X1:
 0044                   .dbline 100
 0044           ;       }
 0044           L9:
 0044                   .dbline 96
 0044 0150              subi R16,1
 0046 1040              sbci R17,0
 0048           L11:
 0048                   .dbline 96
 0048 0030              cpi R16,0
 004A 0107              cpc R16,R17
 004C 89F7              brne L8
 004E           X2:
 004E                   .dbline -2
 004E           L7:
 004E                   .dbline 0 ; func end
 004E 5991              ld R21,y+
 0050 4991              ld R20,y+
 0052 0895              ret
 0054                   .dbsym r i 20 i
 0054                   .dbsym r dly 16 i
 0054                   .dbend
 0054                   .dbfunc e Delay_10us _Delay_10us fV
 0054           ;              i -> R16
                        .even
 0054           _Delay_10us::
 0054                   .dbline -1
 0054                   .dbline 105
 0054           ; }
 0054           ; 
 0054           ; 
 0054           ;        void  Delay_10us(void)
 0054           ;       {
 0054                   .dbline 107
 0054           ;         U8 i;                     
 0054           ;         i++;i++;i++;i++;i++;i++;i++;i++;i++;
 0054 0395              inc R16
 0056                   .dbline 107
 0056 0395              inc R16
 0058                   .dbline 107
 0058 0395              inc R16
 005A                   .dbline 107
 005A 0395              inc R16
 005C                   .dbline 107
 005C 0395              inc R16
 005E                   .dbline 107
 005E 0395              inc R16
 0060                   .dbline 107
 0060 0395              inc R16
 0062                   .dbline 107
 0062 0395              inc R16
 0064                   .dbline 107
 0064 0395              inc R16
 0066                   .dbline 108
 0066           ;               i++;i++;i++;i++;i++;i++;i++;i++;i++;
 0066 0395              inc R16
 0068                   .dbline 108
 0068 0395              inc R16
 006A                   .dbline 108
 006A 0395              inc R16
 006C                   .dbline 108
 006C 0395              inc R16
 006E                   .dbline 108
 006E 0395              inc R16
 0070                   .dbline 108
 0070 0395              inc R16
 0072                   .dbline 108
 0072 0395              inc R16
 0074                   .dbline 108
 0074 0395              inc R16
 0076                   .dbline 108
 0076 0395              inc R16
 0078                   .dbline 109
 0078           ;               i++;i++;i++;i++;i++;i++;i++;i++;i++;
 0078 0395              inc R16
 007A                   .dbline 109
 007A 0395              inc R16
 007C                   .dbline 109
 007C 0395              inc R16
 007E                   .dbline 109
 007E 0395              inc R16
 0080                   .dbline 109
 0080 0395              inc R16
 0082                   .dbline 109
 0082 0395              inc R16
 0084                   .dbline 109
 0084 0395              inc R16
 0086                   .dbline 109
 0086 0395              inc R16
 0088                   .dbline 109
 0088 0395              inc R16
 008A                   .dbline 110
 008A           ;               i++;i++;i++;i++;i++;i++;i++;i++;i++;
 008A 0395              inc R16
 008C                   .dbline 110
 008C 0395              inc R16
 008E                   .dbline 110
 008E 0395              inc R16
 0090                   .dbline 110
 0090 0395              inc R16
 0092                   .dbline 110
 0092 0395              inc R16
 0094                   .dbline 110
 0094 0395              inc R16
 0096                   .dbline 110
 0096 0395              inc R16
 0098                   .dbline 110
 0098 0395              inc R16
 009A                   .dbline 110
 009A 0395              inc R16
 009C                   .dbline 111
 009C           ;               i++;i++;i++;i++;i++;i++;i++;i++;i++;
 009C 0395              inc R16
 009E                   .dbline 111
 009E 0395              inc R16
 00A0                   .dbline 111
 00A0 0395              inc R16
 00A2                   .dbline 111
 00A2 0395              inc R16
 00A4                   .dbline 111
 00A4 0395              inc R16
 00A6                   .dbline 111
 00A6 0395              inc R16
 00A8                   .dbline 111
 00A8 0395              inc R16
 00AA                   .dbline 111
 00AA 0395              inc R16
 00AC                   .dbline 111
 00AC 0395              inc R16
 00AE                   .dbline 112
 00AE           ;               i++;i++;i++;i++;i++;i++;i++;i++;i++;
 00AE 0395              inc R16
 00B0                   .dbline 112
 00B0 0395              inc R16
 00B2                   .dbline 112
 00B2 0395              inc R16
 00B4                   .dbline 112
 00B4 0395              inc R16
 00B6                   .dbline 112
 00B6 0395              inc R16
 00B8                   .dbline 112
 00B8 0395              inc R16
 00BA                   .dbline 112
 00BA 0395              inc R16
 00BC                   .dbline 112
 00BC 0395              inc R16
 00BE                   .dbline 112
 00BE 0395              inc R16
 00C0                   .dbline 113
 00C0           ;               i++;i++;i++;i++;i++;i++;i++;i++;i++;
 00C0 0395              inc R16
 00C2                   .dbline 113
 00C2 0395              inc R16
 00C4                   .dbline 113
 00C4 0395              inc R16
 00C6                   .dbline 113
 00C6 0395              inc R16
 00C8                   .dbline 113
 00C8 0395              inc R16
 00CA                   .dbline 113
 00CA 0395              inc R16
 00CC                   .dbline 113
 00CC 0395              inc R16
 00CE                   .dbline 113
 00CE 0395              inc R16
 00D0                   .dbline 113
 00D0 0395              inc R16
 00D2                   .dbline 114
 00D2           ;               i++;i++;i++;i++;i++;i++;i++;
 00D2 0395              inc R16
 00D4                   .dbline 114
 00D4 0395              inc R16
 00D6                   .dbline 114
 00D6 0395              inc R16
 00D8                   .dbline 114
 00D8 0395              inc R16
 00DA                   .dbline 114
 00DA 0395              inc R16
 00DC                   .dbline 114
 00DC 0395              inc R16
 00DE                   .dbline 114
 00DE 0395              inc R16
 00E0                   .dbline -2
 00E0           L16:
 00E0                   .dbline 0 ; func end
 00E0 0895              ret
 00E2                   .dbsym r i 16 c
 00E2                   .dbend
 00E2                   .dbfunc e COM _COM fV

⌨️ 快捷键说明

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