兰州大学萃英电子联盟 2023-07-12 20:48 采纳率: 88.9%
浏览 51
已结题

51 单片机数码管显示不正常

51单片机在使用数码管的时候,若使用自定义函数则会出现如图所示情况

img

要实现的效果是利用switch语句来实现第几个数码管显示什么数字
代码如下 理想结果是应该只有第二个灯显示数字1

#include <REGX52.H>
void Nixie(unsigned char Location,unsigned char number)
{
    switch(Location)
    {
        case 1:P2_4=1;P2_3=1;P2_2=1;break;
        case 2:P2_4=1;P2_3=1;P2_2=0;break;
        case 3:P2_4=1;P2_3=0;P2_2=1;break;
    }
    P0=0x06; 
}
void main()
{
    Nixie(2,2);
}

即使不使用switch语句也是同样的结果,但是放在主函数里写显示正常

  • 写回答

2条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-07-12 22:28
    关注
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 7月20日
  • 已采纳回答 7月12日
  • 创建了问题 7月12日