谈何无欲 2023-10-21 19:46 采纳率: 33.3%
浏览 29
已结题

单片机,51外接74ls273芯片,C语言

img

img

要求开关连接时,Q0Q7的LED灯与D0D7相同,开关断开时恢复Q0Q7恢复原来状态
原来的代码只能让Q0
Q7的LED灯变成和D0~D7一样

  • 写回答

11条回答 默认 最新

  • 社区专家-Monster-XH 2023-10-21 19:59
    关注
    获得0.75元问题酬金

    基于Monster 组和GPT的调写:

    当开关连接时,应该使Q0Q7的LED与D0D7一致;当开关断开时,恢复Q0Q7的LED到原始状态。

    先要确定开关连接到了哪个端口。例如,假设用P2.0作为开关的输入。

    以下是一个修改后的代码示例:

    #include <REGX51.H>
    
    void Delays(unsigned char t) {
        unsigned char i, j, k;
        while (t--) {
            for (k = 0; k < 5; k++) {
                for (j = 0; j < 255; j++) {
                    for (i = 0; i < 255; i++) {
                        // 等待时间
                    }
                }
            }
        }
    }
    
    void main() {
        unsigned char originalState = P0; // 存储P0的原始状态
    
        while(1) {
            if (P2 & 0x01) { // 检查P2.0的状态,假设当P2.0为高时,开关连接
                P0 = P1; // 使P0的状态与P1一致
            } else {
                P0 = originalState; // 恢复到原始状态
            }
            Delays(3);
        }
    }
    

    上述代码首先存储了P0的原始状态。在无限循环中,它检查P2.0的状态。如果开关连接(例如,P2.0为高),则设置P0的LED与P1一致。否则,它会恢复P0的LED到其原始状态。

    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 10月29日
  • 赞助了问题酬金15元 10月21日
  • 修改了问题 10月21日
  • 创建了问题 10月21日

悬赏问题

  • ¥15 matlab数据降噪处理,提高数据的可信度,确保峰值信号的不损失?
  • ¥15 怎么看我在bios每次修改的日志
  • ¥15 python+mysql图书管理系统
  • ¥15 Questasim Error: (vcom-13)
  • ¥15 船舶旋回实验matlab
  • ¥30 SQL 数组,游标,递归覆盖原值
  • ¥15 为什么我的数据接收的那么慢呀有没有完整的 hal 库并 代码呀有的话能不能发我一份并且我用 printf 函数显示处理之后的数据,用 debug 就不能运行了呢
  • ¥20 gitlab 中文路径,无法下载
  • ¥15 用动态规划算法均分纸牌
  • ¥30 udp socket,bind 0.0.0.0 ,如何自动选取用户访问的服务器IP来回复数据