辜渝傧

13037102709

027-87870986

教学实训

您当前的位置:首页 > 教学资源 > 实训方案 >

无线传感网络实训|实验2.4 定时器控制实验

发布者:唯众    布时间:2020-11-27 15:21:20    点击量:

1.实验目的

1)、通过实验掌握CC2530芯片GPIO的配置方法,带你一步步走进嵌入式大门
2)、掌握蜂鸣器驱动电路及开关蜂鸣器的原理
3)、掌握定时器 T1 的配置与使用

2.实验设备

硬件:PC机1台、ZIGBEE节点板1套(底板、核心板、仿真器、USB 线)
软件:2000/XP/win7 系统,IAR 8.10 集成开发环境。

3.实验相关电路图

实验2.4 定时器控制实验

4.实验相关寄存器


5.源码分析

#include <ioCC2530.h>
#define uint unsigned int
#define uchar unsigned char
//定义控制BUZZER的端口
#define BUZZER P1_3//定义 BUZZER 为 P13 口控制
//函数声明
void Delayms(uint xms); //延时函数
void InitBuzzer(void); //初始化 P1 口
void InitT1(); //初始化定时器 T1
/****************************
//延时函数
*****************************/
void Delayms(uint xms) //i=xms 即延时 i 毫秒
{
uint i,j;
for(i=xms;i>0;i--)
for(j=587;j>0;j--);
}
/****************************
//初始化程序
*****************************/
void InitBuzzer (void)
{
P1DIR |= 0x08; //P1_3 定义为输出
BUZZER = 0; //BUZZER 初始化关闭
}
//定时器初始化
void InitT1() //系统不配置工作时钟时默认是 2 分频,即 16MHz
{
T1CTL = 0x0d; //128 分频,自动重装 0X0000-0XFFFF
T1STAT= 0x21; //通道 0, 中断有效
}
/***************************
//主函数
***************************/
void main(void)
{
uchar count;
InitBuzzer (); //调用初始化函数
InitT1();
while(1)
{
if(IRCON>0)
{
IRCON=0;
if(++count>=1) //约 1s 周期性蜂鸣
{
count=0;
BUZZER = !BUZZER; //BUZZER 蜂鸣
}
}
}
}

6.实验现象

       蜂鸣器以1秒的频率蜂鸣。


上一篇:无线传感网络实训|实验2.3 串口收发实验

下一篇:无线传感网络实训|实验2.5 ADC采集实验