当前位置:首页 > 单片机 > 单片机
[导读]#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&=0x7fsbit cs=P2^0;sbit rd=P2^1;sbit wr

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

}

}

 

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读
关闭