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

📄 v.c

📁 电子时钟的单片机设计
💻 C
字号:
#include <REGX52.H>
#include<absacc.H>
unsigned code table[]={	0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,
						0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10};
long int	n[4]={0},j;	
double i=0.;
unsigned int m;

void main()
{
	IT1=0;
	EX1=1;
	IT0=0;
	EX0=1;
	EA=1;
//	PX1=1;
	for(;;);
}
void loop0()interrupt 2 using 0
{
	P2=0x90;			//P2.4接OE,置高,允许转换;P2.0、P2.1、P2.2接adc的地址a0、a1、a2,这里选择 IN0	
	P2=0x98;			//P2.3接ALE	给一上升沿锁存地址;
	P2=0xb8;			//p2.5接start,给一上升沿,使内部逐次逼近寄存器复位
	P2=0x98;			//start下降沿,开始转换;
}
						//转换结束后,eoc触发外部中断0
void loop()interrupt 0 using 0
{

	m=P1;				//读取转换结果
	i=m;
	i=(i*10000)/255;
	n[3]=((int)i)/10000;
	n[2]=((int)i%10000)/1000;
	n[1]=((int)i%1000)/100;
	n[0]=((int)i)%100/10;
	XBYTE[0xffec]=table[n[3]];		//输出显示
	XBYTE[0xffed]=table[n[2]+10];
   	XBYTE[0xffee]=table[n[1]];
	XBYTE[0xffef]=table[n[0]];
	for(j=0;j<=255;j++);			//显示延迟
	P2=0x10;		 				//p2.7接p3.3,触发外部中断1,开始下一轮转换
}

⌨️ 快捷键说明

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