民科小石头 2023-06-29 19:10 采纳率: 36.4%
浏览 13
已结题

关于#51单片机#的问题:代码下载到51板子(AT89C52)后数码管只显示了左边一位

如图所示,代码下载到51板子(AT89C52)后数码管只显示了左边一位。(我想显示学号后8位。)是哪里写错了呢?

#include<reg52.h>
#include<stdio.h>
#include<intrins.h>
sbit A=P2^2;
sbit B1=P2^3;
sbit C=P2^4;
sbit beep=P2^5;
unsigned char sno[]={0x3F,0x3F,0x4F,0x3F,0x3F,0x07,0x4F,0x3F};

void printsno(unsigned char location)
{
    switch(location)
    {
        case 0:C=1;B1=1;A=1;break;
        case 1:C=1;B1=1;A=0;break;
        case 2:C=1;B1=0;A=1;break;
        case 3:C=1;B1=0;A=0;break;
        case 4:C=0;B1=1;A=1;break;
        case 5:C=0;B1=1;A=0;break;
        case 6:C=0;B1=0;A=1;break;
        case 7:C=0;B1=0;A=0;break;
    }
    P0=sno[location];
    Delay1ms();        
}

void main()
{
    unsigned char i;
    beep=0;
    for(i=0;i<8;i++)
    {
        printsno(i);
    }
    while(1)
    {
    }
}

  • 写回答

2条回答 默认 最新

  • 智者知已应修善业 2023-06-29 19:19
    关注

    动态数码管必须不停刷新,静态数码管送一次即可。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 7月10日
  • 已采纳回答 7月9日
  • 创建了问题 6月29日

悬赏问题

  • ¥15 phython如何实现以下功能?查找同一用户名的消费金额合并—
  • ¥15 孟德尔随机化怎样画共定位分析图
  • ¥18 模拟电路问题解答有偿速度
  • ¥15 CST仿真别人的模型结果仿真结果S参数完全不对
  • ¥15 误删注册表文件致win10无法开启
  • ¥15 请问在阿里云服务器中怎么利用数据库制作网站
  • ¥60 ESP32怎么烧录自启动程序
  • ¥50 html2canvas超出滚动条不显示
  • ¥15 java业务性能问题求解(sql,业务设计相关)
  • ¥15 52810 尾椎c三个a 写蓝牙地址