电子大神的日记本,供应链专家的功夫茶盘,在这里记录、分享与共鸣。

登录以开始

实验8-数码管扫描

include "reg51.h"

/********************/
unsigned char table[]=
   {0x 3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
   //共阴数码管 0-9 表
/********************/  
sbit seclet_A = P1^0; //管脚定义 74-138 3-8 控制信号线
sbit seclet_B = P1^1;
sbit seclet_C = P1^2;
/********************/  //宏定义  

define  SM_1  seclet_C=0;seclet_B=0;seclet_A=0

define  SM_2  seclet_C=0;seclet_B=0;seclet_A=1

define  SM_3  seclet_C=0;seclet_B=1;seclet_A=0

define  SM_4  seclet_C=0;seclet_B=1;seclet_A=1

define  SM_5  seclet_C=1;seclet_B=0;seclet_A=0

define  SM_6  seclet_C=1;seclet_B=0;seclet_A=1

define  SM_7  seclet_C=1;seclet_B=1;seclet_A=0

define  SM_8  seclet_C=1;seclet_B=1;seclet_A=1

/******************************/
void delay(unsigned int d_time);
     //延时子函时,
/***************/  
void main(void) 
{
 unsigned char i;  //定义循环变量
 while(1)
 {
  SM_8;    //点亮第八个数码管
  for(i=0;i<10;i++) //循环显示0-9
  {  
   P2=table[i]; //P2 作为数据传输端口
   delay(30000); //延时
  }
 }
}
/*******************************/
//延时子函数
//参数范围 0-65536
void delay(unsigned int d_time)   //参数 d_time 大小
{            //决定延时时间长短

 for(; d_time>0; d_time--);
}

 

博主
zhaoliang_0801@dl.cn
艾米电子工作室
zl0801
点击跳转