[计算机]C51内部函数等课件

上传人:工**** 文档编号:568584574 上传时间:2024-07-25 格式:PPT 页数:14 大小:467.52KB
返回 下载 相关 举报
[计算机]C51内部函数等课件_第1页
第1页 / 共14页
[计算机]C51内部函数等课件_第2页
第2页 / 共14页
[计算机]C51内部函数等课件_第3页
第3页 / 共14页
[计算机]C51内部函数等课件_第4页
第4页 / 共14页
[计算机]C51内部函数等课件_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《[计算机]C51内部函数等课件》由会员分享,可在线阅读,更多相关《[计算机]C51内部函数等课件(14页珍藏版)》请在金锄头文库上搜索。

1、C51内部函数内部函数 有一些函数有一些函数,用汇编语言编写非常直接、简单、用汇编语言编写非常直接、简单、目标代码短,而用目标代码短,而用C编写却很长。对于用汇编编写却很长。对于用汇编语言编写的这类库函数叫内部函数。内部函数语言编写的这类库函数叫内部函数。内部函数在在C51中已按中已按C的规范用汇编语言写好。用户的规范用汇编语言写好。用户右以直接当作右以直接当作C语言函数调用。内部函数原型语言函数调用。内部函数原型说明放在说明放在intrans.h文件中。文件中。左左/右移多位函数右移多位函数格式:格式:_crol_/_iror_/_lrol_(参数表(参数表);原型说明:原型说明:unsig

2、ned 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。例:例:#include void main() uns

3、igned 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);说明说明:参数和返回值必须是位变量参数和返回值必须是位变量. 该函数产

4、生汇编指令该函数产生汇编指令JBC X,- -。用于测试位变量是。用于测试位变量是X,是是0,还是还是1,并将其值经并将其值经CY返回返回.例例: #include bit flag; char val; void main() if(!_teatbit_(flag) val- -; JBCflag ? C002 DECval C002: RET 检查浮点数类型函数检查浮点数类型函数格式:格式:_chkfloat_(float val);作用:检查浮点数作用:检查浮点数val的类型。的类型。返回值返回值意义意义0标准浮点数标准浮点数1浮点浮点02+INF正溢出正溢出3-INF负溢出负溢出4Na

5、N非数非数函数式宏定义函数式宏定义 行末标志前加行末标志前加,则其后语句将作为单个预处理命令则其后语句将作为单个预处理命令.函数式函数式宏定义声明正式参数名宏定义声明正式参数名,放在括号中放在括号中,用逗号分隔用逗号分隔;左括号与宏名左括号与宏名之间不能有空格之间不能有空格,如果出现空格如果出现空格,则定义成不带参数的宏和以左则定义成不带参数的宏和以左括号开始的宏体括号开始的宏体.正式参数名应为标识符正式参数名应为标识符,参数不能重名参数不能重名,宏体中宏体中不一定要出现这些参数名不一定要出现这些参数名.宏参数中可出现花括号和下标方括号宏参数中可出现花括号和下标方括号,但不能包含逗号但不能包含

6、逗号.#define WR573(dat)P0 = dat;LE573 = 1;_nop_();LE573 = 0;中断源的符号、名称及产生的条件中断源的符号、名称及产生的条件 nINT0:外部中断:外部中断0,由,由P32端口线引入,低端口线引入,低电平或下跳沿引起。电平或下跳沿引起。nINT1:外部中断:外部中断1,由,由P33端口线引入,低端口线引入,低电平或下跳沿引起。电平或下跳沿引起。nT0:定时器计数器:定时器计数器0中断,由中断,由T0计满回零引计满回零引起。起。nT1:定时器计数器:定时器计数器l中断,由中断,由T1计满回零引计满回零引起。起。nTIRI:串行:串行IO中断中断

7、,串行端口完成一帧字串行端口完成一帧字符发送接收后引起。符发送接收后引起。第一个任务第一个任务:流水灯流水灯以以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、知识基础知识 七段数码管加上一个小数点,共计七段数码管加上一个小数点,共计8段。因此段。因此LED显示器提显示器提供的编码正好是一个字节。供的编码正好是一个字节。0x3f 0x06 0x5b 0x4f 0x66 0x6d 0x7d 0x07 0x7f 0 12 3 4 5 6 7 80x6f 0x77 0x7c 0x39 0x5e 0x79 0x71 0x00 9 A B C D E F 无显示静态显示方式静态显示方式 LED显示器工作方式有两种:静态显示方式显示器工作方式有两种:静态显示方式和动态显示方式。静态显示的特点是每个数码和动态显示方式。静态显示的特点是每个数码管的段选必须接一个管的

9、段选必须接一个8位数据线来保持显示的位数据线来保持显示的字形码。当送入一次字形码后,显示字形可一字形码。当送入一次字形码后,显示字形可一直保持,直到送入新字形码为止。这种方法的直保持,直到送入新字形码为止。这种方法的优点是占用优点是占用CPU时间少,显示便于监测和控制。时间少,显示便于监测和控制。缺点是硬件电路比较复杂,成本较高。缺点是硬件电路比较复杂,成本较高。动态显示动态显示 动态显示的特点是将所有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。选亮数码管采用动态扫描显示。所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好

10、像各位数码管同时都在显示。动态显示的亮度比静态显示要差一些,所以在选择限流电阻时应略小于静态显示电路中的。 定时器初值定时器初值 计算计算设单片机晶振频率为设单片机晶振频率为6MHZ,求方式求方式1时的定时器初值时的定时器初值 定时时间定时时间=(2X-初值初值)机器周期机器周期 X由定时器工作方式决定由定时器工作方式决定,分别为分别为13、16、8. 机器周期机器周期12/单片机晶振频率单片机晶振频率 fosc。由以上公式可知由以上公式可知:定时定时lms所需的机器周期为所需的机器周期为2us.个数个数为为500D,即,即0lF4H,工作方式为工作方式为1(16位方式位方式)时定时初时定时初值是值是01F4H.定时定时/计数器编程应用计数器编程应用初始化程序应完成如下工作:初始化程序应完成如下工作:1.对对TMOD赋值,以确定赋值,以确定T0和和T1的工作方式。的工作方式。2.计算初值计算初值,并将其写入并将其写入TH0、TL0或或TH1、TL1。3.中断方式时,则对中断方式时,则对IE赋值,开放中断。赋值,开放中断。4.使使TR0或或TR1置位,启动定时置位,启动定时/计数器定时或计数。计数器定时或计数。TR1:定时器定时器1控制位控制位,置位时定时器置位时定时器1工作工作TR0:定时器定时器0控制位控制位,置位时定时器置位时定时器0工作工作

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号