这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » DIY与开源设计 » 设计工具 » AT89C52单片机A/D转换

共1条 1/1 1 跳转至

AT89C52单片机A/D转换

高工
2013-10-25 15:31:24     打赏

#include

#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_h;

wela_l;

PORT=table[0];

dula_h;

dula_l;

delayms(1);

PORT=0x04;

wela_h;

wela_l;

PORT=table[0];

dula_h;

dula_l;

delayms(1);

PORT=0x02;

wela_h;

wela_l;

PORT=table[0];

dula_h;

dula_l;

delayms(1);

PORT=0x01;

wela_h;

wela_l;

PORT=table[0];

dula_h;

dula_l;

delayms(1);

}

void main()

{

while(1)

{

cs=1;//A/D转换时序

wr=1;

cs=0;

wr=0;

wr=1;

cs=1;

delayms(1);

cs=1;//转换结果输出时序

rd=1;

cs=0;

rd=0;

read=P0;

delayms(1);

rd=1;

cs=1;

show();//数码管显示函数

delayms(10);

}

}




关键词: datasheet中文资料     datasheet p    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]