   1               		.file	"main.c"
   2               	__SREG__ = 0x3f
   3               	__SP_H__ = 0x3e
   4               	__SP_L__ = 0x3d
   5               	__CCP__  = 0x34
   6               	__tmp_reg__ = 0
   7               	__zero_reg__ = 1
   9               		.text
  10               	.Ltext0:
  78               	.global	data_to_synt
  80               	data_to_synt:
   1:main.c        **** #include <avr/io.h>
   2:main.c        **** #include <util/delay.h>
   3:main.c        **** #include <stdlib.h>
   4:main.c        **** 
   5:main.c        **** #include <avr/sleep.h>
   6:main.c        **** 
   7:main.c        **** #define DATA_1   PORTB |= _BV(PB4)   // DATA_1 - установить "1" на включенной линии DATA
   8:main.c        **** #define DATA_0   PORTB &= ~_BV(PB4)  // DATA_0 - установить "0" на включенной линии DATA
   9:main.c        **** #define CLK_1    PORTB |= _BV(PB3)   // CLK_1 - установить "1" на включенной линии CLOCK
  10:main.c        **** #define CLK_0    PORTB &= ~_BV(PB3)  // CLK_0 - установить "0" на включенной линии CLOCK
  11:main.c        **** #define CS_1     PORTB |= _BV(PB2)   // CS_1 - установить "1" на включенной линии LE
  12:main.c        **** #define CS_0     PORTB &= ~_BV(PB2)  // CS_0 - установить "0" на включенной линии LE
  13:main.c        **** 
  14:main.c        **** #define DATA_LINE_ON   DDRB |= _BV(PB4)  // включить линию DATA - т.е. сделать выходом вывод PB4
  15:main.c        **** #define DATA_LINE_OFF  DDRB &= ~_BV(PB4) // выключить линию DATA - т.е. сделать входом вывод PB4 с 
  16:main.c        **** #define CLK_LINE_ON    DDRB |= _BV(PB3)  // включить линию CLK - т.е. сделать выходом вывод PB3
  17:main.c        **** #define CLK_LINE_OFF   DDRB &= ~_BV(PB3) // выключить линию CLK - т.е. сделать входом вывод PB3 с п
  18:main.c        **** #define CS_LINE_ON     DDRB |= _BV(PB2)  // включить линию CS - т.е. сделать выходом вывод PB2
  19:main.c        **** #define CS_LINE_OFF    DDRB &= ~_BV(PB2) // выключить линию CS - т.е. сделать входом вывод PB2 с по
  20:main.c        **** 
  21:main.c        **** 
  22:main.c        **** volatile unsigned char   bayt; // байт для отправки в синтезатор
  23:main.c        **** 
  24:main.c        **** 
  25:main.c        **** //--------------------------------------------------------------
  26:main.c        **** //************** Отправка 8 бит в синтезатор *******************
  27:main.c        **** //--------------------------------------------------------------
  28:main.c        **** 
  29:main.c        **** void data_to_synt (void) 
  30:main.c        **** {
  81               	 = 0 */
  83               	.LM1:
  84               		ldi r18,lo8(8)
  85               	.LBB90:
  86               	.LBB91:
  87               	.LBB92:
  88 0000 28E0      	.LBB93:
  90               	.Ltext1:
  92               	.LM2:
  93               		ldi r19,lo8(-16)
  94               	.LBE93:
   1:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h **** /* Copyright (c) 2002, Marek Michalkiewicz
   2:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h ****    Copyright (c) 2007 Joerg Wunsch
   3:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h ****    All rights reserved.
   4:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h **** 
   5:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h ****    Redistribution and use in source and binary forms, with or without
   6:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h ****    modification, are permitted provided that the following conditions are met:
   7:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h **** 
   8:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h ****    * Redistributions of source code must retain the above copyright
   9:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h ****      notice, this list of conditions and the following disclaimer.
  10:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h **** 
  11:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h ****    * Redistributions in binary form must reproduce the above copyright
  12:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h ****      notice, this list of conditions and the following disclaimer in
  13:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h ****      the documentation and/or other materials provided with the
  14:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h ****      distribution.
  15:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h **** 
  16:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h ****    * Neither the name of the copyright holders nor the names of
  17:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h ****      contributors may be used to endorse or promote products derived
  18:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h ****      from this software without specific prior written permission.
  19:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h **** 
  20:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h ****   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
  21:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h ****   AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  22:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h ****   IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  23:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h ****   ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
  24:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h ****   LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  25:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h ****   CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  26:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h ****   SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
  27:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h ****   INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
  28:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h ****   CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  29:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h ****   ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  30:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h ****   POSSIBILITY OF SUCH DAMAGE. */
  31:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h **** 
  32:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h **** /* $Id: delay_basic.h,v 1.1 2007/05/13 21:23:20 joerg_wunsch Exp $ */
  33:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h **** 
  34:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h **** #ifndef _UTIL_DELAY_BASIC_H_
  35:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h **** #define _UTIL_DELAY_BASIC_H_ 1
  36:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h **** 
  37:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h **** #include <inttypes.h>
  38:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h **** 
  39:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h **** /** \file */
  40:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h **** /** \defgroup util_delay_basic <util/delay_basic.h>: Basic busy-wait delay loops
  41:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h ****     \code
  42:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h ****     #include <util/delay_basic.h>
  43:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h ****     \endcode
  44:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h **** 
  45:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h ****     The functions in this header file implement simple delay loops
  46:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h ****     that perform a busy-waiting.  They are typically used to
  47:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h ****     facilitate short delays in the program execution.  They are
  48:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h ****     implemented as count-down loops with a well-known CPU cycle
  49:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h ****     count per loop iteration.  As such, no other processing can
  50:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h ****     occur simultaneously.  It should be kept in mind that the
  51:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h ****     functions described here do not disable interrupts.
  52:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h **** 
  53:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h ****     In general, for long delays, the use of hardware timers is
  54:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h ****     much preferrable, as they free the CPU, and allow for
  55:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h ****     concurrent processing of other events while the timer is
  56:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h ****     running.  However, in particular for very short delays, the
  57:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h ****     overhead of setting up a hardware timer is too much compared
  58:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h ****     to the overall delay time.
  59:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h **** 
  60:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h ****     Two inline functions are provided for the actual delay algorithms.
  61:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h **** 
  62:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h **** */
  63:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h **** 
  64:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h **** #if !defined(__DOXYGEN__)
  65:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h **** static inline void _delay_loop_1(uint8_t __count) __attribute__((always_inline));
  66:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h **** static inline void _delay_loop_2(uint16_t __count) __attribute__((always_inline));
  67:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h **** #endif
  68:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h **** 
  69:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h **** /** \ingroup util_delay_basic
  70:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h **** 
  71:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h ****     Delay loop using an 8-bit counter \c __count, so up to 256
  72:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h ****     iterations are possible.  (The value 256 would have to be passed
  73:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h ****     as 0.)  The loop executes three CPU cycles per iteration, not
  74:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h ****     including the overhead the compiler needs to setup the counter
  75:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h ****     register.
  76:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h **** 
  77:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h ****     Thus, at a CPU speed of 1 MHz, delays of up to 768 microseconds
  78:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h ****     can be achieved.
  79:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h **** */
  80:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h **** void
  81:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h **** _delay_loop_1(uint8_t __count)
  82:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h **** {
  83:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h **** 	__asm__ volatile (
  95               	:
  96               	.LBE90:
  97 0002 30EF      	.LBB97:
  98               	.LBB98:
  99               	.LBB99:
 100               	.LBB100:
 101               	.LBB101:
 102               	.LBB102:
 104               	.LM3:
 105               		ldi r20,lo8(240)
 106               		ldi r21,hi8(240)
 107               	.L4:
  84:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h **** 		"1: dec %0" "\n\t"
  85:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h **** 		"brne 1b"
  86:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h **** 		: "=r" (__count)
  87:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h **** 		: "0" (__count)
  88:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h **** 	);
  89:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h **** }
  90:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h **** 
  91:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h **** /** \ingroup util_delay_basic
  92:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h **** 
  93:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h ****     Delay loop using a 16-bit counter \c __count, so up to 65536
  94:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h ****     iterations are possible.  (The value 65536 would have to be
  95:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h ****     passed as 0.)  The loop executes four CPU cycles per iteration,
  96:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h ****     not including the overhead the compiler requires to setup the
  97:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h ****     counter register pair.
  98:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h **** 
  99:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h ****     Thus, at a CPU speed of 1 MHz, delays of up to about 262.1
 100:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h ****     milliseconds can be achieved.
 101:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h ****  */
 102:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h **** void
 103:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h **** _delay_loop_2(uint16_t __count)
 104:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h **** {
 105:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h **** 	__asm__ volatile (
 108               	101:
 109               	.LBE100:
 110 0004 40EF      	.LBE99:
 111 0006 50E0      	.LBE98:
 112               	.LBE97:
 114               	.Ltext2:
 116               	.LM4:
 117               		lds r24,bayt
 118               		sbrs r24,7
 119               		rjmp .L2
 120               		sbi 56-32,4
  31:main.c        **** 
  32:main.c        ****  unsigned char ctr = 8;          // Локальная переменная счетчик
  33:main.c        **** 
  34:main.c        **** /* Цикл вывода bayt начиная с бита_7 (старший - MSB). 
  35:main.c        **** Будем делать 8 раз каждый раз отправляя в синтезатор очередной бит */
  36:main.c        **** 
  37:main.c        **** while (ctr)
  38:main.c        ****    {
  39:main.c        ****     if (bayt & 0b10000000) DATA_1;   // Вывести на DATA 7-й бит bayt
 121               	:
 123 0008 8091 0000 	.LM5:
 124 000c 87FF      		cbi 56-32,4
 125 000e 00C0      	.L3:
 127 0012 00C0      	.LM6:
 128               		lds r24,bayt
  40:main.c        ****     
  41:main.c        **** 	else DATA_0; 
 129               	
 130               		sts bayt,r24
 132               	.LM7:
  42:main.c        **** 
  43:main.c        ****     bayt <<= 1;    // Сдвинуть bayt на 1 позицию влево
 133               	bi r18,lo8(-(-1))
 134               	.LBB108:
 135 0016 8091 0000 	.LBB96:
 136 001a 880F      	.LBB95:
 137 001c 8093 0000 	.LBB94:
  44:main.c        ****     ctr --;        // Уменьшить счетчик оставшихся прогонов цикла на 1
 138               	bs	"c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h",132,0,0,.Ltext3
 139               	.Ltext3:
 141               	.LM8:
 142               		mov r24,r19
 143               	/* #APP */
 144               	 ;  83 "c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h" 1
 145               		1: dec r24
 146               		brne 1b
 147               	 ;  0 "" 2
 148               	/* #NOAPP */
 149 0022 832F      	.LBE94:
 150               	.LBE95:
 151               	.LBE96:
 152 0024 8A95      	.LBE108:
 154               	.Ltext4:
 156               	.LM9:
 157               		sbi 56-32,3
 158               	.LBB109:
 159               	.LBB107:
 160               	.LBB106:
 161               	.LBB105:
  45:main.c        ****   
  46:main.c        ****    _delay_us(150);  //150 mks
  47:main.c        ****    
  48:main.c        ****     CLK_1;         //Сделать фронт на CLK 
 162               	s	"c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h",132,0,0,.Ltext5
 163               	.Ltext5:
 165               	.LM10:
 166               		movw r24,r20
 167               	/* #APP */
 168               	 ;  105 "c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h" 1
 169               		1: sbiw r24,1
 170               		brne 1b
 171               	 ;  0 "" 2
 172               	/* #NOAPP */
 173               	.LBE103:
 174               	.LBE104:
 175 002a CA01      	.LBE105:
 176               	.LBE106:
 177               	.LBE107:
 178 002c 0197      	.LBE109:
 180               	.Ltext6:
 182               	.LM11:
 183               		cbi 56-32,3
 184               	.LBB110:
 185               	.LBB111:
 186               	.LBB112:
 187               	.LBB113:
 189               	.Ltext7:
  49:main.c        **** 
  50:main.c        ****    _delay_us(200); //задержка 200 мксек;	
  51:main.c        **** 
  52:main.c        ****     CLK_0;         //делать спад на CLK 
 190               	
 191               	.LM12:
 192 0030 C398      		mov r24,r19
 193               	/* #APP */
 194               	 ;  83 "c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h" 1
 195               		1: dec r24
 196               		brne 1b
 197               	 ;  0 "" 2
 198               	/* #NOAPP */
 199               	.LBE113:
 200               	.LBE112:
 201 0032 832F      	.LBE111:
 202               	.LBE110:
 204 0034 8A95      	.Ltext8:
 206               	.LM13:
 207               		tst r18
 208               		brne .L4
 209               	.LBB114:
 210               	.LBB115:
 211               	.LBB116:
 212               	.LBB117:
 213               	.LBB118:
 214               	.LBB119:
 216 0038 2223      	.Ltext9:
 218               	.LM14:
 219               		ldi r24,lo8(240)
 220               		ldi r25,hi8(240)
 221               	/* #APP */
 222               	 ;  105 "c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h" 1
 223               		1: sbiw r24,1
 224               		brne 1b
 225               	 ;  0 "" 2
 226               	/* epilogue start */
 227               	/* #NOAPP */
 228 003c 80EF      	.LBE119:
 229 003e 90E0      	.LBE118:
 230               	.LBE117:
 231               	.LBE116:
 232 0040 0197      	.LBE115:
 233 0042 01F4      	.LBE114:
 235               	.Ltext10:
 237               	.LM15:
 238               		ret
 243               	.Lscope1:
  53:main.c        **** 
  54:main.c        ****    _delay_us(150); //задержка 150 мксек;
  55:main.c        **** 
  56:main.c        ****    };
  57:main.c        ****  
  58:main.c        ****    _delay_us(200); //задержка 200 мксек;  
  59:main.c        **** 
  60:main.c        **** } 
 245               	,69,.LM16-.LFBB2
 246               	.LM16:
 247 0044 0895      	.LFBB2:
 248               		push r14
 249               		push r15
 250               		push r16
 251               		push r17
 252               	/* prologue: function */
 253               	/* frame size = 0 */
 255               	.LM17:
 256               		ldi r24,lo8(2000)
  61:main.c        **** 
  62:main.c        **** 
  63:main.c        **** /*//////////////////////////////////////////////////////////////////
  64:main.c        **** //////////////////////  M   A   I   N  /////////////////////////////
  65:main.c        **** ////////////////////////////////////////////////////////////////////
  66:main.c        **** */
  67:main.c        **** 
  68:main.c        **** int main(void)
  69:main.c        **** {
 257               	(2000)
 258               	.LBB120:
 259               	.LBB121:
 260 0046 EF92      	.LBB122:
 261 0048 FF92      	.LBB123:
 263 004c 1F93      	.Ltext11:
 265               	.LM18:
 266               		ldi r18,lo8(120)
 267               		ldi r19,hi8(120)
 268 004e 80ED      	.L8:
 269 0050 97E0      		movw r30,r18
 270               	/* #APP */
 271               	 ;  105 "c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h" 1
 272               		1: sbiw r30,1
 273               		brne 1b
 274               	 ;  0 "" 2
 275               	/* #NOAPP */
 276               	.LBE123:
 277               	.LBE122:
 279 0054 30E0      	.Ltext12:
 281 0056 F901      	.LM19:
 282               		sbiw r24,1
 284 0058 3197      	.LM20:
 285 005a 01F4      		brne .L8
 286               	.LBE121:
 287               	.LBE120:
 289               	.Ltext13:
 291               	.LM21:
   1:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h **** /* Copyright (c) 2002, Marek Michalkiewicz
   2:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h ****    Copyright (c) 2004,2005,2007 Joerg Wunsch
   3:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h ****    Copyright (c) 2007  Florin-Viorel Petrov
   4:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h ****    All rights reserved.
   5:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h **** 
   6:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h ****    Redistribution and use in source and binary forms, with or without
   7:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h ****    modification, are permitted provided that the following conditions are met:
   8:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h **** 
   9:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h ****    * Redistributions of source code must retain the above copyright
  10:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h ****      notice, this list of conditions and the following disclaimer.
  11:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h **** 
  12:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h ****    * Redistributions in binary form must reproduce the above copyright
  13:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h ****      notice, this list of conditions and the following disclaimer in
  14:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h ****      the documentation and/or other materials provided with the
  15:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h ****      distribution.
  16:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h **** 
  17:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h ****    * Neither the name of the copyright holders nor the names of
  18:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h ****      contributors may be used to endorse or promote products derived
  19:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h ****      from this software without specific prior written permission.
  20:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h **** 
  21:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h ****   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
  22:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h ****   AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  23:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h ****   IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  24:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h ****   ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
  25:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h ****   LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  26:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h ****   CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  27:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h ****   SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
  28:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h ****   INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
  29:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h ****   CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  30:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h ****   ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  31:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h ****   POSSIBILITY OF SUCH DAMAGE. */
  32:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h **** 
  33:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h **** /* $Id: delay.h,v 1.5.2.1 2009/02/25 10:14:03 joerg_wunsch Exp $ */
  34:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h **** 
  35:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h **** #ifndef _UTIL_DELAY_H_
  36:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h **** #define _UTIL_DELAY_H_ 1
  37:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h **** 
  38:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h **** #include <inttypes.h>
  39:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h **** #include <util/delay_basic.h>
  40:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h **** 
  41:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h **** /** \file */
  42:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h **** /** \defgroup util_delay <util/delay.h>: Convenience functions for busy-wait delay loops
  43:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h ****     \code
  44:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h ****     #define F_CPU 1000000UL  // 1 MHz
  45:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h ****     //#define F_CPU 14.7456E6
  46:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h ****     #include <util/delay.h>
  47:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h ****     \endcode
  48:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h **** 
  49:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h ****     \note As an alternative method, it is possible to pass the
  50:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h ****     F_CPU macro down to the compiler from the Makefile.
  51:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h ****     Obviously, in that case, no \c \#define statement should be
  52:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h ****     used.
  53:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h **** 
  54:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h ****     The functions in this header file are wrappers around the basic
  55:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h ****     busy-wait functions from <util/delay_basic.h>.  They are meant as
  56:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h ****     convenience functions where actual time values can be specified
  57:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h ****     rather than a number of cycles to wait for.  The idea behind is
  58:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h ****     that compile-time constant expressions will be eliminated by
  59:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h ****     compiler optimization so floating-point expressions can be used
  60:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h ****     to calculate the number of delay cycles needed based on the CPU
  61:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h ****     frequency passed by the macro F_CPU.
  62:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h **** 
  63:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h ****     \note In order for these functions to work as intended, compiler
  64:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h ****     optimizations <em>must</em> be enabled, and the delay time
  65:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h ****     <em>must</em> be an expression that is a known constant at
  66:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h ****     compile-time.  If these requirements are not met, the resulting
  67:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h ****     delay will be much longer (and basically unpredictable), and
  68:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h ****     applications that otherwise do not use floating-point calculations
  69:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h ****     will experience severe code bloat by the floating-point library
  70:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h ****     routines linked into the application.
  71:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h **** 
  72:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h ****     The functions available allow the specification of microsecond, and
  73:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h ****     millisecond delays directly, using the application-supplied macro
  74:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h ****     F_CPU as the CPU clock frequency (in Hertz).
  75:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h **** 
  76:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h **** */
  77:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h **** 
  78:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h **** #if !defined(__DOXYGEN__)
  79:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h **** static inline void _delay_us(double __us) __attribute__((always_inline));
  80:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h **** static inline void _delay_ms(double __ms) __attribute__((always_inline));
  81:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h **** #endif
  82:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h **** 
  83:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h **** #ifndef F_CPU
  84:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h **** /* prevent compiler error by supplying a default */
  85:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h **** # warning "F_CPU not defined for <util/delay.h>"
  86:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h **** # define F_CPU 1000000UL
  87:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h **** #endif
  88:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h **** 
  89:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h **** #ifndef __OPTIMIZE__
  90:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h **** # warning "Compiler optimizations disabled; functions from <util/delay.h> won't work as designed"
  91:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h **** #endif
  92:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h **** 
  93:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h **** /**
  94:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h ****    \ingroup util_delay
  95:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h **** 
  96:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h ****    Perform a delay of \c __ms milliseconds, using _delay_loop_2().
  97:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h **** 
  98:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h ****    The macro F_CPU is supposed to be defined to a
  99:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h ****    constant defining the CPU clock frequency (in Hertz).
 100:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h **** 
 101:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h ****    The maximal possible delay is 262.14 ms / F_CPU in MHz.
 102:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h **** 
 103:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h ****    When the user request delay which exceed the maximum possible one,
 104:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h ****    _delay_ms() provides a decreased resolution functionality. In this
 105:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h ****    mode _delay_ms() will work with a resolution of 1/10 ms, providing
 106:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h ****    delays up to 6.5535 seconds (independent from CPU frequency).  The
 107:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h ****    user will not be informed about decreased resolution.
 108:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h ****  */
 109:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h **** void
 110:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h **** _delay_ms(double __ms)
 111:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h **** {
 112:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h **** 	uint16_t __ticks;
 113:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h **** 	double __tmp = ((F_CPU) / 4e3) * __ms;
 114:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h **** 	if (__tmp < 1.0)
 115:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h **** 		__ticks = 1;
 116:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h **** 	else if (__tmp > 65535)
 117:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h **** 	{
 118:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h **** 		//	__ticks = requested delay in 1/10 ms
 119:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h **** 		__ticks = (uint16_t) (__ms * 10.0);
 120:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h **** 		while(__ticks)
 121:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h **** 		{
 122:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h **** 			// wait 1/10 ms
 123:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h **** 			_delay_loop_2(((F_CPU) / 4e3) / 10);
 124:c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h **** 			__ticks --;
 292               	.LFBB2
 293               	.LM22:
 294 005c 0197      		sbi 55-32,3
 296               	.LM23:
 297 005e 01F4      		sbi 55-32,4
 299               	.LM24:
 300               		sbi 56-32,2
  70:main.c        ****   
  71:main.c        **** 	_delay_ms(200);   //на переходные процессы
  72:main.c        **** 
  73:main.c        **** 	CS_LINE_ON;       //Включаем линии (выводы МК) управляющие синтезатором  
 302               	i 56-32,3
 304 0060 BA9A      	.LM26:
  74:main.c        **** 	CLK_LINE_ON;      //делаем их выходами
 305               	i 56-32,4
 306               		ldi r24,lo8(1000)
 307 0062 BB9A      		ldi r25,hi8(1000)
  75:main.c        **** 	DATA_LINE_ON;     // линия DATA просто включена - сделана выходом
 308               	B124:
 309               	.LBB125:
 310 0064 BC9A      	.LBB126:
  76:main.c        **** 
  77:main.c        **** 	CS_1;             //Установить "1" на CS (LE)
 311               	B127:
 313 0066 C29A      	.Ltext14:
  78:main.c        **** 	CLK_0;            //Установить "0" на CLK
 314               	tabn	68,0,105,.LM27-.LFBB2
 315               	.LM27:
 316 0068 C398      		ldi r18,lo8(120)
  79:main.c        **** 	DATA_0;           //Установить "0" на DATA
 317               	i r19,hi8(120)
 318               	.L9:
 319 006a C498      		movw r30,r18
 320 006c 88EE      	/* #APP */
 321 006e 93E0      	 ;  105 "c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h" 1
 322               		1: sbiw r30,1
 323               		brne 1b
 324               	 ;  0 "" 2
 325               	/* #NOAPP */
 326               	.LBE127:
 327               	.LBE126:
 329               	.Ltext15:
 331 0072 30E0      	.LM28:
 332               		sbiw r24,1
 334               	.LM29:
 335               		brne .L9
 336 0076 3197      	.LBE125:
 337 0078 01F4      	.LBE124:
 339               	.Ltext16:
 341               	.LM30:
 342               		cbi 56-32,2
 344               	.LM31:
 345               		ldi r25,lo8(-115)
 346 007a 0197      		mov r14,r25
 347               		sts bayt,r14
 349 007c 01F4      	.LM32:
 350               		rcall data_to_synt
 352               	.LM33:
 353               		ldi r24,lo8(-128)
  80:main.c        ****    _delay_ms(100);    //100ms
  81:main.c        ****    
  82:main.c        ****    	CS_0;             //разрешаем запись в синтезатор CS=0 (LE=0)  
 354               	,0,94,.LM34-.LFBB2
 355               	.LM34:
 356 007e C298      		rcall data_to_synt
  83:main.c        **** 
  84:main.c        **** //------Запись в синтезатор Initialization Latch 0x8D8013
  85:main.c        **** 
  86:main.c        **** 	//		P = 32, current setting 2 = 2.5 mA, current setting 1 = 2.5mA,
  87:main.c        **** 	//		Timeout = 3 pfd cycles, CP enabled, PD polarity = negative
  88:main.c        **** 	//		muxout = Digital lock,
  89:main.c        **** 	
  90:main.c        ****  	bayt = 0x8D;      //посылаем MSB первым 
 357               	tabn	68,0,96,.LM35-.LFBB2
 358               	.LM35:
 359 0080 9DE8      		ldi r24,lo8(19)
 360 0082 E92E      		sts bayt,r24
  91:main.c        **** 	data_to_synt ();  //отправляем в синтезатор байт
 362               	:
 363               		rcall data_to_synt
  92:main.c        **** 	
  93:main.c        **** 	bayt = 0x80;      //next 
 365               	37:
 366               		sbi 56-32,2
 367 008a 80E8      	.LBB128:
 368 008c F82E      	.LBB129:
 369 008e F092 0000 	.LBB130:
  94:main.c        **** 	data_to_synt ();  //отправляем в синтезатор байт
 370               	31:
 372 0092 00D0      	.Ltext17:
  95:main.c        **** 	
  96:main.c        **** 	bayt = 0x13;      //next 
 373               	tabn	68,0,105,.LM38-.LFBB2
 374               	.LM38:
 375 0094 83E1      		ldi r16,lo8(12000)
 376 0096 8093 0000 		ldi r17,hi8(12000)
  97:main.c        **** 	data_to_synt (); 
 377               	w r24,r16
 378               	/* #APP */
 379 009a 00D0      	 ;  105 "c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h" 1
  98:main.c        **** 
  99:main.c        ****     CS_1;             //Вывести "1" на LE,конец передачи Initialization Latch
 380               	 sbiw r24,1
 381               		brne 1b
 382 009c C29A      	 ;  0 "" 2
 383               	/* #NOAPP */
 384               	.LBE131:
 385               	.LBE130:
 386               	.LBE129:
 387               	.LBE128:
 389               	.Ltext18:
 391 009e 00EE      	.LM39:
 392 00a0 1EE2      		cbi 56-32,2
 394               	.LM40:
 395               		sts bayt,r14
 397 00a6 01F4      	.LM41:
 398               		rcall data_to_synt
 400               	.LM42:
 401               		sts bayt,r15
 403               	.LM43:
 404               		rcall data_to_synt
 100:main.c        **** 	_delay_ms(10);    //10ms
 101:main.c        **** 	CS_0;             //разрешаем запись в синтезатор CS=0 (LE=0)
 406               	,106,.LM41-.LFBB2
 407               	.LM41:
 408 00a8 C298      		rcall data_to_synt
 102:main.c        **** 
 103:main.c        **** //-----Запись в синтезатор Functional Latch 0x8D8012
 104:main.c        **** 
 105:main.c        ****  	bayt = 0x8D;      //посылаем MSB первым 
 409               	n.c",132,0,0,.Ltext18
 410               	.Ltext18:
 106:main.c        **** 	data_to_synt ();  //отправляем в синтезатор байт
 412               	../../avr/include/util/delay_basic.h" 1
 413               		1: sbiw r24,1
 414 00ae 00D0      		brne 1b
 107:main.c        **** 	
 108:main.c        **** 	bayt = 0x80;      //next 
 415               	t17:
 417 00b0 F092 0000 	.LM38:
 109:main.c        **** 	data_to_synt ();  //отправляем в синтезатор байт
 418               	i r16,lo8(12000)
 419               		ldi r17,hi8(12000)
 420 00b4 00D0      		movw r24,r16
 110:main.c        **** 	
 111:main.c        **** 	bayt = 0x12;      //next 
 421               	#APP */
 422               	 ;  105 "c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h" 1
 423 00b6 82E1      		1: sbiw r24,1
 424 00b8 8093 0000 		brne 1b
 112:main.c        **** 	data_to_synt (); 
 425               	t17:
 427 00bc 00D0      	.LM38:
 113:main.c        **** 
 114:main.c        ****     CS_1;             //Вывести "1" на LE,конец передачи Functional Latch
 428               	i r16,lo8(12000)
 429               		ldi r17,hi8(12000)
 430 00be C29A      		movw r24,r16
 431               	/* #APP */
 432               	 ;  105 "c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h" 1
 433               		1: sbiw r24,1
 434               		brne 1b
 435               	 ;  0 "" 2
 436               	/* #NOAPP */
 437               	.LBE131:
 438               	.LBE130:
 439 00c0 C801      	.LBE129:
 440               	.LBE128:
 442 00c2 0197      	.Ltext18:
 444               	.LM39:
 445               		cbi 56-32,2
 447               	.LM40:
 448               		sts bayt,r14
 450               	.LM41:
 451               		rcall data_to_synt
 115:main.c        **** 	_delay_ms(10);    //10ms
 116:main.c        **** 	CS_0;             //разрешаем запись в синтезатор CS=0 (LE=0)
 452               	LFBB2
 453               	.LM42:
 454 00c6 C298      		sts bayt,r15
 117:main.c        **** 
 118:main.c        **** //-----Запись в синтезатор R Counter Latch 0x100008 =>MSB 00010000 00000000 00001000 LSB	
 119:main.c        **** 
 120:main.c        **** 	// 		R = 2, Anti-backlash width = 2.9ns, Precision = five cycles
 121:main.c        **** 	//		of phase less than 15ns before lock detect is set
 122:main.c        **** 	
 123:main.c        ****  	bayt = 0x10;      //посылаем MSB первым 00010000
 455               	-.LFBB2
 456               	.LM39:
 457 00c8 80E1      		cbi 56-32,2
 124:main.c        **** 	data_to_synt ();  //отправляем в синтезатор байт
 459               	1
 460               		brne 1b
 461 00ce 00D0      	 ;  0 "" 2
 125:main.c        **** 	
 126:main.c        **** 	bayt = 0x00;      //next 00000000
 462               		68,0,105,.LM38-.LFBB2
 463               	.LM38:
 464 00d0 1092 0000 		ldi r16,lo8(12000)
 127:main.c        **** 	data_to_synt ();  //отправляем в синтезатор байт
 465               	i r17,hi8(12000)
 466               		movw r24,r16
 467 00d4 00D0      	/* #APP */
 128:main.c        **** 	
 129:main.c        **** 	bayt = 0x08;      //next 00001000
 468               	 105 "c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h" 1
 469               		1: sbiw r24,1
 470 00d6 88E0      		brne 1b
 471 00d8 8093 0000 	 ;  0 "" 2
 130:main.c        **** 	data_to_synt (); 
 472               		68,0,105,.LM38-.LFBB2
 473               	.LM38:
 474 00dc 00D0      		ldi r16,lo8(12000)
 131:main.c        **** 
 132:main.c        ****     CS_1;             //Вывести "1" на LE,конец передачи R Counter Latch
 475               	i r17,hi8(12000)
 476               		movw r24,r16
 477 00de C29A      	/* #APP */
 478               	 ;  105 "c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h" 1
 479               		1: sbiw r24,1
 480               		brne 1b
 481               	 ;  0 "" 2
 482               	/* #NOAPP */
 483               	.LBE131:
 484               	.LBE130:
 485               	.LBE129:
 486 00e0 C801      	.LBE128:
 488               	.Ltext18:
 490 00e4 01F4      	.LM39:
 491               		cbi 56-32,2
 493               	.LM40:
 494               		sts bayt,r14
 496               	.LM41:
 497               		rcall data_to_synt
 133:main.c        **** 	_delay_ms(10);    //10ms
 134:main.c        **** 	CS_0;             //разрешаем запись в синтезатор CS=0 (LE=0)
 499               	tabn	68,0,109,.LM43-.LFBB2
 500               	.LM43:
 501 00e6 C298      		rcall data_to_synt
 135:main.c        **** 
 136:main.c        **** //-----Запись в синтезатор N Counter Latch 0x000F15 	
 137:main.c        **** 
 138:main.c        **** 	// AB latch
 139:main.c        **** 
 140:main.c        ****  	bayt = 0x00;      //посылаем MSB первым 
 502               	M40:
 503               		sts bayt,r14
 141:main.c        **** 	data_to_synt ();  //отправляем в синтезатор байт
 505               	LBE129:
 506               	.LBE128:
 142:main.c        **** 	
 143:main.c        **** 	bayt = 0x0F;      //next 
 508               	PP */
 509               	 ;  105 "c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h" 1
 510 00ee 8FE0      		1: sbiw r24,1
 511 00f0 8093 0000 		brne 1b
 144:main.c        **** 	data_to_synt ();  //отправляем в синтезатор байт
 512               	t17:
 514 00f4 00D0      	.LM38:
 145:main.c        **** 	
 146:main.c        **** 	bayt = 0x15;      //next 
 515               	i r16,lo8(12000)
 516               		ldi r17,hi8(12000)
 517 00f6 85E1      		movw r24,r16
 518 00f8 8093 0000 	/* #APP */
 147:main.c        **** 	data_to_synt (); 
 519               	105 "c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h" 1
 520               		1: sbiw r24,1
 521 00fc 00D0      		brne 1b
 148:main.c        **** 
 149:main.c        ****     CS_1;             //Вывести "1" на LE,конец передачи N Counter Latch
 522               	t17:
 524 00fe C29A      	.LM38:
 525 0100 88EE      		ldi r16,lo8(12000)
 526 0102 93E0      		ldi r17,hi8(12000)
 527               		movw r24,r16
 528               	/* #APP */
 529               	 ;  105 "c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h" 1
 530               		1: sbiw r24,1
 531               		brne 1b
 532               	 ;  0 "" 2
 533               	/* #NOAPP */
 534               	.LBE131:
 535 0104 28E7      	.LBE130:
 536 0106 30E0      	.LBE129:
 537               	.LBE128:
 539               	.Ltext18:
 541 010a 3197      	.LM39:
 542 010c 01F4      		cbi 56-32,2
 544               	.LM40:
 545               		sts bayt,r14
 547               	.LM41:
 548               		rcall data_to_synt
 550               	.LM42:
 551 010e 0197      		sts bayt,r15
 553               	.LM43:
 554 0110 01F4      		rcall data_to_synt
 556               	.LM44:
 557               		ldi r24,lo8(18)
 558               		sts bayt,r24
 150:main.c        **** 	_delay_ms(100);    //100ms
 151:main.c        **** 
 152:main.c        **** //----- Перевод контроллера в спящий режим --------
 153:main.c        ****     
 154:main.c        **** 	set_sleep_mode(SLEEP_MODE_PWR_DOWN); // если спать - то на полную -->  Power-down
 559               		rcall data_to_synt
 561 0112 85B7      	.LM46:
 562 0114 877E      		sbi 56-32,2
 563 0116 8061      	.LBB132:
 564 0118 85BF      	.LBB133:
 565               	.LBB134:
 155:main.c        ****     while(1) 
 156:main.c        **** 	{
 157:main.c        **** 	 sleep_enable();   // разрешаем сон
 566               	LM44:
 567               		ldi r24,lo8(18)
 568 011a 85B7      		sts bayt,r24
 570 011e 85BF      	.LM45:
 158:main.c        ****      sleep_cpu();      // спать!
 571               	:
 572               		sts bayt,r15
 574               	.LM43:
 575 0120 8895      		rcall data_to_synt
 577               	.LM44:
 578               		ldi r24,lo8(18)
 579 0122 00C0      		sts bayt,r24
 581               	.LM45:
 582               		rcall data_to_synt
 584               	.LM46:
 585               		sbi 56-32,2
 586               	.LBB132:
 587               	.LBB133:
 588               	.LBB134:
 589               	.LBB135:
 591               	.Ltext19:
 593               	.LM47:
 594               		movw r24,r16
 595               	/* #APP */
 596               	 ;  105 "c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h" 1
 597               		1: sbiw r24,1
 598               		brne 1b
 599               	 ;  0 "" 2
 600               	/* #NOAPP */
 601               	.LBE135:
 602               	.LBE134:
 603               	.LBE133:
 604               	.LBE132:
DEFINED SYMBOLS
                            *ABS*:00000000 main.c
C:\DOCUME~1\UFO\LOCALS~1\Temp/ccV1Opqg.s:2      *ABS*:0000003f __SREG__
C:\DOCUME~1\UFO\LOCALS~1\Temp/ccV1Opqg.s:3      *ABS*:0000003e __SP_H__
C:\DOCUME~1\UFO\LOCALS~1\Temp/ccV1Opqg.s:4      *ABS*:0000003d __SP_L__
C:\DOCUME~1\UFO\LOCALS~1\Temp/ccV1Opqg.s:5      *ABS*:00000034 __CCP__
C:\DOCUME~1\UFO\LOCALS~1\Temp/ccV1Opqg.s:6      *ABS*:00000000 __tmp_reg__
C:\DOCUME~1\UFO\LOCALS~1\Temp/ccV1Opqg.s:7      *ABS*:00000001 __zero_reg__
C:\DOCUME~1\UFO\LOCALS~1\Temp/ccV1Opqg.s:80     .text:00000000 data_to_synt
                            *COM*:00000001 bayt
C:\DOCUME~1\UFO\LOCALS~1\Temp/ccV1Opqg.s:256    .text:00000046 main

UNDEFINED SYMBOLS
__do_clear_bss
