找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3971|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

cc2530 定時計數(shù)器1產(chǎn)生1毫秒PWM

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:293181 發(fā)表于 2018-3-17 15:41 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
1 /****************************************************************************
2 * 文 件 名: main.c
3 * 描    述: cc2530 定時計數(shù)器1產(chǎn)生1毫秒PWM,20%的占空比,led的亮度比較暗
4 *           可調(diào)整pwm頻率和占空比來控制Led燈的亮度
5 ****************************************************************************/
6 #include <ioCC2530.h>
7
8 typedef unsigned char uchar;
9 typedef unsigned int  uint;
10
11 #define LED1 P1_0       // P1.0口控制LED1
12
13
14 /****************************************************************************
15 * 名    稱: InitLed()
16 * 功    能: 設(shè)置LED燈相應(yīng)的IO口
17 * 入口參數(shù): 無
18 * 出口參數(shù): 無
19 ****************************************************************************/
20 void InitLed(void)
21 {
22     P1DIR |= 0x01;           //P1.0定義為輸出
23     LED1 = 1;                //使LED1燈上電默認為熄滅     
24 }
25
26 /****************************************************************************
27 * 名    稱: InitT1()
28 * 功    能: 定時器初始化,TICKSPD 是16 MHz系統(tǒng)不配置時默認是2分頻,即16MHz
29 * 入口參數(shù): 無
30 * 出口參數(shù): 無
31 ****************************************************************************/
32 void InitT1()
33 {
34     CLKCONCMD &= ~0x40;      //設(shè)置系統(tǒng)時鐘源為32MHZ晶振
35     while(CLKCONSTA & 0x40); //等待晶振穩(wěn)定為32M
36     CLKCONCMD &= ~0x07;      //設(shè)置系統(tǒng)主時鐘頻率為32MHZ   
37     CLKCONCMD |= 0x38;       //時鐘速度32 MHz 定時器標記輸出設(shè)置[5:3]250kHz
38
39     PERCFG |= 0x40;          //定時器1 的IO位置   1:備用位置2
40     P2SEL &= ~0x10;          //定時器1優(yōu)先
41     P2DIR |= 0xC0;           //第1優(yōu)先級:定時器1通道2-3
42
43     P1DIR |= 0xff;           //端口1為輸出   
44     P1SEL |= 0x01;           //timer1 通道2映射口P1_0
45     
46     T1CC2H = 0x00;           //20%占空比為200us
47     T1CC2L = 0x32;           //修改T1CC2L可調(diào)整led的亮度
48     T1CC0H = 0x00;           //1ms的周期時鐘,頻率為976.516HZ
49     T1CC0L = 0xff;
50     T1CCTL2 = 0x1c;          // 模式選擇 通道2比較模式
51     T1CTL = 0x02;            //250KHz 1分頻
52 }
53
54 /****************************************************************************
55 * 程序入口函數(shù)
56 ****************************************************************************/
57 void main(void)
58 {
59     InitLed();                 //調(diào)用初始化函數(shù)
60     InitT1();                //定時器初始化及pwm配置
61     while(1)
62     {
63     }
64 }
復(fù)制代碼

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:293181 發(fā)表于 2018-3-17 15:43 | 只看該作者
很好的PWM
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表