同的数据类型控制LED灯的闪烁频率.doc

上传人:人*** 文档编号:558047392 上传时间:2023-07-15 格式:DOC 页数:4 大小:299.01KB
返回 下载 相关 举报
同的数据类型控制LED灯的闪烁频率.doc_第1页
第1页 / 共4页
同的数据类型控制LED灯的闪烁频率.doc_第2页
第2页 / 共4页
同的数据类型控制LED灯的闪烁频率.doc_第3页
第3页 / 共4页
同的数据类型控制LED灯的闪烁频率.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《同的数据类型控制LED灯的闪烁频率.doc》由会员分享,可在线阅读,更多相关《同的数据类型控制LED灯的闪烁频率.doc(4页珍藏版)》请在金锄头文库上搜索。

1、同的数据类型控制LED灯的闪烁频率单片机的程序设计离不开对各种数据的处理,数据在单片机内存中的存放情况由数据结构决定。c语言的数据结构是以数据类型出现的。数据类型可分为基本数据类型和复杂数据类型,复杂数据类型是由基本数据类型构造而成的。C语言中的基本数据类型有:char,int,short,long,float和double这几种。其中char,int,short,long常用于指示整型数据,因此有包含有符号型和无符号型两种,float和double常用于表示实型数据。另外在c51中还有一些用于实现位操作和寄存器操作的数据类型。接下来我们将利用几个实例来演示数据类型、数据运算等操作1、本例分别

2、使用无符号整型数据和无符号字符型数据来设计延时函数,跟别用于控制D1和D2的闪烁,从而研究这两种数据的特性。2、实现方法为比较两种数据的使用效果,本例中将延时函数的循环次数设置相同,然后通过比较延时时间,直观地观察两种数据类型的使用效果。3、在keil c51中新建工程ex5,编写如下程序代码,并编译生成ex5.hex文件/实例5,用不同数据类型的延时函数控制LED灯的闪烁时间#include /*函数功能:用整型数据延时一段时间*/void int_delay(void) /定义整型数据实现的延时函数unsigned int i,j; /定义无符号整型变量,双字节数据,数值范围0-65535

3、for(j = 0;j 200;j+)for(i = 0;i 200;i+); /无任何操作的空循环,起到延时作用/*函数功能:用字符型数据延时一段时间*/void char_delay(void) /定义整型数据实现的延时函数unsigned char i,j; /定义无符号字符型变量,单字节数据,数值范围0-255for(j = 0;j 200;j+)for(i = 0;i 200;i+); /无任何操作的空循环,起到延时作用/*函数功能:主函数*/void main(void)unsigned char i;while(1) for(i = 0;i 3;i+) P1 = 0xfe; /点

4、亮p1.0口上的LED灯int_delay(); /延时一段较长时间P1=0xff; /熄灭p1.0口上的LED灯int_delay();for(i = 0;i 3;i+) P1 = 0xef;/点亮p1.4口上的LED灯char_delay();/延时一段较短时间P1=0xff;char_delay();4、在proteus中新建应用电路ex5,电路如下所示,为便于观察,在电路中增加了虚拟示波器,示波器的两个通道分别检测P1.0和P1.4端口的输出波形。虚拟示波器的添加步骤如下图所示启动仿真后,双击示波器原理图符号,弹出如下图所示的对话框,根据图中的提示步骤,可以更改示波器的各项参数。下图是仿真运行后,观察两个LED的闪烁速度,可以看出,D1的闪烁速度要慢于D2的闪烁速度。通过观察P1.0口和P1.4口的输出波形也可以得出同样的结论。那么为什么延时函数的数值一样,只是数据类型不一样,延时的时间却有差别呢?原因就在于数据类型的差别上!由于无符号整型数据占两个字节,而无符号字符型数据仅占一个字节,因此对无符号整型数据进行操作花费的时间就要长一些。所以,为了提高程序的运行速度,一般尽可能采用占用字节数据短的数据类型。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

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