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

📄 08092.txt

📁 这个是我写的一个基于8051的电气测试仪的原代码!
💻 TXT
字号:
#include <reg52.H>
#include <intrins.h>
//#include <wait.h>

unsigned char code led_dispcode[]={ 0x3f,0x06,0x5b,0x4f,0x66, 
                               		0x6d,0x7d,0x07,0x7f,0x6f};
unsigned dispbit_select[4]={0xfe,0xfd,0xfb,0xf7};
unsigned data dis[5]={0x00,0x00,0x00,0x00,0x00};
unsigned char getdata;

sbit ST=P3^0;
sbit OE=P3^1;
sbit EOC=P3^2;
sbit CLK=P3^3;
/*
void delay(short i)
{
i = i;
#pragma asm
	   
	   PUSH B
	   PUSH ACC
	   MOV B,#0FFH
DELAY: NOP
	   NOP
	   DJNZ B,DELAY
	   POP ACC
	   POP B
#pragma endasm

}
*/
void  read_adc0809(void)
{
	P0 = 0XFF;
	ST = 1;
	ST = 0;
	_nop_();
	while(EOC == 0);
	OE = 1;
	getdata = P0;
	OE = 0;
}

void display(void)
{
	unsigned char k;

	dis[4]=getdata;
	dis[3]=dis[4]/51;  
	dis[4]=dis[4]%51;
	dis[4]=dis[4]*10;
	dis[2]=dis[4]/51;
	dis[4]=dis[4]%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(k = 0;k < 4;k++)
	{
		P1=led_dispcode[dis[k]];
		if(k == 3){P1 = P1|0x80;}  
		P2 = dispbit_select[k];
		//Delay8us();
		P2 = 0xff;
	}  
}

void main(void) 
{
	TMOD = 0x02;
	TH0 = 246;
	TL0 = 246;
	ET0 = 1;
	TR0 = 1;
	EA = 1;
		
	ST = 0;
	OE = 0;

  	while(1)
  	{
		read_adc0809();
		display();
	} 
} 
void t0(void) interrupt 1 //using 0
{
	CLK = CLK^0x01;
}

⌨️ 快捷键说明

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