یہ ڈیجیٹل کلاک PICمائیکرو کنٹرولر 16F84 یا 16F84A کو استعمال کرتے ہوئے بنایا گیا ہے۔ ذیل میں اس کا سرکٹ ڈایا گرام، پرنٹڈ سرکٹ بورڈ اور پرنٹڈ سرکٹ بورد پر اجزا کی ترتیب کے خاکے دکھائے گئے ہیں۔ اس مائیکرو کنٹرولر کے لئے ڈیجیٹل کلاک کا سافٹ وئر اسمبلی لیگوئج میں فراہم کیا گیا ہے۔ ساتھ ہی ہیکس فائل بھی دی گئی ہے۔ مائیکروکنٹرولر کو پروگرام کرنے کے لئے یہ ہیکس فائل براہ راست استعمال کی جا سکتی ہے۔
(16F84 ڈیجیٹل کلاک)
رزسٹرز | ||
---|---|---|
R1 | = | 10K رزسٹر ¼ واٹ |
R2–4 | = | 820R رزسٹر ¼ واٹ |
R5–12 | = | 2K2 رزسٹر ¼ واٹ |
R13-15 | = | 10Kرزسٹر ¼ واٹ |
کپیسیٹرز | ||
C1-2 | = | 22pF سرامک ڈسک |
C3 | = | 220nF سرامک ڈسک |
سیمی کنڈکٹرز | ||
IC1 | = | PIC 16F84 یا 16F84A مائیکرو کنٹرولر |
IC2 | = | 7805 وولٹیج ریگولیٹر |
DISP1-4 | = | کامن اینوڈ سیون سیگمنٹ ڈسپلے |
متفرق | ||
J1 | = | دو پن جیک |
XTAL | = | 4MHz کرسٹل |
SW1-3 | = | پش آن پش بٹن سوئچ |
PROCESSOR PIC16F84A INCLUDERADIX HEX ORG 0000h GOTO MAIN ORG 0004h GOTO ISR ;************************************************************* ; 16F84 ڈیجیٹل کلاک ; الیکٹرونکس ڈائجسٹ 2019 ;*************************************************************** CBLOCK 0Ch S1 S10 M1 M10 H1 H10 DEL DEL0 DEL01 DEL02 WHAT QSTAT ENDC #DEFINE DP PORTB,0 ; PIN NO 06 DECIMA POINT DELAY01 DECFSZ DEL,1 GOTO $-.1 CLRF PORTB RETURN DELAY02 MOVLW .2 MOVWF DEL01 DECFSZ DEL01,1 GOTO $-.1 RETURN ; SEVEN SEGMENT DISPLAY CONNECTION TABLE TABLE ADDWF PCL,1 ;hgfedcba segments RETLW B'01111110' ;0 RETLW B'00001100' ;1 RETLW B'10110110' ;2 RETLW B'10011110' ;3 RETLW B'11001100' ;4 RETLW B'11011010' ;5 RETLW B'11111010' ;6 RETLW B'00001110' ;7 RETLW B'11111110' ;8 RETLW B'11011110' ;9 SCAN MOVLW B'00000001' ;SEGMENT 01 MOVWF PORTA MOVF M1,0 CALL TABLE MOVWF PORTB CALL DELAY01 MOVLW B'00000010' ;SEGMENT 02 MOVWF PORTA MOVF M10,0 CALL TABLE MOVWF PORTB CALL DELAY01 MOVLW B'00000100' ;SEGMENT 03 MOVWF PORTA MOVF H1,0 CALL TABLE MOVWF PORTB CALL DELAY01 MOVLW B'00001000' ;SEGMENT 04 MOVWF PORTA MOVF H10,0 CALL TABLE MOVWF PORTB CALL DELAY01 RETURN INCR INCF S1,1 MOVF S1,0 BCF STATUS,Z XORLW .10 BTFSS STATUS,Z RETURN CLRF S1 INCF S10,1 MOVF S10,0 BCF STATUS,Z XORLW .6 BTFSS STATUS,Z RETURN CLRF S10 INCR_SM INCF M1,1 MOVF M1,0 BCF STATUS,Z XORLW .10 BTFSS STATUS,Z RETURN CLRF M1 INCF M10,1 MOVF M10,0 BCF STATUS,Z XORLW .6 BTFSS STATUS,Z RETURN CLRF M10 INCR_SH INCF H1 SWAPF H10,0 ADDWF H1,0 BCF STATUS,Z XORLW 13h BTFSS STATUS,Z GOTO $+6 CLRF H1 CLRF H10 MOVLW .1 MOVWF H1 RETURN MOVF H1,0 BCF STATUS,Z XORLW .10 BTFSS STATUS,Z RETURN CLRF H1 INCF H10,1 RETURN ISR BCF INTCON,GIE MOVWF WHAT SWAPF STATUS,0 MOVWF QSTAT BCF INTCON,T0IF MOVLW .5 MOVWF TMR0 INCF DEL0,1 MOVF DEL0,0 ANDLW B'01111111' BCF STATUS,Z XORLW .125 BTFSS STATUS,Z GOTO LABLE BTFSS DEL0,7 GOTO $+.5 CLRF DEL0 CALL INCR GOTO LABLE GOTO LABLE BTFSS DEL0,7 GOTO $+.5 CLRF DEL0 BCF DP ; DECIMAL POINT CALL INCR GOTO LABLE MOVLW .200 ; DECIMAL POINT DELAY SETTING MOVWF DEL0 ;DECIMAL POINT BSF DP LABLE SWAPF QSTAT,0 MOVWF STATUS SWAPF WHAT,1 SWAPF WHAT,0 BSF INTCON,GIE RETFIE KEY BSF OPTION_REG,7 BCF INTCON,GIE BSF STATUS,RP0 MOVLW B'11101111' MOVWF TRISB BCF STATUS,RP0 MOVLW B'00000000' MOVWF PORTB CALL DELAY02 ; ********************************** SM1 BTFSC PORTB,1 ; SET MINITUS GOTO SH1 CALL INCR_SM GOTO KEYX ;*********************************** ;*********************************** SH1 CALL DELAY02 BTFSC PORTB,2 ; SET HOUR GOTO KEYDE CALL INCR_SH ;*********************************** KEYX BSF STATUS,RP0 CLRF TRISB BCF STATUS,RP0 MOVLW .100 MOVWF DEL02 CALL SCAN DECFSZ DEL02,1 GOTO $-.2 BSF INTCON,GIE BCF OPTION_REG,7 RETURN KEYDE BSF STATUS,RP0 CLRF TRISB BCF STATUS,RP0 BSF INTCON,GIE BCF OPTION_REG,7 RETURN MAIN CLRF S1 CLRF S10 CLRF M1 CLRF M10 CLRF H1 CLRF H10 CLRF DEL CLRF DEL0 CLRF DEL01 CLRF DEL02 CLRF WHAT CLRF QSTAT BSF STATUS,RP0 CLRF TRISB CLRF TRISA MOVLW B'00000011' MOVWF OPTION_REG BSF INTCON,T0IE BSF INTCON,GIE BCF STATUS,RP0 CALL SCAN CALL KEY GOTO $-.2 ORG 2007h DATA 3FF1h END
:100000000128850186018316003085008600833033 :10001000810083120C3084008001840A4F30040276 :10002000031D0C280030860001308100FE308E0058 :1000300000308F009000910092000C309300C4308B :100040009400C4309500FF30960000308D00010808 :10005000031D2728930F5D280C3093008D1F452822 :100060000D1A4528C43094007F3093008D1E3E2821 :10007000AF309300950F3E28C43095008D1A692843 :10008000960F6928F430960069280D148D15940F89 :100090005D28C43094008D148D1509309302950F9E :1000A0005D28C43095000D158D1522309307960FED :1000B0005D28F4309600033093028D1D9A280D1EA2 :1000C00069280030900091009200C43014028F0023 :1000D0007228003092009000F33016029100C43074 :1000E00015028F00023098000F30840079281130FB :1000F00084000A30800203187F2880078328840A3E :10010000800A84037928980B77280F308400043004 :1001100098000008CE208000840A980B89287E3041 :100120001202031D9528003092000D1E98289100A0 :10013000F0308D05FF30850083160E308600831267 :100140000F30000000008D0506089700971CAB28B3 :100150008D150D168D17171DB0288D158D168D1741 :10016000971DB5288D150D178D1783160030860045 :100170008312003086000E1C12088E1C11080E1D02 :1001800010088E1D0F088600931B06140E088500AC :100190008E008E0D0E140E1E0E10272882077E3440 :1001A0000C34B6349E34CC34DA34FA340E34FE34A3 :0201B000CE344B :02400E00F13F80 :00000001FF