历史上的今天
今天是:2025年01月11日(星期六)
2018年01月11日 | TLC5620 DA转换C程序
2018-01-11 来源:eefocus
TLC5620 DA转换C程序
/*------------------------------------------------------------------------------
调用方式:void da5620(uchar da) ﹫2001/03/23
函数说明:往固定端口送da值完成DA输出,该函数没有输出端口选择功能,尽管5620有4个
输出口。
改变程序中的command可以改变默认端口。
------------------------------------------------------------------------------*/
#include"reg51.h"
#include
#define uchar unsigned char
#define uint unsigned int
#define nop _nop_()
sbit SPI_CLK=P1^2;
sbit SPI_DATA=P1^1;
sbit CS_DA=P1^3;
void del(uint v)
{
while(v!=0)v--;
}
void da5620(uchar da)
{
uchar i;
ACC=01100000; //d7=a1;d6=a0;d6=rng;(while rng=1 2倍out);(a0,a1是ch选择)
CS_DA=1;
for (i=3;i>0;i--) //写D/A命令字(通道数的选择)
{
ACC+=ACC; //CY=ACC。7
SPI_DATA=CY;
SPI_CLK=1;
nop;
nop;
nop;
nop;
SPI_CLK=0;
}
ACC=da; //写D/A数据
for (i=8;i>0;i--)
{
ACC+=ACC; //CY=ACC。7
SPI_DATA=CY;
SPI_CLK=1;
nop;
nop;
nop;
nop;
SPI_CLK=0;
}
CS_DA=0;
nop;
nop;
CS_DA=1;
}
void main(void) //主程序处理
{
uchar j;
while(1)
{
for(j=0xff;j>=0x01;j--)
{da5620(j);del(2000);}
for(j=0x00;j<=0xfe;j++)
{da5620(j);del(2000);}
}
}
上一篇:定时中断30秒倒计时程序
下一篇:TLC5620 DA转换汇编程序
史海拾趣
|
现在有的FLASH提供一种叫安全ID的功能,共分为两部分:一个是出厂自带的随机的128bit的二进制的数(由于是随机的,可以认为是每片独一无二的);还有一部分是用户自己编程的也是128bit。我的问题是怎么样通过这样的条件来对自己的程序加密呢?加密 ...… 查看全部问答> |
|
新买一台笔记本,没有并口,也没有串口,只有usb接口,想要做430 的仿真,怎么办啊?我看见iar的fet工具里面有一个“j-link”是什么东东啊? 大家给出个主意吧!!!… 查看全部问答> |
|
如题1,现在用的是LM3S9B96,做了个菜单,但是按钮有时按下去没反映,得按两次才行~可能是什么原因,有什么方法解决吗~?2,加了个用一个Widget显示时间,但是有时秒更新的时候不但数字部分更新,而且Widget的边框也跟着闪~据说是WSYNC的问题,与ROM ...… 查看全部问答> |
|
我选用的是AD外部参考电压,将参考电压选择位设置为0,即VR+=AVCC,VR-=AVSS,AVCC供的是3.3V的电压,我可以给AVSS负电压吗?比如—3.3V,希望高人指点,谢谢!… 查看全部问答> |
|
这个问题很简单,如题: 就是说,一个特定的要求,假定我们是用一个可以成为独立执行部分的子函数族去完成。 实现的方式必然不止一种,那么,你是如何衡量你选择的实现方式是否过于复杂呢? 这同样是一个没有标准答案的问题,我想听听大家的想法 ...… 查看全部问答> |




