先日 立ち上がろうとしてぎっくり腰になってしまい、立つ事も座る事も苦痛でしたが、
やっと立ったり座ったりする事が出来るようになりつつあります。
人間、2本足で立つ事の大事さを切に思いました。
健康が一番!と感じている毎日です。
以前作ったS2Kの水温計表示プログラムをアップします。
サクッと作った後でオシロで時間の確認をしているので、内容的には問題無いはず。
綺麗に書き直していないのと、計算式で書けば行数も減るんですが・・・
水温計だけの機能ですので、割り込みも何もありません。垂れ流しのソースです。
参考になればと思いアップします。
Tabがうまく入らないので・・・ スイマセン
; ***** S2000WTP.asm ***************************************************************
; 水温変換
; RA2PWMにて水温表示
; RA4(AN4)にてアナログ入力
; OSC:内蔵8MHz
; ******************************************************************************
;NEW SETTING
; HI 30mS~35mS
; 20 LO□ 1.2S 2.436V ( -39度) 250
; 40 LO□□ 1.1S 1.2577V (40度-59度) 129
; 60 LO□□□ 1.0S 676.2mV (60度-69度) 70
; 70 LO□□□□ 0.5S 472.1mV (70度-79度) 49
; 80 LO□□□□□ 0.3S 353.1mV (80度-89度) 37
; 90 LO□□□□□□ 0.2S 277.9mV (90度-99度) 29
;100 LO□□□□□□■ 0.1S 212.8mV (99度- ) 22
;OLD SETTING
; HI 30mS~35mS
; 20 LO□ 1.2S 950 OHM 2.436V ( -39度)
; 40 LO□□ 1.1S 300 OHM 1.154V (40度-59度)
; 60 LO□□□ 1.0S 120 OHM 535.7mV (60度-69度)
; 70 LO□□□□ 0.5S 80 OHM 370.4mV (70度-79度)
; 80 LO□□□□□ 0.3S 50 OHM 238.1mV (80度-89度)
; 90 LO□□□□□□ 0.2S 30 OHM 145.6mV (90度-99度)
;100 LO□□□□□□■ 0.1S 27 OHM 131.5mV (100度- )
;PLL UP RES 1KOHM
LIST P=PIC16F88
#INCLUDE P16F88.INC
__CONFIG _CONFIG1, _INTRC_IO & _MCLR_ON & _LVP_OFF & _WDT_OFF & _PWRTE_ON & _BODEN_OFF & _CPD_OFF & _CP_OFF & _WRT_PROTECT_OFF
__CONFIG _CONFIG2, _IESO_OFF & _FCMEN_OFF
CBLOCK 020h
TIM1 ; WAIT用
TIM2
TIM3
TIM4
TEMP
ENDC
ORG 0
GOTO START
START
BSF STATUS,RP0 ; Set page 1
MOVLW B'01110000'
MOVWF OSCCON ; CLOCK=8MHz
MOVLW B'00010000' ; RA4のみ Analog I/O
MOVWF ANSEL
MOVLW B'11000'
MOVWF TRISA ; RA0,RA1出力用
CLRF TRISB ; PortBすべて出力用
MOVLW B'00100000' ; ADFM:0,ADCS2:0,10 Vref+,Vss,RA3 REF,*,*,*
MOVWF ADCON1
BCF STATUS,RP0 ; Set Page 0
MAIN
MOVLW B'10100001' ;
MOVWF ADCON0 ; ,GO/DONE:0,*,A/D:ON
CALL WAIT_U ; 20μS(Choldに要する時間)
BSF ADCON0,GO ; GO=1:A/D変換スタート
MA_1
BTFSC ADCON0,GO ; A/D変換が完了したら(GO=0)、スキップ
GOTO MA_1 ; 完了するまで待つ
MOVF ADRESH,W ; W ← ADRESH
; ---------------------- TIMEBASE
TIMEBASE
WT100
MOVF ADRESH,W
SUBLW D'22' ;これで引く
BTFSS STATUS,C ;
GOTO WT90 ;コレよりADRESHが同じか小さい場合は
MOVLW D'1' ;この値をもってリターンする
MOVWF TEMP
RETURN
WT90
MOVF ADRESH,W
SUBLW D'29' ;これで引く
BTFSS STATUS,C ;
GOTO WT80 ;コレよりADRESHが同じか小さい場合は
MOVLW D'2' ;この値をもってリターンする
MOVWF TEMP
RETURN
WT80
MOVF ADRESH,W
SUBLW D'37' ;これで引く
BTFSS STATUS,C ;
GOTO WT70 ;コレよりADRESHが同じか小さい場合は
MOVLW D'3' ;この値をもってリターンする
MOVWF TEMP
RETURN
WT70
MOVF ADRESH,W
SUBLW D'49' ;これで引く
BTFSS STATUS,C ;
GOTO WT60 ;コレよりADRESHが同じか小さい場合は
MOVLW D'5' ;この値をもってリターンする
MOVWF TEMP
RETURN
WT60
MOVF ADRESH,W
SUBLW D'70' ;これで引く
BTFSS STATUS,C ;
GOTO WT40 ;コレよりADRESHが同じか小さい場合は
MOVLW D'10' ;この値をもってリターンする
MOVWF TEMP
RETURN
WT40
MOVF ADRESH,W
SUBLW D'129' ;これで引く
BTFSS STATUS,C ;
GOTO WT20 ;コレよりADRESHが同じか小さい場合は
MOVLW D'11' ;この値をもってリターンする
MOVWF TEMP
RETURN
WT20
MOVLW D'12' ;この値をもってリターンする
MOVWF TEMP
RETURN
; ---------------------- OUTPUT
OUTPUT
BSF PORTA,2
CALL WAIT30
BCF PORTA,2
CALL WAIT
RETURN
; ---------------------- WAIT 0.1 Sec
WAIT
MOVFW TEMP
MOVWF TIM1
WA1 MOVLW D'200' ;
MOVWF TIM2
WA2 MOVLW D'251' ;
MOVWF TIM3
WA3 NOP
DECFSZ TIM3,1
GOTO WA3
DECFSZ TIM2,1
GOTO WA2
DECFSZ TIM1,1
GOTO WA1
RETURN
; ---------------------- WAIT 30mSec
WAIT30 ;30.1225msec
MOVLW D'60' ;
MOVWF TIM2
WA1M MOVLW D'250' ;
MOVWF TIM3
WA2M NOP
DECFSZ TIM3,F
GOTO WA2M
DECFSZ TIM2,F
GOTO WA1M
RETURN
; ---------------------- WAIT_U 20μSec (A/D変換用)
WAIT_U ; 公式 (4x+3)*0.4*(10/4)<μS>
MOVLW D'10' ; x=12(0CH)で、20.4μS
MOVWF TIM1
WAU1 NOP
DECFSZ TIM1,F
GOTO WAU1
RETURN
END
恋のダイヤルQ2 (トヨタ AE92_レビン_トレノ) Toyota Ae92 Levin - 4Age Blacktop 20V 車高も下げ ... |
|
わんわん (ホンダ N-ONE) 古い車ですが、 まだまだ頑張りますよ! |
|
ぴょんぴょん バニー (スズキ アルトラパン) うなぎ じゃあないよ うさぎだよ! |
|
くわすけ (その他 その他) 「くわすけ」は小回り効いて凄い奴! スラロームもなんのその。 無車検、無保険、無免許 ... |
2024年 | |||||
01月 | 02月 | 03月 | 04月 | 05月 | 06月 |
07月 | 08月 | 09月 | 10月 | 11月 | 12月 |
2023年 | |||||
01月 | 02月 | 03月 | 04月 | 05月 | 06月 |
07月 | 08月 | 09月 | 10月 | 11月 | 12月 |
2022年 | |||||
01月 | 02月 | 03月 | 04月 | 05月 | 06月 |
07月 | 08月 | 09月 | 10月 | 11月 | 12月 |
2021年 | |||||
01月 | 02月 | 03月 | 04月 | 05月 | 06月 |
07月 | 08月 | 09月 | 10月 | 11月 | 12月 |
2020年 | |||||
01月 | 02月 | 03月 | 04月 | 05月 | 06月 |
07月 | 08月 | 09月 | 10月 | 11月 | 12月 |
2019年 | |||||
01月 | 02月 | 03月 | 04月 | 05月 | 06月 |
07月 | 08月 | 09月 | 10月 | 11月 | 12月 |
2018年 | |||||
01月 | 02月 | 03月 | 04月 | 05月 | 06月 |
07月 | 08月 | 09月 | 10月 | 11月 | 12月 |
2017年 | |||||
01月 | 02月 | 03月 | 04月 | 05月 | 06月 |
07月 | 08月 | 09月 | 10月 | 11月 | 12月 |
2016年 | |||||
01月 | 02月 | 03月 | 04月 | 05月 | 06月 |
07月 | 08月 | 09月 | 10月 | 11月 | 12月 |
2015年 | |||||
01月 | 02月 | 03月 | 04月 | 05月 | 06月 |
07月 | 08月 | 09月 | 10月 | 11月 | 12月 |
2014年 | |||||
01月 | 02月 | 03月 | 04月 | 05月 | 06月 |
07月 | 08月 | 09月 | 10月 | 11月 | 12月 |
2013年 | |||||
01月 | 02月 | 03月 | 04月 | 05月 | 06月 |
07月 | 08月 | 09月 | 10月 | 11月 | 12月 |
2012年 | |||||
01月 | 02月 | 03月 | 04月 | 05月 | 06月 |
07月 | 08月 | 09月 | 10月 | 11月 | 12月 |
2011年 | |||||
01月 | 02月 | 03月 | 04月 | 05月 | 06月 |
07月 | 08月 | 09月 | 10月 | 11月 | 12月 |
2010年 | |||||
01月 | 02月 | 03月 | 04月 | 05月 | 06月 |
07月 | 08月 | 09月 | 10月 | 11月 | 12月 |
2009年 | |||||
01月 | 02月 | 03月 | 04月 | 05月 | 06月 |
07月 | 08月 | 09月 | 10月 | 11月 | 12月 |
2008年 | |||||
01月 | 02月 | 03月 | 04月 | 05月 | 06月 |
07月 | 08月 | 09月 | 10月 | 11月 | 12月 |