⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 shu_ma_guan.c

📁 一个很有意思的单片机实验
💻 C
字号:
/*********************************************
实验任务:学习数码管的动态显示
实验功能:数码管显示1028四个数字
*********************************************/


#include<AT89X52.h>

code unsigned char seg7code[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,
                               0x82,0xf8,0x80,0x90,0xff}; //共阳数码管段码


//***********************************************************

//                     延时子程序

//************************************************************
void delay1ms()
{
 unsigned char i;
 for(i=124;i>0;i--);  //延时124*8+10=1002us
}

//***********************************************************

//显示函数,显示四位的date数据

//P2口接段码,P1.0-P1.3接位选

//************************************************************

void LED_display(int date)  //显示4位数
{
 P1=0xfe;     //P1.0=0,选通第一位
 P2=seg7code[date/1000];  //取出千位,查表,输出
 delay1ms();
 P2=0xff;        //消隐

 P1=0xfd;     //P1.1=0,选通第二位
 P2=seg7code[date%1000/100];
 delay1ms();
 P2=0xff;       //消隐

 P1=0xfb;     //P1.3=0,选通第三位
 P2=seg7code[date%100/10];
 delay1ms();
 P2=0xff;         //消隐

 P1=0xf7;     //P1.3=0,选通第四位
 P2=seg7code[date%10];
 delay1ms();
 P2=0xff;       //消隐
}

main()
{
  int display_date=1028;      //显示"1028"四个数字
  while(1)
   {
    LED_display(display_date);
   }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -