16F84 ڈیجیٹل کلاک

یہ ڈیجیٹل کلاک PICمائیکرو کنٹرولر 16F84 یا 16F84A کو استعمال کرتے ہوئے بنایا گیا ہے۔ ذیل میں اس کا سرکٹ ڈایا گرام، پرنٹڈ سرکٹ بورڈ اور پرنٹڈ سرکٹ بورد پر اجزا کی ترتیب کے خاکے دکھائے گئے ہیں۔ اس مائیکرو کنٹرولر کے لئے ڈیجیٹل کلاک کا سافٹ وئر اسمبلی لیگوئج میں فراہم کیا گیا ہے۔ ساتھ ہی ہیکس فائل بھی دی گئی ہے۔ مائیکروکنٹرولر کو پروگرام کرنے کے لئے یہ ہیکس فائل براہ راست استعمال کی جا سکتی ہے۔

16F84 ڈیجیٹل کلاک کا سرکٹ ڈایا گرام


16F84 ڈیجیٹل کلاک کے لئے پرنٹڈ سرکٹ بورڈ


16F84 ڈیجیٹل کلاک کے اجزا کی ترتیب


16F84 ڈیجیٹل کلاک نصب شدہ


فہرست اجزاء

(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 = پش آن پش بٹن سوئچ

16F84 ڈیجیٹل کلاک کے لئے اسمبلی کوڈ



PROCESSOR	PIC16F84A
INCLUDE		
RADIX		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


16F84 ڈیجیٹل کلاک کے سافٹ وئر کی ہیکس فائل


: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