-
大小: 2.14MB文件類(lèi)型: .zip金幣: 2下載: 0 次發(fā)布日期: 2023-08-13
- 語(yǔ)言: 其他
- 標(biāo)簽: 智能電表??有功無(wú)功??電壓電流??檢測(cè)技術(shù)??
資源簡(jiǎn)介
本文件是畢業(yè)設(shè)計(jì)的題目,為學(xué)生客戶(hù)開(kāi)發(fā)的定制化畢業(yè)設(shè)計(jì),智能電表要求包括了交流電0-220v、回路電流0-10A的各項(xiàng)電氣參數(shù)的測(cè)量,包括了電壓測(cè)量(精度小于正負(fù)1v)、電流測(cè)量(小于正負(fù)50mA)、有功功率測(cè)量(小于正負(fù)2w)、無(wú)功功率測(cè)量、相位角的測(cè)量(小于正負(fù)0.5°)等相關(guān)參數(shù)的測(cè)量方案,使用了電流和電壓互感器測(cè)量方案,包括原理圖和代碼以及相關(guān)芯片資料

代碼片段和文件信息
#include?“reg52.h“
#include?“LCD1602.h“
#include?“string.h“
#include?“stdio.h“
#include?
#include?“tlc2543.h“??
#include?“math.h“??
unsigned?char?code?tab1[]?=?“00“;//“CurrentVoltage:“;
unsigned?char?code?tab2[]?=?“00“;
sbit?Benk?=?P2^7;????????//報(bào)警io
sbit?Key_Up?=???P3^2;????//按鍵io
sbit?Key_Down?=?P3^3;
sbit?Key_Ok?=?P3^5;
sbit?Key_V_I=?P3^4;
bit?V_I_bit=1sw=0;????//電流電壓切換位
unsigned?char?step=0;???//步驟
void?delay1ms(int?t)???//延時(shí)函數(shù)
{
?int?ij;
?for(i=0;i ???for(j=0;j<120;j++)?;
}
void?lcd_write_char(unsigned?char?addrchar?*p)????//lcd寫(xiě)入數(shù)據(jù)函數(shù)
{
write1602_com(addr);
??while(*p!=NULL)
{
write1602_dat(*p);
p++;
}
}
void?lcd_show_int(unsigned?char?addrint?x)??//顯示整形數(shù)字
{
unsigned?char?dat[10]=“\0“;
sprintf(dat“%d“x);
write1602_com(addr);
??lcd_write_char(addrdat);
}
void?lcd_show_float(unsigned?char?addrfloat?x)??//顯示float浮點(diǎn)數(shù)據(jù),
{
unsigned?char?dat[10]=“\0“;
sprintf(dat“%.2f“x);
??lcd_write_char(addrdat);
}
unsigned?char?sw_cnt=0;
bit?sw_bit=0;
//void?lcd_show_set_V_I(float?minfloat?max)??//顯示設(shè)置數(shù)據(jù)
//{
// unsigned?char?dat[6]=“\0“;
//??unsigned?char?dat2[6]=“\0“;
// if(V_I_bit)lcd_write_char(0x80“V_Min=“);
// else?lcd_write_char(0x80“I_Min=“);
//
// if(V_I_bit)lcd_write_char(0x80+0x40“V_Max=“);
// else?lcd_write_char(0x80+0x40“I_Max=“);
//
// if(V_I_bit) ??????????????????????????//顯示設(shè)置的電壓
// {
// lcd_write_char(0x80+10“V“);
// lcd_write_char(0x80+0x40+10“V“);
// }
// else?
// {
// lcd_write_char(0x80+10“I“);
// lcd_write_char(0x80+0x40+10“I“);
// }
//
// sw_cnt++;??????????????????????????????????//顯示設(shè)置的上限
// if(sw_cnt>6){sw_bit=?~sw_bit;?sw_cnt=0;}
// sprintf(dat“%.1f“min);
//??if(step==1)
//???{
// ??if(sw_bit)lcd_write_char(0x80+6dat);
// else?lcd_write_char(0x80+6“????“);
// ?}
//??else?lcd_write_char(0x80+6dat);
//??sprintf(dat2“%.1f“max);????????????????//顯示設(shè)置的下限
//??if(step==2)
//???{
// ??if(sw_bit)lcd_write_char(0x80+0x40+6dat2);
// else?lcd_write_char(0x80+0x40+6“????“);
// ?}
// ?else?lcd_write_char(0x80+0x40+6dat2);
//??}
void?lcd_show_Set_OK(void)??//顯示float浮點(diǎn)數(shù)據(jù),
{
write1602_com(0x01);
??lcd_write_char(0x80“Set?OK...“);
delay1ms(500);
}
void?lcd_show_Init(void)??????//?顯示初始化數(shù)據(jù)
{
??lcd_write_char(0x80tab1);
??lcd_write_char(0x80+0x40tab2);//顯示:
}
float?Sum_1=0Sum_2=0last;
float?Get_U_Voule(void)
{
unsigned?char?ij;
float?V=0;
//while(i<1)
//{
//// ?for(j=0;j<10;j++)??//?4056
//// ??{?
//// ?? Sum_1?=?(float)Read_ADC_TLC2543(2)?+Sum_1;
////??????
//// ??}
//// ??Sum_1?=?Sum_1/10;
////
//// ??Sum_2?+=?Sum_1;
//// ??Sum_1?=?0;
////??}
//// ??Sum_2?=?Sum_2?/1;
Sum_1?=?(float)Read_ADC_TLC2543(2);?
Sum_2?=?(last+Sum_1)/2;
// delayms(1);
??V?=?(float)?Sum_2;
??V?=?V/?4096?;
??V?=?5.0?*?V?;
// ??
??V?=?V/2;
?? V?=?295?*?V?-0.8;
last?=?Sum_1;
?return?V;??
}
float?Get_I_Voule(void)
{
un
?屬性????????????大小?????日期????時(shí)間???名稱(chēng)
-----------?---------??----------?-----??----
?????目錄???????????0??2018-05-15?01:18??1299智能電表\
?????目錄???????????0??2018-05-14?03:13??1299智能電表\1299+程序\
?????目錄???????????0??2018-05-15?05:19??1299智能電表\1299+程序?-?副本\
?????文件?????????234??2018-05-13?19:49??1299智能電表\1299+程序?-?副本\delay.h
?????文件???????59290??2014-01-15?11:38??1299智能電表\1299+程序?-?副本\Last?Loaded?TLC.DBK
?????文件?????????743??2018-05-13?20:09??1299智能電表\1299+程序?-?副本\LCD1602.h
?????文件???????10367??2018-05-15?05:01??1299智能電表\1299+程序?-?副本\main.c
?????文件??????104527??2018-05-15?05:01??1299智能電表\1299+程序?-?副本\main.LST
?????文件???????31741??2018-05-15?05:01??1299智能電表\1299+程序?-?副本\main.OBJ
?????文件????????6376??2010-09-03?17:12??1299智能電表\1299+程序?-?副本\STARTUP.A51
?????文件???????14052??2018-05-13?19:12??1299智能電表\1299+程序?-?副本\STARTUP.LST
?????文件?????????749??2018-05-13?19:12??1299智能電表\1299+程序?-?副本\STARTUP.OBJ
?????文件??????104534??2014-01-15?16:21??1299智能電表\1299+程序?-?副本\TLC.DSN
?????文件?????????742??2018-05-13?02:39??1299智能電表\1299+程序?-?副本\TLC.PWI
?????文件???????32091??2018-05-15?05:19??1299智能電表\1299+程序?-?副本\tlc2543
?????文件????????2491??2018-05-15?05:19??1299智能電表\1299+程序?-?副本\tlc2543.build_log.htm
?????文件????????1834??2018-05-14?01:04??1299智能電表\1299+程序?-?副本\tlc2543.c
?????文件??????????99??2018-05-13?21:19??1299智能電表\1299+程序?-?副本\tlc2543.h
?????文件???????18928??2018-05-15?05:19??1299智能電表\1299+程序?-?副本\tlc2543.hex
?????文件??????????59??2018-05-15?05:19??1299智能電表\1299+程序?-?副本\tlc2543.lnp
?????文件???????13181??2018-05-15?04:45??1299智能電表\1299+程序?-?副本\tlc2543.LST
?????文件???????31569??2018-05-15?05:19??1299智能電表\1299+程序?-?副本\tlc2543.M51
?????文件????????4015??2018-05-15?04:45??1299智能電表\1299+程序?-?副本\tlc2543.OBJ
?????文件??????441550??2014-01-15?09:46??1299智能電表\1299+程序?-?副本\TLC2543.pdf
?????文件?????????590??2017-04-17?14:15??1299智能電表\1299+程序?-?副本\tlc2543.plg
?????文件???????70184??2018-05-15?05:19??1299智能電表\1299+程序?-?副本\tlc2543.uvgui.lifu
?????文件???????71604??2014-01-15?16:21??1299智能電表\1299+程序?-?副本\tlc2543.uvgui.pc
?????文件???????72721??2018-05-14?03:13??1299智能電表\1299+程序?-?副本\tlc2543.uvgui_lifu.bak
?????文件????????5320??2018-05-15?05:19??1299智能電表\1299+程序?-?副本\tlc2543.uvopt
?????文件???????14006??2018-05-14?03:13??1299智能電表\1299+程序?-?副本\tlc2543.uvproj
?????文件????????5320??2018-05-14?03:13??1299智能電表\1299+程序?-?副本\tlc2543_uvopt.bak
............此處省略43個(gè)文件信息
評(píng)論
共有 條評(píng)論