資源簡介
利用C8051f410內(nèi)部的12位A/D轉(zhuǎn)換器進(jìn)行開關(guān)電源電壓電流檢測(cè)并在1602液晶顯示

代碼片段和文件信息
//文件名: ADC.c
//
//編寫人: LD
//
//編寫時(shí)間:2009/08/24
//
//目標(biāo)器件:?C8051F410
//
//編譯工具:?Keil
//
//程序說明: 此程序通過I/O口P1^3P1^4和P1^5調(diào)節(jié)數(shù)字電位器X9C102/103/104的阻值通過I/O口P1^0和
// P1^1分別監(jiān)測(cè)輸出電壓和流過采樣電阻的平均電流并通過1602液晶顯示當(dāng)前輸出電壓實(shí)際值
// 和流過采樣電阻的電流值
//
//硬件接口:電壓采樣=P1^0; 電流采樣=P1^1;
// X9C103_CS=P1^3; X9C103_INC=P1^4; X9C103_UD=P1^5;
//------------------------------------------------------------------------------------
//?Includes
//------------------------------------------------------------------------------------
#include?????????????????????//?SFR?declarations
#include?
sbit?voltage=P1^0;
sbit?current=P1^1;
sbit?X9C103_CS=P1^3;
sbit?X9C103_INC=P1^4;
sbit?X9C103_UD=P1^5;
sbit?s1=P2^0;
sbit?s2=P2^1;
sbit?s3=P2^2;
sbit?s4=P2^3;
sbit?lcden=P2^4;
sbit?lcdrs=P2^5;
sbit?sdi=P2^6;
sbit?clk=P2^7;
bit?AD=1;
bit?VI=0;
unsigned?char?code?table1[]=“OBS?V:00.0?I:2.68“;
unsigned?char?code?table2[]=“DES?V:36.0?I:2.68“;
unsigned?int?ab;
unsigned?char?qianbaishi;
//------------------------------------------------------------------------------------
//?Function?PROTOTYPES
//------------------------------------------------------------------------------------
void?PORT_Init?(void);
void?Oscillator_Init();
void?up(unsigned?char?command);
void?down(unsigned?char?command);
void?write_595(unsigned?char?da);
void?lcd_init(void);
void?write_com(unsigned?char?com);
void?write_data(unsigned?char?da);
void?delay(unsigned?int?z);
void?Interrupts_Init();
void?ad_v_display(void);
void?ad_i_display(void);
/***************************************************************************************
函數(shù)名稱: void?sleep_ms(WORD?count)
功能描述: 延時(shí)
輸入: WORD?count(所要延時(shí)的長度)
輸出: 無
全局變量: 無
調(diào)用模塊: _nop_()
***************************************************************************************/
/*
void?sleep_ms(unsigned?char?count)
{
??unsigned?char?iijj;
??for(ii=0;ii ????{
??????for(jj=0;jj<250;jj++)
??_nop_();
????}
} ??*/
void?ADC_Init()
{
????ADC0MX????=?0x00;
????ADC0CN????=?0x80;
}
void?Voltage_Reference_Init()
{
????REF0CN????=?0x18;
}
//------------------------------------------------------------------------------------
//?MAIN?Routine
//------------------------------------------------------------------------------------
void?main()
{
PCA0MD????&=?~0x40; //禁止看門狗
Oscillator_Init(); //時(shí)鐘初始化
PORT_Init(); //I/O初始化
lcd_init();
ADC_Init();
Voltage_Reference_Init();
Interrupts_Init();
while(1)
{
lcdrs=0;
if(s1==0)
{
delay(10);
if(s1==0)
{
while(s1==0);
down(5);
}
}
delay(250);
if(s2==0)
{
delay(10);
if(s2==0)
{
while(s2==0);
up(5);
}
}
// AD0BUSY=1; //啟動(dòng)A/D轉(zhuǎn)換
if(AD)
{
AD=0;
if(VI)
ad_v_display(); //轉(zhuǎn)換完成則顯示
else
ad_i_display(); //轉(zhuǎn)換完成則顯示
AD0BUSY=1; //啟動(dòng)A/D轉(zhuǎn)換
}
}
}
/***********************************************
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件???????6376??2007-09-11?14:50??Flyback2\STARTUP.A51
?????文件????????618??2009-08-26?14:54??Flyback2\flyback.plg
?????文件???????8217??2009-08-22?17:46??Flyback2\flyback.c
?????文件??????14062??2009-08-26?14:53??Flyback2\STARTUP.LST
?????文件?????????58??2009-08-26?14:53??Flyback2\flyback.lnp
?????文件??????20394??2009-08-26?14:53??Flyback2\flyback.M51
?????文件?????????19??2009-08-26?09:15??Flyback2\ExtDll.iex
?????文件??????17062??2009-08-26?14:53??Flyback2\adc.OBJ
?????文件??????11208??2009-08-26?14:54??Flyback2\adc.c
?????文件????????749??2009-08-26?14:53??Flyback2\STARTUP.OBJ
?????文件??????22926??2009-08-26?14:53??Flyback2\adc.LST
?????文件??????16450??2009-08-26?14:53??Flyback2\flyback
?????文件??????16470??2009-08-22?17:46??Flyback2\flyback.LST
?????文件??????11698??2009-08-22?17:46??Flyback2\flyback.OBJ
?????文件???????1313??2009-08-26?14:54??Flyback2\flyback.Opt
?????文件???????1314??2009-08-26?14:52??Flyback2\flyback_Opt.Bak
?????文件???????2248??2009-08-24?17:08??Flyback2\flyback_Uv2.Bak
?????文件???????2248??2009-08-24?20:58??Flyback2\flyback.Uv2
?????目錄??????????0??2009-08-30?23:07??Flyback2
-----------?---------??----------?-----??----
???????????????153430????????????????????19
評(píng)論
共有 條評(píng)論