版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、物联网实训开发 2012年12月CC2530 基础实验6.1 CC2530简介6.1. 1 CC2530概述图1-1 的方块图列出了CC2530的内部构造模块。 1.1 CPU和存储器CC2530芯片中使用的是8051CPU核心是一个单周期的8051兼容核心。它有3个不同的存储器访问总线(特殊功能寄存器SFR、数据DATA和代码/外部数据CORE/XDATA),单周期访问SFR,DATA和主SRAM,它还包含一个调试接口和扩展的18路输入中断单元。中断控制器共有18个中断源,分为6个中断组,每个中断组赋值为4个中断优先级之一。当该设备处于空闲模式,任何的中断可以把CC2530恢复到主动模式。某
2、些中断还可以将设备从睡眠模式(功耗模式1-3)唤醒。存储器交叉开关/仲裁是位于系统核心,它通过SFR总线将CPU和DMA控制器与物理存储器和所有的外接设备连接起来。存储器仲裁有4个存储器访问点,访问可以被映射到3个物理存储器中的一个:1个8KB SRAM,Flash存储器和XREG/SFR存储器。存储器仲裁负责访问到一个物理存储器的同步存储器访问进行仲裁和排序。8KB SRAM映射到数据存储空间和部分外部数据存储空间。8KB SRAM是一个超低功耗的SRAM,甚至当数字部分掉电后(功耗模式2和3)它也能保持它的数据。对于低功耗应用,这是一个很重要的特性。 1.2 时钟和电源管理数字内核和外部设
3、备由一个1.8V低差稳压供电。它提供了电源管理功能,可以实现使用不同的功耗模式以达到低功耗运行,来延长电池寿命。复位设备有5种不同的复位电源。 1.3 外部设备CC2530包括许多不同的外部设备,使得应用程序开发者可以进行高级应用程序开发。调试接口实现了一个专用的两线串行接口来进行调试。通过调试接口可以对Flash存储器进行全片擦除,控制启动哪一个振荡器,停止和开始执行用户程序,在8051内核上执行供电指示,设置代码断点,在代码中通过指令进行单步调试。利用这些特性可以完美的实现在电路调试和外部Flash编程。CC2530包含用于存储程序代码的Flash存储器。通过调试接口用软件可以对Flash
4、存储器进行编程。Flash控制器处理对嵌入式Flash存储器的写和擦除。Flash 控制器允许页擦除和4字节擦除。I/O控制器负责所有通用I/O引脚。CPU可以配置某些引脚是否外部设备模块控制、由软件控制每个引脚的输入和输出,每个引脚上单独使能CPU中断。每个连接到I/O引脚的外部设备可以在两种不同的I/O引脚位置进行选择以确保在各种应用中的灵活性。系统能有一个通用的5通道的DMA控制器,并且使用外部数据存储器空间来访问存储器,因此可以访问所有物理存储器。每个通道可以在存储器的任何位置用DMA描述来配置(触发、优先顺序、传输模式、寻址方式、源指针和目的指针、传输计数)。很多硬件外接设备(AES
5、核心、Flash控制器、USART、定时器、ADC接口)依靠DMA控制器在SFR或XREG地址和Flash/SRAM之间的数据传输来有效运行。定时器1是一个16位的定时器,具有定时器/计数器/脉宽调制功能。它有一个可编程的分频器,1个16为周期值和4个单独可编程计数器/捕获通道,每一个通道有一个16位比较值。图1-1 CC2530方块图每个计数器/捕获通道可以用来当作PWM输出或用来捕捉输入信号的边沿时间,它还可以在IR产生模式里进行配置,用来计算定时器3的周期,输出是同定时器3的输出相与,以产生具有最小CPU相互影响的已调制的用户IR信号。定时器2(MAC 定时器)是为支持一个IEEE 80
6、2.15.4 MAC或其他软件中时间跟踪协议而特别设计的。该定时器具有一个可配置时间周期和一个可以用来记录已经发生的周期数轨道的8位溢出计数器。它还有一个16位捕捉寄存器,用来记录一个帧的开始定界符接收/发送的精确时间或者传输完成的精确时间,以及一个可以在特定时间对无线模块产生的各种命令选通信号的16位输出比较寄存器。定时器3和定时器4是8位定时器,具有定时器/计数器/PWM功能。它们有一个可编程的分频器,一个8位周期值和一个具有8位比较值的可编程计数信道。每一个计数信道可以被用来当作PWM输出。睡眠定时器是一个超低功耗定时器,计数32KHz晶体振荡器或32KHz RC振荡器周期。睡眠定时器在
7、所有运行模式下(除了功耗模式3)都可以连续运行。睡眠定时器的典型应用是被当作一个实时计数器,或者被当作一个唤醒定时器来离开功耗模式1或2,。ADC在理想的32KHz40KHz带宽下支持712位的分辨率。直流和音频转换最多可达8个输入通道。输入可以被选择为单端输入或者差分输入。参考电压可以是内部AVDD,或者一个单端或者差分外部信号。ADC也有温度传感器输入通道。ADC可以自动操作定时器采样过程或者通道序列转换过程。随机数发生器使用一个16位线性反馈移位寄存器(LFSR)来产生随机数,它可以被CPU读取或者被命令选通处理器直接使用。随机数可以被用来安全机制所需要产生的随机数密钥。AES加密/解密
8、核心允许用户128位密钥的AES算法来加解密数据。该核心可以支持IEEE802.15.4 MAC安全、ZigBee网络层和应用层所需要的AES操作。内置看门狗定时器允许CC2530在固件挂起时复位自己。当通过软件使能时,看门狗定时器必须被周期性擦除,否则时间一到它就会复位设备。或者它可以被配置为作为一般32KHz定时器使用。USART0和USART1均可以配置为一个主/从SPI或一个UART。它们提供在接收和发送时的双缓冲和硬件流控制,因而非常适合于大吞吐量的全双工应用。每一个都有它自己的高精度的波特率发生器,因此可以解放普通计数器出来其他用途。1.1.4 无线CC2530具有一个IEEE80
9、2.15.4标准的无线收发器。RF核心控制模拟无线模块。另外,它为MCU和无线之间提供了一个接口,以使得可以发送命令、读取状态、自动操作和对无线事件进行排序。无线部分还包括一个数据包过滤和地址识别模块。6.1.2 引脚和I/O端口配置 CC2530引脚对应的功能如表1-1所示。表1-1 引脚功能表引脚名称引脚号引脚类型描述AVDD128电源(模拟)2.0-3.6V模拟电源供电AVDD227电源(模拟)2.0-3.6V模拟电源供电AVDD324电源(模拟)2.0-3.6V模拟电源供电AVDD429电源(模拟)2.0-3.6V模拟电源供电AVDD521电源(模拟)2.0-3.6V模拟电源供电AVD
10、D631电源(模拟)2.0-3.6V模拟电源供电DCOUPL40电源(数字)1.8V数字电源供电退耦。提供外部电路未使用DVDD139电源(数字)2.0-3.6V数字电源供电DVDD210电源(数字)2.0-3.6V数字电源供电GND-地芯片底部焊盘必须连接到PCB的接地层GND1,2,3,4未使用连接到底P0_019数字I/O口端口P0_0P0_118数字I/O口端口P0_1P0_217数字I/O口端口P0_2P0_316数字I/O口端口P0_3P0_415数字I/O口端口P0_4P0_514数字I/O口端口P0_5P0_613数字I/O口端口P0_6P0_712数字I/O口端口P0_7P1
11、_011数字I/O口端口P1_0P1_19数字I/O口端口P1_1P1_28数字I/O口端口P1_2P1_37数字I/O口端口P1_3P1_46数字I/O口端口P1_4P1_55数字I/O口端口P1_5P1_638数字I/O口端口P1_6P1_737数字I/O口端口P1_7P2_036数字I/O口端口P2_0P2_135数字I/O口端口P2_1P2_234数字I/O口端口P2_2P2_3/XOSC32K_Q233数字模拟I/O口端口P2_3/32.768KHz XOSCP2_4/XOSC32K_Q132数字模拟I/O口端口P2_4/32.768KHz XOSCRESET_N20数字输入复位,低
12、有效RF_N26射频I/O口RF接收期间负RF输入信号到LNA发送期间负RF从PA输出信号RF_P25射频I/O口RF接收期间负RF输入信号到LNA发送期间负RF从PA输出信号XOSC_Q122模拟I/O口32MHZ晶体振荡器引脚1或外部时钟输入XOSC_Q234模拟I/O口32MHZ晶体振荡器引脚26.1.3 特殊功能寄存器CC2530的特殊功能寄存器(SFR)用来控制8051CPU内核以及外设I/O。其中一部分寄存器同标准的51单片机,而另一部分不同于标准的51单片机,用来控制外设单元及RF收发器。特殊功能寄存器如下表:表1-2 特殊功能寄存器1寄存器名称SFR地址模块描述ADCCON10
13、XB4ADC模数转换控制1ADCCON20XB5ADC模数转换控制2ADCCON30XB6ADC模数转换控制3ADCL0XBAADCADC低位数据ADCH0XBBADCADC高位数据RNDL0XBCADC随机数发生器低位数据RNDH0XBDADC随机数发生器高位数据ENCDI0XB1AES加密/解密数据输入ENCDO0XB2AES加密/解密数据输出ENCCS0XB3AES加密/解密控制和状态P00X80CPU端口0,能够从XDATA(0X7080)读取SP0X81CPU堆栈指针DPL00X82CPU数据指针0低位DPH00X83CPU数据指针0高位DPL10X84CPU数据指针1低位DPH10
14、X85CPU数据指针1高位PCON0X87CPU功耗模式控制TCON0X88CPU中断标志P10X90CPU端口1,能够从XDATA(0X7090)读取DPS0X92CPU数据指针选择S0CON0X98CPU中断标志2IEN20X9ACPU中断使能2S1CON0X9BCPU中断标志3P20XA0CPU端口1,能够从XDATA(0X70A0)读取IEN00XA8CPU中断使能0IP00XA9CPU中断优先级0IEN10XB8CPU中断使能1IP10XB9CPU中断优先级1IRCON0XC0CPU中断标志4PSW0XD0CPU程序状态字ACC0XE0CPU累加器IRCON20XE8CPU中断标志5
15、B0XF0CPUB寄存器DMAIRQ0XD1DMADMA中断标志DMA1CFGL0XD2DMADMA通道14配置低位地址DMA1CFGH0XD3DMADMA通道14配置高位地址DMA0CFGL0XD4DMADMA通道0配置高位地址DMA0CFGH0XD5DMADMA通道0配置高位地址DMAARM0XD6DMADMA通道准备工作DMAREQ0XD7DMADMA通道启动请求和状态-0XAA-保留-0X8E-保留-0X99-保留-0XB0-保留-0XB7-保留-0XC8-保留P0IFG0X89输入/输出控制(IOC)端口0中断状态标志P1IFG0X8A输入/输出控制(IOC)端口1中断状态标志P2I
16、FG0X8B输入/输出控制(IOC)端口2中断状态标志PICTL0X8C输入/输出控制(IOC)端口引脚中断控制P0IEN0XAB输入/输出控制(IOC)端口0中断使能P1IEN0X8D输入/输出控制(IOC)端口1中断使能P2IEN0XAC输入/输出控制(IOC)端口2中断使能P0INPOX8F输入/输出控制(IOC)端口0输入模式PERCFGOXF1输入/输出控制(IOC)外部设备I/O配置APCFGOXF2输入/输出控制(IOC)模拟外部设备I/O配置P0SELOXF3输入/输出控制(IOC)端口0功能选择P1SELOXF4输入/输出控制(IOC)端口1功能选择P2SELOXF5输入/输
17、出控制(IOC)端口2功能选择P1INPOXF6输入/输出控制(IOC)端口1输入模式P2INPOXF7输入/输出控制(IOC)端口2输入模式P0DIROXFD输入/输出控制(IOC)端口0方向P1DIROXFE输入/输出控制(IOC)端口1方向P2DIROXFF输入/输出控制(IOC)端口2方向PMUXOXAE输入/输出控制(IOC)掉电信号多路器MEMCTR0XC7存储器存储器系统控制FMAP0X9F存储器Flash存储器bank映射RFIRQF10X91RFRF中断标志MSBRFD0XD9RFRF数据RFST0XE1RFRF命令选通RFORQF00XE9RFRF中断标志LSBRFERRF
18、0XBFRFRF错误中断标志ST00X95睡眠定时器(ST)睡眠定时器0ST10X96睡眠定时器(ST)睡眠定时器1ST20X97睡眠定时器(ST)睡眠定时器2STLOAD0XAD睡眠定时器(ST)睡眠定时器负载状态STEEPCMD0XBEPMC睡眠模式控制命令SLEEPSTA0X9DPMC睡眠模式控制状态CLKCONCMD0XC6PMC时钟控制命令CLKCONSTA0X9EPMC时钟控制状态T1CC0L0XDA定时器1(Timer1)定时器1通道0捕获/比较值低位T1CC0H0XDB定时器1(Timer1)定时器1通道0捕获/比较值高位T1CC1L0XDC定时器1(Timer1)定时器1通道
19、1捕获/比较值低位T1CC1H0XDD定时器1(Timer1)定时器1通道1捕获/比较值高位T1CC2L0XDE定时器1(Timer1)定时器1通道2捕获/比较值低位T1CC2H0XDF定时器1(Timer1)定时器1通道2捕获/比较值高位T1CNTL0XE2定时器1(Timer1)定时器1计数器低位T1CNTH0XE3定时器1(Timer1)定时器1计数器高位T1CTL0XE4定时器1(Timer1)定时器1控制和状态T1CCTL00XE5定时器1(Timer1)定时器1通道0捕获/比较控制T1CCTL10XE6定时器1(Timer1)定时器1通道1捕获/比较控制T1CCTL20XE7定时器
20、1(Timer1)定时器1通道2捕获/比较控制T1STAT0XAF定时器2(Timer2)定时器2状态T2CTRL0X94定时器2(Timer2)定时器2控制T2EVTCFG0X9C定时器2(Timer2)定时器2事件配置T2IRQF0XA1定时器2(Timer2)定时器2中断标志T2M00XA2定时器2(Timer2)定时器2复用寄存器0T2M10XA3定时器2(Timer2)定时器2复用寄存器1T2MOVF00XA4定时器2(Timer2)定时器2复用溢出寄存器0T2MOVF10XA5定时器2(Timer2)定时器2复用溢出寄存器1T2MOVF20XA6定时器2(Timer2)定时器2复用
21、溢出寄存器2T2IRQM0XA7定时器2(Timer2)定时器2中断使能T2MSEL0XC3定时器2(Timer2)定时器2复用选择T3CNT0XCA定时器3(Timer3)定时器3计数器T3CTL0XCB定时器3(Timer3)定时器3控制T3CCTL00XCC定时器3(Timer3)定时器3通道0比较控制T3CC00XCD定时器3(Timer3)定时器3通道0比较值T3CCTL10XCE定时器3(Timer3)定时器3通道1比较控制T3CC10XCF定时器3(Timer3)定时器3通道1比较值T4CNT0XEA定时器4(Timer4)定时器4计数器T4CTL0XEB定时器4(Timer4)
22、定时器4控制T4CCTL00XEC定时器4(Timer4)定时器4通道0比较控制T4CC00XED定时器4(Timer4)定时器4通道0比较值T4CCTL10XEE定时器4(Timer4)定时器4通道1比较控制T4CC10XEF定时器4(Timer4)定时器4通道1比较值TIMIF0XD8定时器中断定时器1/3/4联合中断使能/标志U0CSR0X86串行通信0(USART0)串行通信0控制和状态U0DBUF0XC1串行通信0(USART0)串行通信0收/发数据缓存U0BAUD0XC2串行通信0(USART0)串行通信0波特率控制U0UCR0XC4串行通信0(USART0)串行通信0UART控制
23、U0GCR0XC5串行通信0(USART0)串行通信0通用控制U1CSR0XF8串行通信1(USART1)串行通信1控制和状态U1DBUF0XF9串行通信1(USART1)串行通信1收/发数据缓存U1BAUD0XFA串行通信1(USART1)串行通信1波特率控制U1UCR0XFB串行通信1(USART1)串行通信1 UART控制U1GCR0XFC串行通信1(USART1)串行通信1通用控制WDCTL0XC9看门狗看门狗定时器控制XREG寄存器是XDATA寄存器空间里另外的寄存器。这些寄存器主要用于无线配置和控制。表1-3给出了每一个寄存器的地址空间概述。表1-3 XREG寄存器概览XDATA寄
24、存器名称描述0X6000-0X61FF-无线电寄存器0X6200-0X62BB-USB寄存器0X6249CHVER芯片版本0X624ACHIPID芯片ID0X6260DBFDATA调试接口写数据0X6270FCTLFLASH控制0X6271FADDRLFLASH地址低0X6272FADDRHFLASH地址高0X6273FWDATAFLASH写数据0X6276CHIPINFO0芯片信息字节00X6277CHIPINFO1芯片信息字节10X6290CLD时钟丢失检测0X62A0T1CCTL0定时器1通道0捕获/比较控制(SFR映射寄存器)0X62A1T1CCTL1定时器1通道1捕获/比较控制(SF
25、R映射寄存器)0X62A2T1CCTL2定时器1通道2捕获/比较控制(SFR映射寄存器)0X62A3T1CCTL3定时器1通道3捕获/比较控制0X62A4T1CCTL4定时器1通道4捕获/比较控制0X62A6T1CC0L定时器1通道0捕获/比较值低位(SFR映射寄存器)0X62A7T1CC0H定时器1通道0捕获/比较值高位(SFR映射寄存器)0X62A8T1CC1L定时器1通道1捕获/比较值低位(SFR映射寄存器)0X62A9T1CC1H定时器1通道0捕获/比较值高位(SFR映射寄存器)0X62AAT1CC2L定时器1通道2捕获/比较值低位(SFR映射寄存器)0X62ABT1CC2H定时器1通
26、道2捕获/比较值高位(SFR映射寄存器)0X62ACT1CC3L定时器1通道3捕获/比较值低位(SFR映射寄存器)0X62ADT1CC3H定时器1通道3捕获/比较值高位(SFR映射寄存器)0X62AET1CC4L定时器1通道4捕获/比较值低位(SFR映射寄存器)0X62AFT1CC4H定时器1通道4捕获/比较值高位(SFR映射寄存器)0X62B0STCC睡眠定时器捕获控制0X62B1STCS睡眠定时器捕获状态0X62B2STCV0睡眠定时器捕获值字节00X62B3STCV1睡眠定时器捕获值字节10X62B4STCV2睡眠定时器捕获值字节26.2 实验一 建立一个简单的实验工程 6.2.1 实验
27、目的通过本实验的学习,使用户熟悉如何使用CC2530的软件开发环境IAR Embedded WorBench for MCS-51 V7.51来新建一个工程以完成自己的设计和调试。注意:本实验只是讲解如何基于IAR来新建一个工程,其他关于IAR的使用,请参照IAR开发环境的使用手册,IAR的详细说明文档请到IAR官方网站查找或者在IAR安装文件夹下查找(x:Program FilesIAR SystemsEmbedded Workbench 5.38051doc)。 6.2.2 实验内容闪烁FANTAI_ZigBee开发评估板上的LED灯 6.2.3 实验条件1. 在用户PC上(Microso
28、ft Windows XP以上系统平台)正确安装IAR Embedded WorBench for MCS-51 V7.51集成开发环境;2. FANTAI_ZigBee开发评估板一个(插有FANTAI_CC2530模块);3. FANTAI-CC Debugger 多功能仿真器/调试器1个;4. USB线两条 6.2.4 实验原理由FANTAI_ZigBee开发评估板原理图可知,出厂默认设置:LED1(LED_G)用户指示灯由CC2530得P1.0引脚控制。P1.0输出高电平时LED_G点亮,输出低电平时LED_G熄灭。 6.2.5 实验步骤2.5.1建立一个新的工程按图2-1打开IAR集成
29、开发环境,打开后会显示如图2-2所示的窗口,选择"Create new project in current workspace"后会显示建立新工程的对话框,如图2-3所示。在"Tool chain"栏下拉菜单选择8051,在"Project templates"栏选择"Empty project",然后单击下方的OK按钮。根据需要选择工程保存的位置,更改工程名称,例如"LEDtest",然后单击保存按钮,如图2-4所示。这样就建立了一个新的工程。图2-1 IAR打开路径图2-2 当前窗口创建新
30、的工程图2-3 新建工程对话框图2-4 文件保存对话框IAR产生两个创建配置:调试(Debug)和发布(Release),如图2-5所示。本实验只是使用Debug配置。单击菜单栏上的保存按钮,如图2-6所示。保存工作区文件,指定工作区文件名和存放路径,本实验把它放到新建的工程目录下,然后单击保存按钮,如图2-7所示。图2-5 工作区界面图2-6 保存工作区文件图2-7 工作区文件保存对话框2.5.2 添加或新建程序文件一个新的工程已经建立成功了,现在可以向工程里面添加程序文件。如果用户有现成的程序文件,那么可以选择菜单ProjectAdd Files来添加已有的程序文件,如图2-8所示。也可以
31、在工作区窗口中单击鼠标右键,在弹出的快捷菜单中选择AddAdd Files来添加已有的文件,如图2-9所示。图2-8 添加已有程序文件图2-9 添加已有程序文件如果没有编辑好的程序文件,可以单击工具栏上的新建按钮或选择菜单FilesNewFiles新建一个空的文件,如图2-10所示,然后向这个文件里添加程序代码。 图2-10 新建程序文件程序清单:/* 包含头文件 */#include "ioCC2530.h" / 引用头文件/* * 函数名称:delay * 功 能:软件延时 * 入口参数:无 * 出口参数:无 * 返 回 值:无 */void delay(void) u
32、nsigned int i; unsigned char j; for(i = 0; i < 1000; i+) for(j = 0; j < 200; j+) asm("NOP"); asm("NOP"); asm("NOP"); /* * 函数名称:main * 功 能:main函数入口 * 入口参数:无 * 出口参数:无 * 返 回 值:无 */void main(void) P1SEL &= (0x01 << 0); / 设置P1.0为普通IO口 P1DIR |= 0x01 << 0
33、; / 设置为输出 while(1) P1_0 = 1; delay(); 在新建的程序文件里添加问代码后,窗口如图2-11所示。选择菜单FileSave打开保存对话框,保存程序文件。新建一个source文件夹,然后将程序文件保存到该目录下,同时修改文件名。如图2-12和2-13所示。图2-11 添加完代码后图2-12 新建程序文件夹图2-13 保存程序文件点击WorkSpace中的LEDtest工程文件名,然后右击鼠标来添加工程文件,如图2-14。 图2-14 添加工程文件添加完工程文件后,整个工程界面如图2-15所示 如图2-15 添加工程文件后的界面2.5.3 配置工程设置配置工程编译和
34、文件输出等选项设置,选择菜单ProjectOptions来对工程进行配置。也可以在工作区窗口中右击鼠标,在弹出的快捷菜单中选择Options来实现配置。如图2-16所示。图2-16 编译选项(1) 配置"General Options"选项中的相关项目在窗口左侧的"Category"列表框中选择" General Options "选项,在窗口右侧将会显示该选项相应的选项卡,如图2-16所示。选择"Target"选项卡,设置有关选项:在"Target"子栏目录中的"Device inf
35、ormation"中选择"Device"为CC2530设备。点击右端按钮,在弹出的对话框中选择正确的设备信息,选择路径为:x:Program FilesIAR SystemsEmbedded Workbench 5.38051configdevicesTexas InstrumentsCC2530.i51,其他选项保持不变,如图2-17所示。.图2-17 Target选项配置(2) 设置"Linker"选项中的相关设置选择"Output"选项卡,设置相关选项:在"Linker"选项,"Outpu
36、t"子栏中,若使用FANTAI-CC Debugger在IAR集成环境下在线下载和调试程序,默认设置即可,若图2-18所示。若只生成*.hex文件,则需要勾选"Output file"下的"Override default"选项,在"Format"一栏中,点选"Other"项,"Output"为"intel-extended","Format variant"为"None","Module-local"设置
37、为"Include all",如图2-19所示。图2-18 Linker选项卡配置图2-19 生成 *.hex文件的配置选择"Config"选项卡配置相关选项:在"Linker"选项,"Config"选项卡中的"Linker command file"栏目中勾选"Override default"选项,使下拉菜单有效,选择为:$TOOLKIT_DIR$configlnk51ew_cc2530b.xcl。其路径为:x:Program FilesIAR SystemsEmbedd
38、ed Workbench 5.38051configlnk51ew_cc2530b.xcl。其配置结果如图2-20 所示。图2-20 Linker-Config选项配置若使用IAR集成开发环境仅生成*.hex文件,以上的配置即可,若要使用FANTAI-CC Debugger仿真器在线调试代码,则需要进行以下配置。(3) 设置"Debugger"选项中的相关项目在"Debugger"选项的"Setup"选项卡中"Driver"一栏中,选择"Texas Instrument",并且勾选"O
39、verride default",然后再指定设备描述文件,标准路径及文件为x:Program FilesIAR SystemsEmbedded Workbench 5.38051configdevicesTexas InstrumentsCC2530.ddf。其他保持不变,如图2-21所示。图2-21 Setup是指选项配置若用户第一次使用CC2530芯片,则需要在"Texas Instruments"选项中的"Download"选项卡中,勾选"Erase Flash"。如图2-22所示。图2-22 擦出flash选项配置注
40、意:以上各个配置完成后,最后一步均要点击OK按钮来保存当前设置。2.5.4 下载程序到CC2530通过以上正确设置后,用户可以通过以下两种方法将程序下载到CC2530芯片中,以便观察程序是否正确,以及实验现象是否正确。注意:在下载程序到CC2530之前,首先需要确保硬件连接正确。既将FANTAI-CC Debugger使用USB电缆和10PiN扁平电缆,分别连接用户PC机和FANTAI_ZigBee开发评估板。确保FANTAI-CC Debugger多功能仿真器驱动安装正确。编译程序代码,点击菜单栏"ProjectRebuild All"或者直接点击快捷按钮,对程序文件进行
41、编译。 图2-23 编译程序文件方法一、在线调试工程代码若用户需要在线调试代码,则可以点击菜单栏"ProjectDebug"或者直接点击快捷按钮,或者使用快捷键"Ctrl+D",如图2-24所示,进入在线调试主界面,如图2-25所示。图2-24 启动调试功能图2-25 调试主界面如何使用调试工具进行代码调试,在图2-25的调试界面中分别有如下的按钮,如下面列出所示。可以使用调试工具栏,对程序进行在线调试。:复位:停止调试:每一步执行一个函数调用:进入内部函数或子程序:从内部函数或子程序跳出:每次执行一个语句:运行到光标处:全速运行:退出在线调试变量的查看
42、和表达式的方法:Ø 使用自动窗口选择"ViewAuto"菜单打开自动窗口,如图2-26所示。用户可以连续点击按钮,然后在自动窗口中观察相应变量或者表达式的值的变化情况。Ø 设置监控点选择"ViewWatch"菜单打开监控窗口,如图2-27所示。图2-26 仿真界面图2-26 监控窗口界面单击监控窗口中的虚线框,出现输入光标时输入 要观察的变量,在这里输入变量j并且回车。用户可以连续点击按钮,观察监控窗口中监控变量j的值变化情况。如图2-27所示。图2-27 监控窗口监控变量变化如果要在监控窗口中删除一个变量,先选中该变量然后按键盘上的
43、"Delete"键或者右击鼠标在弹出的菜单中选择"Remove"。默认情况下,变量的值以十六进制的方式显示,我们可以选择其他显示方式显示。选中该变量,右击鼠标,在弹出的菜单中选择所希望的显示方式,如图2-28。图2-28 修改变量显示方式插入/删除断点的方法介绍:假如使程序运行到delay函数的for循环的第二个asm("NOP")语句终止,可以通过设置断点的方法实现。首先将光标移动到该语句上双击左键,如图2-29所示。或者选中该语句后,点击设置/取消断点按钮。图2-29 设置断点点击全速运行按钮,使程序运行,程序会自动运行到刚才设置
44、断点处,观察到变量j的值变化情况,如图2-30所示。图2-30 程序运行到设置断点处可以继续点击全速运行按钮,可以观察到j值依次递增,每次增加1。方法二、通过第三方软件下载代码可以利用TI公司提供的SmartRF Flash Programmer来下载编译后的*.hex文件。具体操作过程如下:首先打开SmartRF Flash Programmer软件,选择"System-on-Chip"选项卡,如图2-31。图2-31 SmartRF Flash Programmer软件界面在图2-31中可以看出,在"System-on-Chip"选项卡中,检测到EB
45、ID:8238(注意:每个FANTAI-CC Debugger仿真器都有一个自己的ID)、Chip Type(CC2530)、EB Type(CC Debugger)、EB firmware rev(0009)等信息,表示FANTAI-CC Debugger仿真器已经找到片上系统设备CC2530,连接成功。如果没有出现以上信息,请检查PC机、FANTAI-CC Debugger仿真器与FANTAI_ZigBee开发评估板连接是否正确。点击"Flash"右端""按钮选择当前工程中已编译好程序的hex文件。在"Actions"选项中勾选&
46、quot;Erase,program and verify",最后点击"Perform actions"按钮,执行下载命令,成功下载完成后,显示如图2-32界面。图2-32 程序下载成功界面注意:点击"Perform actions"后,要耐心等待擦擦、烧写及校验完成,所需时间根据*.hex文件大小不同。最后提示"CC2530 - ID8238: Erase, program and verify OK",说明烧写并校验成功。注意:不论采取何种方式对CC2530进行变成烧写,在执行完毕后,为避免影响实验最后结果,请把FANT
47、AI_ZigBee开发评估板或者FANTAI_ZigBee开发节点上的JTAG座上的10PIN扁平电缆取下后,进行试验演示和观察。2.6 实验结果通过本实验,可以观察到:LED_1指示灯交替闪烁。6.3实验二 通用数字I/O实验6.3.1 实验目的通过本实验的学习,使用户熟悉CC2530芯片通用数字I/O口的配置和使用。6.3.2 实验内容闪烁FANTAI_ZigBee开发评估板上的4个用户LED指示灯LED1-LED4(LED_GLED_RLED_YLED_B)6.3.3 实验条件1. 在用户PC上(Microsoft Windows XP以上系统平台)正确安装IAR Embedded Wo
48、rBench for MCS-51 V7.51集成开发环境;2. FANTAI_ZigBee开发评估板一个(插有FANTAI_CC2530模块);3. FANTAI-CC Debugger多功能仿真器/调试器1个;4. USB线两条6.3.4 实验原理由FANTAI_ZigBee开发评估板原理图可知,出厂默认设置:LED1(LED_G)用户指示灯由CC2530得P1.0引脚控制。P1.0输出高电平时LED_G点亮,输出低电平时LED_G熄灭。LED2(LED_R)用户指示灯由CC2530得P1.1引脚控制。P1.1输出高电平时LED_R点亮,输出低电平时LED_R熄灭。LED3(LED_Y)用
49、户指示灯由CC2530得P1.4引脚控制。P1.4输出高电平时LED_Y点亮,输出低电平时LED_Y熄灭。LED4(LED_B)用户指示灯由CC2530得P0.1引脚控制。P0.1输出高电平时LED_B点亮,输出低电平时LED_B熄灭。本实验涉及CC2530的通用输入输出接口(GPIO)的配置及操作。由于CC2530的21个数字I/O口引脚具有可编程功能,可通过设置相关寄存器配置为通用数字I/O和用于连接ADC、定时/计数器或者USART等片内外设的特殊功能I/O。这些特殊功能I/O口的用途,通过以下几个表中列出了本实验用到的几组寄存器。表3-1 I/O端口名称Port0、Port1 、Por
50、t2位名称复位读/写描述P0(0X80-P0口)7:0P07:00XFFR/WPort0.GPIO口或者外设IO,可位寻址P1(0X90-P1口)7:0P17:00XFFR/WPort1.GPIO口或者外设IO,可位寻址P2(0XA0-P2口)7:5-000R04:0P27:00x1FR/WPort2.GPIO口或者外设IO,可位寻址表 3-2 I/O接口功能选择I/O接口功能选择位名称复位读/写描述P0SEL(0XF3-P0口功能选择)7:0SELP07:00X00R/WP0_7P0_0功能选择0 GPIO1 外设P1SEL(0XF4-P1口功能选择)7:0SELP17:00X00R/WP1
51、_7P1_0功能选择0 GPIO1 外设P2SEL(0XF5-P2口功能选择)7-0R0不使用6PRI3P10R/WP1口外设优先级控制。当PERCFG同时分配USART0和USART1到同一引脚时,该位决定其优先级顺序。0 USART0优先;1 USART1优先5PRI2P10R/WP1口外设优先级控制。当PERCFG同时分配USART1和Timer3到同一引脚时,该位决定其优先级顺序。0 USART1优先;1 Timer3优先4PRI1P10R/WP1口外设优先级控制。当PERCFG同时分配Timer1和Timer4到同一引脚时,该位决定其优先级顺序。0 Timer1优先;1 Timer4优先3PRI0P10R/WP1口外设优先级控制。当PERCFG同时分配USART0和Timer1到同一引脚时,该位决定其优先级顺序。0 USART0优先;1 Timer1优先2SELP2_40R/WP2_4功能选择0 GPIO1 外设1SELP2_30R/WP2_3功能选择0 GPIO1 外设0SELP2_00R/
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 4213-2024气动控制阀
- 2024机械设备的购销合同范本
- 二零二五版1209两人共同投资智能家居系统集成合同3篇
- 2024法院签的离婚协议算不算离婚
- 2024汽车制造技术与专利许可合同
- 二零二五版吊车租赁合同安全教育与培训协议3篇
- 2025年度市政设施改造出渣承包管理协议3篇
- 二零二五年度医药产品铺货与区域分销合同3篇
- 西南政法大学《无机材料合成与制备》2023-2024学年第一学期期末试卷
- 二零二五版LNG液化天然气运输船舶改造合同3篇
- 2025年中国高纯生铁行业政策、市场规模及投资前景研究报告(智研咨询发布)
- 2022-2024年浙江中考英语试题汇编:完形填空(学生版)
- 2025年广东省广州市荔湾区各街道办事处招聘90人历年高频重点提升(共500题)附带答案详解
- 中试部培训资料
- 硝化棉是天然纤维素硝化棉制造行业分析报告
- 央视网2025亚冬会营销方案
- 北师大版数学三年级下册竖式计算题100道
- 计算机网络技术全套教学课件
- 屋顶分布式光伏发电项目施工重点难点分析及应对措施
- 胃镜下超声穿刺护理配合
- 2024解析:第三章物态变化-基础练(原卷版)
评论
0/150
提交评论