搜索
bottom↓
回复: 13

M16+TLC7528的生成锯齿波的实验

[复制链接]

出0入4汤圆

发表于 2005-1-5 11:46:14 | 显示全部楼层 |阅读模式
注意:这种接口方法直接输出正电压





程序:



#include<iom16v.h>

#include<macros.h>

#define BYTE unsigned char

void delay()

{

         BYTE i;

         for(i=0;i<50;i++)

         {

          ;

         }

}

void main(void)

{

        BYTE i;

        i=0x00;

        DDRA=0xff;

        DDRC=0xff;

        PORTA=0x00;

       

        while(1)

        {

                 PORTC|=BIT(PC7);

                PORTA=i;

                delay();

                PORTC&=~BIT(PC7);

                PORTA=i;

                i++;

                delay();

        }

}

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。
头像被屏蔽

出0入0汤圆

发表于 2005-1-5 11:51:53 | 显示全部楼层
谢谢共享。



不如直接将以下的资料也上传上来:



1。实物数码相机图



2。产生的波形图



3。protel 格式的电路图



4。程序描述,及编译环境。



这样我就能将它整理成范例,放到网站了。谢谢。

出0入4汤圆

 楼主| 发表于 2005-1-5 13:12:59 | 显示全部楼层
1。实物数码相机图 :目前没有数码相机,比较穷,用实验板搭的



2。产生的波形图 :没有相机,就不能拍下示波器的波形图,我画了个草图,可以参考一下









3。protel 格式的电路图 :硬件上还有一点小小的问题,就是我把WR  和  CS都接地了,所以两个通道切换的时候就回出现问题了,等一切都成熟了,我在把详细的图再贴一遍,阿莫就可以整理成范例了.到时候把正弦波和余弦波也做出来.我主要是做正弦波和余弦波,锯齿波只是做测试用的,这是我用AVR做的第一个试验,以前用的是51,不过也没操作过TLC7528,看到北京的一个步进电机驱动器上用的就是这块DAC(可能是美国的产品),查了texas网站,看了所有的8bit的DAC,就这个型号是最理想的选择了.以前我用的是DAC0832,与之比起来1,setting time  dac0832没TLC7528快,2 --dac0832是单通道的,所以线路板的面积相对会比较大.



4。程序描述,及编译环境。



TLC7528是一片比较理想的8bit双通到 DAC,价格在15-20元一片左右,PDF里的一些参数如下:









这是DAC0832里的一段,"Voltage Mode Switching",









TLC0832也有类似的描述,"voltage-mode operation",但是写的不是很全面,









KA336和LM336一样的,2.5V的参考电压源.



程序描述:上面的一段程序是第一次编写ICCAVR的C程序,所一编的比较简单,大家一看就明白了.

编译环境:ICCAVR 6.30,JTAGICE  AVRStudio 4.10仿真


-----此内容被ilan2003于2005-01-05,13:25:39编辑过
头像被屏蔽

出0入0汤圆

发表于 2005-1-5 13:27:48 | 显示全部楼层
好的。到时我重复这个实验。图片我可以帮忙拍摄。



你将 protel 文件给我就可以了。谢谢。

出0入4汤圆

 楼主| 发表于 2005-1-5 15:13:56 | 显示全部楼层
产生正弦波(只有1/4个周期),老板又要叫我去开发51的东西了.

要产生1/2,方法有2

1.在const BYTE Sin[]={....}再加波形数据;

2.在下面的基础上,用软件实现(我刚才没试出);





Protel原理图



#include<iom16v.h>

#include<macros.h>

#define BYTE unsigned char



const BYTE Sin[]={0x00,0x02,0x04,0x06,0x08,0x0a,0x0c,0x0e,0x10,0x12,0x14,0x16,0x18,0x1a,0x1c,0x1e,0x20,0x22,0x24,0x26,0x28,0x2a,0x2c,0x2e,0x30,0x32,0x34,0x36,0x38,0x3a,0x3c,0x3d,0x3f,0x41,0x43,0x45,0x47,0x49,0x4b,0x4d,0x4f,0x51,0x53,0x54,0x56,0x58,0x5a,0x5c,0x5e,0x60,0x62,0x63,0x65,0x67,0x69,0x6b,0x6d,0x6e,0x70,0x72,0x74,0x76,0x77,0x79,0x7b,0x7d,0x7e,0x80,0x82,0x84,0x85,0x87,0x89,0x8a,0x8c,0x8e,0x8f,0x91,0x93,0x94,0x96,0x98,0x99,0x9b,0x9c,0x9e,0x9f,0xa1,0xa3,0xa4,0xa6,0xa7,0xa9,0xaa,0xac,0xad,0xaf,0xb0,0xb1,0xb3,0xb4,0xb6,0xb7,0xb9,0xba,0xbb,0xbd,0xbe,0xbf,0xc1,0xc2,0xc3,0xc4,0xc6,0xc7,0xc8,0xc9,0xcb,0xcc,0xcd,0xce,0xcf,0xd1,0xd2,0xd3,0xd4,0xd5,0xd6,0xd7,0xd8,0xd9,0xda,0xdb,0xdd,0xde,0xde,0xdf,0xe0,0xe1,0xe2,0xe3,0xe4,0xe5,0xe6,0xe7,0xe8,0xe8,0xe9,0xea,0xeb,0xec,0xec,0xed,0xee,0xef,0xef,0xf0,0xf1,0xf1,0xf2,0xf3,0xf3,0xf4,0xf4,0xf5,0xf5,0xf6,0xf6,0xf7,0xf7,0xf8,0xf8,0xf9,0xf9,0xfa,0xfa,0xfa,0xfb,0xfb,0xfc,0xfc,0xfc,0xfc,0xfd,0xfd,0xfd,0xfd,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff};

void delay()

{

         BYTE i;

         for(i=0;i<10;i++)

         {

          ;

         }

}

void main(void)

{

        BYTE i;

        i=0x00;

        DDRA=0xff;

        DDRC=0xff;

        PORTA=0x00;

        PORTC|=BIT(PC7);

        while(1)

        {

                

                PORTA=Sin;

                i++;

                if(i==200)

                {

                        i=0x00;

                }

                delay();

        }

}

出0入0汤圆

发表于 2006-2-11 22:58:02 | 显示全部楼层
楼主能不能留一下联系方法,我现在也在做一个锯齿波形的生成,但按照楼主的程序出现了一些错误,不知能不能请教一下

出0入4汤圆

 楼主| 发表于 2006-2-12 00:03:47 | 显示全部楼层
你把你的现象说出来嘛

出0入0汤圆

发表于 2007-1-18 19:45:33 | 显示全部楼层
谢谢共享。

出0入0汤圆

发表于 2007-8-1 16:23:33 | 显示全部楼层
有点疑惑7528的接线

参考电压为什么要接输出呢?

请指教

出0入0汤圆

发表于 2007-8-2 14:09:46 | 显示全部楼层
这就是一个d/a实验啊,关键地方在那个表。

出0入0汤圆

发表于 2007-9-26 10:20:41 | 显示全部楼层
参考电压为什么要接输出呢? 而RFB直接接Vcc呢?

出0入0汤圆

发表于 2007-11-28 12:10:17 | 显示全部楼层
谢谢共享。

出0入0汤圆

发表于 2008-1-9 14:34:45 | 显示全部楼层
手册里面那个是信号建立时间

出0入0汤圆

发表于 2008-8-20 10:50:49 | 显示全部楼层
这个电路有没有错?OUTA怎么接REF?
REFA反而是输出?
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-12 14:02

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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