51单片机编程程序设计

定时为10s,周期是10s,高三秒,低七秒,从p1.0口输出

#include<reg52.h>

sbit LED=P1^0;

void timer0() interrupt 1
{
    static unsigned char cnt=0;
    cnt++;
    if(cnt<=3) 
    {
        LED=1;
    }
    else 
    {
        LED=0;
    }
    if(cnt>=10) 
    {
        cnt=0;
    }
}

void main()
{
    TMOD=0x01;  // 定时器0工作在模式1
    TH0=0x3C;  // 装载高8位
    TL0=0xAF;  // 装载低8位
    EA=1;
    ET0=1;
    TR0=1;
    while(1);
}

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/7764505
  • 除此之外, 这篇博客: 电脑板维修续(缸内直喷汽柴油发动机控制)中的 10. 喷油器高端开启控制电路及其他电路原理图(只看左边电路 自举升压及高压开启) 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    在这里插入图片描述
    这个图为多个电路合并为一个电路大图,一个是喷油嘴高端高压开启控制电路,一个是
    高端低压开启控制电路高压开启检测电路喷油电流检测电路,在发动机启动开始,两边电路同时想喷油嘴高端供电,提高喷油嘴开启速度,然后高压关闭,低压继续续流,给喷油嘴供电,在这个过程中,低压供电会有一个电流检测电路工作,当检测到电流到达一定程度,CPU开始控制低压控制场管做告诉的震颤,以达到恒流。

  • 您还可以看一下 CSDN就业班老师的机器学习工程师高效特训营-直播回放课程中的 机器学习工程师高效特训营-第二周 10小节, 巩固相关知识点

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^