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

📄 time_relay.lst

📁 一个时间继电器程序,是用三星单片机+汇编语言写的.
💻 LST
📖 第 1 页 / 共 5 页
字号:
 -------  FILE NO #1 : time_relay.l -------
Mon May 28 15:17:45 2007


     SAM8 Assembler for Reduced Instruction  Ver. 2.16T(Win32)
         Copyright (c) 2003 Samsung Electronics Co.

    --------------------------------------------------------------------

                       Source File Name : time_relay.SRC
                       Output File Name : time_relay.o
                       List File Name   : time_relay.l


    1                    
    2                     ;****************************************
    3                    ;porgram:     大德思时间继电器        *
    4                    ;mcu:           sm9454                  *
    5                    ;date:          2007.5.18              *
    6                    ;****************************************
    7                    .include "s3c9454.reg"
    8                    ; 86C4504.REG Copyright (c) 1996 SAMSUNG ELECTRONICS CO.
    9                    
   10                    	.list   on
   11                    
   12         00 00      sys_zt          equ             00h             
   13         00 01      ADJUST         equ              01h             ;保存状态 
   14         00 02      KEY_DATA        equ             02h             
   15         00 03      KEY_OLD         equ             03h
   16         00 04      KEY_ENTER       equ             04h
   17         00 05      KEY_LONG_TEMP   equ             05h
   18         00 06      T_1MS_TEMP      EQU             06H  
   19         00 07      T_1MS_FLAG      equ             07h              
   20         00 08      T_2MS_TEMP       equ            08h             ;2ms
   21         00 09      T_2MS_FLAG      EQU             09H    
   22         00 0A      t_10ms_tmp      equ             0Ah             ;10ms
   23         00 0B      T_10MS_FLAG          equ        0BH
   24         00 0C      T_12MS_TEMP     EQU             0CH  
   25         00 0D      T_100MS_TEMP    equ             0Dh             ;100ms
   26         00 0E      T_100MS_FLAG   equ              0Eh              ;100ms 标志 
   27         00 0F      T_300MS_TEMP    EQU             0FH
   28         00 10      T_500MS_TEMP     equ            10h   
   29         00 11      T_500MS_FLAG   equ              11h              ;500ms 标志
   30         00 12      T_1S_TEMP       EQU             12H
   31         00 13      T_1S_FLAG       EQU             13H
   32         00 14      T_3S_TEMP       EQU             14H
   33         00 15      T_3S_FLAG       EQU             15H
   34         00 16      T_5S_TEMP       EQU             16H
   35         00 17      T_5S_FLAG       EQU             17H
   36         00 18      T_1MIN_TEMP     EQU             18H 
   37         00 19      timer_tmp3      equ             19h             ;定时时间十位         
   38         00 1A      time_1min       equ             1Ah              ;1min 存储器 
   39         00 1B      time_6min       equ             1Bh              ;6min 存储器 
   40         00 1C      KEY_TIME	equ		1Ch	         
   41         00 1D      ram_save1       equ             1Dh              ;当3个存储器全位55h时不清除ram 
   42         00 1E      ram_save2       equ             1Eh
   43         00 1F      ram_save3       equ             1Fh     
   44         00 20      KEY_BUF           equ            20h 
   45         00 21      dis_led         equ             21h             ;led显示控制 
   46         00 22      KEY_IN_IN         equ           22h             ;保压时间       
   47         00 23      test_tmp        equ             23h           
   48         00 24      RLT_TEMP        equ             24h             
   49         00 25      DIS_CP1         equ             25h              ;显示切换 0:1位 1:2位 2:3位 3:4位 
   50         00 26      DIS_DP       equ                26h                                    
   51         00 27      DIS_GW        equ               27h            
   52         00 28      DIS_SW       equ                28h             
   53         00 29      DIS_BW       equ                29h  
   54         00 2A      DIS_BUF_DP        equ           2Ah                                    
   55         00 2B      DIS_BUF_GW        equ           2Bh            
   56         00 2C      DIS_BUF_SW       equ            2Ch             
   57         00 2D      DIS_BUF_BW       equ            2Dh 
   58         00 2E      KEY_DIS_DP            EQU           2EH
   59         00 2F      KEY_DIS_GW            EQU           2FH
   60         00 30      KEY_DIS_SW            EQU           30H
   61         00 31      KEY_DIS_BW            EQU           31H           
   62         00 32      KEY_LED          equ            32h 
   63         00 33      KEY_DP_TIME_POSITIVE     EQU    33H
   64         00 34      KEY_GW_TIME_POSITIVE     EQU    34H
   65         00 35      KEY_SW_TIME_POSITIVE     EQU    35H
   66         00 36      KEY_BW_TIME_POSITIVE     EQU    36H
   67         00 37      KEY_DP_TIME_MINUS        EQU    37H
   68         00 38      KEY_GW_TIME_MINUS        EQU    38H
   69         00 39      KEY_SW_TIME_MINUS        EQU    39H
   70         00 3A      KEY_BW_TIME_MINUS        EQU    3AH
   71         00 3B      KEY_DP_TIME_STOP EQU            3BH
   72         00 3C      KEY_GW_TIME_STOP EQU            3CH
   73         00 3D      KEY_SW_TIME_STOP EQU            3DH
   74         00 3E      KEY_BW_TIME_STOP EQU            3EH            
   75         00 3F      SOU1_TEMP        equ            3Fh              
   76         00 40      SOUH1_TEMP       equ		40h		
   77         00 41      SADR             equ            41h          
   78         00 42      SADRH            equ            42h        
   79         00 43      DADR	equ		        43h		
   80         00 44      CNT	equ		        44H	
   81         00 45      SOU	equ		        45H
   82         00 46      SOUH	equ		        46H		
   83         00 47      RLT	equ			47H	
   84         00 48      RLTH	equ			48H	
   85         00 49      TEMP1   equ			49H	
   86         00 4A      TEMP2	equ			4AH	
   87         00 4B      TEMP3	equ			4BH			
   88         00 4C      TEMP4   equ                     4CH 
   89         00 45      TXBUF   EQU             SOU
   90         00 46      RXBUF   EQU             SOUH            
   91         00 44      BCOUNT  EQU             CNT
   92                    ;*************************flag******************************
   93         00 4D      KEY_IN          equ             4Dh
   94         00 4E      display_in      equ             4Eh
   95         00 4F      DISPLAY_CNT      equ            4Fh
   96         00 50      KEY_LONG_EN     equ             50h     ;长按键确认 55h                         
   97         00 51      ad_s            equ             51h              ;启动ad                	
   98         00 52      display_new	equ		52h		;显示刷新 
   99                    ;FLASH_FLAG	equ		53h		;闪烁标志
  100         00 54      flash_cpl	equ		54h		;闪烁切换
  101         00 55      flash_del	equ		55h		;闪烁时间
  102         00 56      sys2_ready	equ		56h
  103         00 57      KEY_TIME_SET    EQU             57H
  104         00 58      KEY_TIME_COMPARE EQU            58H
  105         00 59      DIS_DP_TEMP           EQU            59H
  106         00 5A      DIS_GW_TEMP           EQU            5AH
  107         00 5B      DIS_SW_TEMP           EQU            5BH
  108         00 5C      DIS_BW_TEMP           EQU            5CH
  109         00 5D      KEY_DP_TEMP           EQU            5DH
  110         00 5E      KEY_GW_TEMP           EQU            5EH
  111         00 5F      KEY_SW_TEMP           EQU            5FH
  112         00 60      KEY_BW_TEMP           EQU            60H
  113         00 61      KEY_LED_TEMP           EQU            61H 
  114         00 62      KEY_DP1               EQU            62H
  115         00 63      KEY_GW1               EQU            63H
  116         00 64      KEY_SW1               EQU            64H
  117         00 65      KEY_BW1               EQU            65H
  118         00 66      KEY_MOV_FLAG          EQU            66H
  119         00 67      T_500MS_FLAG1         EQU            67H
  120         00 68      T_1S_FLAG1            EQU            68H
  121         00 69      KEY_DP                EQU            69H
  122         00 6A      KEY_GW                EQU            6AH
  123         00 6B      KEY_SW                EQU            6BH
  124         00 6C      KEY_BW                EQU            6CH
  125                    ;***********************************************************
  126  0000                 org     0000h
  127  0000   0A 2A                      VECTOR  00h,INT_9454
  128                                    
  129  003C                              org     03ch
  130  003C   00                        	db      00h
  131  003D   00                         db      00h
  132  003E   E4                         db      0E4h
  133  003F   00                         db      00h
  134                                    
  135  0100                              org     0100h
  136                    
  137  0100              RESET
  138                    	
  139  0100   8F                 DI			; disable interrupt
  140  0101   E6 E7 AA           ld	P0CONL,#10101010B	; P0.0–P0.7 push-pull output
  141  0104   E6 EA 4A           ld	P2CONH	,#01001010B
  142  0107   56 E0 00           AND  P0,#00000000B      ;关掉数码管 
  143  010A   E6 E2 08           LD   P2,#00001000B      ;关发光二极管 
  144  010D   E6 DC A3   	ld	BTCON	,#10100011B 	; Watch-dog disable
  145                    
  146                    
  147                        ;{
  148  0110   0C 00      	ld	R0	,#0
  149  0112   1C 00      	ld	R1	,#0
  150  0114              DELAY:
  151                    				;延时
  152  0114   FF               	nop
  153  0115   FF                	nop
  154  0116   FF                	nop
  155  0117   FF                	nop
  156  0118   0E                	inc	R0
  157  0119   A6 C0 C8          	cp 	R0	,#200
  158  011C   3D 01 14          	JP	ULE	,DELAY
  159  011F   B0 C0             	clr	R0
  160  0121   1E                	inc	R1
  161  0122   A6 C1 0A          	cp 	R1	,#10
  162  0125   3D 01 14          	JP	ULE	,DELAY
  163  0128              MAIN
  164  0128   E6 E8 00   	LD      P0PND,#00H
  165  012B   E6 D4 98           ld      CLKCON	,#10011000B	; Select non-divided CPU clock
  166  012E   E6 D9 C0   	ld	SP,#0C0H		; Stack pointer must be set
  167  0131   E6 E6 8A   	ld	P0CONH	,#10001010B
  168  0134   E6 E7 AA   	ld	P0CONL,#10101010B	; P0.0–P0.7 push-pull output
  169  0137   E6 E0 07           LD      P0,#0000111B
  170                            ;LD      P0CONL,#01010101B
  171  013A   E6 E9 0A   	ld	P1CON	,#00001010B	; P1.0–P1.1 push-pull output
  172  013D   E6 EA 4A   	ld	P2CONH	,#01001010B
  173  0140   E6 EB 95   	ld	P2CONL	,#10010101B	; P2.0–P2.6 push-pull output
  174  0143   46 E1 04           OR      P1,#00000100B
  175  0146   56 E0 F7           AND  P0,#11110111B      ;关掉数码管 
  176  0149   E6 E2 08           LD   P2,#00001000B      ;关发光二极管 
  177                    ;--------------<< Timer 0 settings >>
  178                    
  179                    	;ld	T0DATA	,#125		; CPU at 4 MHz,period(1/f)=250nS
  180                    ;ld	T0CON	,#10001010B	; fOSC/8, Timer 0 interrupt enable	interrupt interval = 250uS
  181                    	;ld	P0PND	,#00000010B                                        
  182  014C              clr_ram:
  183  014C   0C 00                      ld      r0,#0
  184  014E              clr_ram1:
  185  014E   B1 C0                      clr     @r0
  186  0150   0E                         inc     r0
  187  0151   A6 C0 C0                   cp      r0,#0c0h
  188  0154   ED 01 4E                   jp      nz,clr_ram1
  189                                  ;  LD  AD_IN,#20H
  190  0157   E6 25 0A                   LD   DIS_CP1,#0AH
  191  015A   E6 4F 18                   LD   DISPLAY_CNT,#18H
  192  015D   E6 06 02                   ld	T_1MS_TEMP,#2
  193  0160   E6 18 3C                   LD      T_1MIN_TEMP,#60
  194  0163   E6 08 02                   ld      T_2MS_TEMP,#2
  195  0166   E6 0A 05                   ld      t_10ms_tmp,#5
  196  0169   E6 0D 0A                   ld      T_100MS_TEMP,#10
  197  016C   E6 10 05                   LD      T_500MS_TEMP,#5
  198  016F   E6 12 02                   LD      T_1S_TEMP,#2
  199  0172   E6 16 05                   LD      T_5S_TEMP,#5
  200  0175   B0 04                      CLR      KEY_ENTER
  201  0177   E6 07 55                   LD      T_1MS_FLAG,#55H
  202  017A   E6 57 01                   LD      KEY_TIME_SET,#01H
  203                    ;*******************************接收I2C********************************           
  204  017D   F6 09 51            CALL  I2CSTAR
  205  0180   E6 45 A0           LD    TXBUF,#10100000B
  206  0183   F6 09 C3           CALL  WRBYT
  207  0186   F6 09 A7           CALL  CHECK
  208  0189   7D 03 51           JP    C,TIME
  209  018C   E6 45 01           LD    TXBUF,#00000001B
  210  018F   F6 09 C3           CALL  WRBYT
  211  0192   F6 09 A7           CALL  CHECK
  212  0195   F6 09 51           CALL  I2CSTAR
  213  0198   E6 45 A1           LD    TXBUF,#10100001B
  214  019B   F6 09 C3           CALL  WRBYT
  215  019E   F6 09 A7           CALL  CHECK
  216  01A1   7D 03 51           JP    C,TIME

⌨️ 快捷键说明

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