; ;******************************************************************************* ;* File Name :CA100_ATtiny2313A RC内部クロックアジャスタ 被調整マイコン ;* CPU :ATtiny2313A ;* NAME :KOG ;* Date :2020.05.30 ;* clock :内部RC ;* ;* ;* ;* ;******************************************************************************* ; ; ;OSCCALの範囲 0〜127 ; ;***** Specify Device ***** ; .include "tn2313Adef.inc" ;ATtiny2313A デバイスに応じて変更すること ; ; ;書き込み時のヒューズビットの設定 ; ;fuse 11111111 11011101 01100010 0xFF 0x5D 0x62 ; | |||||||| ||||||||_cksel0 Clock 内部RC(4MHz)の場合 0010 ; | |||||||| |||||||__cksel1 外部発振子の場合 1101 ; | |||||||| ||||||___cksel2 ; | |||||||| |||||____cksel3 ; | |||||||| ||||_____sut0     内部RCの場合 10 ; | |||||||| |||______sut1 外部発振子の場合 11 ; | |||||||| ||_______ckout(1:システムクロックを出力禁止) ; | |||||||| |________ckdiv8(0:クロックを1/8) ; | |||||||| ; | ||||||||__________rstdisbl (0:pc6-->port 1:pc6-->reset) ; | |||||||___________bodlevel0 000_011:reserve 100:4.3V 101:2.7V ; | ||||||____________bodlevel1 110:1.8V ; | |||||_____________bodlevel2 111:BOD disable ; | ||||______________wdton (1:WDTはWDTCSRで許可) ; | |||_______________spien (0:シリアルプログラミングを許可) ; | ||________________eesave (1:eepromは未保護) ; | |_________________dwen (1:デバッグwireを禁止) ; | ; |___________________selfprgen (1:自己プログラム禁止) ; ; ;書き込み時のロックビットの設定 ;Lock 11111111 0xFF ; ||____________lb1 (1) ; |_____________lb2 (1) ; ; ; ; ; ; ; ; ; ;プログラムはここからスタート init_port: ;ポートB0,B1を入力 、ポートB2を出力に設定しLowを出力しておくこと ldi r16,0b00000000 ;set porta out porta,r16 ldi r16,0b11111111 ;0:input 1:output set ddrb out ddra,r16 ; ldi r16,0b00000000 ;set portb out portb,r16 ldi r16,0b11111100 ;0:input 1:output set ddrb out ddrb,r16 ; ldi r16,0b00000000 ;set portd out portd,r16 ldi r16,0b11111110 ;0:input 1:output set ddrb out ddrd,r16 ; ; ; main: ldi r17,8 ;set bit counter main2: sbis pinb,1 ;クロックの立ち上がりエッジ検出 rjmp main2 ; clc ;clear carry sbic pinb,0 sec ;set carry rol r16 ; main4: sbic pinb,1 ;クロックの立ち下がりエッジ検出 rjmp main4 ; dec r17 ;8回繰り返し brne main2 ; ; sts osccal,r16 ;set calbration data ,ATmega88 , ATmega168 etc out osccal,r16 ;set calbration data ATtiny13 , ATtiny45 , ATtiny44 , ATtiny2313 , ATtiny461 , ATmega16 etc ; ldi r16,100 ;周波数が安定するまで待つ main5: dec r16 brne main5 ; ldi r27,0x03 ;set 900 ldi r26,0x84 ; sbi portb,2 ;pulse rise main8: sbiw r27:r26,1 brne main8 ; cbi portb,2 ;pulse fall ; rjmp main ;