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

📄 chengxu.c

📁 对射计数传感器
💻 C
字号:
#include <reg52.h>
#define uchar unsigned char
#define uint  unsigned  int	
uchar duan[10]={0xc0,0Xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};	 //所需的段的位码
//uchar wei[4]={0XEf,0XDf,0XBf,0X7f};                                 //位的控制端	(开发板)
uchar wei[4]={0X80,0X40,0X20,0X10};                                 //位的控制端	(仿真)
uint z,x,c,v, date;	//定义数据类型
uint dispcount=0;
/******************************************************************

延时函数

******************************************************************/
void delay(uchar t)
{
  uchar i,j;
   for(i=0;i<t;i++)
   {
   	 for(j=13;j>0;j--);
	 { ;
	 }
   }
}

/**********************************************************************
                数码管动态扫描
*********************************************************************/
void xianshi()
 { 
 /*****************数据转换*****************************/ 
  z=date/1000;			 //求千位
  x=date%1000/100;		 //求百位
  c=date%100/10;		 //求十位
  v=date%10;			 //求个位

      P2=wei[0];
	  P0=duan[z];
	  delay(50);  
  	  P2=wei[1];
      P0=duan[x];
	  delay(50);  
   	  P2=wei[2];
      P0=duan[c];
	  delay(50);  
      P2=wei[3];
      P0=duan[v];
	  delay(50);  
 			               

       }

 /*************************************************************************
                                主函数	
**************************************************************************/
void ExtInt0() interrupt 0 //中断服务程序
{
dispcount++; //每按一次中断按键,计数加一
if (dispcount==9999) //计数范围0-9999
{dispcount=0;}
}

 /*************************************************************************
                                主函数	
**************************************************************************/
 void main()
{  

TCON=0x01; //中断设置
IE=0x81;

 while(1)
	{	  
    date=dispcount;
	xianshi();
    }
}				


									  

⌨️ 快捷键说明

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