艾海提吖 2023-05-28 02:34 采纳率: 0%
浏览 30

求c51长辈纠正一下代码#c51

    while(1)
    {
        if(guang!=0)
        {
            for(i=0;i<10;i++)
            {
                for(k=0;k<60;k++)
                {
                    P2=seg[i/10];
                    P0=0x01;
                    delay(40);
                    P2=seg[i%10];
                    P0=0x02;
                    delay(40);
                }
            }
        if(i==10)
        {
            P1=~P1;
            i=0;
        }
    }
}
;    
else if(guang==0)
{
    delay(100);
    if(guang==0)
        P1=0;
}

img

  • 写回答

2条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-05-28 06:01
    关注
    • 帮你找了个相似的问题, 你可以看下: https://ask.csdn.net/questions/7454829
    • 这篇博客你也可以参考下:C51单片机 外部中断
    • 除此之外, 这篇博客: C51:温度传感器-----------简单看看效果,真能检测温度?中的 指令 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
    • 什么是ROM指令?什么是RAM指令?
      分别是以ROM和RAM作为目的操作物的指令
      在这里插入图片描述
      在这里插入图片描述

      如何使用指令来对芯片进行操控呢?

      芯片内部有默认的程序运行顺序,规定了先复位,再执行ROM指令,再执行RAM指令,结束的顺序。
      比如我想读取温度,
      复位→跳过ROM指令→开始温度转换→延时→复位→跳过ROM指令→开始温度转换→接收两个字节→结束复位 \rightarrow 跳过ROM指令 \rightarrow 开始温度转换 \rightarrow 延时 \rightarrow 复位 \rightarrow 跳过ROM指令 \rightarrow 开始温度转换 \rightarrow 接收两个字节 \rightarrow 结束ROMROM

      • 第一轮我发命令要芯片把温度的模拟信号转换成数字信号,延时等待转换。第二轮就先发命令表示我要开始读了,然后接受就行了

        \;
        \;
        \;
        \;

    • 以下回答由chatgpt基于相关博客总结生成:

      很抱歉,由于问题描述不清楚,没有提供具体的代码和错误信息,无法给出精确的解决方案。建议您具体说明代码中哪些部分出错,提供相关代码和错误信息,这样才能更好地得到帮助和解决方案。

    评论

报告相同问题?

问题事件

  • 创建了问题 5月28日