C51内部函数等.ppt

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
左/右移多位函数 空操作函数 位测试函数 检查浮点数类型函数 格式:_chkfloat_(float val); 作用:检查浮点数val的类型。 函数式宏定义 中断源的符号、名称及产生的条件 第二个任务:动态数码管扫描 基础知识 静态显示方式 动态显示 定时器初值 计算 定时/计数器编程应用 * C51内部函数 有一些函数,用汇编语言编写非常直接、简单、目标代码短,而用C编写却很长。对于用汇编语言编写的这类库函数叫内部函数。内部函数在C51中已按C的规范用汇编语言写好。用户右以直接当作C语言函数调用。内部函数原型说明放在intrans.h文件中。 格式:_crol_/_iror_/_lrol_(参数表); 原型说明: unsigned char _crol(unsigned char val,unsigned char n); unsigned int _irol(unsigned val,unsigned char n); unsigned long _lrol(unsigned long val,unsigned char n); 第一个参数是被移位的变量,第二个是欲移位位数:无符号字符型变量为0-7;无符号整型为0-15(右移为0-32);无符号长整型是0-31。 例:#includeintrans.h void main() { unsigned int y; y=0x00FF; y=_irol_(y,4); } 格式:void _nop_(void); 作用:产生单一汇编指令nop.执行该函数实际上无实质性操作,仅是延时一个机器周期. 例:从P0.7输出三个机器周期宽的正脉冲 P0 =~0x80; P0 |=0x80; _nop_; _nop_; P0 = ~0x80; 格式: bit _testbit_(bit x); 说明:参数和返回值必须是位变量. 该函数产生汇编指令JBC X,- -。用于测试位变量是X,是0,还是1,并将其值经CY返回. 例: #includeintrans.h bit flag; char val; void main() { if(!_teatbit_(flag)) val- -; } JBCflag ? C002 DECval C002: RET NaN非数 4 -INF负溢出 3 +INF正溢出 2 浮点0 1 标准浮点数 0 意义 返回值 行末标志前加\,则其后语句将作为单个预处理命令.函数式宏定义声明正式参数名,放在括号中,用逗号分隔;左括号与宏名之间不能有空格,如果出现空格,则定义成不带参数的宏和以左括号开始的宏体.正式参数名应为标识符,参数不能重名,宏体中不一定要出现这些参数名.宏参数中可出现花括号和下标方括号,但不能包含逗号. #define WR573(dat)\ {\ P0 = dat;\ LE573 = 1;\ _nop_();\ LE573 = 0;\ } INT0:外部中断0,由P3.2端口线引入,低电平或下跳沿引起。 INT1:外部中断1,由P3.3端口线引入,低电平或下跳沿引起。 T0:定时器/计数器0中断,由T0计满回零引起。 T1:定时器/计数器l中断,由T1计满回零引起。 TI/RI:串行I/O中断,串行端口完成一帧字符发送/接收后引起。 第一个任务:流水灯 以74HC573扩展输出端口的方法驱动8只LED,低电平点亮74HC573 输入接P0端口,输出接8只LED,P1.4控制LED. 两片74HC573驱动动态数码管,输入端都接到P0端口,I/O方式控制。P1.2和P1.3分别控制两个74HC573的LED信号,P1.2对应位选、P1.3对应段选。 七段数码管加上一个小数点,共计8段。因此LED显示器提供的编码正好是一个字节。 0x3f 0x06 0x5b 0x4f 0x66 0x6d 0x7d 0x07 0x7f 0 1 2 3 4 5 6 7 8 0x6f 0x77 0x7c 0x39 0x5e 0x79 0x71 0x00 9 A B C D E F 无显示 LED显示器工作方式有两种:静

文档评论(0)

yan666888 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档