;******************************************************************************************
;  ＡＶＲサンプル (ATTiny2313用)
;   Project      :
;   Program Name : 
;   Programer    :
;   Create date  :  Version 1.0    H18.07.25
;   History      :
;******************************************************************************************
;  (1)Description 
;
;******************************************************************************************
.include "tn2313def.inc"
.cseg
	LDI	R16,RAMEND
	OUT	SPL,R16		;
	LDI	R16,0xFF	; PORTB(0-7)を全て出力にする
	OUT	DDRB,R16	; PORTB(0-7)を全て出力にする
	LDI	R16,0x00	; PORTD(0-6)を全て入力にする
	OUT	DDRD,R16	; PORTD(0-6)を全て入力にする
;
	LDI	R16,0x00	; PORTBを初期化
	OUT	PORTB,R16	; PORTBを初期化
MAIN:
	SBI	PORTB,0		; PORTB(0)を1にする
	RCALL	WAT1S		; 1秒待つ
	CBI	PORTB,0		; PORTB(0)を0にする
;
	SBI	PORTB,1		; PORTB(1)を1にする
	RCALL	WAT1S		; 1秒待つ
	CBI	PORTB,1		; PORTB(1)を0にする
;
	SBI	PORTB,2		; PORTB(2)を1にする
	RCALL	WAT1S		; 1秒待つ
	CBI	PORTB,2		; PORTB(2)を0にする
;
	SBI	PORTB,3		; PORTB(3)を1にする
	RCALL	WAT1S		; 1秒待つ
	CBI	PORTB,3		; PORTB(3)を0にする
;
	SBI	PORTB,4		; PORTB(4)を1にする
	RCALL	WAT1S		; 1秒待つ
	CBI	PORTB,4		; PORTB(4)を0にする
;
	SBI	PORTB,5		; PORTB(5)を1にする
	RCALL	WAT1S		; 1秒待つ
	CBI	PORTB,5		; PORTB(5)を0にする
;
	SBI	PORTB,6		; PORTB(6)を1にする
	RCALL	WAT1S		; 1秒待つ
	CBI	PORTB,6		; PORTB(6)を0にする
;
	SBI	PORTB,7		; PORTB(7)を1にする
	RCALL	WAT1S		; 1秒待つ
	CBI	PORTB,7		; PORTB(7)を0にする
;
	RJMP	MAIN

;******************************************************************************************
;   Function Name : WAT1S
;   Title         : タイマー関数
;   Input         : 
;   Output        : 
;******************************************************************************************
WAT1S:
	LDI	R18,100		;
WAT1S_A:			;
	LDI	R17,100		;
WAT1S_B:			;
	LDI	R16,110		;
WAT1S_C:			;
	RJMP	PC+1		;
	RJMP	PC+1		;
	RJMP	PC+1		;
	DEC	R16		;
	BRNE	WAT1S_C		;
	DEC	R17		;
	BRNE	WAT1S_B		;
	DEC	R18		;
	BRNE	WAT1S_A		;
	RET			;
