⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tlc1549.c.bak

📁 tlc1549芯片应用程序
💻 BAK
字号:
/****************************************************************************/
/*                                                                          */
/*                Copyright (c) 2005, 老树工作室                            */
/*                     All rights reserved.                                 */
/*                                                                          */
/*      http://www.saintone.net      Email:hxm0902@163.com                  */
/*      QQ:112431149                 Tel:010-62966630                       */
/*                                                                          */
/****************************************************************************/
/****************************************************************************/
/* 文件名:tlc1549.c                                                        */
/* 版  本:Version 1.0                                                      */
/* 描  述:10bit串行AD,TLC1549驱动代码                                      */
/* 作  者:spot                                                             */
/* 函  数:                                                                 */
/*         convert_adc                                                      */
/*         delay                                                            */
/*                                                                          */
/* 历史记录:                                                               */
/*  spot          2005-06-25     Creat Inital version. (Version 1.0)        */
/****************************************************************************/

#include<reg52.h>
#include<stdio.h>
#include<intrins.h> 

sbit CLK  = P1^3;             /* AD时钟信号 */
sbit CS   = P1^5;             /* AD片选信号 */
sbit DOUT = P1^4;             /* 数据输出   */

unsigned int adc_1549(void);  /* 读取ADC输出的10bit数据 */
void delay(unsigned char us);  

float adc_result=0;           /* AD计算结果 */

void delay(unsigned char us)        
{
    while(us--);
}

/* 读取AD输出的10bit数据 */
unsigned int adc_1549(void)
{ 
    unsigned int  data_out=0;
    unsigned char i;
    CS = 1;
    _nop_();
    CS = 0;
    for (i=0; i<10; i++)  /* 读取10位数据 */
    {
        CLK = 0;
        data_out = (data_out<<1)|DOUT;
        CLK = 1;
        _nop_();      
    }
    delay(3);             /* 延时21us以上 */
    CS = 1;
    return(data_out);            
}


main()
{  
    unsigned int temp=0;
    while(1)
    {
        temp = adc_1549();
        adc_result = (temp / 1024) * 500;
        _nop_();
    }      
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -