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

📄 dianya.c

📁 数字电压表.rar
💻 C
字号:
 #include"reg52.h"
#include"intrins.h"
#define ad_con  P2
#define addata  P0
#define Disdata P1
#define uchar unsigned char
#define uint  unsigned int
//sbit button_C=P2^7;
sbit   ALE=P2^3;
sbit   START=P2^4;
sbit   OE=P2^5;
sbit   EOC=P2^6;
sbit AddA=P2^0;
sbit AddB=P2^1;
sbit AddC=P2^2;
bit keynum;
bit keyon;
unsigned char add_howl;
uchar code dis_7[11]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
/*共阳7段LED断码表 “0”,“1”,“2”,“3”,“4”,“5”,“6”,“7”,“8”,“9”,“不亮”*/
uchar code scan_con[4]={0xfe,0xfd,0xfb,0xf7};                           //4位列扫描控制字
uchar data ad_data;        //定义数据内存单元
uint  data dis[5]={0x00,0x00,0x00,0x00,0x00}; 
uchar ledcode[4]; 
uint n,m;              //定义4个显示数据单元和1个数据占存单元
/********************1ms延时子函数*************/
/*delay1ms(uint t)
{
 uint i,j;
 for(i=0;i<t;i++)
    for(j=0;j<120;j++)
	;
}
*/
void delayms(unsigned char ms)    // 延时毫秒@12M,ms最大值255  精确度高  
{    
    unsigned char i;    
    while(ms--)    
        for(i = 0; i < 124; i++);    
}   



scan(unsigned char dat,bit mv) //数码管显示 
{
   uchar data i=0x00,j=0x00; 
   dis[2]=dat/51;
   dis[4]=dat%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;
   if(mv==0)
   {
        ledcode[0]=dis_7[dis[0]];
        ledcode[1]=dis_7[dis[1]];
        ledcode[2]=dis_7[dis[2]]-0x80;  //共阳极
        ledcode[3]=dis_7[dis[3]];
   }
 
	    for(i = 0; i < 4; i++)    //扫描
    {    
          P3 = scan_con[j];            
          P1 = ledcode[i];     
          delayms(1);    
          j++;
    } 
    j=0;
 }        
test(unsigned char Add) //输入通道 Add=0 通道0;    Add=1  通道1;
{
AddA=Add;
AddB=0;
AddC=0;
ALE=1;_nop_();_nop_();ALE=0;
START=1;_nop_();_nop_();START=0;
_nop_();_nop_();_nop_();_nop_();
while(EOC==0);
OE=1;ad_data=addata;OE=0;
ad_con=0xc0;
}       
main()
{ 
dis[3]=0;
P0=0xff;
P2=0xc0;
P1=0xff;
P3=0xff;
while(1)
   { 
   
    
    if(keynum==0)
    {  
        test(0);
        scan(ad_data,keynum); 
    }
  
    
	}
}

⌨️ 快捷键说明

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