#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
#define PORT P3
#define dula_h P2|=0x40
#define dula_l P2&=0xbf
#define wela_h P2|=0x80
#define wela_l P2&=0x7f
sbit cs=P2^0;
sbit rd=P2^1;
sbit wr=P2^2;
uchar read;
uchar table[]={ //共阳数码管
0xc0,0xf9,0xa4,0xb0,
0x99,0x92,0x82,0xf8,
0x80,0x90,0x88,0x83,
0xc6,0xa1,0x86,0x8e};
void delayms(uint x)
{
uint y,z;
for(y=x;y>0;y--)
for(z=110;z>0;z--);
}
void show()
{
dula_l;
wela_l;
PORT=0x80;
wela_h;
wela_l;
PORT=table[read%10];
dula_h;
dula_l;
delayms(1);
PORT=0x40;
wela_h;
wela_l;
PORT=table[read%100/10];
dula_h;
dula_l;
delayms(1);
PORT=0x20;
wela_h;
wela_l;
PORT=table[read/100];
dula_h;
dula_l;
delayms(1);
PORT=0x10;
wela_h;
wela_l;
PORT=table[0];
dula_h;
dula_l;
delayms(1);
PORT=0x08;
wela
51单片机(AT89C52)A/D转换
最新推荐文章于 2022-06-24 21:26:53 发布
本文详细介绍了51单片机AT89C52如何进行A/D转换,包括转换原理、步骤及实践应用,帮助读者掌握基本的模拟信号到数字信号的转换技巧。
摘要由CSDN通过智能技术生成