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

📄 text1.c

📁 数字电压表.rar
💻 C
字号:
 #include"reg52.h"
#include"intrins.h"
#define ad_con  P2
#define addata  P0
#define Disdata P1
#define uchar unsigned char
#define unit  unsigned int
sbit   ALE=P2^3;
sbit   START=P2^4;
sbit   OE=P2^5;
sbit   EOC=P3^7;
sbit   DISX=Disdata^7;
uchar code dis_7[11]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xff};
/*共阳7段LED断码表 “0”,“1”,“2”,“3”,“4”,“5”,“6”,“7”,“8”,“9”,“不亮”*/
uchar code scan_con[4]={0xfe,0xfb,0xfb,0xf7};                           //4位列扫描控制字
uchar data ad_data[8]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};        //定义8个数据内存单元
unit  data dis[5]={0x00,0x00,0x00,0x00,0x00};                //定义4个显示数据单元和1个数据占存单元
/********************1ms延时子函数*************/
delay1ms(unit t)
{
 unit i,j;
 for(i=0;i<t;i++)
    for(j=0;j<120;j++)
	;
}
//
scan()
{
 uchar k,n;
 int h;
 dis[3]=0x00;
 for(n=0;n<8;n++)
 {
   dis[2]=ad_data[n]/51;
   dis[4]=ad_data[n]%51;
   dis[4]=dis[4]*10;
   dis[1]=dis[4]/51;
   dis[4]=dis[4]%51;
   dis[4]=dis[4]*10;
   dis[0]=dis[4]/51;
   for(h=0;h<500;h++)
   {
     for(k=0;k<4;k++)
	 {
	  Disdata=dis_7[dis[k]];
	  if(k==2){DISX=0;}
	  P3=scan_con[k];delay1ms(1);P3=0xff;
	  }
   }
    dis[3]++;
 }
}        
test()
{
uchar m;
uchar s=0x00;
ad_con=s;
for(m=0;m<8;m++)
   {
   ALE=1;_nop_();_nop_();ALE=0;
   START=1;_nop_();_nop_();START=0;
   _nop_();_nop_();_nop_();_nop_();
   while(EOC==0);
   OE=1;ad_data[m]=addata;OE=0;s++;ad_con=s;
   }
 ad_con=0x00;
}        
main()
{
P0=0xff;
P2=0x00;
P1=0xff;
P3=0xff;
while(1)
   {
     scan();
	 test();
	}
}

⌨️ 快捷键说明

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