单片机c语言左移
答:delay02s( ); // 延时0.2s j= j<<1; // 左移1位 } j=0x80; // 设置右移初始值j为0x80 for (i=0;i<8;i++){ P1= ~ j;delay02s( );j= j>>1; // 右移1位 } } }
答:a = _crol_(a, 1); //左移1位.} for (i = 0; i < 8; i++) { //循环8次.P1 = a; delay(900);a = _cror_(a, 1); //右移1位.} } }
答:c的话 dat<<1 不是每秒循环左移,1代表左移1位,超出部分忽略 --- 常用的场合:u8 a;for( u8 i=0,j=0x01; i<8; i++,j<<=1 ){ if( a&j ){ //a的第i位为1 } } --- 运算的时候也常用到 左移一位 只要不超出范围 相当于×2 ...
答:主要用于位操作,用于移位,一般用于串行ad,da,时钟,存储器等数据处理,还有简单的流水灯,也可以用 a=a<<1 来完成
答:aa=_crol_(aa,1);这个就是调用函数的使用方法,这个是左移动一位,意思是把aa左移一位 在赋值给aa哦,这样再P2=aa;不就把移动的数据传到P2口了吗,懂了吧 } aa=0x7f;这个因要亮一个等 也是一样的道理0111 1111是吧 就是0x7f 啦 for(i=7;i>0;i--) //右移程序 { P2=aa;delay(...
答:void main() //主函数 { P2=0xfe; //P2初始化 while(1) //死循环 { num=P2; //这里 与左边不同 把P2的状态给 NUM 也就是0XFE num=0xfe P2=_crol_(num,1); //P2等于num 循环左移 P2=0xef 这时应该是连接的P2.7的LED发光 delay(0);//延迟 } } ...
答:Keil中,在菜单“编辑”->“高级”中,有“Indent Selection”是将选中的行整体右移一个缩进距离,而“Unindent Selection”是将选中的行整体左移一个缩进距离。通常情况下,可以尝试快捷键:在选择了期望移动的行之后,按下键盘上的Tab键,会将选中的行整体右移一个缩进距离,而按下“Shift+Tab”后...
答:aa=_crol_(aa,1); //左移一位 aa=_cror_(aa,1); //右移一位 可以打开:intrins.h,查看。
答:这跟你的编译器有关吧,如果是keil c51 应该是是左移一位,最低位补零。具体你可以反汇编看一下。
答:你首先赋值P0=0xfe,就是p0^1亮,其他全灭,而你的zuoyi()函数在执行完后才给P0赋值,而zuoyi()执行完后,返回值是0;
网友评论:
祖关19370961551:
单片机c语言里的循环左移指令 - crol - 的格式是?这指令是每秒循环左移一次还是怎么移?主要用在什么场合,本 -
66774辕乳
: for(i=0;i<8;i++) {temp=_crol_(temp,1);delay(1000); }程序前面要有 #include <intrins.h>
祖关19370961551:
单片机C语言怎么通过位移指令与逻辑运算实现循环左移 -
66774辕乳
: 比方说有一个变量 char test=0x55; char i; for(i=0;i<7;i++) {test <<|=1; } test 变量循环左移8次,每次补1
祖关19370961551:
用单片机C语言怎样将点阵左移 -
66774辕乳
: 点阵就是一个数组啊,你把数组按点阵对其以后进行减运算就行了啊,如果你的左移是位运算就按位运算来就行了
祖关19370961551:
单片机C语言左移或右移多位是一次完成的吗? -
66774辕乳
: 楼主所考虑的,很正确.可以观察C程序在编译后,生成的汇编语言,即可验证楼主的想法:------------------- 35: main()36: {37:38: char xx = 1; ------C语言 C:0x008F 7F01 MOV R7,#0x01 39: P0 = xx << 3; -----C语言 C:0x0091 EF MOV A,R7 C:0x...
祖关19370961551:
单片机cy位与变量左移关系 -
66774辕乳
: 左移分为带Cy左移和不带Cy左移,说通俗点就是不带Cy左移是变量自己的所有二进制位构成了一个圈每次左移一位,而带Cy位是Cy再加上变量的所有二进制位组成了一个圈依次左移,在汇编语言中,指令分别为 RL 和 RLC ,即 Rotate Left 和 Rotate Left With Carry .
祖关19370961551:
单片机中用C语言查表和移位问题 -
66774辕乳
: 先说第一个问题:比如用查表法将结果保存到变量i中,查表变量为x,则i = table[x],记住C语言里面数组是从0开始的,比如说上面的0x01就是table[0],0x02是table[1],以此类推.再说第二个问题:比如说从P1.0口发送出去,则可以写为 sbit ...
祖关19370961551:
C语言左移运算法是不是往地址小的位移动?? -
66774辕乳
: C语言中按位左移的运算符为对于操作a1 按照二进制值每位向高位(书写上是向左)移动n位;2 最高位(最左边的)n位舍去;3 最低位(最右边)填加n个0.C语言是一门通用计算机编程语言,应用广泛.C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言.尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台.
祖关19370961551:
高手支招:请问用C语言编程使51单片机的数码管左移循环显示0 - 7的程序怎么编呀 -
66774辕乳
: #include #define uchar unsigned char#define uint unsigned int/******** 延时函数 ********/ delay(uint i){while(i--);}/***** 数码管显示子程序开始 *****/ sbit wr=P2^2;sbit cs1=P2^0;sbit cs2=P2^1;#define LEDdata P0 uchar code LEDcode[]={0xc0,0xf9,...
祖关19370961551:
单片机中将4个字节的数据左移4位 -
66774辕乳
: C语言很简单了.long dat; dat>>=4; 汇编就麻烦了,假如数据存在R2R3R4R5中:MOV R7,#4 LOOP: CLR C MOV A,R2 RLC A MOV R2,A MOV A,R3 RLC A MOV R3,A MOV A,R4 RLC A MOV R4,A MOV A,R5 RLC A MOV R5,A DJNZ R7,LOOP
祖关19370961551:
用C语言编写一51单片机程序,做单灯的左移右移,按P1.0——P1.7再从P1.7——P1.0的循环 -
66774辕乳
: 已经测试通过,直接使用,祝成功~#include "reg52.h"#include "intrins.h"#define uchar unsigned char#define uint unsigned int void Delay(uint x) {uint a,b; for(a = x; a > 0; a--) for(b = 115; b > 0; b--); } void main() { uchar Led = 0x01, Direct = 0; ...