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

📄 key.lst

📁 M8+1302+18b20+8位数码管的sch和gcc源程序 数码管显示
💻 LST
📖 第 1 页 / 共 5 页
字号:
 844 0382 E6CF      		rjmp .L263
 846               	.LM142:
 847 0384 8499      		sbic 48-0x20,4
 848 0386 60CF      		rjmp .L464
 850               	.LM143:
 851 0388 00D0      		rcall ds1302_write_time
 852               	.L169:
 854               	.LM144:
 855 038a 8199      		sbic 48-0x20,1
 856 038c 36C3      		rjmp .L134
 857               	.L271:
 859               	.LM145:
 860 038e 80E8      		ldi r24,lo8(-128)
 861 0390 8093 0000 		sts flash_control,r24
 863               	.LM146:
 864 0394 4091 0000 		lds r20,timer0_minute
 865 0398 6091 0000 		lds r22,timer0_hour
 866 039c 81E0      		ldi r24,lo8(1)
 867 039e 00D0      		rcall display_timer
 869               	.LM147:
 870 03a0 839B      		sbis 48-0x20,3
 871 03a2 2EDE      		rcall key_delay
 872               	.L274:
 874               	.LM148:
 875 03a4 8399      		sbic 48-0x20,3
 876 03a6 0EC0      		rjmp .L275
 878               	.LM149:
 879 03a8 2091 0000 		lds r18,timer0_minute
 880 03ac 2F5F      		subi r18,lo8(-(1))
 881 03ae 2093 0000 		sts timer0_minute,r18
 883               	.LM150:
 884 03b2 822F      		mov r24,r18
 885 03b4 9927      		clr r25
 886 03b6 8F70      		andi r24,lo8(15)
 887 03b8 9070      		andi r25,hi8(15)
 888 03ba 0A97      		sbiw r24,10
 889 03bc 1CF0      		brlt .L275
 890 03be 207F      		andi r18,lo8(-16)
 891 03c0 2093 0000 		sts timer0_minute,r18
 892               	.L275:
 894               	.LM151:
 895 03c4 829B      		sbis 48-0x20,2
 896 03c6 1CDE      		rcall key_delay
 897               	.L273:
 899               	.LM152:
 900 03c8 8299      		sbic 48-0x20,2
 901 03ca E1CF      		rjmp .L271
 902               	.L278:
 904               	.LM153:
 905 03cc 80E4      		ldi r24,lo8(64)
 906 03ce 8093 0000 		sts flash_control,r24
 908               	.LM154:
 909 03d2 4091 0000 		lds r20,timer0_minute
 910 03d6 6091 0000 		lds r22,timer0_hour
 911 03da 81E0      		ldi r24,lo8(1)
 912 03dc 00D0      		rcall display_timer
 914               	.LM155:
 915 03de 839B      		sbis 48-0x20,3
 916 03e0 0FDE      		rcall key_delay
 917               	.L281:
 919               	.LM156:
 920 03e2 8399      		sbic 48-0x20,3
 921 03e4 0FC0      		rjmp .L282
 923               	.LM157:
 924 03e6 2091 0000 		lds r18,timer0_minute
 925 03ea 205F      		subi r18,lo8(-(16))
 926 03ec 2093 0000 		sts timer0_minute,r18
 928               	.LM158:
 929 03f0 822F      		mov r24,r18
 930 03f2 9927      		clr r25
 931 03f4 807F      		andi r24,lo8(240)
 932 03f6 9070      		andi r25,hi8(240)
 933 03f8 8036      		cpi r24,96
 934 03fa 9105      		cpc r25,__zero_reg__
 935 03fc 1CF0      		brlt .L282
 936 03fe 2F70      		andi r18,lo8(15)
 937 0400 2093 0000 		sts timer0_minute,r18
 938               	.L282:
 940               	.LM159:
 941 0404 829B      		sbis 48-0x20,2
 942 0406 FCDD      		rcall key_delay
 943               	.L280:
 945               	.LM160:
 946 0408 8299      		sbic 48-0x20,2
 947 040a E0CF      		rjmp .L278
 948               	.L285:
 950               	.LM161:
 951 040c 80E1      		ldi r24,lo8(16)
 952 040e 8093 0000 		sts flash_control,r24
 954               	.LM162:
 955 0412 4091 0000 		lds r20,timer0_minute
 956 0416 6091 0000 		lds r22,timer0_hour
 957 041a 81E0      		ldi r24,lo8(1)
 958 041c 00D0      		rcall display_timer
 960               	.LM163:
 961 041e 839B      		sbis 48-0x20,3
 962 0420 EFDD      		rcall key_delay
 963               	.L288:
 965               	.LM164:
 966 0422 8399      		sbic 48-0x20,3
 967 0424 0EC0      		rjmp .L289
 969               	.LM165:
 970 0426 2091 0000 		lds r18,timer0_hour
 971 042a 2F5F      		subi r18,lo8(-(1))
 972 042c 2093 0000 		sts timer0_hour,r18
 974               	.LM166:
 975 0430 822F      		mov r24,r18
 976 0432 9927      		clr r25
 977 0434 8F70      		andi r24,lo8(15)
 978 0436 9070      		andi r25,hi8(15)
 979 0438 0A97      		sbiw r24,10
 980 043a 1CF0      		brlt .L289
 981 043c 207F      		andi r18,lo8(-16)
 982 043e 2093 0000 		sts timer0_hour,r18
 983               	.L289:
 985               	.LM167:
 986 0442 829B      		sbis 48-0x20,2
 987 0444 DDDD      		rcall key_delay
 988               	.L287:
 990               	.LM168:
 991 0446 8299      		sbic 48-0x20,2
 992 0448 E1CF      		rjmp .L285
 993               	.L292:
 995               	.LM169:
 996 044a 88E0      		ldi r24,lo8(8)
 997 044c 8093 0000 		sts flash_control,r24
 999               	.LM170:
 1000 0450 4091 0000 		lds r20,timer0_minute
 1001 0454 6091 0000 		lds r22,timer0_hour
 1002 0458 81E0      		ldi r24,lo8(1)
 1003 045a 00D0      		rcall display_timer
 1005               	.LM171:
 1006 045c 839B      		sbis 48-0x20,3
 1007 045e D0DD      		rcall key_delay
 1008               	.L295:
 1010               	.LM172:
 1011 0460 8399      		sbic 48-0x20,3
 1012 0462 0EC0      		rjmp .L296
 1014               	.LM173:
 1015 0464 2091 0000 		lds r18,timer0_hour
 1016 0468 205F      		subi r18,lo8(-(16))
 1017 046a 2093 0000 		sts timer0_hour,r18
 1019               	.LM174:
 1020 046e 822F      		mov r24,r18
 1021 0470 9927      		clr r25
 1022 0472 807F      		andi r24,lo8(240)
 1023 0474 9070      		andi r25,hi8(240)
 1024 0476 C097      		sbiw r24,48
 1025 0478 1CF0      		brlt .L296
 1026 047a 2F70      		andi r18,lo8(15)
 1027 047c 2093 0000 		sts timer0_hour,r18
 1028               	.L296:
 1030               	.LM175:
 1031 0480 829B      		sbis 48-0x20,2
 1032 0482 BEDD      		rcall key_delay
 1033               	.L294:
 1035               	.LM176:
 1036 0484 8299      		sbic 48-0x20,2
 1037 0486 E1CF      		rjmp .L292
 1038               	.LBB2:
 1040               	.Ltext1:
   1:C:/WinAVR/avr/include/avr/eeprom.h **** /* Copyright (c) 2002, 2003, 2004 Marek Michalkiewicz
   2:C:/WinAVR/avr/include/avr/eeprom.h ****    Copyright (c) 2005, 2006 Bjoern Haase
   3:C:/WinAVR/avr/include/avr/eeprom.h ****    All rights reserved.
   4:C:/WinAVR/avr/include/avr/eeprom.h **** 
   5:C:/WinAVR/avr/include/avr/eeprom.h ****    Redistribution and use in source and binary forms, with or without
   6:C:/WinAVR/avr/include/avr/eeprom.h ****    modification, are permitted provided that the following conditions are met:
   7:C:/WinAVR/avr/include/avr/eeprom.h **** 
   8:C:/WinAVR/avr/include/avr/eeprom.h ****    * Redistributions of source code must retain the above copyright
   9:C:/WinAVR/avr/include/avr/eeprom.h ****      notice, this list of conditions and the following disclaimer.
  10:C:/WinAVR/avr/include/avr/eeprom.h **** 
  11:C:/WinAVR/avr/include/avr/eeprom.h ****    * Redistributions in binary form must reproduce the above copyright
  12:C:/WinAVR/avr/include/avr/eeprom.h ****      notice, this list of conditions and the following disclaimer in
  13:C:/WinAVR/avr/include/avr/eeprom.h ****      the documentation and/or other materials provided with the
  14:C:/WinAVR/avr/include/avr/eeprom.h ****      distribution.
  15:C:/WinAVR/avr/include/avr/eeprom.h **** 
  16:C:/WinAVR/avr/include/avr/eeprom.h ****    * Neither the name of the copyright holders nor the names of
  17:C:/WinAVR/avr/include/avr/eeprom.h ****      contributors may be used to endorse or promote products derived
  18:C:/WinAVR/avr/include/avr/eeprom.h ****      from this software without specific prior written permission.
  19:C:/WinAVR/avr/include/avr/eeprom.h **** 
  20:C:/WinAVR/avr/include/avr/eeprom.h ****   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
  21:C:/WinAVR/avr/include/avr/eeprom.h ****   AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  22:C:/WinAVR/avr/include/avr/eeprom.h ****   IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  23:C:/WinAVR/avr/include/avr/eeprom.h ****   ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
  24:C:/WinAVR/avr/include/avr/eeprom.h ****   LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  25:C:/WinAVR/avr/include/avr/eeprom.h ****   CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  26:C:/WinAVR/avr/include/avr/eeprom.h ****   SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
  27:C:/WinAVR/avr/include/avr/eeprom.h ****   INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
  28:C:/WinAVR/avr/include/avr/eeprom.h ****   CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  29:C:/WinAVR/avr/include/avr/eeprom.h ****   ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  30:C:/WinAVR/avr/include/avr/eeprom.h ****   POSSIBILITY OF SUCH DAMAGE. */
  31:C:/WinAVR/avr/include/avr/eeprom.h **** 
  32:C:/WinAVR/avr/include/avr/eeprom.h **** /* $Id: eeprom.h,v 1.17.2.1 2006/02/26 21:51:04 aesok Exp $ */
  33:C:/WinAVR/avr/include/avr/eeprom.h **** 
  34:C:/WinAVR/avr/include/avr/eeprom.h **** /*
  35:C:/WinAVR/avr/include/avr/eeprom.h ****    eeprom.h
  36:C:/WinAVR/avr/include/avr/eeprom.h **** 
  37:C:/WinAVR/avr/include/avr/eeprom.h ****    Contributors:
  38:C:/WinAVR/avr/include/avr/eeprom.h ****      Created by Marek Michalkiewicz <marekm@linux.org.pl>
  39:C:/WinAVR/avr/include/avr/eeprom.h ****      eeprom_write_word and eeprom_write_block added by Artur Lipowski 
  40:C:/WinAVR/avr/include/avr/eeprom.h ****      <LAL@pro.onet.pl>
  41:C:/WinAVR/avr/include/avr/eeprom.h ****      Complete rewrite using the original interface by Bjoern Haase 
  42:C:/WinAVR/avr/include/avr/eeprom.h ****      <bjoern.haase@de.bosch.com>. 
  43:C:/WinAVR/avr/include/avr/eeprom.h ****  */
  44:C:/WinAVR/avr/include/avr/eeprom.h **** 
  45:C:/WinAVR/avr/include/avr/eeprom.h **** #ifndef _EEPROM_H_
  46:C:/WinAVR/avr/include/avr/eeprom.h **** #define _EEPROM_H_ 1
  47:C:/WinAVR/avr/include/avr/eeprom.h **** 
  48:C:/WinAVR/avr/include/avr/eeprom.h **** #define __need_size_t
  49:C:/WinAVR/avr/include/avr/eeprom.h **** #include <stddef.h>
  50:C:/WinAVR/avr/include/avr/eeprom.h **** #include <inttypes.h>
  51:C:/WinAVR/avr/include/avr/eeprom.h **** 
  52:C:/WinAVR/avr/include/avr/eeprom.h **** 
  53:C:/WinAVR/avr/include/avr/eeprom.h **** #ifdef __AVR_MEGA__
  54:C:/WinAVR/avr/include/avr/eeprom.h **** #define XCALL "call"
  55:C:/WinAVR/avr/include/avr/eeprom.h **** #else
  56:C:/WinAVR/avr/include/avr/eeprom.h **** #define XCALL "rcall"
  57:C:/WinAVR/avr/include/avr/eeprom.h **** #endif
  58:C:/WinAVR/avr/include/avr/eeprom.h **** 
  59:C:/WinAVR/avr/include/avr/eeprom.h **** #include <avr/io.h>
  60:C:/WinAVR/avr/include/avr/eeprom.h **** #ifndef __EEPROM_REG_LOCATIONS__
  61:C:/WinAVR/avr/include/avr/eeprom.h **** /** \def __EEPROM_REG_LOCATIONS__
  62:C:/WinAVR/avr/include/avr/eeprom.h ****     \ingroup avr_eeprom
  63:C:/WinAVR/avr/include/avr/eeprom.h ****      In order to be able to work without a requiring a multilib 
  64:C:/WinAVR/avr/include/avr/eeprom.h ****      approach for dealing with controllers having the EEPROM registers
  65:C:/WinAVR/avr/include/avr/eeprom.h ****      at different positions in memory space, the eeprom functions evaluate
  66:C:/WinAVR/avr/include/avr/eeprom.h ****      __EEPROM_REG_LOCATIONS__: It is assumed to be defined by
  67:C:/WinAVR/avr/include/avr/eeprom.h ****      the device io header and contains 6 uppercase hex digits encoding the 
  68:C:/WinAVR/avr/include/avr/eeprom.h ****      addresses of EECR,EEDR and EEAR. 
  69:C:/WinAVR/avr/include/avr/eeprom.h ****      First two letters:  EECR address.
  70:C:/WinAVR/avr/include/avr/eeprom.h ****      Second two letters: EEDR address.
  71:C:/WinAVR/avr/include/avr/eeprom.h ****      Last two letters:   EEAR address.
  72:C:/WinAVR/avr/include/avr/eeprom.h ****      The default 1C1D1E corresponds to the
  73:C:/WinAVR/avr/include/avr/eeprom.h ****      register location that is valid for most controllers. The value
  74:C:/WinAVR/avr/include/avr/eeprom.h ****      of this define symbol is used for appending it to the base name of the
  75:C:/WinAVR/avr/include/avr/eeprom.h ****      assembler functions.  */
  76:C:/WinAVR/avr/include/avr/eeprom.h **** #define __EEPROM_REG_LOCATIONS__ 1C1D1E
  77:C:/WinAVR/avr/include/avr/eeprom.h **** #endif
  78:C:/WinAVR/avr/include/avr/eeprom.h **** #define _STR2(EXP) _STR1(EXP)
  79:C:/WinAVR/avr/include/avr/eeprom.h **** #define _STR1(EXP) #EXP
  80:C:/WinAVR/avr/include/avr/eeprom.h **** #define _REG_LOCATION_SUFFIX _STR2(__EEPROM_REG_LOCATIONS__)
  81:C:/WinAVR/avr/include/avr/eeprom.h **** 
  82:C:/WinAVR/avr/include/avr/eeprom.h **** #ifndef CR_TAB
  83:C:/WinAVR/avr/include/avr/eeprom.h **** #define CR_TAB "\n\t"
  84:C:/WinAVR/avr/include/avr/eeprom.h **** #endif
  85:C:/WinAVR/avr/include/avr/eeprom.h **** 
  86:C:/WinAVR/avr/include/avr/eeprom.h **** 
  87:C:/WinAVR/avr/include/avr/eeprom.h **** /** \defgroup avr_eeprom <avr/eeprom.h>: EEPROM handling
  88:C:/WinAVR/avr/include/avr/eeprom.h ****     \code #include <avr/eeprom.h> \endcode
  89:C:/WinAVR/avr/include/avr/eeprom.h **** 
  90:C:/WinAVR/avr/include/avr/eeprom.h ****     This header file declares the interface to some simple library
  91:C:/WinAVR/avr/include/avr/eeprom.h ****     routines suitable for handling the data EEPROM contained in the
  92:C:/WinAVR/avr/include/avr/eeprom.h ****     AVR microcontrollers.  The implementation uses a simple polled
  93:C:/WinAVR/avr/include/avr/eeprom.h ****     mode interface.  Applications that require interrupt-controlled
  94:C:/WinAVR/avr/include/avr/eeprom.h ****     EEPROM access to ensure that no time will be wasted in spinloops
  95:C:/WinAVR/avr/include/avr/eeprom.h ****     will have to deploy their own implementation.
  96:C:/WinAVR/avr/include/avr/eeprom.h **** 
  97:C:/WinAVR/avr/include/avr/eeprom.h ****     \note All of the read/write functions first make sure the EEPROM
  98:C:/WinAVR/avr/include/avr/eeprom.h ****      is ready to be accessed.  Since this may cause long delays if a
  99:C:/WinAVR/avr/include/avr/eeprom.h ****      write operation is still pending, time-critical applications
 100:C:/WinAVR/avr/include/avr/eeprom.h ****      should first poll the EEPROM e. g. using eeprom_is_ready() before
 101:C:/WinAVR/avr/include/avr/eeprom.h ****      attempting any actual I/O.
 102:C:/WinAVR/avr/include/avr/eeprom.h **** 
 103:C:/WinAVR/avr/include/avr/eeprom.h ****     \note This header file declares inline functions that call the
 104:C:/WinAVR/avr/include/avr/eeprom.h ****      assembler subroutines directly. This prevents that the compiler
 105:C:/WinAVR/avr/include/avr/eeprom.h ****      generates push/pops for the call-clobbered registers. This way
 106:C:/WinAVR/avr/include/avr/eeprom.h ****      also a specific calling convention could be used for the eeprom
 107:C:/WinAVR/avr/include/avr/eeprom.h ****      routines e.g. by passing values in __tmp_reg__, eeprom addresses in
 108:C:/WinAVR/avr/include/avr/eeprom.h ****      X and memory addresses in Z registers. Method is optimized for code 
 109:C:/WinAVR/avr/include/avr/eeprom.h ****      size.
 110:C:/WinAVR/avr/include/avr/eeprom.h **** 
 111:C:/WinAVR/avr/include/avr/eeprom.h ****     \note Presently supported are two locations of the EEPROM register
 112:C:/WinAVR/avr/include/avr/eeprom.h ****      set: 0x1F,0x20,0x21 and 0x1C,0x1D,0x1E 
 113:C:/WinAVR/avr/include/avr/eeprom.h ****      (see ::__EEPROM_REG_LOCATIONS__).
 114:C:/WinAVR/avr/include/avr/eeprom.h **** 
 115:C:/WinAVR/avr/include/avr/eeprom.h ****     \note As these functions modify IO registers, they are known to be
 116:C:/WinAVR/avr/include/avr/eeprom.h ****      non-reentrant.  If any of these functions are used from both,
 117:C:/WinAVR/avr/include/avr/eeprom.h ****      standard and interrupt context, the applications must ensure
 118:C:/WinAVR/avr/include/avr/eeprom.h ****      proper protection (e.g. by disabling interrupts before accessing
 119:C:/WinAVR/avr/include/avr/eeprom.h ****      them).
 120:C:/WinAVR/avr/include/avr/eeprom.h **** 
 121:C:/WinAVR/avr/include/avr/eeprom.h **** */
 122:C:/WinAVR/avr/include/avr/eeprom.h **** 
 123:C:/WinAVR/avr/include/avr/eeprom.h **** 
 124:C:/WinAVR/avr/include/avr/eeprom.h **** /* forward declarations of the inline functions so that doxygen does
 125:C:/WinAVR/avr/include/avr/eeprom.h ****    not get confused by the attribute expression.  */
 126:C:/WinAVR/avr/include/avr/eeprom.h **** 
 127:C:/WinAVR/avr/include/avr/eeprom.h **** static inline uint8_t __attribute__ ((always_inline))
 128:C:/WinAVR/avr/include/avr/eeprom.h **** eeprom_read_byte (const uint8_t *addr);
 129:C:/WinAVR/avr/include/avr/eeprom.h **** 
 130:C:/WinAVR/avr/include/avr/eeprom.h **** static inline uint16_t __attribute__ ((always_inline)) 
 131:C:/WinAVR/avr/include/avr/eeprom.h **** eeprom_read_word (const uint16_t *addr);
 132:C:/WinAVR/avr/include/avr/eeprom.h **** 
 133:C:/WinAVR/avr/include/avr/eeprom.h **** static inline void __attribute__ ((always_inline))
 134:C:/WinAVR/avr/include/avr/eeprom.h **** eeprom_read_block (void *pointer_ram,
 135:C:/Win

⌨️ 快捷键说明

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