找回密码
 注册会员
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版

【求助】关于串行D/A转换器的一个程序问题

[复制链接]
admin 发表于 2012-9-2 21:21:21 | 显示全部楼层 |阅读模式

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
请教下,下面这个程序中
1.其中TEMP初值是等于多少?
2.DA又等于多少?
3.DA左移六位是为了什么?

谢谢

#include<REG52.h>
sbit SPI_CLK =P2^1 ; //定义端口
sbit SPI_DATA =P2^0;
sbit CS_DA =P2^4 ;
//sbit ds=P2^1;
sbit RST=P2^5; //时钟
/*
TI 10位DA TLC5615的驱动程序 ----------------------------------------------------
调用方式: void da5615(unsigned int da)
函数说明: TI 10位DA TLC5615的驱动程序
--------------------------------------------------------------------------------
*/
void da5615(unsigned int da) //DA子函数
{
unsigned char i;
//ds=0;
da<<=6;
SPI_CLK=0;
CS_DA=0;

for (i=0;i<12;i++)
{
SPI_DATA=(bit)(da&0x8003);
SPI_CLK=1;
da<<=1;
SPI_CLK=0;
}

CS_DA=1;
//SPI_CLK=0;
//for (i=0;i<12;i++); //12位数值转换成串行输给DA芯片
}

void delay(unsigned int cnt)//延时
{
while(--cnt);
}

main()
{
unsigned int temp;//中间变量
RST=0; //总线时钟低电评
while(1)
{
da5615(temp); //此时接入LED灯 能看到灯的亮度逐渐变化
delay(500);
temp++; //DA值增加1 满后(1023)自动溢出
}
}
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|手机版|MCU资讯论坛 ( 京ICP备18035221号-2 )|网站地图

GMT+8, 2024-11-29 12:31 , Processed in 0.049180 second(s), 9 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表