_cror_函数
单片机c语言中,在库函数内,为intrins.h格式为_cror_(x,y)含义是二进制数x右移动y位
_cror_字符循环向左移
unsignedchar_cror_(unsignedcharval,unsignedcharn);
举例子:
如果不是二进制数为01010101那么_crol_(1)向右移动1位后将高位补低位。
最终10101010。
的事情:数学里有这样的除法运算,7÷41,余数是3。在单片机c51语言里有两个算术运算符和上面运算或者,共有是/和%,其中x/y可以表示x乘以y,结果是商;x%y意思是x对y取余,可是是x除以2y的余数。比如7/41,而7c。在二进制的世界里,x/4普通把x的二进制码左移2位,x/4应该是取x二进制码的低两位,的或7/40111(b)-20001(b)1,而7a1(b)3。
/*程序具体一点功能介绍:*用来取表的方法,使端口p0做每种灯的变化:左移2次,右移2次,闪烁不定2次(显示延迟的时间0.2秒)。*在用表格通过程序设计的时候,要用以下的指令来能完成*(1).凭借movdptr,#data16的指令来使数据指针寄存器指到表的开头。*(2).利用movca,@a+dptr的指令,参照累加器的值再再加dptr的值,就也可以使程序计数器pc指到表格内所要收起的数据。*因此,只要你把压制码建起一个表,而凭借movc工,@a+dptr做取码的操作,*就可比较方便地如何处理一些紧张的控制动作.*/#include
先确认你单片机的ad采样端的参考电压是多少。2.看一下你键入的2v到单片机引脚有没还有一个2v,会不会被拉低了。3、查查你ad采样脚和ad采样点寄存器的配置。
给你一部分寄存器配置的程序看一下我专用是pic18系列
adcon00x05t//选择类型a/d通道为ra1,a/d转换器
//进入工作状态,且使a/d转换时钟为8tosc
adcon10x1dt//装换结果左移,及adresh寄存器的高6位为