会汇编的来看看咯
DAC_CS EQU P2.1DAC_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语言 为什么没人来看看{:cry:} #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了,位定义不知道弄对了没有。
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
那一个很多错误 把这个也看看吧 我在自己研究下 也就你回我了- - 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:48 编辑
不过dac的时序和延时需要计算一下
dac的rd,wr最小脉宽和延时是否符合器件的要求
页:
[1]