44、基于51单片机电压电流功率系统设计 (程序+原理图+PCB图+Proteus仿真+答辩技巧+开题报告+参考论文+元器件清单等)

本文详细描述了一款使用51单片机、ADC0832、液晶屏和按键的电压电流功率测量系统,包括硬件组成、原理图、PCB图、Proteus仿真和部分程序源码。系统具备过压过流报警功能,通过按键设置报警值并实时显示测量数据。
摘要由CSDN通过智能技术生成

一、设计简介:

本设计是基于51单片机电压电流功率系统设计,主要实现以下功能:

1、本设计基于51单片机实现电流、电压测量和功率的计算,并通过按键设置报警值,过压过流声光报警。


2、电压范围:直流0-30V;电流范围:直流0-1A。


3、系统四个按键,从左往右风别是,切换、设置、加、减。

主要硬件组成:

51系列单片机+ADC0832+按键+LCD1602液晶+LED

二、原理图

三、PCB图 

四、Proteus仿真   

五、程序源码 

部分代码: 

    ADC0832_CLK=0;  //为第一个脉冲作准备
    ADC0832_CS=0;  //CS置0,片选有效
    
    ADC0832_DIO=1;    //DIO置1,规定的起始信号  
    ADC0832_CLK=1;   //第一个脉冲
    ADC0832_CLK=0;   //第一个脉冲的下降沿,此前DIO必须是高电平
    ADC0832_DIO=1;   //DIO置1, 通道选择信号  
    ADC0832_CLK=1;   //第二个脉冲,第2、3个脉冲下沉之前,DI必须跟别输入两位数据用于选择通道,这里选通道CH0 
    ADC0832_CLK=0;   //第二个脉冲下降沿 
    ADC0832_DIO=Ch;   //DI置0,选择通道0
    ADC0832_CLK=1;    //第三个脉冲
    ADC0832_CLK=0;    //第三个脉冲下降沿 
    ADC0832_DIO=1;    //第三个脉冲下沉之后,输入端DIO失去作用,应置1
    ADC0832_CLK=1;    //第四个脉冲
    for(i=0;i<8;i++)  //高位在前
    {
        ADC0832_CLK=1;         //第四个脉冲
        ADC0832_CLK=0; 
        dat<<=1;       //将下面储存的低位数据向右移
        dat|=(unsigned char)ADC0832_DIO;      //将输出数据DIO通过或运算储存在dat最低位 
    }                      
    ADC0832_CS=1;          //片选无效 
    return dat;     //将读书的数据返回     
}
 
 
 
  
 LCD1602_RS = 0;
    LCD1602_RW = 0;
    LCD1602_Data= com;
    delay_50us_1602(10);
    LCD1602_E = 1;
    delay_50us_1602(20);
    LCD1602_E = 0;
}
 
void LCD1602_write_data(unsigned int dat)
{
    LCD1602_E = 0;
    LCD1602_RS = 1;
    LCD1602_RW = 0;
    LCD1602_Data = dat;
    delay_50us_1602(10);
    LCD1602_E = 1;
    delay_50us_1602(20);
    LCD1602_E = 0;
}
 
void LCD1602_init(void)
{
   delay_50us_1602(300);
   LCD1602_write_com(0X38);
   delay_50us_1602(100);
   LCD1602_write_com(0X38);
   delay_50us_1602(100);
   LCD1602_write_com(0X38);
   LCD1602_write_com(0X38);
   LCD1602_write_com(0X08);
   LCD1602_write_com(0X01);
   LCD1602_write_com(0X06);
   LCD1602_write_com(0X0C);
   
}
void LCD1602_Clear(void)
{
    LCD1602_write_com(0X01);
}
/*******************************************
函数名称:Disp_ZF
功    能:控制液晶显示字符
参    数:addr--显示位置的首地址
          pt--指向显示数据的指针
          num--显示字符个数
返回值  :无
********************************************/
void LCD1602_Disp_ZF(unsigned char addr,const unsigned char * pt,unsigned char num)
{
    unsigned char i;
    LCD1602_write_com(addr); 

六、资源获取

本项目包含的所有文件都可以点击下面的名片,发送 “ 44、基于51单片机电压电流功率系统设计 ” 获取!
项目纯手打,不是免费的哦~
希望可以帮到你哈! 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值