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

📄 1.c

📁 电压表课程设计
💻 C
字号:
/***************   writer:shopping.w   ******************/
#include <reg52.h>
#define uint unsigned int
#define uchar unsigned char

uchar code LEDData1[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
uchar code LEDData2[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef}; //0.~9.   共阳

sbit OE  = P1^0;
sbit EOC = P1^1;
sbit ST  = P1^2;
sbit CLK = P1^3;

sbit wei1 = P2 ^ 0;//数码管显示用
sbit wei2 = P2 ^ 1;
sbit wei3 = P2 ^ 2;
sbit wei4 = P2 ^ 3;

float x;
uchar a = 0, b = 0, c = 0,d=0,t = 0;
uchar temp=0;


void Delay(uint ms)
{
 	uchar i;
	while(ms--)
	{
	 	for(i=0;i<120;i++);
	}
}
void Display(void)//数码管显示
{
        wei4 = 0;//第4个数码管显示
		P0 =  LEDData1[d];	
		Delay(4);
		wei4 = 1;	        
	
        wei3 = 0;//第3个数码管显示
		P0 =  LEDData1[c];	
		Delay(4);
		wei3 = 1;

		wei2 = 0;//第2个数码管显示
		P0 =  LEDData1[b];
		Delay(4);
		wei2 = 1;

		wei1 = 0 ;//第1个数码管显示
		P0 =  LEDData2[a];	
		Delay(4);	
		wei1 = 1;

}


void AD0809()
{       
	
	   ST = 0;
		ST = 1;
		ST = 0;
		while(EOC == 0);
		    OE = 1;
	        temp=P3;
			Delay(10);
		    x = temp/51.0 ;//255转换成5V量程
	        a = x;
	        b = x*10-a*10;
	        c = x*100-a*100-b*10;
			d=  x*1000-a*1000-b*100-c*10;
		   OE = 0;


}
void T0_csh()
{
 	TMOD = 0x02;
	TH0  = 0x14;
	TL0  = 0x00;
	IE   = 0x82;
	TR0  = 1;
	}


void main()
{   T0_csh();
    P1   = 0x3f;
    while(1)
   {
    AD0809();
    Display();
    }
}

void Timer0_INT() interrupt 1
{
 	CLK = !CLK;
}

⌨️ 快捷键说明

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