上一页 1 2 3 4 5 6 7 8 ··· 11 下一页
摘要: 这个实验利用睡眠定时器工作在多个电源模式下这一特性来实现定时唤醒,最长的唤醒时隔为8 分32 秒,而最短的时隔可达 30余微秒。实验中在设定好唤醒时间后让 CC2430进入PM2 模式,在达到指定时间后小灯闪烁,之后再次是设定唤醒时间,进入PM2 ,唤醒的循环。void Init_SLEEP_TIMER(void) ; 函数原型: 1 void Init_SLEEP_TIMER(void) 2 { 3 EA = 1; // 开中断 4 STIE = 1; 5 STIF = 0; 6 } 函数功能: 打开睡眠定时器(ST)的中断,并且将ST的中断标志位清零。在使用ST时必须于add... 阅读全文
posted @ 2012-09-01 18:39 MooreZHENG 阅读(535) 评论(0) 推荐(0) 编辑
摘要: 在小灯快速闪烁5 次后进入睡眠状态 PM2 ,在 PM2 下睡眠定时器 SLEEP TIMER(ST)仍然可以正常工作,从0x000000 到0xffffff 反复计数,当ST计数超过写入ST[2 -0] 的0x000f00 时,系统由中断唤醒,小灯闪烁 5 次后进入 PM2 ,这样周而复始的唤醒工作然后睡眠。系统睡眠的时间为8 分32 秒,这已经是最长睡眠时间。ST2 (睡眠定时器2) 7:0 ST2[7:0] 睡眠定时器计数/ 比较值[23 -16]位。读出为ST计数值,写入为比较值。读寄存器应先读ST0 ,写寄存器就后写ST0 。 ST1 (睡眠定时器1) 7:0 ST1[7:0] 0X 阅读全文
posted @ 2012-09-01 18:35 MooreZHENG 阅读(454) 评论(0) 推荐(0) 编辑
摘要: 本次实验使能外部I/O 中断唤醒CC2430,每次唤醒红色 LED 闪烁10 次,然后进入低功耗模式,在进入PM3 之前程序会将两个LED 灯关闭。在应用中也可以不关闭以指示CC2430处于低功耗模式,可以中断激活。void PowerMode(uchar sel); 函数原型: 1 void PowerMode(uchar sel) 2 { 3 uchar i,j; 4 i = sel; 5 if(sel<4) 6 { 7 SLEEP &= 0xfc; 8 SLEEP |= i; 9 for(j=0;j<4;j++); 10 PCON = 0x01... 阅读全文
posted @ 2012-09-01 18:32 MooreZHENG 阅读(325) 评论(0) 推荐(0) 编辑
摘要: 本实验在小灯闪烁10 次以后进入低功耗模式 PM3 。CC2430 一共有4 种功耗模式,分别是PM0,PM1,PM2,PM3,以 PM3 功耗最低。SLEEP (0xBE) - Sleep mode control0X03:0000 0011bit7 - Unused bit6 XOSC_STB XOSC stable status: 0 – XOSC is not powered up or not yet stable 1 – XOSC is powered up and stable bit5 HFRC_STB RCOSC stable status: 0 – HF RCOSC is 阅读全文
posted @ 2012-09-01 18:30 MooreZHENG 阅读(287) 评论(0) 推荐(0) 编辑
摘要: void InitT1(void) ; 函数原型: 1 void InitT1(void) 2 { 3 T1CCTL0 = 0X44; 4 //T1CCTL0 (0xE5) 5 //T1 ch0 中断使能 6 // 比较模式 7 8 T1CC0H = 0x03; 9 T1CC0L = 0xe8; 10 //0x0400 = 1000D) 11 12 T1CTL |= 0X02; 13 //start count 14 // 在这里没有分频。 15 // 使用比较模式 MODE = 10(B) 16 17 IEN1 |=... 阅读全文
posted @ 2012-09-01 18:29 MooreZHENG 阅读(619) 评论(0) 推荐(0) 编辑
摘要: 在PC上从串口向 CC2430发任意长度为 30 字节的字串,若长度不足 30 字节,则以“#“为字串末字节,CC2430在收到字节后会将这一字串从串口反向发向 PC,用串口助手可以显示出来。 1 //main.c 2 #include <iocc2430.h> 3 #include <string.h> 4 5 #define uint unsigned int 6 #define uchar unsigned char 7 #define FALSE 0 8 #define TURE 1 9 10 //定义控制灯的端口 11 #define led1 P1_0 12 阅读全文
posted @ 2012-09-01 18:25 MooreZHENG 阅读(289) 评论(0) 推荐(0) 编辑
摘要: 在PC上从串口向CC2430发数,即可控制 LED 灯的亮灭,控制数据的格式为“灯编号 开|关 #”,红色 LED 编号为1,绿色 LED 编号为2,0 是关灯,1 是开灯,如打开红色 LED 的命令是“11#”void initUARTtest(void) ; 函数原型: 1 void initUARTtest(void) 2 { 3 4 CLKCON &= ~0x40; //晶振 5 while(!(SLEEP & 0x40)); // 等待晶振稳定 6 CLKCON &= ~0x47; //... 阅读全文
posted @ 2012-09-01 18:23 MooreZHENG 阅读(627) 评论(0) 推荐(0) 编辑
摘要: USART0 和USART1. 是串行通信接口,它们能够分别运行于异步UART 模式或者同步SPI模式。两个USART具有同样的功能,可以设置在分隔开的I/O 引脚。 1. UART 模式 UART 模式提供异步串行接口。在UART 模式中,接口使用2 线或者含有 RXD、TXD、RTS和CTS 的4 线。UART 模式的操作具有下列特点:8 位或者 9 位数据;奇校验、偶校验或者无奇偶校验;配置起始位和停止位电平;配置LSB 或者MSB首先传送;独立收发中断;独立收发DMA触发;奇偶校验和帧校验出错状态。UART 模式提供全双工传送,接收器中的位同步不影响发送功能。传送一个UART 字节包. 阅读全文
posted @ 2012-09-01 18:21 MooreZHENG 阅读(582) 评论(0) 推荐(0) 编辑
摘要: DMA控制器 CC2430 内置一个存储器直接存取(DMA) 控制器。该控制器可以用来减轻 8051 CPU核传送数据时的负担,实现CC2430在高效利用电源的条件下的高性能。只需要CPU 极少的干预,DMA控制器就可以将数据从ADC或RF收发器传送到存储器。DMA控制器匹配所有的DMA传送,确保DMA请求和CPU 存取之间按照优先等级协调、合理地进行。DMA控制器含有若干可编程设置的DMA信道,用来实现存储器一存储器的数据传送。 DMA 控制器控制数据传送超过整个外部数据存储器空间。由于SFR 寄存器映射到DMA存储器空间,使得DMA信道的操作能够减轻CPU 的负担。例如,从存储器传送数据. 阅读全文
posted @ 2012-09-01 18:18 MooreZHENG 阅读(482) 评论(0) 推荐(0) 编辑
摘要: 将AD的源设为电源电压,AD参考电压为AV D D ,并将转换得到温度通过串口送至电脑。开始转换黄灯亮绿灯暗,转换完毕绿灯亮黄灯暗。void InitialAD(void); 函数原型: 1 void InitialAD(void) 2 { 3 //P1 out 4 P1DIR = 0x03; //P1 控制LED 5 led1 = 1; 6 led2 = 1; //关LED 7 8 ADCH &= 0X00; // 清EOC标志 9 ADCCON3=0xbf; //单次转换, 参考电压为电源电压,对 1/3 AVDD进行A/D 转换 ... 阅读全文
posted @ 2012-09-01 18:16 MooreZHENG 阅读(750) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 11 下一页