STC89C52单片机AD测试实验
2016-04-15 来源:eefocus
实现功能: 调节实验板上的标号为AD0的电位器改变电压,通过PCF8591的采集,把
实验板型号:BS-XYD-C52
实验名称:
编写人:
编写日期:
////////////////////////////////////////////////////////////////////////////
#include
#include
#define uchar unsigned char
#define uint unsigned int
uchar code table[]={
0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//共阴数码管1至F数字编码
sbit duan=P2^6;
sbit wei=P2^7;
sbit sda=P2^0;
sbit scl=P2^1;
float val;
////////////////////////////////////////////////////////////////////////////
函数名称:毫秒延时函数
函数功能:实现毫秒级的延时
参数介绍:Delay_MS: 定义需要延时的毫秒的数值
返回值:
注意事项:本实验是在所用晶振为12M的前提下实现的毫秒延时,本函数是通过循环的形
////////////////////////////////////////////////////////////////////////////
void DelayMs(uint Delay_MS)
{
}
////////////////////////////////////////////////////////////////////////////
函数名称:DelayUs
函数功能:延时几个微秒(us),用来IIC总线延时
参数介绍:无
返回值:
注意事项:无
////////////////////////////////////////////////////////////////////////////
void DelayUs()
{;;}
////////////////////////////////////////////////////////////////////////////
函数名称:Display_V
函数功能:把通过PCF8591采集到的数据,在单片机处理完之后,显示在数码管上
参数介绍:cBai:要显示在第一个数码管上的数字
返回值:
注意事项:注意实验板上所要用到底的数码管为共阴极的数码管
////////////////////////////////////////////////////////////////////////////
void
{
}
////////////////////////////////////////////////////////////////////////////
函数名称:Init_IIC
函数功能:完成对IIC总线数据线时钟线初始化
参数介绍:无
返回值:
注意事项:无
////////////////////////////////////////////////////////////////////////////
void Init_IIC()
{
}
////////////////////////////////////////////////////////////////////////////
函数名称:Start_IIC
函数功能:IIC总线的开始条件
参数介绍:无
返回值:
注意事项:具体请参考相关的文档
////////////////////////////////////////////////////////////////////////////
void Start_IIC()//开始条件
{
}
////////////////////////////////////////////////////////////////////////////
函数名称:Stop_IIC
函数功能:IIC总线的终止条件
参数介绍:无
返回值:
注意事项:具体请参考相关的文档
////////////////////////////////////////////////////////////////////////////
void Stop_IIC()
{
}
////////////////////////////////////////////////////////////////////////////
函数名称:Response_IIC
函数功能:IIC总线的应答条件
参数介绍:cNumber: 定义一个延时的变量
返回值:
注意事项:具体请参考相关的文档
////////////////////////////////////////////////////////////////////////////
void Response_IIC()//
{
}
////////////////////////////////////////////////////////////////////////////
函数名称:Write_byte
函数功能:通过IIC总线向PCF8591写入一个字节
参数介绍:cData:要写入的字节的值
返回值:
注意事项:具体请参考相关IIC文档
////////////////////////////////////////////////////////////////////////////
void Write_byte(uchar cData)
{
}
////////////////////////////////////////////////////////////////////////////
函数名称:Read_byte
函数功能:通过IIC总线,从器件里读取一个字节,因为必须是一位一位读,所以需要
参数介绍:cNumber:for句用到的循环变量
返回值:
注意事项:请参考相应的文档
////////////////////////////////////////////////////////////////////////////
uchar Read_byte()
{
}
////////////////////////////////////////////////////////////////////////////
函数名称:Read_channel
函数功能:选取PCF8591的AD输入通道,然后再读出采集到数值,即电压值
参数介绍:无
返回值:
注意事项:无
////////////////////////////////////////////////////////////////////////////
uchar Read_channel(uchar cChannel)//PCF通道选择函数
{
}
////////////////////////////////////////////////////////////////////////////
函数名称:Write_Data
函数功能:把要写入的数据写入PCF8591,让其开始转换,然后输出相应的模拟值
参数介绍:cData:要写入PCF8591的数据
返回值:
注意事项:无
////////////////////////////////////////////////////////////////////////////
void Write_Data(uchar cData)
{
}
////////////////////////////////////////////////////////////////////////////
函数名称:main
函数功能:完成对采集到的电压值的处理,然后显示到前三个数码管上,把采集到的
参数介绍:cBai:因为把数分离,才能显示到数码管上,作为分离后显示在第一个数
返回值:
注意事项:无
////////////////////////////////////////////////////////////////////////////
void main()
{
}