【文件属性】:
文件名称:AD转换TLC1543(C语言)
文件大小:19KB
文件格式:RAR
更新时间:2015-02-25 12:58:43
AD转换TLC1543(C语言)
/***********************************************************
实验名称:AD转换数码管显示电压值
程序说明:把J4,J29,J30用短路帽短接,J1要短接左端,用数码管显示AD转换电压值,
拧动电位器R17可以得到不同的电压
***********************************************************/
#include
#include
unsigned char led[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,
0x80,0x90,0x88,0x83, 0xa7,0xa1,0x82,0x8e}; //数码管的字符数组
sbit P2_0=P2^0; //数码管的位选
sbit P2_1=P2^1; //数码管的位选
sbit P0_7=P0^7; //小数点显示位
sbit cs=P1^3; //片选
sbit dout=P1^4; //数据输出端
sbit adin=P1^5; //数据输入端
sbit clock=P1^6; //时钟端
sbit eoc=P1^7; //检测端
sfr16 DPTR=0x82;
unsigned char i;
unsigned int a,b,r,s;
void delay_2();
void delay(unsigned int z); //1ms的延时程序
void _nop_();
/******************************************/
/* 主函数 */
/******************************************/
void main()
{
cs=1; //初始化
clock=0;
dout=1;
while(1)
{
adin=0; //模拟量输入端选择的第1位
cs=0;
while(!eoc); //检测是否完成
_nop_();
_nop_();
a=0;
for(i=0;i<10;) //开始读数据
{
i++;
if(dout==0)
{
if(i!=10)
a=a<<1;
}
if(dout==1)
{
a=a|0x0001;
if(i!=10)
a=a<<1;
}
clock=1;
_nop_();
clock=0; //数据读取完成,a中为读取的有效10位数字,且在低位
b=a;
b=b<<6; //读取的数右移6位,为取其高8位作准备
DPTR=b;
if(i==1)
adin=0; //模拟量输入端选择的第2位
if(i==2)
adin=0; //模拟量输入端选择的第3位
if(i==3)
adin=1; //模拟量输入端选择的第4位
}
cs=1;
_nop_();
delay(12);
P2_1=0;
r=DPH*50;
r=r/255;
r=r/10; //以下为数码管显示程序
P0=led[r];
P0_7=0;
delay_2();
P0=0xff;
P2_1=1;
P2_0=0;
s=DPH*50;
s=s/255;
s=s;
P0=led[s];
delay_2();
P0=0xff;
P2_0=1;
}
}
/******************************************/
/* 延时子程序 */
/******************************************/
void delay(unsigned int z) //1ms的延时程序
{
unsigned int x,y;
for(x=z;x>0;x--)
for(y=114;y>0;y--);
}
/******************************************/
/* 延时子程序 */
/******************************************/
void delay_2() //较短的延时程序
{
unsigned int y=300,x;
while(y)
{
for(x=2;x>0;x--);
y--;
}
}
【文件预览】:
AD转换TLC1543(C语言)
----TLC1543.Opt(1KB)
----tlc1543.LST(7KB)
----tlc1543.c(3KB)
----TLC1543.plg(229B)
----STARTUP.A51(5KB)
----TLC1543(5KB)
----TLC1543.Uv2(2KB)
----STARTUP.obj(996B)
----TLC1543_Uv2.Bak(2KB)
----TLC1543_Opt.Bak(2KB)
----TLC1543.M51(8KB)
----TLC1543.hex(2KB)
----tlc1543.OBJ(5KB)
----STARTUP.lst(12KB)