找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5943|回复: 6
收起左侧

为什么单片机+数码管不显示数字

[复制链接]
ID:253022 发表于 2017-12-7 17:15 | 显示全部楼层 |阅读模式
这是我的代码,数码管的电平是一直有变化的,但就是不显示数字 微信图片_20171207171454.jpg

  1. #include <reg52.h>
  2. #include <intrins.h>
  3. #define uchar unsigned char
  4. #define uint unsigned int
  5.     uchar code shuzi[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};

  6.     void delayms (uint z)
  7.     {  uint x,y;
  8.      for(x=z;x<=110;x++)
  9.       for(y=110;y<110;y++);
  10.     }

  11.     void display()
  12.     {
  13.     uint i,wela=0X80;
  14.    
  15.     for(i=0;i<8;i++)
  16.     { P2=0xff;
  17.       P0=shuzi[i];
  18.       wela=_crol_(wela,1);
  19.       P2=wela;   
  20.       delayms(30);
  21.     }   
  22.     }

  23.     void main()
  24.     {
  25.     while(1)display();
  26.     }
复制代码
回复

使用道具 举报

ID:258735 发表于 2017-12-7 17:47 | 显示全部楼层
会不是是共阴共阳的问题
回复

使用道具 举报

ID:82765 发表于 2017-12-7 17:48 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

ID:258566 发表于 2017-12-7 18:53 | 显示全部楼层
图上数码管型号是-ca-blue
ca就是共阳的

三极管有问题, npn的管子换成pnp的试试,发射极接电源。集电极接数码管各位段。
回复

使用道具 举报

ID:258776 发表于 2017-12-7 19:26 | 显示全部楼层
bzd
回复

使用道具 举报

ID:253022 发表于 2017-12-7 23:54 | 显示全部楼层
好像是延时的问题,我在段选后加了个延时函数,数码管就显示了
回复

使用道具 举报

ID:258921 发表于 2017-12-8 09:15 | 显示全部楼层
是共阴和共阳的问题,你用的是共阳 uchar code shuzi[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};,但是数码管接的是共阴
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表