ABC8636694 发表于 2013-3-4 19:56:00

会汇编的来看看咯

ABC8636694 发表于 2013-3-4 19:56:19

DAC_CS EQU P2.1
DAC_WR EQU P2.0
DAC_DATA EQU P0


ORG 0000H
AJMP MAIN
ORG 0030H
MAIN:
        MOV R5,#0FFH
UP:
        INC R5
        MOV DAC_DATA,R5
        CLR DAC_CS
        CLR DAC_WR
        SETB DAC_WR
        SETB DAC_CS
        ACALL DELAY
        AJMP UP
DELAY:
        MOV R7,#03H
D1:   MOV R6,#0FFH
        DJNZ R6,$
        DJNZ R7,D1
        RET
        END

怎么解释- -怎么转换成c语言

ABC8636694 发表于 2013-3-4 20:13:00

为什么没人来看看{:cry:}

enthier 发表于 2013-3-4 19:56:01

#include "reg51.h"
#define dac_data P0
#define DAC_CS   P2_0
#define DAC_WRP2_1

sbit P2_1 = P2^0;
sbit P2_1 = P2^1;

unsigned char data = 0xff;

void delay(void)
{
unsigned i,j;
for(i = 0;i < 3; i ++)
    for(j = 0xff; j > 0; j --);
}
int main(void)
{
while(1)
{
   data ++;
   dac_data = data;
   DAC_CS = 0;
   DAC_WR = 0;
   DAC_CS = 1;
   DAC_WR = 1
   delay();
}
}
随便写的,看看对不对,好久没有弄51了,位定义不知道弄对了没有。


ABC8636694 发表于 2013-3-4 20:30:34

enthier 发表于 2013-3-4 20:13 static/image/common/back.gif
#include "reg51.h"
#define dac_data P0
#define DAC_CS   P2_0


DAC_CS EQU P2.1
DAC_WR EQU P2.0
DAC_DATA EQU P0


ORG 0000H
AJMP MAIN
ORG 0030H
MAIN:
        MOV R5,#0FFH
UP:
        INC R5
        MOV DAC_DATA,R5
        CLR DAC_CS
        CLR DAC_WR
        SETB DAC_WR
        SETB DAC_CS
        ACALL DELAY
        AJMP UP
DELAY:
        MOV R7,#03H
D1:   MOV R6,#0FFH
        DJNZ R6,$
        DJNZ R7,D1
        RET
        END

那一个很多错误 把这个也看看吧 我在自己研究下 也就你回我了- -

vvwvvw 发表于 2013-3-4 20:41:36

ABC8636694 发表于 2013-3-4 19:56 static/image/common/back.gif
DAC_CS EQU P2.1
DAC_WR EQU P2.0
DAC_DATA EQU P0


不断向dac输出循环0x00,0x01....0xff,0x00。

vvwvvw 发表于 2013-3-4 20:46:08

本帖最后由 vvwvvw 于 2013-3-4 20:48 编辑

不过dac的时序和延时需要计算一下
dac的rd,wr最小脉宽和延时是否符合器件的要求
页: [1]
查看完整版本: 会汇编的来看看咯