资源简介
利用C8051f410内部的12位A/D转换器进行开关电源电压电流检测并在1602液晶显示
![](http://www.nz998.com/pic/43500.jpg)
代码片段和文件信息
//文件名: ADC.c
//
//编写人: LD
//
//编写时间:2009/08/24
//
//目标器件: C8051F410
//
//编译工具: Keil
//
//程序说明: 此程序通过I/O口P1^3P1^4和P1^5调节数字电位器X9C102/103/104的阻值通过I/O口P1^0和
// P1^1分别监测输出电压和流过采样电阻的平均电流并通过1602液晶显示当前输出电压实际值
// 和流过采样电阻的电流值
//
//硬件接口:电压采样=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);
/***************************************************************************************
函数名称: void sleep_ms(WORD count)
功能描述: 延时
输入: WORD count(所要延时的长度)
输出: 无
全局变量: 无
调用模块: _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(); //时钟初始化
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; //启动A/D转换
if(AD)
{
AD=0;
if(VI)
ad_v_display(); //转换完成则显示
else
ad_i_display(); //转换完成则显示
AD0BUSY=1; //启动A/D转换
}
}
}
/***********************************************
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 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
- 上一篇:串口试验.c
- 下一篇:ATMEGA64&128最小系统原理图.zip
相关资源
- pscad近海风电模型 Fortran语言
- AutoCAD永久去教育版破解补丁
- grads绘制雨量(GRID.GRD)
- HAP_Advanced_PDF_Password_Recovery 5.05
- Reparatory Effects of Nicotine on NMDA Recepto
- 黑苹果硬件兼容检测和查询软件
- LenovoTinkPad; Marker 5.01
- railroad铁路CAD生成
- CAD中插入带坐标的正射影像——Inse
- 单片机和adc0809数字电压表
- adams vibration 练习原文件
- 单片机、ADC0808809设计简易数字电压表
- STM32基于rt_thread操作系统的SDHC卡文件
- 加密cad图形的lisp文件
- MFC程序-碰撞的小球
- Auto CAD_LISP程序集
- CAD2010注册机32bit and 64bit
- ado数据库MFC图书管理系统vs2010
- 基于c8051f020的AD转换程序及LCD显示程序
- 地下停车场CAD设计图
- 实时显示钢筋标注面积V0.44
- delphi 通过Ping命令检测网络是否正常
- Adobe Illustrator CS5原版amtlib.dll文件
- CAD计算板料展开插件
- ADNS-3080光流传感器测试程序Arduino
- CAD LISP24个源代码
- CAD剖面图制作LISP程序
- 数据采集系统——ADC0808的应用,单片
- 一个比较完整的开源cad 图形程序
-
ob
jectARX给Auto CAD加工具条
评论
共有 条评论