tlc549.c

来自「lcd1286显示模块 EWB Quartus2编译 电子综合设计试验箱程序」· C语言 代码 · 共 103 行

C
103
字号
/************************************************************
  Copyright (C), www.nnu.edu.cn

  FileName:TLC549.c  

  Author:胡玉贵        Version :1.0          Date:2007/11/4

  Description:8位串行模数转换器TCL549的驱动程序
           
  Function List:   

    1.unsigned char adconvert(void);
    2.void vtobcd(unsigned int hexs);

  History:

***********************************************************/

#include <reg51.h>
#include "TLC549.h"

unsigned char bdata adc;   //定义adc变量在位寻址数据区域
sbit  adclow=adc^0;
extern unsigned char d[8]; //声明外部变量,变量的定义见LED.C文件

/*************************************************

  Function:       unsigned char adconvert(void);

  Description:    TCL549的采样函数,程序返回采样到的电压值范围是:(0~255)

  Calls:          // 被本函数调用的函数清单

  Called By:      // 调用本函数的函数清单

  Table Accessed: // 被访问的表(此项仅对于牵扯到数据库操作的程序)

  Table Updated:  // 被修改的表(此项仅对于牵扯到数据库操作的程序)

  Input:          无// 输入参数说明,包括每个参数的作

                  // 用、取值说明及参数间关系。

  Output:         // 对输出参数的说明。

  Return:         返回电压值,范围是:(0~255)

  Others:         // 其它说明

*************************************************/
unsigned char AdConvert(void)
{   unsigned char i;
    adcs=1;
    adcs=0;
    adclk=0;
    for(i=0;i<8;i++)
    {   adclk=1;
        adclow=addata;
        adclk=0;
        if(i<7) adc=adc<<1;
    }
    adclk=0;
    adcs=1;
    return(adc);
}


/*************************************************

  Function:       void vtobcd(unsigned int hexs);

  Description:    将整型数转换为BCD存在数组d[]中
                  例如:输入参数为:hexs=1234,函数执行后d[0]=1;d[2]=2;d[3]=3;d[4]=4;

  Calls:          // 被本函数调用的函数清单

  Called By:      // 调用本函数的函数清单

  Table Accessed: // 被访问的表(此项仅对于牵扯到数据库操作的程序)

  Table Updated:  // 被修改的表(此项仅对于牵扯到数据库操作的程序)

  Input:          需转化的整型数据

  Output:         // 对输出参数的说明。

  Return:         无

  Others:         // 其它说明

*************************************************/
void VToBCD(unsigned int hexs)
{       unsigned int va;
        unsigned char ii;
        va=10000;
        d[0]=10;
        for(ii=1;ii<4;ii++)
        {    d[ii]=hexs/va;
             hexs=hexs % va;
             va=va/10;
        }
        
}

⌨️ 快捷键说明

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