求51单片机驱动P10单元板左移程序C语言

求51单片机驱动P10单元板左移程序C语言,第1张

LZ的问题确实没说明白,不过,就当你是P1口的左移了;

#include"reg52h"

#define uchar unsigned char

#define uint unsigned int

void Delay(uint delay_time)

{

uchar i;

for(;delay_time;delay_time--)

for(i=0;i<200;i++);

}

void main()

{

uchar LED_play;

while(1)

{

P1=1<<LED_play;

Delay(20);

LED_play=++LED_play%8;

}

}

# include "reg51h" // 包含头文件

#define uchar unsigned char

void delay02s(void) // 延时02s子程序

{

unsigned char i,j,k;

for ( i=2;i>0;i-- )

for (j=200;j>0;j-- )

for (k=250;k>0;k-- );

}

void main (void) // 主函数

{

uchar i,j;

while (1) // 死循环

{

j=0x01; // j初始化为0x01,左移初始值

for(i=0;i<8;i++) // for循环语句,完成8个循环

{

P1= ~ j; // 对变量j 中的值按位取反后,从P1口输出

delay02s( ); // 延时02s

j= j<<1; // 左移1位

}

j=0x80; // 设置右移初始值j为0x80

for (i=0;i<8;i++)

{

P1= ~ j;

delay02s( );

j= j>>1; // 右移1位

}

}

}

左移一位相当于乘2,右移一位相当于除2,异或一次相当于加密,再异或一次(用原来的数)就得到了原先的数,相当于解密。

按位或

可把指定的位设为1

按位异或

可把指定的位变反

按位与

可把指定的位清0

按位左移

按位右移

乘除运算

按位左移、按位右移

可以代替2的乘除法

按位的左移和右移要看是否越界的问题一般用于整数的处理

以上就是关于求51单片机驱动P10单元板左移程序C语言全部的内容,包括:求51单片机驱动P10单元板左移程序C语言、C语言和单片机中的左移右移、C程序中,左移"<<"、右移">>" 的具体用法是什么等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9679428.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存