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

📄 两个数码管变化.c

📁 数码管显示
💻 C
字号:
/*********************************************************************/
//            
//                  采用8位LED动态扫描时钟演示程序
//                   cdz 2009.4.4    
/*********************************************************************/
//使用12MHZ晶振,P0口输出段码,P2口作列扫描,用共阳LED数码管
//
#include <reg51.h>
code char dis_7[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
/* 共阳LED段码表     "0"  "1"  "2"  "3"  "4"  "5"  "6"  "7"  "8"  "9"    */                
code char scan_con[2]={0x02,0x01};   // 列扫描控制字
data char disdata[2]={0x00,0x00};//计时单元数据初值,共2个
data char dis[2]={0x00,0x00};//显示单元数据,共2个数据
data char con1s=0x00; //1秒定时用

/****************/
//1毫秒延时程序//
/***************/
delay1ms(int t)
{
int i,j;
for(i=0;i<t;i++)
   for(j=0;j<120;j++)
   ;
}
//***********/
//扫描程序//
/**********/
scan()
{
char k;
for(k=0;k<2;k++)
 {
  P2=scan_con[k];P0=dis_7[dis[k]];delay1ms(1);P2=0x00;
  }
}
/*************/
//初始化程序//
/*************/
clearmen()
{
int i;
for(i=0;i<2;i++)
  {
   dis[i]=disdata[i];}
   TH0=0x3C;TL0=0xB0;// 	;50MS定时初值(T0计时用)
     TMOD=0X01;ET0=1;TR0=1;EA=1;//
}
/**********/
//主程序//
/*********/
main()
{
TMOD=0x01;
EA=1;
TH0=0x3C;
TL0=0xB0;
TR0=1;

clearmen();

while(1)
 {
   scan();
  }
}
/********************/
//1秒中断处理程序  //
/*******************/
void time_intt0(void) interrupt 1 
{
 TH0=0x3C;
 TL0=0xB0;
 con1s++;
if(con1s==20)
  {
   con1s=0x00;
   disdata[0]++;
   if(disdata[0]>=10)
    {
      disdata[0]=0;disdata[1]++;
	  if(disdata[1]>=6)
        { disdata[1]=0; }
	}
    dis[0]=disdata[0];dis[1]=disdata[1];
  }
}

⌨️ 快捷键说明

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