共阴led和共阳led的应用.c

来自「基于Proteus的51系列单片机设计与仿真」· C语言 代码 · 共 58 行

C
58
字号
/****************************************************************************
   共阴LED和共阳LED的应用
***************************************************************************/
#include<reg51.h>
#define uint unsigned int
#define uchar unsigned char
uchar j;
uchar t;
uint n;
const uchar tab1[]={0X3F,0X06,0X5B,0X4F,0X66, /*共阴0~9*/
                   0X6D,0X7D,0X07,0X7F,0X6F,};
const uchar tab2[]={0Xc0,0Xf9,0Xa4,0Xb0,0X99, /*共阳0~9*/
                   0X92,0X82,0Xf8,0X80,0X90,};                    
/*************************延时函数*****************************************/
void delay(uint n)
{   uint i;
         for(i=0;i<n;i++);
        for(i=0;i<n;i++);
        for(i=0;i<n;i++);
        for(i=0;i<n;i++);
}
/***************************外部中断0函数***********************************/
void Int0_server_(void) interrupt 0    
{    
	uchar a;
		a=tab2[j];
	    P1=a;  
}
/****************************外部中断1函数*******************************/
void Int1_server_(void) interrupt 2  
{	
	P1=0x00;            // 清除数码管2显示的值
}
/****************中断初始化******************************************/
void Init_Int(void)    
{
      EX0=1;         //打开外部中断0
	  IT0=1;         //下降沿触发中断INT0
      EX1=1;         //打开外部中断1
	  IT1=0;         //低电平触发中断INT1
      EA=1;          //全局中断允许
 }
/***************************主函数*******************************************/
void main(void)
{     
	P1=0x00;
    Init_Int();    // 中断初始化
	while(1) 
    	{     
			for(j=0;j<10;j++)
					 
				{	 
					P2=tab1[j];//数码管快速循环从0显示到9
 					delay(9000);  //延时				   
				}
		 }   
 }

⌨️ 快捷键说明

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