导航菜单
首页 >  » 正文

单片机流水灯C语言程序(8个灯,依次点亮每个灯,延时500MS) 单片机子地址位地址问题

单片机流水灯C语言程序(8个灯,依次点亮每个灯,延时500MS)

单片机流水灯C语言程序的源代码如下:
#include //51系列单片机定义文件
#define uchar unsigned char //定义无符号字符
#define uint unsigned int //定义无符号整数
void delay(uint); //声明延时函数
void main(void)
{
uint i;
uchar temp;
while(1)
{
temp=0x01;
for(i=0;i<8;i++) //8个流水灯逐个闪动
{
P1=~temp;
delay(100); //调用延时函数
temp<<=1;
}
temp=0x80;
for(i=0;i<8;i++) //8个流水灯反向逐个闪动
{
P1=~temp;
delay(100); //调用延时函数
temp>>=1;
}
temp=0xFE;
for(i=0;i<8;i++) //8个流水灯依次全部点亮
{
P1=temp;
delay(100); //调用延时函数
temp<<=1;
}
temp=0x7F;
for(i=0;i<8;i++) //8个流水灯依次反向全部点亮
{
P1=temp;
delay(100); //调用延时函数
temp>>=1;
}
void delay(uint t) //定义延时函数
{
register uint bt;
for(;t;t--)
for(bt=0;bt<255;bt++);
}

扩展资料
51单片机流水灯的源代码如下
#include<reg51.h>
#include<intrins.h>
void delay(int a)
{
int i;
while(a--)for(i=0;i<110;i++);
}
main()
{
int i;
while(1)
{
P0=0xfe;
for(i=0;i<8;i++)
{
P0=_crol_(P0,1);
delay(500);
}
}
}

单片机子地址位地址问题

1.单片机从20H到2FH的16个字节单元,共128位可以按位寻址,对应位寻址空间00H到7FH,所以位地址为40H的单元地址为40H/8+20H=28H; 另外特殊功能寄存器中,有16个可以位寻址,查一下表格就行了88H对应的字节地址也为88H 2.同理2AH-20H=0AH,0AH*8=50H 88H查表,对应的为88H 特殊功能寄存器的位寻址有规律可循,需要记忆

相关推荐: