📄 tlc549.c
字号:
/************************************************************
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -