Discussion in "8051 Discussion Forum" started by    SAMEET    Aug 29, 2009.
Fri Sep 04 2009, 12:25 pm
#11
THANKS FOR GIVING ME THIS CODE BUT I HAVE TO INCORPORATE WITH MY ADC 0804 PROGRAM WHICH I GAVE U EARLIER AGAIN I WILL SEND.
THIS IS USING TABLE TO DISPLAY 0-336 VDC JUS GO THRU IF U FIND EASY TO UNDERSTAND
;****************************************************************************
;
; Experiment # exp11 -> Matrix Display program 1
;
;****************************************************************************
;RAM_ADDR EQU 40H




ORG 0000H ;Starting address
AJMP MAIN
ORG 000BH
AJMP LIMIT
; ----------------------------------------; MOV SP,#60H ;Initialize stack pointer.
ORG 0100H
MAIN: MOV R7,#00H ;Initialize display digit.
MOV 50H,#00H
MOV 51H,#00H
MOV 52H,#00H
MOV 53H,#00H
MOV 54H,#00H
MOV 55H,#92H
MOV 56H,#82H
MOV 57H,#0F8H
;-----------------------------------------------;
;KEY_UP: ;
; JB P2.0,KEY_UP ;Detect a key closer
;Detect a key release
;-----------------------------------------------;

;******************************************************************************
; ADC DATA TO MICROCONTROLLER
;*******************************************************************************
MOV P2,#00H
MOV P1,#0FFH
MOV P3,#04H
MOV P0,#00H

;ACALL DELAY
MOV TMOD,#01H
MOV TH0,#01H
MOV TL0,#00H

MOV IE,#82H

H1: SETB P3.7 ;READ DATA

;H1: JB P3.7,H1


;*******************************************************************************
; BINARY TO DECIMAL
;*********************************************************************************




;MOV R0,#RAM_ADDR ;SAVE DEC DIGITS IN THESE RAM LOCATIONS
;CJNE A,#77H,OVER

MOV A,P1 ;READ DAT FROM P2
SETB TR0
ACALL LINEAR

MOV A,40H
ACALL CONVERT
MOV P0,A
MOV P2,#03H
ACALL DELAY

MOV A,41H
ACALL CONVERT
MOV P0,A
MOV P2,#02H
ACALL DELAY

MOV A,42H
ACALL CONVERT
MOV P0,A
MOV P2,#01H
ACALL DELAY
SJMP H1

LIMIT: MOV R5,P1
CJNE R5,#2CH,L1
SJMP BACK
L1: CJNE R5,#2DH,L2
SJMP BACK
L2: CJNE R5,#2EH,L3
SJMP BACK
L3: CJNE R5,#2FH,L4
SJMP BACK
L4: CJNE R5,#30H,L5
SJMP BACK
L5: CJNE R5,#31H,L6
SJMP BACK
L6: CJNE R5,#32H,L7
SJMP BACK
L7: CJNE R5,#33H,L8
SJMP BACK
BACK: NOP
MOV P0,#3FH
MOV P2,#02H
ACALL DELAY
MOV P0,#38H
MOV P2,#03H
ACALL DELAY
SJMP BACK
L8: RETI
DELAY: MOV R2,#10
LOOP2: MOV R6,#10
LOOP1: MOV R5,#10
LOOP3: DJNZ R5,LOOP3
DJNZ R6,LOOP1
DJNZ R2,LOOP2
RET

LINEAR: CJNE A,#00H,G1
MOV 40H,#00
MOV 41H,#00
MOV 42H,#00
LJMP DONE
G1: CJNE A,#01H,G2
MOV 40H,#01
MOV 41H,#00
MOV 42H,#00
LJMP DONE
G2: CJNE A,#02H,G3
MOV 40H,#02
MOV 41H,#00
MOV 42H,#00
LJMP DONE
G3: CJNE A,#03H,G4
MOV 40H,#03
MOV 41H,#00
MOV 42H,#00
LJMP DONE
G4: CJNE A,#04H,G5
MOV 40H,#05
MOV 41H,#00
MOV 42H,#00
LJMP DONE
G5: CJNE A,#05H,G6
MOV 40H,#06
MOV 41H,#00
MOV 42H,#00
LJMP DONE
G6: CJNE A,#06H,G7
MOV 40H,#07
MOV 41H,#00
MOV 42H,#00
LJMP DONE
G7: CJNE A,#07H,G8
MOV 40H,#08
MOV 41H,#00
MOV 42H,#00
LJMP DONE
G8: CJNE A,#08H,G9
MOV 40H,#00
MOV 41H,#01
MOV 42H,#00
LJMP DONE
G9: CJNE A,#09H,G10
MOV 40H,#01
MOV 41H,#01
MOV 42H,#00
LJMP DONE
G10: CJNE A,#0AH,G11
MOV 40H,#02
MOV 41H,#01
MOV 42H,#00
LJMP DONE
G11: CJNE A,#0BH,G12
MOV 40H,#03
MOV 41H,#01
MOV 42H,#00
LJMP DONE
G12: CJNE A,#0CH,G13
MOV 40H,#05
MOV 41H,#01
MOV 42H,#00
LJMP DONE
G13: CJNE A,#0DH,G14
MOV 40H,#06
MOV 41H,#01
MOV 42H,#00
LJMP DONE
G14: CJNE A,#0EH,G15
MOV 40H,#07
MOV 41H,#01
MOV 42H,#00
LJMP DONE
G15: CJNE A,#0FH,G16
MOV 40H,#08
MOV 41H,#01
MOV 42H,#00
LJMP DONE
G16: CJNE A,#10H,G17
MOV 40H,#00
MOV 41H,#02
MOV 42H,#00
LJMP DONE
G17: CJNE A,#11H,G18
MOV 40H,#01
MOV 41H,#02
MOV 42H,#00
LJMP DONE
G18: CJNE A,#12H,G19
MOV 40H,#02
MOV 41H,#02
MOV 42H,#00
LJMP DONE
G19: CJNE A,#13H,G20
MOV 40H,#03
MOV 41H,#02
MOV 42H,#00
LJMP DONE
G20: CJNE A,#14H,G21
MOV 40H,#05
MOV 41H,#02
MOV 42H,#00
LJMP DONE
G21: CJNE A,#15H,G22
MOV 40H,#06
MOV 41H,#02
MOV 42H,#00
LJMP DONE
G22: CJNE A,#16H,G23
MOV 40H,#07
MOV 41H,#02
MOV 42H,#00
LJMP DONE
G23: CJNE A,#17H,G24
MOV 40H,#08
MOV 41H,#02
MOV 42H,#00
LJMP DONE
G24: CJNE A,#18H,G25
MOV 40H,#00
MOV 41H,#03
MOV 42H,#00
LJMP DONE
G25: CJNE A,#19H,G26
MOV 40H,#01
MOV 41H,#03
MOV 42H,#00
LJMP DONE
G26: CJNE A,#1AH,G27
MOV 40H,#02
MOV 41H,#03
MOV 42H,#00
LJMP DONE
G27: CJNE A,#1BH,G28
MOV 40H,#03
MOV 41H,#03
MOV 42H,#00
LJMP DONE
G28: CJNE A,#1CH,G29
MOV 40H,#05
MOV 41H,#03
MOV 42H,#00
LJMP DONE
G29: CJNE A,#1DH,G30
MOV 40H,#06
MOV 41H,#03
MOV 42H,#00
LJMP DONE
G30: CJNE A,#1EH,G31
MOV 40H,#07
MOV 41H,#03
MOV 42H,#00
LJMP DONE
G31: CJNE A,#1FH,G32
MOV 40H,#09
MOV 41H,#03
MOV 42H,#00
LJMP DONE
G32: CJNE A,#20H,G33
MOV 40H,#00
MOV 41H,#04
MOV 42H,#00
LJMP DONE
G33: CJNE A,#21H,G34
MOV 40H,#01
MOV 41H,#04
MOV 42H,#00
LJMP DONE
G34: CJNE A,#22H,G35
MOV 40H,#02
MOV 41H,#04
MOV 42H,#00
LJMP DONE
G35: CJNE A,#23H,G36
MOV 40H,#03
MOV 41H,#04
MOV 42H,#00
LJMP DONE
G36: CJNE A,#24H,G37
MOV 40H,#05
MOV 41H,#04
MOV 42H,#00
LJMP DONE
G37: CJNE A,#25H,G38
MOV 40H,#06
MOV 41H,#04
MOV 42H,#00
LJMP DONE
G38: CJNE A,#26H,G39
MOV 40H,#07
MOV 41H,#04
MOV 42H,#00
LJMP DONE
G39: CJNE A,#27H,G40
MOV 40H,#08
MOV 41H,#04
MOV 42H,#00
LJMP DONE
G40: CJNE A,#28H,G41
MOV 40H,#09
MOV 41H,#04
MOV 42H,#00
LJMP DONE
G41: CJNE A,#29H,G42
MOV 40H,#01
MOV 41H,#05
MOV 42H,#00
LJMP DONE
G42: CJNE A,#2AH,G43
MOV 40H,#02
MOV 41H,#05
MOV 42H,#00
LJMP DONE
G43: CJNE A,#2BH,G44
MOV 40H,#03
MOV 41H,#05
MOV 42H,#00
LJMP DONE
G44: CJNE A,#2CH,G45
MOV 40H,#05
MOV 41H,#05
MOV 42H,#00
LJMP DONE
G45: CJNE A,#2DH,G46
MOV 40H,#06
MOV 41H,#05
MOV 42H,#00
LJMP DONE
G46: CJNE A,#2EH,G47
MOV 40H,#07
MOV 41H,#05
MOV 42H,#00
LJMP DONE
G47: CJNE A,#2FH,G48
MOV 40H,#09
MOV 41H,#05
MOV 42H,#00
LJMP DONE
G48: CJNE A,#30H,G49
MOV 40H,#01
MOV 41H,#06
MOV 42H,#00
LJMP DONE
G49: CJNE A,#31H,G50
MOV 40H,#02
MOV 41H,#06
MOV 42H,#00
LJMP DONE
G50: CJNE A,#32H,G51
MOV 40H,#05
MOV 41H,#06
MOV 42H,#00
LJMP DONE
G51: CJNE A,#33H,G52
MOV 40H,#08
MOV 41H,#06
MOV 42H,#00
LJMP DONE
G52: CJNE A,#34H,G53
MOV 40H,#09
MOV 41H,#06
MOV 42H,#00
LJMP DONE
G53: CJNE A,#35H,G54
MOV 40H,#00
MOV 41H,#07
MOV 42H,#00
LJMP DONE
G54: CJNE A,#36H,G55
MOV 40H,#01
MOV 41H,#07
MOV 42H,#00
LJMP DONE
G55: CJNE A,#37H,G56
MOV 40H,#03
MOV 41H,#07
MOV 42H,#00
LJMP DONE
G56: CJNE A,#38H,G57
MOV 40H,#04
MOV 41H,#07
MOV 42H,#00
LJMP DONE
G57: CJNE A,#39H,G58
MOV 40H,#05
MOV 41H,#07
MOV 42H,#00
LJMP DONE
G58: CJNE A,#3AH,G59
MOV 40H,#06
MOV 41H,#07
MOV 42H,#00
LJMP DONE
G59: CJNE A,#3BH,G60
MOV 40H,#08
MOV 41H,#07
MOV 42H,#00
LJMP DONE
G60: CJNE A,#0FFH,G61
MOV 40H,#06
MOV 41H,#03
MOV 42H,#03
LJMP DONE
;-----------------------------------------------------------------
;----------150=96=3.0V-------------------------------------------------------------

G61: CLR C
DONE: RET












;DELAY1: MOV R2,#100
;LOOP21: MOV R6,#100
;LOOP11: MOV R5,#100
;LOOP31: DJNZ R5,LOOP31
; DJNZ R6,LOOP11
; DJNZ R2,LOOP21
; RET



;****************************************************************************
CONVERT: ;
INC A ;
MOVC A,@A+PC ;
RET ;
DB 3FH ;0-1
DB 06H ;1-2
DB 5BH ;2- 3
DB 4FH ;3-4
DB 66H ;4-5
DB 6DH ;5-6
DB 7DH ;6-7
DB 07H ;7-8
DB 7FH ;8-9
DB 6FH ;9-10
DB 3FH ;0-11
DB 06H ;1-12
DB 5BH ;2-13
DB 4FH ;3-14
DB 66H ;4-15
DB 6DH ;5-16
DB 7DH ;6-17
DB 07H ;7-18
DB 7FH ;8-19
DB 6FH ;9-20
; ----------------------------------------;
END ;
;***************************************************************************
;DB 3FH ;0
;DB 06H ;1
;DB 5BH ;2
;DB 4FH ;3
;DB 66H ;4
;DB 6DH ;5
; DB 7DH ;6
;DB 07H ;7
;DB 7FH ;8
;DB 6FH ;9
;DB 77H;
;DB 7CH;
;DB 39H;
;DB 5EH;
;DB 79H;
;DB 71H;
Sat Sep 05 2009, 12:52 pm
#12
SAMEET, if you can put this thing in a zip and proper organized way i may add this to projects section. If you are interested then just mail the things at
contact [at] rickeyworld [dot] info
Tue Sep 08 2009, 04:41 pm
#13
hiiiiiii i wanna attach it but i dont know how to send in zip format
Wed Sep 09 2009, 11:52 am
#14
never mind.. your code is hard to understand. its better to put comments too.

to attach file, click on "preview" button or "post reply" button. You will get option to attach file.
Wed Sep 09 2009, 12:49 pm
#15
its easiest way i have written not a problem okkkk fine
Thu Sep 10 2009, 03:39 pm
#16
NOW I WANT TO MULTIPLY 00 TO FF WITH 1.32 AND TO DISPLAY IN DECIMAL VALUE. HOPE I GET A REPLY SOON
Mon Sep 14 2009, 11:28 am
#17
hiiiiiii can anybody help me for displaying 0-336vdc for 0-FFH steps(i.e 0-255) on three 7 segment display
Tue Sep 15 2009, 02:08 am
#18
for 0xff you have 336v. so each step will become 336/0xff or 336/255 = 1.32 approx

just multiply whatever digital value u got, multiply it with 1.32, you will get voltage.

to display, separate each digit and display.

say you got 99v to display. lets get digit 1
it will be, 99/100 = 0
renove first digit now, 99%100 = 99
second digit:
99/10 = 9
remove second digit:
99%10=9

now display them 1 by 1
Tue Sep 15 2009, 08:34 am
#19
HIIIIIIIIIII I AM ATTACHING HERE MY PROGRAM WHICH IS DISPLAYIN 0-255 FOR 0-FFH BUT AS U TOLD ME TO MULTIPLY WITH 1.32 WHICH I ALREADY THOUGHT BUT HOW TO MULTIPLY IT WITH THAT IS MY PROBLEM IN THIS PROGRAM

Attachment
Thu Sep 17 2009, 05:26 pm
#20
use math library available in download section..

so first multiply with 132 and the divide by 100, if you want 1 decimal point the divide by 10.

Get Social

Information

Powered by e107 Forum System

Downloads

Comments

Astorne
Tue Apr 16 2024, 08:52 pm
Williamjaf
Tue Apr 16 2024, 12:25 pm
best_yyPa
Tue Apr 16 2024, 09:42 am
ErnestoExpop
Tue Apr 16 2024, 02:57 am
Jamesclepe
Mon Apr 15 2024, 11:10 am
Aliciaelora
Mon Apr 15 2024, 07:59 am
btaletvpcu
Mon Apr 15 2024, 04:36 am
UbvpwcTib
Mon Apr 15 2024, 03:13 am