0809dianyabiao.c

来自「用单片机+0809做的电压表」· C语言 代码 · 共 91 行

C
91
字号
#include<absacc.h>
#include<reg51.h>

#define uchar unsigned char
#define uchar unsigned char
#define uint  unsigned int
sbit START=P3^0;
sbit OE=P3^1;
sbit EOC=P3^2;
sbit CLCK=P2^7;
uchar data  led[4];
uint data  tvdata;    

uchar code  tv[]={0xfe,0xfd,0xfb,0xf7};
uchar code  a[]={0x3f,0x06,0x5b,0x4f,
                 0x66,0x6d,0x7d,0x07,0x7f,0x6f};
                     

void delay(void)                      //延时程序
{
  uint i;
  for(i=0;i<10;i++);
}


void ledxianshi(void)       //显示模块
{
  uchar k,i;
  led[0]=tvdata%10;
  led[1]=tvdata/10%10;
  led[2]=tvdata/100%10;
  led[3]=tvdata/1000;
		
  for(k=0;k<4;k++)
  { 
   P2=tv[k];
   i=led[k];
   P1=a[i];
   delay();
  }
} 





void main(void)
{
  TMOD=0x01;
  TH0=0x20;
  TL0=0x20;
  TR0=1;
  EA=1;


 
  while(1)
  {

   START=1;
   START=0;          //启动转换
   while(EOC==0);
   OE=1;
   tvdata=P0;
   OE=0;

     ledxianshi();
     delay();
   }
}     
    
	
 void timer0 () interrupt 1
  {
   
   CLCK=~CLCK;
 }

	
	

  
       

       
	   
	                      
 
  

    

⌨️ 快捷键说明

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