资源简介
本文基于ACS712直流电流检测(protues仿真),检测电流,数码管显示!含电路,与代码。
代码片段和文件信息
#include
#include
#define uchar unsigned char
#define uint unsigned int
uchar code Disp_dot[]={0xbf0x860xdb0xcf0xe60xed0xfd0x870xff0xef}; //带小数点的共阴极显示代码
uchar code Dispcode[]={0x3f0x060x5b0x4f0x660x6d0x7d0x070x7f0x6f0x400x00};//共阴极显示代码
uchar Display_Buffer[]={0000};
bit Flag = 0;
sbit CLK = P3^0;
sbit ST = P3^1;
sbit EOC = P3^2;
sbit OE = P3^3;
void DelayMS(uint t)
{
uchar i;
while(t--)
for(i=110;i>0;i--);
}
uchar ADRead()
{
uchar val = 0;
ST=0;ST=1;ST=0; //启动A/D转换
while(!EOC); //等待转换完成
OE=1;
val=P1; //读转换值
OE=0;
return(val);
}
float IpTransform()
{
float DatIp;
Dat = (float)(ADRead()-32);
if(Dat>=127)
{
Ip = (Dat/127 - 1)*30;
Flag = 0;
return(Ip);
}
else
{
Ip = (1 - Dat/127)*30;
Flag = 1;
return(Ip);
}
}
void Display_Data()
{
float Idata;
uchar DSY_dat;
Idata = IpTransform();
Idata = Idata*10 + 0.5;
DSY_dat = (uchar)Idata;
//DSY_dat = (ADRead()-32);
if(Flag)
Display_Buffer[0]=10;
else
Display_Buffer[0]=11;
Display_Buffer[1]=DSY_dat%1000/100; //显示百位
if(Display_Buffer[1]==0)
{
Display_Buffer[1]=Display_Buffer[0];
Display_Buffer[0]=11;
}
Display_Buffer[2]=DSY_dat%100/10; //显示十位
Display_Buffer[3]=DSY_dat%10; //显示个位
}
void main()
{
uchar i;
TMOD=0x02; //T1工作模式2
TH0=0x14;
TL0=0x00;
IE=0x82;
TR0=1;
while(1)
{
uchar Wei = 0xfe;
Display_Data();
for(i=0;i<4;i++)
{
P2 = Wei;
if(i==2)
P0 = Disp_dot[Display_Buffer[i]];
else
P0 = Dispcode[Display_Buffer[i]];
Wei = _crol_(Wei1);
DelayMS(10);
}
}
}
//T0定时器中断给ADC0808提供时钟信号
void Timer0_INT() interrupt 1
{
CLK=~CLK;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 167496 2012-12-29 14:21 TestcurrentDC\Last Loaded TestcurrentDC.DBK
文件 6376 2009-05-07 14:37 TestcurrentDC\STARTUP.A51
文件 14048 2012-12-29 14:15 TestcurrentDC\STARTUP.LST
文件 749 2012-12-29 14:15 TestcurrentDC\STARTUP.OBJ
文件 7715 2012-12-29 14:15 TestcurrentDC\TestcurrentDC
文件 1839 2012-12-29 15:12 TestcurrentDC\TestcurrentDC.c
文件 167496 2012-12-29 14:21 TestcurrentDC\TestcurrentDC.DSN
文件 4766 2012-12-29 14:15 TestcurrentDC\TestcurrentDC.hex
文件 59 2012-12-29 14:15 TestcurrentDC\TestcurrentDC.lnp
文件 4774 2012-12-29 14:15 TestcurrentDC\TestcurrentDC.LST
文件 11283 2012-12-29 14:15 TestcurrentDC\TestcurrentDC.M51
文件 6814 2012-12-29 14:15 TestcurrentDC\TestcurrentDC.OBJ
文件 1793 2012-12-29 15:12 TestcurrentDC\TestcurrentDC.plg
文件 768 2012-12-31 21:52 TestcurrentDC\TestcurrentDC.PWI
....... 64926 2012-12-29 15:12 TestcurrentDC\TestcurrentDC.uvopt
....... 13423 2012-12-29 13:53 TestcurrentDC\TestcurrentDC.uvproj
....... 65484 2012-12-29 13:53 TestcurrentDC\TestcurrentDC_uvopt.bak
....... 13419 2012-12-27 19:09 TestcurrentDC\TestcurrentDC_uvproj.bak
目录 0 2012-12-31 21:52 TestcurrentDC
----------- --------- ---------- ----- ----
553228 19
- 上一篇:弹簧在线计算
- 下一篇:cad采矿用各种线性
评论
共有 条评论