m0_62022535 2021-09-17 19:23 采纳率: 0%
浏览 128

设计出AT89C52单片机与外设连接的Proteus仿真电路图,并编程

某AT89C52单片机控制系统有2个开关,分别是S1和S2,1个数码管(共阳极)。当S1按下时数码管加1,S2按下时数码管清零。设计出AT89C52单片机与外设连接的Proteus仿真电路图,并编程实现上述要求。

  • 写回答

1条回答 默认 最新

  • 踢足球的阿坤 2023-02-08 03:09
    关注
    #include<reg52.h>
    
    sbit S1=P3^3;        //定义P3^3端口为S1
    sbit S2=P3^4;        //定义P3^4端口为S2
    
    unsigned char num=0;        //定义数码管显示变量
    
    void delay(unsigned int time)        //定义延时子程序
    {
        unsigned int i,j;
        for(i=0;i<time;i++)
        {
            for(j=0;j<120;j++);
        }
    }
    
    void main()
    {
    P2=0xff;        //定义数码管端口为输出 
    while(1)
    {
    if(S1==1)        //当S1按下时
    {
    num++;        //数码管加1
    }
    else if(S2==1)        //当S2按下时
    {
    num=0;        //数码管清0
    }
    P2=num;        //将变量num的值输出到数码管显示 
    delay(10);        //延时
    }
    }
    
    评论

报告相同问题?

问题事件

  • 创建了问题 9月17日

悬赏问题

  • ¥15 安装完tensorflow,import tensorflow as tf后报错,如何解决?
  • ¥15 ultralytics库导出onnx模型,模型失去预测能力
  • ¥15 linux下点对点协议连接2个USB串口的硬件流量控制问题
  • ¥15 SQL数据自动生成问题
  • ¥15 设密码后无法访问他人的共享文件
  • ¥15 浏览器打不开学校网页
  • ¥100 android开发打不开相册,不弹出授权信息,请问怎么解决?
  • ¥15 我想通过python处理sybase IQ库的一些数据,但是不知道sybase IQ库怎么连接,之前连接都是用linux上的 dbisql
  • ¥15 安装llama-cpp-python==0.1.83失败
  • ¥20 管道轴向耦合水击问题