打印
[通用8051核FLASH系列]

【芯圣电子HC89S105A测评报告】+TLC5615

[复制链接]
612|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 芯圣电子官方QQ 于 2023-7-19 16:42 编辑

今天搞了一下TLC5615,这是个DAC芯片。
DIN接P0.1,SCLK接P0.0,CS接P1.0
代码:
#define ALLOCATE_EXTERN
#include "HC89S105AC8.h"

#define uchar unsigned char  
#define uint unsigned int
/** @addtogroup 425_GPIO_led_toggle GPIO_led_toggle
  * @{
  */
#define _nop_()    i=i

#define DIN_1 P0_1=1
#define DIN_0 P0_1=0
#define sclk_1 P0_0=1
#define sclk_0 P0_0=0
#define cs_1 P1_0=1
#define cs_0 P1_0=0

void write_5615(uint da)
{
   uchar i;
   cs_1;
   sclk_0;
   cs_0;
   //da<<=6;//有效位位10位去掉没用的6位
   da=da&0x03ff;
   for(i=0;i<12;i++)
   {
     if((bit)(da&0x0200)==1)//送时是10位两个0是后来加的在此处加
      DIN_1;
     else
      DIN_0;
     sclk_1;
     da<<=1;
     sclk_0;
     
    }
    sclk_0;
    cs_1;
    _nop_();_nop_();
}
void delay1ms(uint x)  
{
    unsigned char a,b,c;
        while(x--)
        {
    for(c=1;c>0;c--)
        for(b=142;b>0;b--)
            for(a=2;a>0;a--);
        }
}
/***************************************************************************************
  * @实现效果        设置各个IO口的工作状态
***************************************************************************************/
void main(void)        
{        
        uint i=30;

/********************************系统初始化*******************************************/               
        WDTCCR = 0x00;                           //关闭看门狗
                                                           //本例程为方便测试关闭看门狗,实际使用中,建议客户打开看门狗,详见WDT复位例程
        CLKCON = 0x02;                           //选择内部高频RC为系统时钟, Fosc=32MHz
        CLKDIV = 0x02;                           //Fosc 2分频得到Fcpu,Fcpu=16MHz
        
/***********************************设置IO口模式***************************************/
        
        P0M0 = 0xCC;                                 //P32设置为带上拉开漏输出
        P1M0 = 0xFC;                             //P34设置为推挽输出
        
            
        while(1)
        {
                          i+=10;
                        if(i==1020)
                        i=0;
        
                    write_5615(i);
                        delay1ms(1);
        }
}

效果图:

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

438

主题

3451

帖子

7

粉丝