您的当前位置:首页LED自动闪烁实验

LED自动闪烁实验

2022-08-31 来源:爱问旅游网


CC2530原理及应用

实验(训)报告

学号: 姓名:谢敏 班级: 3 实验时间:

实验编号 01 实验名称 LED自动闪烁实验

1、掌握IAR的使用方法

实验目的和要求 2、掌握CC2530与LED灯的连接及使用;

实验题目:

1、在IAR集成开发环境中编写程序,控制LED2灯自动闪烁。 代码:#include<>

#define unit unsigned int #define uchar unsigned char #define LED2 P2_0 void Delay(int n){ int i,j; for(i=0;i<5;i++) for(j=0;jvoid Initial(){

P2DIR |=0x01; LED2=1; }

void main(){ Initial(); LED2=0; while(1){

LED2=!LED2; Delay(5000); } }

运行结果截图:

遇到问题及解决:

通过这次实验,我了解实验软件和单片机的使用方法。学会点亮指示灯的方法。通过软件进行程序的编写,我熟悉了软件,同时对算法和C语言也有了很好的学习与提高。通过对仿真电路图进行连接,我学会了使用软件,电路连接无误后,把生成的文件加载到单片机上进行仿真。实验室提供了单片机实验箱。

2、请使用定时器技术,LED2每间隔1秒求一次反

#include <> #define LED P2_0 void initial(void); void init_tmer(void); void initial(void) {

P2DIR|=0x01; LED=1; }

void init_timer(void)

{

T1CC0L=0xd4; T1CC0H=0x30; T1CCTL0|=0x04; T1IE=1; T1OVFIM=1; EA=1; T1CTL=0x0E; }

unsigned count=0; #pragma vector=T1_VECTOR __interrupt void Timer1_sevice() { EA=0;

T1STAT&=~0x01; count++; if(count%10==0) {

LED=~LED; } EA=1; }

void main() {

initial(); init_timer(); while(1); }

运行结果截图:

遇到问题及解决:

做单片机硬件和软件结合的实验,在以前学过的编程语言基础上,学习用单片机编程实现点亮熄灭LED和单片机控制LED闪烁,在理解老师讲解的知识基础上和同学一起探讨交流,慢慢熟悉了一些新知识。操作过程中,软硬件方面都出现一些问题,实验中实验结果讨论遇到试验箱上发光二极管坏掉的情况,而编写的程序是让发光二极管熄灭,但它却一直亮着,在检查程序无误后,改用另一个二极管,结果程序正常显现了,我们才知道是二极管的问题,于是改用其他正常二极管之后问题得以解决,因此实验中器件应该及时检查,不然会影响实验的顺利进行。

因篇幅问题不能全部显示,请点此查看更多更全内容