📄 text1.c
字号:
#include <reg51.h>
#include<stdio.h>
#define DAC083201Addr 0xDFFFF //第一片0832地址
#define DAC083202Addr 0xBFFFF //第二片0832地址
#define DAC0832Addr 0x7FFFF //转换时写入地址
#define uchar unsigned char //uchar代表单个字节无符号数
#define uint unsigned int //uint无符号字
Uart_Init(); //输出口初始化
sbit P25=0xA5; //P2.5位
sbit P26=0xA6; //P2.6位
sbit P27=0xA7; //P2.7位
void WriteToChip1(uchar c0832data);//
void WriteToChip2(uchar c0832data);//
void TransformData(uchar c0832data);//转换数据
void Delay() ; //延时子程序
main()
{ xdata cDigital1=0; //芯片1待转换数字量
xdata cDigital2=0; //芯片2待转换数字量
Uart_Init(); //
P0=0XFF; //端口初始化为0xFF
P1=0XFF; //
P2=0XFF;
P3=0XFF;
Delay(); //调用延时程序
// while(1)
{cDigital1=0x80;
cDigital2=0xFF;
WriteToChip1(cDigital1);//向芯片1写入数据
WriteToChip2(cDigital2);//向芯片2写入数据
TransformData(0x00); //开始转换
printf("Chip 1 converted is %d \n",cDigital1);
printf("Chip 2 converted is %d \n",cDigital2);
}
while(1);
}
void WriteToChip1(uchar c0832data)
{
*((uchar xdata *)DAC083201Addr)=c0832data;
//向DAC0832芯片1写入数据
}
void WriteToChip2(uchar c0832data)
{
*((uchar xdata *)DAC083202Addr)=c0832data;
//向DAC0832芯片1写入数据
}
void TransformData(uchar c0832data)
{
*((uchar xdata *)DAC0832Addr)=c0832data;
//启动转换
}
Uart_Init()
{SCON = 0x52; /* 设置串行口控制寄存器SCON*/
TMOD = 0x21; /* 12M时钟时波特率为2400 */
TCON = 0x69; /* TCON */
TH1 = 0xf3; /* TH1 */
}
void Delay() //延时程序
{ uint i;
for(i=0;i<200;i++);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -