|
本帖最后由 aming_ou 于 2024-12-22 19:51 编辑
为了实现来电开机功能,本来已经用并联电容到开关实现来电即开机,但总觉得不完美,网购的一片小板,通电瞬间有电压输出,未能达到要求,但看到小板上的芯片型号,网上查了下,原来这就是最简单的8脚单片机STC8G1K08,,几行代码就实现了。烧写也很简单,不过也走了一些弯路(主要是USB转TTL硬件,开始练习时烧写不成功),后来换了个写闪存的340,只要接4个线直接与芯片2 4 5 6 脚连接,就可以写入。存放记录一下,方便以后查看。
上图中的USB直接写入,由于是win7系统,无法识别到USB设备
下图左一,无法写入,中间的的搭配上图的小板可以写入,右边的只要接4根线就能写入。
注意事项:芯片先不要接4脚(地),插入编程器识别到端口后,点击下载等待时,再接4脚,马上就能识别并写入数据。如果全部线都接好,再点击“下载”,是不能成功的。
如何实现九阳豆浆机JYZD-15B预约功能
https://www.mydigit.cn/forum.php ... amp;fromuid=1106505
(出处: 数码之家)
#include "STC8G.H"
#define PD 0x02 //掉电模式
//延时函数(单位ms)
void DelayMs(int t) //@24MHz
{
unsigned char j, k;
do
{
j =9;
do
{
k = 77;
while(k--);
}while(j--);
}while(t--);
}
void main()
{
unsigned char m;
P54 = 1;
P55 = 0;
P32 = 1;
P33 = 0;
// 初始化P55 P54 P32 P33口为推挽输出 ,P30 P31口为准双向输出
P5M0 |= 0x30; P5M1 &= ~0x30;
P3M0 = (P3M0 & ~0x03) | 0x0c; P3M1 &= ~0x0f;
DelayMs(15000);
P32=!P32; //通电亮延时后熄灭1秒常亮
P33=!P33; //通电灭延时后常亮
P54=!P54; //通电亮延时后熄灭
P55=!P55; //通电灭延时后点亮1秒熄灭(用这个)
DelayMs(4000);
P55=!P55;
P32=!P32;
m = 5;
do
{
DelayMs(1500);
P54=!P54; //闪烁5次表示工作完成
}while (m--);
PCON = PD; //掉电模式
}
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
打赏
-
查看全部打赏
|