问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

单片机试验数码管上如何显示数字

发布网友 发布时间:2022-04-19 19:42

我来回答

2个回答

热心网友 时间:2023-06-25 07:18

  解决方法:
  试验数码管上显示数字( 单片机直接实现位选 共阴极) 。
  解决方式:
  连接方法:P0与J12 用8PIN排线连接 P1与JP16 用排线连接 。
  代码:

  #include<reg52.h>
  #define uint unsigned int
  #define uchar unsigned char
  void delay(uint z)
  {
  uint x,y;
  for(x=z;x>0;x--)
  {
  for(y=0;y<113;y++)
  {
  }
  }
  }
  unsigned int code dbit[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdF,0xbF,0x7F};
  unsigned int code num[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40};
  void main()
  {
  while(1)
  {
  P1=dbit[4];
  P0=num[9];
  }
  }

  位定义
  #include<reg52.h>
  #include<intrins.h>
  #define uint unsigned int
  #define uchar unsigned char
  sbit LSA=P2^2;
  sbit LSB=P2^3;
  sbit LSC=P2^4;
  uchar code num[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
  void delay(uint z)
  {
  uint x,y;
  for(x=z;x>0;x--)
  {
  for(y=0;y<113;y++)
  {
  }
  }
  }
  void main()
  {
  while(1)
  {
  LSA=0;
  LSB=0;
  LSC=0;
  P0=num[6];
  delay(2);
  LSA=1;
  LSB=0;
  LSC=0;
  P0=num[6];
  delay(2);
  }
  }

  //让八个数码管全部亮并且从0~9循环
  #include<reg52.h>
  #include<intrins.h>
  #define uint unsigned int
  #define uchar unsigned char
  uchar num;
  uchar wnum=0x00;
  uchar code dbit[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//段选,选择要显示的数字
  //uchar code wnum[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdF,0xbF,0x7F};//八位数码管
  void delay(uint z)
  {
  uint x,y;
  for(x=z;x>0;x--)
  {
  for(y=0;y<113;y++)
  {
  }
  }
  }
  void main()
  {
  P1=wnum;
  while(1)
  {
  for(num=0;num<10;num++)
  {
  P0=dbit[num];
  delay(500);
  }
  }
  }

热心网友 时间:2023-06-25 07:18

0x7f的8位二进制数是01111111,与字模相与(&)之后会亮,这说明共阳LED数码管小数点属于字模编码的最高位,如果最高位为0小数点则亮。而字模编码的小数点默认都是不亮的。如数字0的字模~0x3F按位取反后的二进制数是11000000,最高位为1小数点不亮,那么11000000与上述01111111相与的结果是01000000,最高位变为0小数点也就亮了。还有:
数字1的字模~0x06按位取反后的二进制数是11111001,最高位为1;
数字2的字模~0x5B按位取反后的二进制数是10100100,最高位为1;
。。。。。。
其它的字模你自己看看最高位都是1。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
电脑常用的系统是常见的电脑操作系统有哪些 电脑有哪些系统软件电脑都有哪些系统 csgo箱子开哪个性价比高-七种高性价比箱子详情介绍 word的空白页怎么删除不了word中空白页删不掉解决方法 word空白页怎么删除不了 删除不掉解决方法 word空白页怎么删除不了word中为什么空白页删不掉 word中删除空白页怎么删word空白页删除不掉咋办 表白两次她都说我们继续做朋友,我还有机会吗? 糖尿病人运动最佳方式 糖尿病的人要怎样运动 51单片机的共阴数码管怎么显示数字(c语言)知道 如何用51单片机用一位数码管显示对应数字? 单片机两位数码管显示数字 单片机数码管如何显示数字? 怎么用光影魔术手制作2寸蓝底证件照? 如何用ps做2寸蓝底证件照 拍二寸蓝底证件照需要注意什么? 怎么用ps制作蓝底2寸的照片 非常感谢 求助:怎么把自拍的照片改成证件照似的蓝底2寸照? 怎么把自己拍在照片做成蓝底2寸证件照?急急急~~~~~~ 在家可以制作蓝底免冠2寸的照片吗? 大学毕业证书照,2寸蓝底,可以自己用手机拍再去冲... 蓝底的二寸照片穿什么颜色的衣服照好看 如何把照片做成二寸蓝底照片 二寸蓝底照的尺寸是多少,蓝色的色值是多少 有谁会制作证件照,2寸蓝底 怎么做一张电子版的二寸蓝底照片 迅雷投屏画质 微粒贷借了三笔,如果我提前还完一笔,这一笔还能... 微信微粒贷还了多久可以拿出来 51单片机怎样用键盘控制数码管显示 51单片机怎么用按键控制一个数码管,按一下显示一... 怎么用单片机汇编语言数码管静态显示1234?? 80C51单片机 进人计数 如何让四位数码管显示数字? 单片机数码管显示0到9 单片机怎么用数码管显示大于255的数字? 如何利用单片机让4位数码管显示? 单片机数码管如何从1显示到9? 单片机汇编语言数码管显示数字。。。。 怎样单独控制51单片机中数码管显示数字? 51单片机共阴数码管利用静态显示,让六个数码管显... 51单片机数码管怎样才能同时在两个数码管上面显示... 单片机数码管显示,为什么我的数码管上的数字一闪... 迅雷投屏没有声音怎么设置 迅雷投屏初始化失败怎么办 公司分红怎么算? 公司股份分红怎么计算的 小企业股东分红怎么算 我入了一家公司百分之十的股份花了15万分红该怎么算? 公司入股分红怎么算?我所占的股份百分比怎么算?