|
请兄台帮我指点一下下面这个DAC0832程序可行吗?
[复制链接]
我想实现的功能是外面的数据(A/D的数据)从P0口进来,经过DAC0832转换,然后输出波形.程序如下:
#include <reg51.h>
#include<stdio.h>
#define DAC0832Addr 0x7FFF //0832地址
#define uchar unsigned char //uchar代表单个字节无符号数
#define uint unsigned int //uint无符号字
sbit P36=0xB6; //P2.6位
sbit P27=0xA7; //P2.7位
void TransformData(P0);//转换数据
void main()
{ TMOD=0x06;
TH0=(256-250)/16; //定时125us中断,进行DA转换
TL0=(256-250)%16;
EA=1; //开cpu中断
ET0=1; //T/C0开中断
TR0=1; //启动T/C0开始计时
P0=0XFF; //端口初始化为0xFF
P1=0XFF;
P2=0XFF;
P3=0XFF;
do { }
while(1);
}
void TransformData(P0)
{
*((uchar xdata *)DAC0832Addr)=P0;
}
void timer0(void) interrupt 1 using 1 //定时0中断程序
{
TransformData(P0);//进行数模转换
}
|
|