| ??? 02/17/05 16:38 Read: times |
#87812 - pre Responding to: ???'s previous message |
Ron Buchwald said:
______________________________________________________________
;....DAC.ASM...COMPILER ISMETALINK 8051 CROSS ASSEMBLER
$MOD812
PORT2 DATA 0AH ;SFR REGISTER FOR PORT2
DAC_VALUE DATA 40H ;DAC VALUE
DAC_ADDR DATA 42H ;DAC ADDRESS (0-7)
LOOPCOUNT DATA 44H ;COUNT LOOPS
LED EQU P3.4 ;IS LED
JMP LD_8802
;............................................................
CSEG
ORG 0003h ; (INT0 ISR)
;...........................................................
ORG 100H ;ARBITRAY START
LD_8802:
; configure the UART ADuC812
MOV SCON,#52h ; configure UART for 9600baud..
MOV TMOD,#20h ; ..assuming 11.0592MHz crystal
MOV TH1,#-3
SETB TR1 ; ok this works
;...IS THIS THE RIGHT PLACE FOR THIS?.....................
JNB RI,$ ; Recive serial data
MOV 40H,SBUF ; Store data in IN MEMORY
JNB RI,$ ; Recive serial data
MOV 42H,SBUF ; Store data in IN MEMORY
;.........................................................
ORL P2,#11110000B ;SET CLK,CS,SHDN HIGH
CLR P2.5 ;SET CHIP SELECT LOW
MOV LOOPCOUNT,#4 ;ADDRESS IS 4 BITS
MOV A,DAC_ADDR ;GET DAC ADDRESS
RR A ;ROTATE THE DAC
RR A ;ADDRESS TO MOST
RR A ;SIGNIFCANT BIT (MSB)
RR A
ACALL SEND_SERIAL ;SEND THE ADDRESS
MOV LOOPCOUNT,#8 ;DO 8 BIT OF DATA
MOV A,DAC_VALUE
ACALL SEND_SERIAL ;SEND THE DATA
SETB P2.5 ;SET CS HIGH
SEND_SERIAL: RLC A ;MOVE NEXT BIT TO CARRY
CPL LED ;BLINK LED
MOV P2.7,C ;MOVE DATA TO SDI
CLR P2.6 ;PULSE THE
SETB P2.6 ;CLK INPUT
DJNZ LOOPCOUNT,SEND_SERIAL ;LOOP IF NOT DONE
RET ;DONE
END
with pre tags inserted |
| Topic | Author | Date |
| AD8802 DAC AND ADUC812 CODE QUESTION | 01/01/70 00:00 | |
| pre | 01/01/70 00:00 | |
| I don't understand your responce | 01/01/70 00:00 | |
| Understanding Steve's response | 01/01/70 00:00 | |
Yes, But | 01/01/70 00:00 |



