您好,欢迎访问本站!
商品分类

[51单片机] [开源]01.公布oled电压电流表源程序

作者: 384065902

基于IAP15w1k29型51单片机+INA226双向16位UI专用AD的oled电压电流表程序
单片机使用频率12Mhz,外围原件极为简单,直接连接即可
单片机若是更换需要改变几个掉电保存量的地址声明即可
可简单更换至任意stc12系列以上的带T2串口以及内部EEP大于2KB的1T单片机上
oled为SSD1306驱动芯片的0.96或者1.3寸型号(不兼容SH1106切忌),工作于普通4线模式
其他外围电路请参照INA226手册进行搭接
精度测试链接https://www.yleee.com.cn/thread-42894-1-1.html程序为半成品,有一些bug(负方向电流显示错误,电池电量累积功能未完成(已屏蔽))不过不影响正常使用,正方向电流无BUG
功能引脚定义:

RTX_EX1.c文件内定义
sbit INX=P5^5; //IN:高精度=1\大电流=0切换位
sbit K1=P5^4;  //IN:按键1
sbit K2=P1^7;  //IN:按键2
sbit A1=P1^6;  //常态0
sbit A0=P1^5;  //常态0
sbit SCL=P1^3;//I2C数据位
sbit SDA=P1^2;//I2C时钟位

LQ12864.c文件内定义
sbit LCD_SCL=P3^4; //oled时钟 D0
sbit LCD_SDA=P3^3; //oled数据 D1
sbit LCD_RST=P3^6; //oled复位
sbit LCD_DC =P3^5; //oled数据/命令控制
sbit LCD_CS =P3^7; //oled片选

时钟频率修改步骤:
1主任务T0时间片为1ms,对应12MHZ  T0初值1000
修改需要在Conf_tny.A51文件第36行修改.
2串口T2工作于1T模式,现在12Mhz波特率4800
修改需要在RTX_EX1.c文件第236行uart_init()函数修改

任务基于RTX51tny系统做的,程序内用了4个任务,
任务0实时刷屏,任务1按键扫描(带长短按)+串口
任务2 i2c数据采集与累积参数计算(这里后面的系统等待决定累加值的准确度,默认的200ms一次没校准过绝对慢……)
任务3串口接受时间基准

掉电内容保存在第29行定义的地址中
#define EEP_ADD  0x7000         //Flash 设置参数首地址
#define ADDR1 0x6a00  //累积掉电保存地址1
#define ADDR2 0x6c00  //累积掉电保存地址2

数据声明(忘了的都没写………)
bit ah,eer,high_flag=0,iurl=0;     //ah是累加显示0界面显示AH还是WH的标志位,High_flag是高精度\大电流的标志位,iurl是电压电流表\电池累积(没完成暂时不用)
xdata char dp_en=1,chset=0;   
xdata char set=0,set_ch=0;ch=0;   //set是是否进入set模式的标志位,set_ch是决定设置时候是设置第几位的数值,ch决定是显示哪个界面
idata unsigned char sav_buff[10]; //掉电存储器FLASH缓冲区
idata int read[2]; //电流AD (-32768-32767)  电压mv
pdata double Ireal,pow;   //显示电流,功率值
xdata int Iinbuff=0;  //按键\串口  校准电流时候使用
pdata int buff1,buff2;  //随便定义的几个缓冲变量
idata double buff3,buff4;
pdata double var_Iref,var_Iref2,var_AH;  
xdata unsigned char bc=0;

xdata unsigned char addbuff1[4];  //double转char缓冲数组1
xdata unsigned char addbuff2[4];  //缓冲2
xdata double adpbuff[2];  //上电累积数据取回用暂存数组
pdata double add_par[2]={0,0}; //AH  P
pdata unsigned char adpjs;  
xdata unsigned int dtr_buf;  //存入数据指针
pdata unsigned char add_tim=0;

有问题可以把程序操下来发来问我
另外要电路图的就免谈了,做电路简单的都不画电路图的
当然有人好信给电路图画出来那是相当感谢了

最近自己做的4层板迷你开发板到了(虽然有一堆小BUG),准备各种不定期开源.希望大家支持.

更多内容详见论坛: https://www.yleee.com.cn/thread-42923-1-1.html

发表回复

登录后才能评论