谁有51单片机+1602+713的电池容量检测代码哈?
去查了一下
都需要米~郁闷!
谁有资料给一份吧
(业余爱好,自己能写点普通的程序,但有些参数需要计算的不太懂~想看看代码参考学习)
谢谢啦 !
直播|ADI 电源解决方案Digikey在线会|有关TE连接器方案Bullseye! 变革窄带宽精密信号链应用设计过程
51 单片机综合学习系统之 1602字符型液晶显示篇
作者:时间:2016-11-28来源:网络收藏
10.8.3.2 程序流程图
图10-61 软件流程图
10.8.3.3 软件代码
#include
#include
sbit rs= P2^0;
sbit rw = P2^1;
sbit ep = P2^2;
unsigned char code dis1[] = {"www.hificat.com"};
unsigned char code dis2[] = {"0571-85956028"};
void delay(unsigned char ms)
{
unsigned char i;
while(ms--)
{
for(i = 0; i< 250; i++)
{
_nop_();
_nop_();
_nop_();
_nop_();
}
}
}
bit lcd_bz()
{
bit result;
rs = 0;
rw = 1;
ep = 1;
_nop_();
_nop_();
_nop_();
_nop_();
result = (bit)(P0 & 0x80);
ep = 0;
return result;
}
void lcd_wcmd(unsigned char cmd)
{
while(lcd_bz());//判断LCD是否忙碌
rs = 0;
rw = 0;
ep = 0;
_nop_();
_nop_();
P0 = cmd;
_nop_();
_nop_();
_nop_();
_nop_();
ep = 1;
_nop_();
_nop_();
_nop_();
_nop_();
ep = 0;
}
void lcd_pos(unsigned char pos)
{
lcd_wcmd(pos | 0x80);
}
void lcd_wdat(unsigned char dat)
{
while(lcd_bz());//判断LCD是否忙碌
rs = 1;
rw = 0;
ep = 0;
P0 = dat;
_nop_();
_nop_();
_nop_();
_nop_();
ep = 1;
_nop_();
_nop_();
_nop_();
_nop_();
ep = 0;
}
void lcd_init()
{
lcd_wcmd(0x38);
delay(1);
lcd_wcmd(0x0c);
delay(1);
lcd_wcmd(0x06);
delay(1);
lcd_wcmd(0x01);
delay(1);
}
void main(void)
{
unsigned char i;
lcd_init();// 初始化LCD
delay(10);
lcd_pos(0x01);//设置显示位置
i = 0;
while(dis1 != /0)
{
lcd_wdat(dis1);//显示字符
i++;
}
lcd_pos(0x42);// 设置显示位置
i = 0;
while(dis2 != /0)
{
lcd_wdat(dis2);// 显示字符
i++;
}
while(1);
} 这不是电池的代码,只是1602单片机的代码 为啥局限在51?现在arduino的板子大把,用这个更容易写出想要的功能,比如1602的驱动直接就是现成的.
而且,搞不好还可以直接找到写好的代码或者开源项目 拓荒牛 发表于 2023-1-29 11:06
为啥局限在51?现在arduino的板子大把,用这个更容易写出想要的功能,比如1602的驱动直接就是现成的.
而且,搞 ...
哎50岁的人了
ard 我有两个板 都是2560的
一个做了3d 一个做了激光
代码 确实都是现成的
不过太过复杂,想自己再修改,不容易(对我来讲,51都搞不懂,搞那个更累 哈哈)
51手里有几个,而且简单代码也能做,想再学习学习复杂点的(纯娱乐,没有别的爱好啦,起码能让脑子活动活动)
我要的这个代码
最主要的就是713 电流检测以及832 AD转换等等的计算和衔接
虽然能查到理论,但实操不好操作啊
有个代码研究起来能更快点 !!!!
https://www.bilibili.com/video/BV1LF41137qb/?vd_source=bbd8123913e9c09a65919765d8caa22b
页:
[1]