作业帮 > 综合 > 作业

您好,老师void main() { a=0xfe; while(1) { P1=a; delay(900); a=_c

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/04/29 02:39:59
您好,老师void main() { a=0xfe; while(1) { P1=a; delay(900); a=_crol_(a,1); } }怎么接着右移呢.
在这个程序中,左移完了,怎么接着右移呢
单片机用C程序void main() { a=0xfe; while(1) { P1=a; delay(900); a=_crol_(a,1); } }怎么接着右移,要增加什么语句呢
问题不够详细,你要右移哪个变量呢?另外函数_crol_(a,1)你没说明它的功能.
我猜测一下吧:_crol_(a,1)是将参数a右移一位,在循环内一直执行左移操作.
第一次左移高位溢出,左移的结果到最后是a=0x00, 如果接着右移的话增加语句:a=a>>1;
左移完接着右移一直在0xee和0xfc之间变换.不知道你这样操作有什么意义?
再问: #include #include #define uint unsigned int #define uchar unsigned char void delay(uint); uchar a,b; void delay(uint x) { uint i,j; for(i=x;i>0;i--) for(j=110;j>0;j--); } void main() { a=0xfe; while(1) { P1=a; delay(900); a=_crol_(a,1); } }怎么才能紧接着右移,而且是左移,右移循环