dijital 시계 프로젝트 (PIC16F628)

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

활성화최종
 
난이 깜빡!

파일 desing
미안하지만, 당신이 첨부 파일을보기 위해서는 로그인이 필요

 
클럭은 PCB, 그것과 기능적이었다되었다
미안하지만, 당신이 첨부 파일을보기 위해서는 로그인이 필요

 
시계 디자인, 너무 일찍을 위해 유용하게 쓸 수도있는 유되었다
미안하지만, 당신이 첨부 파일을보기 위해서는 로그인이 필요

 
@ mfarooq1 감사합니다,

미안, 난 영어 몰라요.나는 사전에서 단어를 찾고
있어요
거기에 문제가있다. DSN을 파일입니다.그리고, 당신이 파일을 다시. dsn의 수출을 할 수있습니다.

어쨌든,

난 당신이 사진을주는거야.과 PCB.<img src="http://img197.imageshack.us/img197/9148/avzyima2d113fe1390afa50.jpg" border="0" alt=""/>
<img src="http://img197.imageshack.us/img197/7687/avza0gi2d113fe1390afa50.jpg" border="0" alt=""/>미안하지만, 당신이 첨부 파일을보기 위해서는 로그인이 필요

 
또는, 사용할 수있는가 ...<img src="http://img199.imageshack.us/img199/7766/1005844.th.jpg" border="0" alt=""/> 그리고 잊지 마세요 ..

PIC는 함께 사용,

코드 :

햄 = $ ff5e : Gosub hesapla : 반환 '일반 ÇALIŞMADA BU 메시지 SİLİNECEK
 
이것은 당신이 당신의 업로드에서 우수로 가져올 수없습니다 도식을 즐겁게 해줄 수있다.내가
ds는 Atmel은에 1307년와 디지털 시계가 만들어지만,
7 세그먼트 디스플레이 gaint 특수에서 몇 가지 문제에 직면.내가 통제할 수없는 현재와 dont 밝기와 노을 gaint 7 세그먼트 디스플레이하는 방법을 알고있다.제가 만들었지만 표시 희미와 LED (해제)을 그들이 완전히없습니다 노을을 모드에서 조금입니다.당신은 큰 규모의 LED를 사용하여 gaint 디스플레이의 설계도를 주시겠습니까???

둘째로 나는 왜 내 DS에 1307년가 정확하지 않을지도 몰랐어요?비록 제가 어떤 트리머를 사용하지 않을 충분히 빨리 진행?이 문제에 대해 좀 도와 주실 수 있으십니까????

 
미안 해요,하지만 당신 도움이 정말 내 영어 싶은 것만으로는 충분하지 않습니다.

<img src="http://www.edaboard.com/images/smiles/icon_cry.gif" alt="울고 또는 아주 슬픈" border="0" />그래서 난이 설계도를 사용하지 않습니다 ...

하지만, 당신의 논리를 이해할 수있다.및,

나는 당신을위한 설계도를 그린 ...

<img src="http://www.edaboard.com/images/smiles/icon_biggrin.gif" alt="매우 행복" border="0" />http://rapidshare.com/files/248263050/oernek.rar

또는 당신 TPIC6b595 사용할 수있습니다.

74hc595 uln2803 = tpic6b595 : 아이디어 :

나 여기있어 영어를 배우는 ...그리고 좋은 친구들이 ...

당신을 알고있다 터키어 또는 독일어는 ...?

 
답장을 보내주셔서 감사하지만 귀하의 파일을 다운로드할 수없습니다???을주는 오류가 발생했습니다.plz 도와주세요.

 
중요하지 않다.무슨 오류가 무엇입니까?

링크 강한있습니다 ...

또는

거기에 당신의 전자 - 메일인가.그리고, 내가 당신에게 파일을 보낼 수있습니다.

<img src="http://www.edaboard.com/images/smiles/icon_biggrin.gif" alt="매우 행복" border="0" />있다면 제가 올바른 문장을 설정할 수있습니다.

<img src="http://www.edaboard.com/images/smiles/icon_cry.gif" alt="울고 또는 아주 슬픈" border="0" />
 
리얼 타임 클럭 ....에 대한 아이디어를 도와

 

Welcome to EDABoard.com

Sponsor

Back
Top