LED灯闪烁实验总结.doc

LED灯闪烁实验总结.doc

ID:57771299

大小:175.50 KB

页数:8页

时间:2020-03-27

LED灯闪烁实验总结.doc_第1页
LED灯闪烁实验总结.doc_第2页
LED灯闪烁实验总结.doc_第3页
LED灯闪烁实验总结.doc_第4页
LED灯闪烁实验总结.doc_第5页
资源描述:

《LED灯闪烁实验总结.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、课程名称:Zigbee技术及应用实验项目:LED灯闪烁实验指导教师:专业班级:姓名:学号:成绩:1.实验目的(1)学习单片机IO口配置与驱动,实现指示灯LED1闪烁,频率为1Hz;(2)通过模块化编程,养成良好编程习惯。2.实验设备(1)CC2530核心板一块;(2)传感器底板一个;(3)仿真器一个;(4)方口USB线一根;3.实验原理3.1硬件设计原理本实验的原理如图1-1所示。其中,LED1和LED3都串联一个R273和R275限流电阻,然后连接到CC2530的P1口的P1_1和P1_0管脚上。当P1_1为低电平时,LED1上有电流流过,LED1被点亮,反之熄灭。图1-

2、1LED灯原理图限流电阻R的计算:图中R273和R275限流电阻,其计算公式如下:R=(U-UF)/ID(1-1)式中,U为电路供电电压,UF为LED正向压降,ID为LED的工作电流。对于普通LED发光二极管,其正向压降:黄色为1.4V、红色为1.6V、蓝/白色为2.5V;点亮工作电流为3-20mA。由图1-1可知,电路供电电压为U=3.3V,LED1选择为黄色发光二极管(压降是1.4V),带入(1-1)式可得R的取值范围是95-633Ω,电阻只要在此范围内即可,一般选择了470Ω的常用电阻。从图1-1可以看出,如果要让LED1发光,需要设置CC2530对应的I/O口将LE

3、D电平拉低。本实验我们只点亮LED1指示灯,所以只要设置LED1为低电平即可,所以只要我们知道LED1与CC2530哪个管脚相连就可以进行编程。随着这个思路我们在原理图中找到LED1与CC2530芯片的P1_1管脚连接,将P1_1管脚拉低LED1即被点亮。3.1程序设计原理(1)主程序分析本实验的程序流程如图1-2所示,其重点IO口的配置。如果以1Hz的频率点亮LED1闪烁,则需要配置P1_1为输出,然后在P1_1输出1Hz的脉冲信号。图1-2程序逻辑流程图(2)IO端口配置P1口通过特殊功能寄存器P1SEL(P1口功能选择寄存器)和P1DIR(P1口方向寄存器)进行配置,

4、其定义如下。P1SEL(P1功能选择寄存器,P0SEL同理):位号码名称复位R/W描述7:0SELP1_[7:0]0x00R/WP1.7到P0.0功能选择0:通用I/O1:外设功能P1DIR(P1方向寄存器,P0DIR同理):位号码名称复位R/W描述7:0SELP1_[7:0]0x00R/WP1.7到P1.0的I/O方向0:输入1:输出特殊功能寄存器的配置方法:通过位操作实现对特殊功能寄存器的配置。【例如,如果需要对P1SEL的第3位设置为1,则可用P1SEL

5、=0x08(二进制表示为:00001000)来实现;如果需要对P1SEL的第3位设置为0,则可用P1SEL&=0x

6、F7来实现。】(3)延时子程序设计延时函数原型如下,在16MHz主时钟频率下,参数time的值表示延时了多少ms。(本例使用的cc2530单片机上电默认使用内部RC振荡器产生系统主时钟,内部主时钟RC振荡器频率为16MHz)voidDelay_ms(unsignedinttime){unsignedinti,j;for(i=0;i

7、。根据cc2530数据手册和用户指南上对8051内核的介绍,cc2530内核为兼容标准8051的单周期内核,大多数单字节指令在一个机器周期内都能执行完成。下面我们结合图1-3中的汇编指令详细分析一下延时时间的具体计算方法。此处我们忽略入栈代码段的时间消耗。地址00006B-00006F:将参与比较计算的寄存器R4/R5清零,然后跳转至00008A执行。地址00008A-00008F:R4/R5(变量i)与R2/R3(参数time)进行减法运算,如果两次都没没有产生借位,即CY=0。则说明R4/R5累加到了time指定的次数,程序执行到“JNC0x0097”PC指针将调转到地

8、址跳出延时循环,否则循序向下执行。地址-:对R0/R1清零,将PC指针跳转到地址执行。地址00079-:清除借位寄存器值后将R0/R1与字面量500进行减法运算,然后判断借位寄存器CY的值,如果CY=0则循序执行地址处指令,否则PC指针跳转到地址处执行。地址-:将R0/R1中保存的变量做自加1操作。地址-:将R4/R5中保存的变量做自加1操作。图1-3延时函数汇编代码由以上分析可知,地址-,-段是C语言代码for(j=0;j<500;j++)的汇编指令。每次循环,地址00091-段指令执行1次,地址-段指令执行50

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。