I
ilker_32
Guest
소피 Elenctronics,
şematik : 프로 테우스
5월 7일 서비스 팩 3
programlama 딜리 : 그림 기본 프로
시뮬레이션 :<img src="http://img200.imageshack.us/img200/8452/57972532.png" border="0" alt=""/>
<img src="http://img200.imageshack.us/img200/5748/83698429.png" border="0" alt=""/> 소스 :
코드 :
PORTA = 0 : portb = 0
TRISB = 0
TRISA = % 11100000
'------------------------------------------------- ----------------
@ 장치 pic16F628 'işlemci 16F628
@ 장치 pic16F628, WDT_ON '조심 도그 타이머 açık
@ 장치 pic16F628, 타이머에 PWRT_ON '파워 açık
@ 장치 pic16F628, PROTECT_OFF 'Kod Protek kapalı
@ 장치 pic16F628, MCLR_off 'MCLR Pini kullanılMIYOR.
@ 장치 pic16F628, INTRC_OSC_NOCLKOUT 'Dahili osilatör kullanılacak
'------------------------------------------------- ----------------
DEFINE OSC 4
'------------------------------------------------- ------------------------
켜기 방해 GoTo KESME 'kesme oluşursa KESME adlı etikete 이눔아.
dirençleri İPTAL - 10000101를 Bölme oranı 1 / 64 당겨 'OPTION_REG = 20 %.
INTCON = % 10100000 'Kesmeler aktif 없는데 TMR0 kesmesi aktif
TMR0 = 0
CMCON = 7
'------------------------------------------------- ---------------------------
Comm_Pin VAR PortA.4 '한 - 와이어 데이터 - 핀 "DQ"PortB.0 다
바쁜 VAR 비트 '바쁜 상태 - 비트
POZ VAR 비트
Z부터 VAR 비트
승 VAR 비트
유 VAR 비트
T는 VAR 비트
Gor VAR 바이트
VAR HAM '이라는 단어 센서 HAM 오쿠마 değeri
ISI VAR '이라는 단어가 Hesaplanmış ISI değeri
플로트 VAR을위한 '이라는 단어를 감싸고 나머지 TEMP가 C 표시
엑스 워드 VAR
Y VAR 바이트
VAR SAYI 바이트
SIGN_BITI VAR HAM.Bit11 ' / - sıcaklık İşaret 비티, 1 = olursa eksi sıcaklık
NEGAT_ISI CON 1 'Negatif_Cold = 1
CON 223 deg '° işareti
로그인 VAR 바이트 'ISI değeri için / - işaret
온도 VAR 바이트 'Div32 비트 hesap için geçici değişken
VAR SAYAC 바이트
SN VAR 바이트
Dak VAR 바이트
VAR SAAT 바이트
총 VAR 바이트
VAR 으 바이트
VAR YIL 바이트
MEM var 바이트 '
var EKRAN_ZAM 바이트 '
SUM VAR 바이트
VAR EKRAN_ISI 바이트
VAR ONLAR 바이트
VAR BIRLER 바이트
ESN VAR 바이트
'---------------------------------------------
SYMBOL의 DTA = PortB.0
SYMBOL CLK = PORTB.1
기호는 ST = PORTB.2
SYMBOL RTC_DTA = PORTA.0
SYMBOL RTC_CLK = PORTA.1
SYMBOL RTC_RST = PORTA.2
상징 SEC는 = PORTA.5
SYMBOL Asagi = PORTA.6
SYMBOL YUKARI = PORTA.7
'------------------------------------------------- ----------------------------
CLEAR를 '죽을 차례 değişkenler sıfırlandı
EKRAN_ZAM = 10 'ZAMANIN EKRANDA KALMA SÜRESİ
EKRAN_ISI = 5 'SICAKLIĞIN EKRANDA KALMA SÜRESİ BUNLARI DEĞİŞTİREBİLİRSİNİZ.
SUM = EKRAN_ZAM EKRAN_ISI
초 = 0 다음 ZAM_AYAR면
ilk :
gosub ekran0
gosub sensoryaz
gosub sensoroku
낮은 RTC_RST
낮은 RTC_CLK
GOSUB GECIKME
'------------------------------------------------- ----------------------------
고속 PORTA.3
gosub ZAMAN_OKU : esn = SN
BASLA :
Y = SUM 필한테 Y = 0면
Y면> (EKRAN_ZAM - 1)과 Y <SUM 필한테
만약 y를 = (EKRAN_ZAM 1) 다음 GOSUB SENSOROKU
GOSUB EKRAN1
ENDIF
Y <EKRAN_ZAM 필한테 GOSUB EKRAN0면ATLA : SEC는 = 0 필한테 AYAR '모드 TUŞUNA BASILMIŞ ISE AYAR'A 종소세GOTO BASLA
'----------------------- 대체 programlar ------------------------ -------------------
TEKRAR :
SHIFTOUT의 DTA, CLK, 1, [SAYI]
반환
BAK_0 :
GOSUB 앨러배마
부터 Z = 1 승 = 1면 SAYI = 0
반환
BAK_1 :
GOSUB 앨러배마
부터 Z = 1 및 U = 1면 SAYI = 0
반환
BAK_2 :
GOSUB 앨러배마
부터 Z = 1과 T = 1면 SAYI = 0
반환EKRAN0 : sayac = 28면 다음 하한가 porta.3
의 'X = SN DIG 0 : GOSUB 알 : GOSUB TEKRAR
의 'X = sn DIG 1 : GOSUB 알 : GOSUB TEKRAR엑스 = Dak DIG 0 : GOSUB BAK_1 : GOSUB TEKRAR
엑스 = Dak DIG 1 : GOSUB BAK_1 : GOSUB TEKRAR
유 = 0
엑스 = SAAT DIG 0 : GOSUB BAK_0 : GOSUB TEKRAR
엑스 = SAAT DIG 1 : GOSUB BAK_0 : GOSUB TEKRAR
승 = 0
고속 성 : PAUSEUS 2 : 낮음 성
반환아메리칸 : LOOKUP은 엑스, [63,6,91,79,102,109,125,7,127,111,99,57], SAYI : 반환EKRAN1 : 저가 PORTA.3
엑스 = 11 : GOSUB 아메리칸 : GOSUB TEKRAR
엑스 = 10 : GOSUB 아메리칸 : GOSUB TEKRARx = (ISI DIG 0) : GOSUB 아메리칸 : GOSUB TEKRAR
x = (ISI DIG 1) : GOSUB 아메리칸 : GOSUB TEKRAR
'만약 SIGN_BITI = NEGAT_ISI 필한테
'SAYI = 64
'다른 사람
'SAYI = 0
'각각 endif
'GOSUB TEKRAR
'SAYI = 0
'GOSUB TEKRAR
고속 성 : PAUSEUS 2 : 낮음 성
반환EKRAN2 : 경우 POZ = 0 필한테 고속 porta.3
엑스 = YIL DIG 0 : GOSUB BAK_2 : GOSUB TEKRAR
엑스 = YIL DIG 1 : GOSUB BAK_2 : GOSUB TEKRAR
T는 = 0
엑스 = 으 DIG 0 : GOSUB BAK_1 : GOSUB TEKRAR
엑스 = 으 DIG 1 : GOSUB BAK_1 : GOSUB TEKRAR
유 = 0
엑스 = 총 DIG 0 : GOSUB BAK_0 : GOSUB TEKRAR
엑스 = 총 DIG 1 : GOSUB BAK_0 : GOSUB TEKRAR
승 = 0
고속 성 : PAUSEUS 2 : 낮음 성
반환EKRAN_3 :엑스 = SN DIG 0 : GOSUB BAK_1 : GOSUB TEKRAR
엑스 = SN DIG 1 : GOSUB BAK_1 : GOSUB TEKRAR
유 = 0
SAYI = 0 : GOSUB TEKRAR
SAYI = 합계 : GOSUB TEKRAR
승 = 0
고속 성 : PAUSEUS 2 : 낮음 성
반환
'------------------------------------------------- ----
ZAM_AYAR :
하한가 PORTA.3 : SN = 0 : POZ = 1 : SUM = 6
SN = EKRAN_ZAM : GOSUB EKRAN_3
이왕 SEC는 = 0 : 웬드족ZAM_BIR :
승 = 1
면 SEC는 = 0 필한테 ZAM_IKI
만약 YUKARI = 0 필한테
만약부터 Z = 0 필한테 sn = SN 1
면 SN = 31 필한테 SN = 0
ENDIF
만약 Asagi = 0 필한테
만약부터 Z = 0 필한테 SN = SN - 1
면 SN = 255 필한테 SN = 30
ENDIF
부터 Z = 1 - Z부터
GOSUB EKRAN_3
GOSUB GECIKME
GOTO ZAM_BIRZAM_IKI :
EKRAN_ZAM = SN : SUM = 91
SN = EKRAN_ISI : GOSUB EKRAN_3
이왕 SEC는 = 0 : 웬드족ZAM_UC :
승 = 1
면 SEC는 = 0 필한테 ZAM_DORT
만약 YUKARI = 0 필한테
만약부터 Z = 0 필한테 sn = SN 1
면 SN = 31 필한테 SN = 0
ENDIF
만약 Asagi = 0 필한테
만약부터 Z = 0 필한테 SN = SN - 1
면 SN = 255 필한테 SN = 30
ENDIF
부터 Z = 1 - Z부터
GOSUB EKRAN_3
GOSUB GECIKME
GOTO ZAM_UCZAM_DORT :
EKRAN_ISI = SN
SUM = EKRAN_ZAM EKRAN_ISI
부터 Z = 0 : 승 = 0 : POZ = 0
GOTO ilk
AYAR :
하한가 PORTA.3 : SN = 0 : POZ = 1 ': GOSUB 플래시
gosub ekran0
이왕 SEC는 = 0 : 웬드족
시간 : 승 = 1
하한가 PORTA.3
면 SEC는 = 0 필한테 MINBIR
만약 YUKARI = 0 필한테
만약부터 Z = 0 필한테 SAAT = SAAT 1
면 SAAT = 24 필한테 SAAT = 0
ENDIF
만약 Asagi = 0 필한테
만약부터 Z = 0 필한테 SAAT = SAAT - 1
면 SAAT = 255 필한테 SAAT = 23
ENDIF
부터 Z = 1 - Z부터
GOSUB EKRAN0
GOSUB GECIKME
GOTO 시간MINBIR : 승 = 0 : Z부터 = 0
GOSUB EKRAN0
'GOSUB 플래시
이왕 SEC는 = 0
웬드족할인 : 유 = 1
하한가 PORTA.3
SEC는 = 0 필한테 아라면
만약 YUKARI = 0 필한테
만약부터 Z = 0 필한테 Dak = Dak 1
만약 Dak = 60 필한테 Dak = 0
ENDIF
만약 Asagi = 0 필한테
만약부터 Z = 0 필한테 Dak = Dak - 1
만약 Dak = 255 필한테 Dak = 59
ENDIF
부터 Z =부터 Z - 1
GOSUB EKRAN0
GOSUB GECIKME
GOTO 할인SECBIR : 이왕 SEC는 = 0
웬드족
유 = 0
GECIKME :
엑스 = 0 3500에 대한
PAUSEUS 5
다음
반환
DELAY :
엑스 = 0 1900
PAUSEUS 10
다음
반환아라 : 승 = 0 : 유 = 0 : T는 = 0 : Z부터 = 0
GOSUB 플래시
Gosub EKRAN0
고속 PORTA.3
이왕 SEC는 = 0
웬드족
나 mem = SN : GOSUB TERSCEVIR : SN = SAYI
나 mem = Dak : GOSUB TERSCEVIR : Dak = SAYI
나 mem = SAAT : GOSUB TERSCEVIR : SAAT = SAYI
나 mem = 총 : GOSUB TERSCEVIR : 총 = SAYI
나 mem = 으 : GOSUB TERSCEVIR : 으 = SAYI
나 mem = YIL : GOSUB TERSCEVIR : YIL = SAYI
GOSUB ZAMAN_YAZ
GOSUB ZAMAN_OKU
y를 = 0 : POZ = 0
고토 BASLA플래시 :
토글 PORTA.3 : GOSUB DELAY : 토글 PORTA.3 : GOSUB DELAY
토글 PORTA.3 : GOSUB DELAY : 토글 PORTA.3 : GOSUB DELAY
반환
'------------------------------------------------- ------------------------------ISI '---------------- 센서 오쿠마 BÖLÜMÜ ----------------------------- ---
SENSOROKU :
'----------------- DİKKAT İSİS'de BU 메시지 AKTİF EDİLECEK ----------------------
'햄 = $ ff5e : Gosub hesapla : 반환'일반 ÇALIŞMADA BU 메시지 SİLİNECEK
'------------------------------------------------- -----------------------------
OWOUT Comm_Pin, 1, [$ 참조, $ 44] 'ISI 오쿠 değerini
Bekle :
'OWIN Comm_Pin, 4, [용무중]'바쁜 değerini 오쿠
'만약 바쁜 = 0 필한테 Bekle'HALA meşgulmü?
, evet 이세 고토 Bekle ..!
OWOUT Comm_Pin, 1, [$ CC에서 $되지] '스크래치 패드 메모리 오쿠
OWIN Comm_Pin, 2, [HAM.Lowbyte, HAM.Highbyte] '이키 바이트 오쿠 okumayı bitir 봤어요.
GOSUB Hesapla
반환SENSORYAZ :
OWOUT COMM_Pin, 1, [$ CC에서 $ 4E, 00달러, $ 00, $ 31]
반환Hesapla : '햄 değerden Santigrat derece hesabı
로그인 = " "
SIGN_BITI = NEGAT_ISI 필한테면
로그인 = "-"
온도 = ($ ffff - 햄 1) * 625
ISI = DIV32 10
GOTO GEC
각각 endif
온도 = 625 * (HAM 1) '
ISI = DIV32 10 'Div32 hassas hesabı için 32 비트 bölme yapıyoruz derece.
GEC :
FLOAT = (ISI / / 1000) / 100
ISI = ISI/1000
반환ZAMAN_OKU :
높은 RTC_RST : 출력 rtc_dta
shiftout RTC_DTA, RTC_CLK, 0, [$ BF] : 입력 RTC_DTA
SHIFTIN RTC_DTA, RTC_CLK, 1, [SN, Dak, SAAT, 총, 으, MEM, YIL, MEM] '오쿠
나 mem = SN : GOSUB CEVIR : SN = SAYI
나 mem = Dak : GOSUB CEVIR : Dak = SAYI
나 mem = SAAT : GOSUB CEVIR : SAAT = SAYI
나 mem = 총 : GOSUB CEVIR : 총 = SAYI
나 mem = 으 : GOSUB CEVIR : 으 = SAYI
나 mem = YIL : GOSUB CEVIR : YIL = SAYI
낮은 RTC_RST
반환ZAMAN_YAZ :높은 RTC_RST : 출력 RTC_DTA
SHIFTOUT RTC_DTA, RTC_CLK, 0, [$ 8E, 0] 'WRT Protek açıldı
낮은 RTC_RST : PAUSEUS 10
높은 RTC_RST
SHIFTOUT RTC_DTA, RTC_CLK, 0, [$, SN, Dak, SAAT, 총, 으, 0, YIL, 128] 'YAZ되지
낮은 RTC_RST
PAUSEUS 10
반환CEVIR :
MEM & % ONLAR = 01110000
ONLAR = ONLAR>> 4
MEM & % BIRLER = 00001111
SAYI = ONLAR * 10 BIRLER
반환TERSCEVIR :
ONLAR = MEM DIG 1
ONLAR = ONLAR <<4
BIRLER = MEM DIG 0
SAYI = ONLAR BIRLER
반환비활성화
KESME :면 POZ = 1 다음 CIK
SAYAC = SAYAC 1 'kesme sayacı 1 sn = 61 (sayac) × 256 (Tmr0) × 64 (bölme)
SAYAC = 58면 다음 '61 adet kesme olunca 1 sn.
확실 geçiyor. (999424 우리)
SAYAC = 0 'sayaç sıfırlanıyor
Y = Y 1
GOSUB ZAMAN_OKU
Y <EKRAN_ZAM 다음 porta.3 경우 높음
ENDIF
CIK : INTCON.2 = 0 'TMR0 Kesme bayrağı sıfırlanıyor
RESUME
활성화최종
şematik : 프로 테우스
5월 7일 서비스 팩 3
programlama 딜리 : 그림 기본 프로
시뮬레이션 :<img src="http://img200.imageshack.us/img200/8452/57972532.png" border="0" alt=""/>
<img src="http://img200.imageshack.us/img200/5748/83698429.png" border="0" alt=""/> 소스 :
코드 :
PORTA = 0 : portb = 0
TRISB = 0
TRISA = % 11100000
'------------------------------------------------- ----------------
@ 장치 pic16F628 'işlemci 16F628
@ 장치 pic16F628, WDT_ON '조심 도그 타이머 açık
@ 장치 pic16F628, 타이머에 PWRT_ON '파워 açık
@ 장치 pic16F628, PROTECT_OFF 'Kod Protek kapalı
@ 장치 pic16F628, MCLR_off 'MCLR Pini kullanılMIYOR.
@ 장치 pic16F628, INTRC_OSC_NOCLKOUT 'Dahili osilatör kullanılacak
'------------------------------------------------- ----------------
DEFINE OSC 4
'------------------------------------------------- ------------------------
켜기 방해 GoTo KESME 'kesme oluşursa KESME adlı etikete 이눔아.
dirençleri İPTAL - 10000101를 Bölme oranı 1 / 64 당겨 'OPTION_REG = 20 %.
INTCON = % 10100000 'Kesmeler aktif 없는데 TMR0 kesmesi aktif
TMR0 = 0
CMCON = 7
'------------------------------------------------- ---------------------------
Comm_Pin VAR PortA.4 '한 - 와이어 데이터 - 핀 "DQ"PortB.0 다
바쁜 VAR 비트 '바쁜 상태 - 비트
POZ VAR 비트
Z부터 VAR 비트
승 VAR 비트
유 VAR 비트
T는 VAR 비트
Gor VAR 바이트
VAR HAM '이라는 단어 센서 HAM 오쿠마 değeri
ISI VAR '이라는 단어가 Hesaplanmış ISI değeri
플로트 VAR을위한 '이라는 단어를 감싸고 나머지 TEMP가 C 표시
엑스 워드 VAR
Y VAR 바이트
VAR SAYI 바이트
SIGN_BITI VAR HAM.Bit11 ' / - sıcaklık İşaret 비티, 1 = olursa eksi sıcaklık
NEGAT_ISI CON 1 'Negatif_Cold = 1
CON 223 deg '° işareti
로그인 VAR 바이트 'ISI değeri için / - işaret
온도 VAR 바이트 'Div32 비트 hesap için geçici değişken
VAR SAYAC 바이트
SN VAR 바이트
Dak VAR 바이트
VAR SAAT 바이트
총 VAR 바이트
VAR 으 바이트
VAR YIL 바이트
MEM var 바이트 '
var EKRAN_ZAM 바이트 '
SUM VAR 바이트
VAR EKRAN_ISI 바이트
VAR ONLAR 바이트
VAR BIRLER 바이트
ESN VAR 바이트
'---------------------------------------------
SYMBOL의 DTA = PortB.0
SYMBOL CLK = PORTB.1
기호는 ST = PORTB.2
SYMBOL RTC_DTA = PORTA.0
SYMBOL RTC_CLK = PORTA.1
SYMBOL RTC_RST = PORTA.2
상징 SEC는 = PORTA.5
SYMBOL Asagi = PORTA.6
SYMBOL YUKARI = PORTA.7
'------------------------------------------------- ----------------------------
CLEAR를 '죽을 차례 değişkenler sıfırlandı
EKRAN_ZAM = 10 'ZAMANIN EKRANDA KALMA SÜRESİ
EKRAN_ISI = 5 'SICAKLIĞIN EKRANDA KALMA SÜRESİ BUNLARI DEĞİŞTİREBİLİRSİNİZ.
SUM = EKRAN_ZAM EKRAN_ISI
초 = 0 다음 ZAM_AYAR면
ilk :
gosub ekran0
gosub sensoryaz
gosub sensoroku
낮은 RTC_RST
낮은 RTC_CLK
GOSUB GECIKME
'------------------------------------------------- ----------------------------
고속 PORTA.3
gosub ZAMAN_OKU : esn = SN
BASLA :
Y = SUM 필한테 Y = 0면
Y면> (EKRAN_ZAM - 1)과 Y <SUM 필한테
만약 y를 = (EKRAN_ZAM 1) 다음 GOSUB SENSOROKU
GOSUB EKRAN1
ENDIF
Y <EKRAN_ZAM 필한테 GOSUB EKRAN0면ATLA : SEC는 = 0 필한테 AYAR '모드 TUŞUNA BASILMIŞ ISE AYAR'A 종소세GOTO BASLA
'----------------------- 대체 programlar ------------------------ -------------------
TEKRAR :
SHIFTOUT의 DTA, CLK, 1, [SAYI]
반환
BAK_0 :
GOSUB 앨러배마
부터 Z = 1 승 = 1면 SAYI = 0
반환
BAK_1 :
GOSUB 앨러배마
부터 Z = 1 및 U = 1면 SAYI = 0
반환
BAK_2 :
GOSUB 앨러배마
부터 Z = 1과 T = 1면 SAYI = 0
반환EKRAN0 : sayac = 28면 다음 하한가 porta.3
의 'X = SN DIG 0 : GOSUB 알 : GOSUB TEKRAR
의 'X = sn DIG 1 : GOSUB 알 : GOSUB TEKRAR엑스 = Dak DIG 0 : GOSUB BAK_1 : GOSUB TEKRAR
엑스 = Dak DIG 1 : GOSUB BAK_1 : GOSUB TEKRAR
유 = 0
엑스 = SAAT DIG 0 : GOSUB BAK_0 : GOSUB TEKRAR
엑스 = SAAT DIG 1 : GOSUB BAK_0 : GOSUB TEKRAR
승 = 0
고속 성 : PAUSEUS 2 : 낮음 성
반환아메리칸 : LOOKUP은 엑스, [63,6,91,79,102,109,125,7,127,111,99,57], SAYI : 반환EKRAN1 : 저가 PORTA.3
엑스 = 11 : GOSUB 아메리칸 : GOSUB TEKRAR
엑스 = 10 : GOSUB 아메리칸 : GOSUB TEKRARx = (ISI DIG 0) : GOSUB 아메리칸 : GOSUB TEKRAR
x = (ISI DIG 1) : GOSUB 아메리칸 : GOSUB TEKRAR
'만약 SIGN_BITI = NEGAT_ISI 필한테
'SAYI = 64
'다른 사람
'SAYI = 0
'각각 endif
'GOSUB TEKRAR
'SAYI = 0
'GOSUB TEKRAR
고속 성 : PAUSEUS 2 : 낮음 성
반환EKRAN2 : 경우 POZ = 0 필한테 고속 porta.3
엑스 = YIL DIG 0 : GOSUB BAK_2 : GOSUB TEKRAR
엑스 = YIL DIG 1 : GOSUB BAK_2 : GOSUB TEKRAR
T는 = 0
엑스 = 으 DIG 0 : GOSUB BAK_1 : GOSUB TEKRAR
엑스 = 으 DIG 1 : GOSUB BAK_1 : GOSUB TEKRAR
유 = 0
엑스 = 총 DIG 0 : GOSUB BAK_0 : GOSUB TEKRAR
엑스 = 총 DIG 1 : GOSUB BAK_0 : GOSUB TEKRAR
승 = 0
고속 성 : PAUSEUS 2 : 낮음 성
반환EKRAN_3 :엑스 = SN DIG 0 : GOSUB BAK_1 : GOSUB TEKRAR
엑스 = SN DIG 1 : GOSUB BAK_1 : GOSUB TEKRAR
유 = 0
SAYI = 0 : GOSUB TEKRAR
SAYI = 합계 : GOSUB TEKRAR
승 = 0
고속 성 : PAUSEUS 2 : 낮음 성
반환
'------------------------------------------------- ----
ZAM_AYAR :
하한가 PORTA.3 : SN = 0 : POZ = 1 : SUM = 6
SN = EKRAN_ZAM : GOSUB EKRAN_3
이왕 SEC는 = 0 : 웬드족ZAM_BIR :
승 = 1
면 SEC는 = 0 필한테 ZAM_IKI
만약 YUKARI = 0 필한테
만약부터 Z = 0 필한테 sn = SN 1
면 SN = 31 필한테 SN = 0
ENDIF
만약 Asagi = 0 필한테
만약부터 Z = 0 필한테 SN = SN - 1
면 SN = 255 필한테 SN = 30
ENDIF
부터 Z = 1 - Z부터
GOSUB EKRAN_3
GOSUB GECIKME
GOTO ZAM_BIRZAM_IKI :
EKRAN_ZAM = SN : SUM = 91
SN = EKRAN_ISI : GOSUB EKRAN_3
이왕 SEC는 = 0 : 웬드족ZAM_UC :
승 = 1
면 SEC는 = 0 필한테 ZAM_DORT
만약 YUKARI = 0 필한테
만약부터 Z = 0 필한테 sn = SN 1
면 SN = 31 필한테 SN = 0
ENDIF
만약 Asagi = 0 필한테
만약부터 Z = 0 필한테 SN = SN - 1
면 SN = 255 필한테 SN = 30
ENDIF
부터 Z = 1 - Z부터
GOSUB EKRAN_3
GOSUB GECIKME
GOTO ZAM_UCZAM_DORT :
EKRAN_ISI = SN
SUM = EKRAN_ZAM EKRAN_ISI
부터 Z = 0 : 승 = 0 : POZ = 0
GOTO ilk
AYAR :
하한가 PORTA.3 : SN = 0 : POZ = 1 ': GOSUB 플래시
gosub ekran0
이왕 SEC는 = 0 : 웬드족
시간 : 승 = 1
하한가 PORTA.3
면 SEC는 = 0 필한테 MINBIR
만약 YUKARI = 0 필한테
만약부터 Z = 0 필한테 SAAT = SAAT 1
면 SAAT = 24 필한테 SAAT = 0
ENDIF
만약 Asagi = 0 필한테
만약부터 Z = 0 필한테 SAAT = SAAT - 1
면 SAAT = 255 필한테 SAAT = 23
ENDIF
부터 Z = 1 - Z부터
GOSUB EKRAN0
GOSUB GECIKME
GOTO 시간MINBIR : 승 = 0 : Z부터 = 0
GOSUB EKRAN0
'GOSUB 플래시
이왕 SEC는 = 0
웬드족할인 : 유 = 1
하한가 PORTA.3
SEC는 = 0 필한테 아라면
만약 YUKARI = 0 필한테
만약부터 Z = 0 필한테 Dak = Dak 1
만약 Dak = 60 필한테 Dak = 0
ENDIF
만약 Asagi = 0 필한테
만약부터 Z = 0 필한테 Dak = Dak - 1
만약 Dak = 255 필한테 Dak = 59
ENDIF
부터 Z =부터 Z - 1
GOSUB EKRAN0
GOSUB GECIKME
GOTO 할인SECBIR : 이왕 SEC는 = 0
웬드족
유 = 0
GECIKME :
엑스 = 0 3500에 대한
PAUSEUS 5
다음
반환
DELAY :
엑스 = 0 1900
PAUSEUS 10
다음
반환아라 : 승 = 0 : 유 = 0 : T는 = 0 : Z부터 = 0
GOSUB 플래시
Gosub EKRAN0
고속 PORTA.3
이왕 SEC는 = 0
웬드족
나 mem = SN : GOSUB TERSCEVIR : SN = SAYI
나 mem = Dak : GOSUB TERSCEVIR : Dak = SAYI
나 mem = SAAT : GOSUB TERSCEVIR : SAAT = SAYI
나 mem = 총 : GOSUB TERSCEVIR : 총 = SAYI
나 mem = 으 : GOSUB TERSCEVIR : 으 = SAYI
나 mem = YIL : GOSUB TERSCEVIR : YIL = SAYI
GOSUB ZAMAN_YAZ
GOSUB ZAMAN_OKU
y를 = 0 : POZ = 0
고토 BASLA플래시 :
토글 PORTA.3 : GOSUB DELAY : 토글 PORTA.3 : GOSUB DELAY
토글 PORTA.3 : GOSUB DELAY : 토글 PORTA.3 : GOSUB DELAY
반환
'------------------------------------------------- ------------------------------ISI '---------------- 센서 오쿠마 BÖLÜMÜ ----------------------------- ---
SENSOROKU :
'----------------- DİKKAT İSİS'de BU 메시지 AKTİF EDİLECEK ----------------------
'햄 = $ ff5e : Gosub hesapla : 반환'일반 ÇALIŞMADA BU 메시지 SİLİNECEK
'------------------------------------------------- -----------------------------
OWOUT Comm_Pin, 1, [$ 참조, $ 44] 'ISI 오쿠 değerini
Bekle :
'OWIN Comm_Pin, 4, [용무중]'바쁜 değerini 오쿠
'만약 바쁜 = 0 필한테 Bekle'HALA meşgulmü?
, evet 이세 고토 Bekle ..!
OWOUT Comm_Pin, 1, [$ CC에서 $되지] '스크래치 패드 메모리 오쿠
OWIN Comm_Pin, 2, [HAM.Lowbyte, HAM.Highbyte] '이키 바이트 오쿠 okumayı bitir 봤어요.
GOSUB Hesapla
반환SENSORYAZ :
OWOUT COMM_Pin, 1, [$ CC에서 $ 4E, 00달러, $ 00, $ 31]
반환Hesapla : '햄 değerden Santigrat derece hesabı
로그인 = " "
SIGN_BITI = NEGAT_ISI 필한테면
로그인 = "-"
온도 = ($ ffff - 햄 1) * 625
ISI = DIV32 10
GOTO GEC
각각 endif
온도 = 625 * (HAM 1) '
ISI = DIV32 10 'Div32 hassas hesabı için 32 비트 bölme yapıyoruz derece.
GEC :
FLOAT = (ISI / / 1000) / 100
ISI = ISI/1000
반환ZAMAN_OKU :
높은 RTC_RST : 출력 rtc_dta
shiftout RTC_DTA, RTC_CLK, 0, [$ BF] : 입력 RTC_DTA
SHIFTIN RTC_DTA, RTC_CLK, 1, [SN, Dak, SAAT, 총, 으, MEM, YIL, MEM] '오쿠
나 mem = SN : GOSUB CEVIR : SN = SAYI
나 mem = Dak : GOSUB CEVIR : Dak = SAYI
나 mem = SAAT : GOSUB CEVIR : SAAT = SAYI
나 mem = 총 : GOSUB CEVIR : 총 = SAYI
나 mem = 으 : GOSUB CEVIR : 으 = SAYI
나 mem = YIL : GOSUB CEVIR : YIL = SAYI
낮은 RTC_RST
반환ZAMAN_YAZ :높은 RTC_RST : 출력 RTC_DTA
SHIFTOUT RTC_DTA, RTC_CLK, 0, [$ 8E, 0] 'WRT Protek açıldı
낮은 RTC_RST : PAUSEUS 10
높은 RTC_RST
SHIFTOUT RTC_DTA, RTC_CLK, 0, [$, SN, Dak, SAAT, 총, 으, 0, YIL, 128] 'YAZ되지
낮은 RTC_RST
PAUSEUS 10
반환CEVIR :
MEM & % ONLAR = 01110000
ONLAR = ONLAR>> 4
MEM & % BIRLER = 00001111
SAYI = ONLAR * 10 BIRLER
반환TERSCEVIR :
ONLAR = MEM DIG 1
ONLAR = ONLAR <<4
BIRLER = MEM DIG 0
SAYI = ONLAR BIRLER
반환비활성화
KESME :면 POZ = 1 다음 CIK
SAYAC = SAYAC 1 'kesme sayacı 1 sn = 61 (sayac) × 256 (Tmr0) × 64 (bölme)
SAYAC = 58면 다음 '61 adet kesme olunca 1 sn.
확실 geçiyor. (999424 우리)
SAYAC = 0 'sayaç sıfırlanıyor
Y = Y 1
GOSUB ZAMAN_OKU
Y <EKRAN_ZAM 다음 porta.3 경우 높음
ENDIF
CIK : INTCON.2 = 0 'TMR0 Kesme bayrağı sıfırlanıyor
RESUME
활성화최종