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

📄 display_dhtxx.lis

📁 温湿度检测仪一套
💻 LIS
📖 第 1 页 / 共 5 页
字号:
                        .module Display_DHTXX.c
                        .area lit(rom, con, rel)
 0000           _LED::
 0000 4079              .byte 64,'y
 0002 2430              .byte 36,48
 0004 1912              .byte 25,18
 0006 0278              .byte 2,'x
 0008 0010              .byte 0,16
 000A BF39              .byte 191,57
 000C 86AF              .byte 134,175
 000E FF                .byte 255
 000F                   .dbfile C:\DOCUME~1\Owner\桌面\产品程序文件\DHT21\新显示程序\Display_DHTXX.c
 000F                   .dbsym e LED _LED A[15:15]kc
                        .area data(ram, con, rel)
 0000                   .dbfile C:\DOCUME~1\Owner\桌面\产品程序文件\DHT21\新显示程序\Display_DHTXX.c
 0000           _PLAY::
 0000                   .blkb 2
                        .area idata
 0000 0000              .byte 0,0
                        .area data(ram, con, rel)
 0002                   .dbfile C:\DOCUME~1\Owner\桌面\产品程序文件\DHT21\新显示程序\Display_DHTXX.c
 0002                   .blkb 2
                        .area idata
 0002 0000              .byte 0,0
                        .area data(ram, con, rel)
 0004                   .dbfile C:\DOCUME~1\Owner\桌面\产品程序文件\DHT21\新显示程序\Display_DHTXX.c
 0004                   .blkb 2
                        .area idata
 0004 0000              .byte 0,0
                        .area data(ram, con, rel)
 0006                   .dbfile C:\DOCUME~1\Owner\桌面\产品程序文件\DHT21\新显示程序\Display_DHTXX.c
 0006                   .dbsym e PLAY _PLAY A[6:6]c
                        .area text(rom, con, rel)
 0000                   .dbfile C:\DOCUME~1\Owner\桌面\产品程序文件\DHT21\新显示程序\Display_DHTXX.c
 0000                   .dbfunc e port_init _port_init fV
                        .even
 0000           _port_init::
 0000                   .dbline -1
 0000                   .dbline 113
 0000           ; //ICC-AVR application builder : 2008-4-28 9:22:37
 0000           ; // Target : M8
 0000           ; // Crystal: 8.0000Mhz
 0000           ; /*************************************************************************
 0000           ; 程序:6_LED
 0000           ; 功能:湿度传感器显示板(六个数码管显示)
 0000           ; 公司:奥松电子
 0000           ; 芯片:M8
 0000           ; 晶振:内部 2.0000Mhz
 0000           ; 创建人:木工
 0000           ; 创建时间:08.05.05
 0000           ; 修改人:
 0000           ; 修改时间:
 0000           ; 修改原因:
 0000           ; **************************************************************************/
 0000           ; 
 0000           ; #include <iom8v.h>
 0000           ; #include <macros.h>
 0000           ; #include <eeprom.h> 
 0000           ; #include "mu_io.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           ; ***************************************************************************/
 0000           ; #define               _a              0x01
 0000           ; #define               _b              0x02
 0000           ; #define               _c              0x04
 0000           ; #define               _d              0x08
 0000           ; #define               _e              0x10
 0000           ; #define               _f              0x20
 0000           ; #define               _g              0x40   
 0000           ; #define               _dp             0x80
 0000           ; 
 0000           ; #define               num0            _g                     //灭的数码管
 0000           ; #define               num1            _a|_d|_e|_f|_g
 0000           ; #define               num2            _c|_f
 0000           ; #define               num3            _e|_f
 0000           ; #define               num4            _a|_d|_e
 0000           ; #define               num5            _b|_e
 0000           ; #define               num6            _b
 0000           ; #define               num7            _d|_e|_f|_g
 0000           ; #define               num8            0x00
 0000           ; #define               num9            _e
 0000           ; #define     num_        _a|_b|_c|_d|_e|_f|_dp
 0000           ; #define     num_11      _a|_d|_e|_f
 0000           ; #define     num_E       _b|_c|_dp              //13
 0000           ; #define     num_r       _a|_b|_c|_d|_f|_dp     //14
 0000           ; #define     num_N       _a|_b|_c|_d|_e|_f|_g|_dp    //15
 0000           ; 
 0000           ; 
 0000           ; 
 0000           ; 
 0000           ; 
 0000           ; #define     dc2         0x04
 0000           ; #define     dc3         0x08
 0000           ; #define     dd          0x03                  //数码管控制端口
 0000           ; #define     dd4         0x10
 0000           ; #define     dd5         0x20
 0000           ; #define     dd6         0x40
 0000           ; #define     dd7         0x80
 0000           ; #define     dd2         0x04
 0000           ; #define     dd3         0x08
 0000           ; 
 0000           ; #define     led1        dc3                  //使用时要先将数码管全熄灭掉
 0000           ; #define     led2        dd5
 0000           ; #define     led3        dd4
 0000           ; #define     led4        dd7
 0000           ; #define     led5        dd6
 0000           ; #define     led6        dd2
 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           ;                     通讯I/O空间定义
 0000           ; ***************************************************************************/
 0000           ;  #define       COM_IN          C5_IN  
 0000           ;  #define       COM_OUT         C5_OUT
 0000           ;  #define       COM_CLR         C5_CLR
 0000           ;  #define       COM_SET         C5_SET
 0000           ;  #define       COM_R           C5_R
 0000           ;  
 0000           ; /**************************************************************************
 0000           ;                     全局变量定义区
 0000           ; ***************************************************************************/
 0000           ; U8       i;
 0000           ; //U16 
 0000           ; //RM      为临时变量 在RC测电阻中使用      
 0000           ; const U8 LED[ ]={num0,num1,num2,num3,num4,num5,num6,num7,num8,num9,num_,num_11,num_E,num_r,num_N };       //数码管笔形码数组
 0000           ;       U8 PLAY[6]={0,0,0,0,0,0};                                             //这个数组放在SARM里
 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 114
 0000           ;  PORTB = 0x00;
 0000 2224              clr R2
 0002 28BA              out 0x18,R2
 0004                   .dbline 115
 0004           ;  DDRB  = 0xFF;
 0004 8FEF              ldi R24,255
 0006 87BB              out 0x17,R24
 0008                   .dbline 116
 0008           ;  PORTC = 0x03;                      //m103 output only
 0008 83E0              ldi R24,3
 000A 85BB              out 0x15,R24
 000C                   .dbline 117
 000C           ;  DDRC  = 0x0C;
 000C 8CE0              ldi R24,12
 000E 84BB              out 0x14,R24
 0010                   .dbline 118
 0010           ;  PORTD = 0x00;
 0010 22BA              out 0x12,R2
 0012                   .dbline 119
 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 123
 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 init_devices _init_devices fV
 001A           ;              i -> <dead>
                        .even
 001A           _init_devices::
 001A                   .dbline -1
 001A                   .dbline 130
 001A           ;   //WDR();        //this prevents a timout on enabling
 001A           ;   //WDTCR = 0x0F; //WATCHDOG ENABLED - dont forget to issue WDRs
 001A           ; }
 001A           ; 
 001A           ; 
 001A           ; void init_devices(void) 
 001A           ; {
 001A                   .dbline 132
 001A           ; unsigned char i;
 001A           ;                  CLI();                       //disable all interrupts
 001A F894              cli
 001C                   .dbline 133
 001C           ;      port_init();
 001C F1DF              rcall _port_init
 001E                   .dbline 134
 001E           ;  watchdog_init();
 001E FCDF              rcall _watchdog_init
 0020                   .dbline 136
 0020           ;  
 0020           ;     MCUCR = 0x03;
 0020 83E0              ldi R24,3
 0022 85BF              out 0x35,R24
 0024                   .dbline 137
 0024           ;     GICR  = 0x00;                //关外部中断0
 0024 2224              clr R2
 0026 2BBE              out 0x3b,R2
 0028                   .dbline 138
 0028           ;     TIMSK = 0x00;                //关定时器1中断
 0028 29BE              out 0x39,R2
 002A                   .dbline 139
 002A           ;            SEI();                //re-enable interrupts
 002A 7894              sei
 002C                   .dbline -2
 002C           L3:
 002C                   .dbline 0 ; func end
 002C 0895              ret
 002E                   .dbsym l i 1 c
 002E                   .dbend
 002E                   .dbfunc e Delay _Delay fV
 002E           ;              i -> R16,R17
                        .even
 002E           _Delay::
 002E                   .dbline -1
 002E                   .dbline 144
 002E           ;                            
 002E           ; }
 002E           ; 
 002E           ; void Delay(unsigned int i)
 002E           ; {
 002E           L5:
 002E                   .dbline 145
 002E           L6:
 002E                   .dbline 145
 002E           ;       while(i--);
 002E 1801              movw R2,R16
 0030 0150              subi R16,1
 0032 1040              sbci R17,0
 0034 2220              tst R2
 0036 D9F7              brne L5
 0038 3320              tst R3
 003A C9F7              brne L5
 003C           X0:
 003C                   .dbline -2
 003C           L4:
 003C                   .dbline 0 ; func end
 003C 0895              ret
 003E                   .dbsym r i 16 i
 003E                   .dbend
 003E                   .dbfunc e DelayNS _DelayNS fV
 003E           ;              i -> R20,R21
 003E           ;            dly -> R16,R17
                        .even
 003E           _DelayNS::
 003E 00D0              rcall push_gset1
 0040                   .dbline -1
 0040                   .dbline 148
 0040           ; }
 0040           ; void DelayNS (U16 dly)                     //延时子程序    1.010ms
 0040           ; {
 0040                   .dbline 150
 0040 03C0              rjmp L12
 0042           L9:
 0042                   .dbline 150
 0042 A895              wdr
 0044           L10:
 0044                   .dbline 150
 0044 0150              subi R16,1
 0046 1040              sbci R17,0
 0048           L12:
 0048                   .dbline 150
 0048           ;       U16 i;
 0048           ;       for ( ; dly>0; dly--)WDR();
 0048 0030              cpi R16,0
 004A 0107              cpc R16,R17
 004C D1F7              brne L9
 004E           X1:
 004E                   .dbline 151
 004E 4427              clr R20
 0050 5527              clr R21
 0052 02C0              rjmp L16
 0054           L13:
 0054                   .dbline 151
 0054           L14:
 0054                   .dbline 151
 0054 4F5F              subi R20,255  ; offset = 1
 0056 5F4F              sbci R21,255
 0058           L16:
 0058                   .dbline 151
 0058           ;               for (i=0; i<1131; i++);           //1131
 0058 4B36              cpi R20,107
 005A E4E0              ldi R30,4
 005C 5E07              cpc R21,R30
 005E D0F3              brlo L13
 0060                   .dbline -2
 0060           L8:
 0060 00D0              rcall pop_gset1
 0062                   .dbline 0 ; func end
 0062 0895              ret

⌨️ 快捷键说明

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