;------------------------------------------------------------------------------- ; comptest0.asm for ATtiny15L ; 電源電圧が3Vに低下したらLEDを点灯して知らせる ; PB1: 電池分圧入力 ; PB2: 電源電圧低下時Low出力 ;------------------------------------------------------------------------------- .include "c:\avrtools\appnotes\tn15def.inc" .def temp = r16 .org 0 rjmp reset reti reti reti reti reti reti reti reti reset: ldi temp, 0b00111101 out DDRB, temp ;PB1を入力に設定 ldi temp, 0b00000000 out PORTB, temp ;内部プルアップを使用しない sbi PORTB, 2 ;PB2をHigh(LowでLEDを点灯) ldi temp, 0b01000000 ; || | ||________ACIS1,ACIS0: 00 = トグル(立ち上がり、立ち下がりで出力) ; || |___________ACIE: 0 = アナログコンパレータ割り込み不許可 ; ||______________ACBG: 1 = 内部基準電圧選択 ; |_______________ACD: 0 = アナログコンパレータ許可 out ACSR, temp ;アナログコンパレータ設定 loop: in temp, ACSR ;ACSRレジスタから入力 sbrs temp, 5 ;bit5(ACO)がセット(1)なら次をスキップ rjmp lp1 cbi PORTB, 2 ;PB2をLowに(LEDを点灯) rjmp loop lp1: sbi PORTB, 2 ;PB2をHighに(LEDを消灯) rjmp loop