七段数码管显示四位数字

发布者:雅致小筑最新更新时间:2016-09-24 来源: eefocus关键字:七段数码管  四位数字 手机看文章 扫描二维码
随时随地手机看文章
七段数码管显示四位数字的C代码:

#include
 //#include
 unsigned char a,b,c,d;
 unsigned char code dispbitcode[]={0x10,0x20,0x40,0x80,0x00};//共阴位码
 unsigned char code dispcode[]= { 0X3F,/*0*/
        0X06,/*1*/
        0X5B,/*2*/
        0X4F,/*3*/
        0X66,/*4*/
        0X6D,/*5*/
        0X7D,/*6*/
        0X07,/*7*/
        0X7F,/*8*/
        0X6F,/*9*/};//共阴段码
/*************延时子程序*******************************/
 void delay(unsigned int x) //最小1毫秒
{
 unsigned char j;
 while(x--)
 {
  for(j=0;j<125;j++)
  {;}
 }
}
/***************显示子程序**********************/
void display(unsigned char qian,unsigned char bai,unsigned char shi,unsigned char ge)

  P3=dispbitcode[0];
  P0=dispcode[qian]; //显示千位
    delay(5);
  //P3=dispbitcode[5];
  //P2=dispcode[11]; 
  P3=dispbitcode[1];
  P0=dispcode[bai]; //显示佰位
    delay(5);
  //P3=dispbitcode[5];
  //P2=dispcode[11]; 
  P3=dispbitcode[2];
  P0=dispcode[shi]; //显示十位
    delay(5);
  //P3=dispbitcode[5];
  //P2=dispcode[11]; 
  P3=dispbitcode[3];
  P0=dispcode[ge]; //显示个位
    delay(5);
}
void main(void)
{
  while(1)
  {
  unsigned int abcd=1024;   //一定要注意数据类型之前我一直用的是char(0^225)导致千位无法显示
       a=abcd/1000;//送去显示
       b=abcd%1000/100;
       c=abcd%1000%100/10;
    d=abcd%1000%100%10;
       display(a,b,c,d);
  }
}

仿真电路:

七段数码管显示四位数字 - 楚人 - 楚人
关键字:七段数码管  四位数字 引用地址:七段数码管显示四位数字

上一篇:8x8 LED 矩阵显示
下一篇:51模拟交通灯实验

小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved