c51中的_crol_和_cror_

发布者:暮烟微雨最新更新时间:2016-04-11 来源: eefocus关键字:c51  _crol_  _cror_ 手机看文章 扫描二维码
随时随地手机看文章
这两个函数是用来对二进制数移位的,但是不同的是,它可以把移出位的数补到后面

例如kkk=1100111(二进制)

当执行_crol_(kkk,1);  //表示将kkk左移1位

结果是kkk=1001111(二进制)

如果在执行一次,就变成kkk=0011111(二进制)

这里移动的都是二进制,如果是十进制或十六进制要先转化成二进制;

kkk=1110101;

同样_cror_(kkk,1);

就变成kkk=1111010(二进制)

所以这个可以较简单的编写流水灯

关键字:c51  _crol_  _cror_ 引用地址:c51中的_crol_和_cror_

上一篇:LCD简易计算器
下一篇:keil C51 的头文件

推荐阅读最新更新时间:2024-03-16 14:49

C51单片机模拟I2C总线驱动程序设计(1)
/********************************** I2C 总线驱动 ****************************** 模块名:I2C 总线驱动 型号:I2C 功能描述: 此模块包括发送数据及接收数据,应答位发送,并提供了几个直接面对器件的操作函数,能 很方便的与用户程序进行连接并扩展。需要注意的是,函数是采用延时方法产生 SCL 脉冲, 对高晶振频率要做一定的修改!!在写 E2PROM 的时候一定要延时!!! 说明: 1us机器周期,晶振频率要小于12MHz 返回1:则操作成功,返回0:则操作失败。 sla为器件从地址,suba为器件子地址。 ********
[单片机]
keil C51启动文件详解
;------------------------------------------------------------------------------ ; STARTUP.A51: 用户上电初始化程序 ;------------------------------------------------------------------------------ ; ; 用户定义需上电初始化的内存空间 ; ; 使用以下EQU命令可定义在CPU复位时需用0进行初始化的内存空间 ; ; ; IDATA 存储器的空间的绝对起始地址总是0. IDATALEN EQU 80H ; 需用0进行初始化的IDATA存储器空间的字节数 ; XD
[单片机]
单片机C51编程入门最好的例子(跑马灯)
#include reg52.h #define uchar unsigned char #define uint unsigned int //延时子程序 void mDelay(uchar Delay) { uchar i; for(;Delay 0;Delay--) { for(i=0;i 123;i++); } } void main() { uchar i,d; P0 = 0; //所以LED点亮。 mDelay(250);//延时250mS(12M晶振) mDelay(250);//延时250mS(12M晶振) while(1) { d = 0x01;
[单片机]
单片机c语言教程第十六章--C51指针的使用
指针就是指变量或数据所在的存储区地址。如一个字符型的变量 STR 存放在内存单元DATA 区的 51H 这个地址中,那么 DATA 区的 51H 地址就是变量 STR 的指针。在 C 语言中 指针是一个很重要的概念,正确有效的使用指针类型的数据,能更有效的表达复杂的数据 结构,能更有效的使用数组或变量,能方便直接的处理内存或其它存储区。指针之所以 能这么有效的操作数据,是因为无论程序的指令、常量、变量或特殊寄存器都要存放在内 存单元或相应的存储区中,这些存储区是按字节来划分的,每一个存储单元都能用唯一的 编号去读或写数据,这个编号就是常说的存储单元的地址,而读写这个编号的动作就叫做寻 址,通过寻址就能访问到存储区中的任一个能访问的
[单片机]
单片机c语言教程第十六章--<font color='red'>C51</font>指针的使用
跑马灯实验用汇编语言和C51语言做出的不同效果
当前开发单片机应用系统程序主要应用汇编语言和C51语言,采用汇编语言编写可直接操纵系统的硬件资源,能编写出高效运行的程序代码,程序运行速度快。而采用C51语言编写可改善程序的可读性和可移植性,利于产品的更新换代,大大加快了单片机应用程序的开发速度。下面通过一个简单的实验--跑马灯实验来分析一下这两种语言的差别。用AT89C5l实现的跑马灯实验的原理图如xia 图所示。 跑马灯实验的原理图用汇编语言编写程序来实现,程序如下: ORG 0 000H LJP START//转入主程序 ORG 0040H START:MOV SP,#60H//设置 堆栈指针 OV A,# 0 F EH / /送A 11111110 ROTATE =
[单片机]
跑马灯实验用汇编语言和<font color='red'>C51</font>语言做出的不同效果
c51:串口通信,按键发送字符串
一、程序功能 1、实现0~f的16位键盘输入功能,将键值由P1口输出。 2、不同的键值串口发送不同的字符串 二、代码 //函数功能 //1.实现0~f的16位键盘功能,将按键表示的数字由数码管显示 //2.定义不同的按键表示发送不同的字符串 #include reg52.h #define uchar unsigned char //16位键盘行翻转法对应键值。 //对应的键值为0~f uchar code kcode ={ 0x77,0x7b,0x7d,0x7e, 0xb7,0xbb,0xbd,0xbe, 0xd7,0xdb,0xdd,0xde, 0xe7,0xeb,0xed,0xee};
[单片机]
初学者学习C51的一些误区和注意事项
这里讲述一些初学者学习C51的一些误区和注意事项。高手的特别应用不包括在内。 1)C忌讳绝对定位。 常看见初学者要求使用_at_,这是一种谬误,把C当作ASM看待了。在C中变量的定位是编译器的事情,初学者只要定义变量和变量的作 用域,编译器就把一个固定地址给这个变量。怎么取得这个变量的地址?要用指针。比如unsigned char data x;后,x的地址就是&x, 你只要查看这个参数,就可以在程序中知道具体的地址了。所以俺一看见要使用绝对定位的人,第一印象就是:这大概是个初学者。 2)设置SP的问题。 原因和1差不对,编译器在把所有变量和缓冲区赋予地址后,自动把最后一个字节开始的地方,作为SP的开始位置,所以初学者
[单片机]
用PWM控制渐变七彩灯C51程序
一、硬件介绍: (采用5050LED 2W) RGB三色LED控制引脚分别为单片机P1.2 、 P1.1 、 P1.0。LED正极接主电源(24V)正极,负极接驱动3颗三极管的集电极,单片机控制脚分别接3颗NPN三极管,三极管发射极接地,而单片机的供电是来自三端稳压器7805,祥细原理如下: 二、实物图片: 三、软件部分: 1、/*原理: 先亮红灯(保持一会儿)----红绿过度(绿加1、红减1循环240次)------ 绿灯亮起(保持一会儿)----绿兰过度(兰加1、绿减1循环240次) -----兰灯亮起(保持)-----兰白过度(绿加1、红加1循环240次、兰不变) ---白红过度,技术支 持网站 :
[单片机]
用PWM控制渐变七彩灯<font color='red'>C51</font>程序
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved