;/*=======================================================================================
;Project : ¼­º¸¸ðÅÍ Á¦¾îÇÏ±â
;Version : LK-SVM 01
;Date    : 2012-01-18
;Author  : Kyung Nam Lee
;Company : LKEMBEDDED
;Comment : 2ÃÊ¸¶´Ù ¼­º¸¸ðÅÍ°¡ 180µµ È¸Àü ÇÏ´Â ÇÁ·Î±×·¥ ¿¹Á¦¼Ò½ºÀÌ´Ù.
;Compiler: WINAVR + AVRStuio
;Connection: ATmega2560È®ÀåÇü °³¹ßº¸µå 10Pin¹Ú½ºÄ¿³ØÅÍ(PORTB) <--------------> LK-SVM V01 10Pin¹Ú½ºÄ¿³ØÅÍ(PORT)
;=======================================================================================*/
;
;#include <mega2560.h>
;PCODE: $00000000 VOL: 0
	#ifndef __SLEEP_DEFINED__
;PCODE: $00000001 VOL: 0
	#define __SLEEP_DEFINED__
;PCODE: $00000002 VOL: 0
	.EQU __se_bit=0x01
;PCODE: $00000003 VOL: 0
	.EQU __sm_mask=0x0E
;PCODE: $00000004 VOL: 0
	.EQU __sm_powerdown=0x04
;PCODE: $00000005 VOL: 0
	.EQU __sm_powersave=0x06
;PCODE: $00000006 VOL: 0
	.EQU __sm_standby=0x0C
;PCODE: $00000007 VOL: 0
	.EQU __sm_ext_standby=0x0E
;PCODE: $00000008 VOL: 0
	.EQU __sm_adc_noise_red=0x02
;PCODE: $00000009 VOL: 0
	.SET power_ctrl_reg=smcr
;PCODE: $0000000A VOL: 0
	#endif
;PCODE: $0000000B VOL: 0
;PCODE: $0000000C VOL: 0
;#define max ((1.5+0.8)*10)
;#define min ((1.5-0.9)*10)
;#define mideum (1.5*10) //¼­º¸¸ðÅÍÀÇ 90µµ À§Ä¡ÀÇ On-Time dury 1.5ms
;#define duty 200
;bit direction_flag;
;char Pulse=0;
;// Timer 0 overflow interrupt service routine
;interrupt [TIM0_OVF] void timer0_ovf_isr(void) //100uS Tick Time
; 0000 0015 {

	.CSEG
;PCODE: $0000000D VOL: 0
;PCODE: $0000000E VOL: 0
; 0000 0016 
; 0000 0017     static unsigned int cnt,cnt2=0;
; 0000 0018     cnt2++;
;PCODE: $0000000F VOL: 0
;PCODE: $00000010 VOL: 0
;PCODE: $00000011 VOL: 0
;PCODE: $00000012 VOL: 0
; 0000 0019     cnt++;
;PCODE: $00000013 VOL: 0
;PCODE: $00000014 VOL: 0
;PCODE: $00000015 VOL: 0
;PCODE: $00000016 VOL: 0
; 0000 001A     if(cnt2==20000)// 2ÃÊ ?
;PCODE: $00000017 VOL: 0
;PCODE: $00000018 VOL: 0
;PCODE: $00000019 VOL: 0
; 0000 001B     {
; 0000 001C        Pulse=min;
;PCODE: $0000001A VOL: 0
;PCODE: $0000001B VOL: 0
; 0000 001D        }
; 0000 001E     if(cnt2==40000)// 4ÃÊ ?
;PCODE: $0000001C VOL: 0
;PCODE: $0000001D VOL: 0
;PCODE: $0000001E VOL: 0
;PCODE: $0000001F VOL: 0
; 0000 001F     {
; 0000 0020        Pulse=max;
;PCODE: $00000020 VOL: 0
;PCODE: $00000021 VOL: 0
; 0000 0021        cnt2=0;
;PCODE: $00000022 VOL: 0
;PCODE: $00000023 VOL: 0
; 0000 0022        }
; 0000 0023     if(cnt==Pulse)
;PCODE: $00000024 VOL: 0
;PCODE: $00000025 VOL: 0
;PCODE: $00000026 VOL: 0
;PCODE: $00000027 VOL: 0
;PCODE: $00000028 VOL: 0
;PCODE: $00000029 VOL: 0
; 0000 0024     {
; 0000 0025     PORTB.0=0;
;PCODE: $0000002A VOL: 0
;PCODE: $0000002B VOL: 0
; 0000 0026     PORTB.1=0;
;PCODE: $0000002C VOL: 0
;PCODE: $0000002D VOL: 0
; 0000 0027     PORTB.2=0;
;PCODE: $0000002E VOL: 0
;PCODE: $0000002F VOL: 0
; 0000 0028     PORTB.3=0;
;PCODE: $00000030 VOL: 0
;PCODE: $00000031 VOL: 0
; 0000 0029     }
; 0000 002A     if(cnt==duty)
;PCODE: $00000032 VOL: 0
;PCODE: $00000033 VOL: 0
;PCODE: $00000034 VOL: 0
;PCODE: $00000035 VOL: 0
; 0000 002B     {
; 0000 002C     PORTB.0=1;
;PCODE: $00000036 VOL: 0
;PCODE: $00000037 VOL: 0
; 0000 002D     PORTB.1=1;
;PCODE: $00000038 VOL: 0
;PCODE: $00000039 VOL: 0
; 0000 002E     PORTB.2=1;
;PCODE: $0000003A VOL: 0
;PCODE: $0000003B VOL: 0
; 0000 002F     PORTB.3=1;
;PCODE: $0000003C VOL: 0
;PCODE: $0000003D VOL: 0
; 0000 0030     cnt=0;
;PCODE: $0000003E VOL: 0
;PCODE: $0000003F VOL: 0
; 0000 0031     }
; 0000 0032 
; 0000 0033  TCNT0+=0xe7;//100uS Tick Time
;PCODE: $00000040 VOL: 0
;PCODE: $00000041 VOL: 0
;PCODE: $00000042 VOL: 0
;PCODE: $00000043 VOL: 0
; 0000 0034 }
;PCODE: $00000044 VOL: 0
;PCODE: $00000045 VOL: 0
;PCODE: $00000046 VOL: 0
;void main(void)
; 0000 0036 {
;PCODE: $00000047 VOL: 0
; 0000 0037 
; 0000 0038     // Input/Output Ports initialization
; 0000 0039     // Port A initialization
; 0000 003A     PORTB=0x00;
;PCODE: $00000048 VOL: 0
;PCODE: $00000049 VOL: 0
; 0000 003B     DDRB=0xff;
;PCODE: $0000004A VOL: 0
;PCODE: $0000004B VOL: 0
; 0000 003C 
; 0000 003D     // Timer/Counter 0 initialization
; 0000 003E     TCCR0A=0x00;//Normal Mode Operation(Overflow Interrupt Enable)
;PCODE: $0000004C VOL: 0
;PCODE: $0000004D VOL: 0
; 0000 003F     TCCR0B=0x03;//64Prescale Select
;PCODE: $0000004E VOL: 0
;PCODE: $0000004F VOL: 0
; 0000 0040     TCNT0=0xe7;// Timer/Count Register initialization 100uS Tick Time
;PCODE: $00000050 VOL: 0
;PCODE: $00000051 VOL: 0
; 0000 0041 
; 0000 0042     TIMSK0=0x01;// Timer(s)/Counter(s) Interrupt(s) initialization
;PCODE: $00000052 VOL: 0
;PCODE: $00000053 VOL: 0
; 0000 0043     #asm("sei")// Global enable interrupts
;PCODE: $00000054 VOL: 0
	sei
;PCODE: $00000055 VOL: 0
; 0000 0044 
; 0000 0045 while (1)
;PCODE: $00000056 VOL: 0
; 0000 0046           {
; 0000 0047 
; 0000 0048           }
;PCODE: $00000057 VOL: 0
;PCODE: $00000058 VOL: 0
; 0000 0049 }
;PCODE: $00000059 VOL: 0
;PCODE: $0000005A VOL: 0
;PCODE: $0000005B VOL: 0
