本帖最后由 lmjnkj 于 2014-4-23 23:02 编辑
include<reg52.h>
#include<intrins.h>
sbit D14=P1^4;
sbit D24=P2^4;
sbit D25=P2^5;
sbit D26=P2^6;
sbit D27=P2^7;
unsigned char da_l,da_h,i;
volatile unsigned char e;
void delay();
void main()
{
TMOD=0X01;
EA=1;
ET0=1;
TH0=0xb1;
TL0=0xe0;
TR0=1;
P0=0Xff;
D27=1;
D27=0;
D14=1;
P0=0X00;
da_l=0xff;//164输出高电平有效
//下面循环程序是将164从Q7到Q0全总部输出为高电平
for(i=0;i<8;i++)
{
D24=0;
D25=da_l&0x80;
D24=1;
da_l<<=1;
}
P0=0XFF;
D26=1;
da_h=0xfe; //Y为低电平有效
while(1);
}
void time0(void) interrupt 1
{
TH0=0xb1;
TL0=0xe0;
e++;
if(e==50)
{
e=0;
P0=da_h;
da_h=_crol_(da_h,1);//循环移位程序
}
P0=0XFF;
} |