您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > cc2530常用寄存器
一.CC2530控制外设的基本方法(通用I/O口)CC2530的I/O控制口一共有21个,分成3组,分别是P0、P1和P2;由上面的对照表可以看出LED1所对应的I/O口为P1_0,LED2所对应的I/O口为P1_1,LED3所对应的I/O口为P1_4,LED4所对应的I/O为P0_1。相对应的常用SFR有:P1DIR(P1方向寄存器,P0DIR同理):0:输入1:输出D7D6D5D4D3D2D1D0P0_7方向P0_6方向P0_5方向P0_4方向P0_3方向P0_2方向P0_1方向P0_0方向P1SEL(P1功能选择寄存器,P0SEL同理):D7D6D5D4D3D2D1D0P1.7的功能0:普通I/O1:外设功能P1.6的功能0:普通I/O1:外设功能P1.5的功能0:普通I/O1:外设功能P1.4的功能0:普通I/O1:外设功能P1.3的功能0:普通I/O1:外设功能P1.2的功能0:普通I/O1:外设功能P1.1的功能0:普通I/O1:外设功能P1.0的功能0:普通I/O1:外设功能P0SEL(P1SEL相同):各个I/O口的功能选择,0为普通I/O功能,1为外设功能D7D6D5D4D3D2D1D0P2SEL:(D0到D2位)端口2功能选择和端口1外设优先级控制什么是外设优先级:当PERCFG分配两个外设到相同的引脚时,需要设置这两个外设的优先级,确定哪一个外设先被响应D7D6D5D4D3D2D1D0未用0:USART0优先1:USART1优先0:USART1优先1:定时器3优先0:定时器1优先1:定时器4优先0:USART0优先1:定时器1优先P2_4功能选择P2_3功能选择P2_0功能选择P0DIR(P1DIR相同):设置各个I/O的方向,0为输入,1为输出D7D6D5D4D3D2D1D0P0_7方向P0_6方向P0_5方向P0_4方向P0_3方向P0_2方向P0_1方向P0_0方向P2DIR:D0~D4设置P2_0到P2_4的方向D7、D6位作为端口0外设优先级的控制D7D6D5D4D3D2D1D0XX未使用P2_4方向P2_3方向P2_2方向P2_1方向P2_0方向寄存器的设置:将控制寄存器的某一位置1:例:P1DIR|=0X02;解释:”|=“表示按位或运算,0X02为十六进制数,转换成二进制数为00000010,若P1DIR原来的值为00110000,或运算后P1DIR的值为00110010。根据上面给出的取值表可知,按位与运算后P1_1的方向改为输出,其他I/O口方向保持不变。将控制寄存器某一位清0:例:P1DIR&=~0X02;解释:”&=“表示按位与运算,”~“运算符表示取反,0X02为00000010,即~0X02为11111101。若P1DIR原来的值为00110010,与运算后P1DIR的值为00110000。二.通过中断控制LED,如何捕获一个外部中断和CC2530捕获外部中断后的处理流程P0IEN(P1IEN相同):各个控制口的中断使能,0为中断禁止,1为中断使能。D7D6D5D4D3D2D1D0P0_7P0_6P0_5P0_4P0_3P0_2P0_1P0_0D7D6意义00第1优先级:USART0第2优先级:USART1第3优先级:定时器101第1优先级:USART1第2优先级:USART0第3优先级:定时器110第1优先级:定时器1通道0-1第2优先级:USART1第3优先级:USART0第4优先级:定时器1通道2–311第1优先级:定时器1通道2-3第2优先级:USART0第3优先级:USART1第4优先级:定时器1通道0–1P0INP(P1INP意义相似):设置各个I/O口的输入模式,0为上拉/下拉,1为三态模式D7D6D5D4D3D2D1D0需要注意的是:P1INP中,只有D7~D2分别设置对应I/O口的输入模式。D1D0两位无作用。PICTL:D0~D3设置各个端口的中断触发方式,0为上升沿触发,1为下降沿触发。D7控制I/O引脚在输出模式下的驱动能力。选择输出驱动能力增强来补偿引脚DVDD的低I/O电压,确保在较低的电压下的驱动能力和较高电压下相同。0为最小驱动能力增强。1为最大驱动能力增强。D7D6D5D4D3D2D1D0I/O驱动能力未用未用未用P2_0~P2_4P1_4~P1_7P1_0~P1_3P0_0~P0_7IEN0:中断使能0,0为中断禁止,1为中断使能D7D6D5D4D3D2D1D0总中断EA未用睡眠定时器中断AES加密/解密中断USART1RX中断USART0RX中断ADC中断RFTX/RFFIFO中断IEN1:中断使能1,0为中断禁止,1为中断使能D7D6D5D4D3D2D1D0未用未用端口0定时器4定时器3定时器2定时器1DMA传输P0IFG(P1IFG相同):中断状态标志寄存器,当输入端口有中断请求时,相应的标志位将置1。D7D6D5D4D3D2D1D0P0_7P0_6P0_5P0_4P0_3P0_2P0_1P0_0P2INP:D0~D4控制P2_0~P2_4的输入模式,0为上拉/下拉,1为三态;D5~D7设置对P0、P1和P2的上拉或下拉的选择。0为上拉,1为下拉;D7D6D5D4D3D2D1D0端口2选择端口1选择端口0选择P2_4模式P2_3模式P2_2模式P2_1模式P2_0模式P2IFG:D0~D4为P2_0~P2_4的中断标志位D5为USBD+中断状态标志,当D+线有一个中断请求未决时设置该标志,用于检测USB挂起状态下的USB恢复事件。当USB控制器没有挂起时不设置该标志。D7D6D5D4D3D2D1D0未用未用USBD+P2_4P2_3P2_2P2_1P2_0P2IEN:D0~D4控制P2_0~P2_4的中断使能D5控制USBD+的中断使能D7D6D5D4D3D2D1D0未用未用USBD+P2_4P2_3P2_2P2_1P2_0IEN2:中断使能2,0为中断禁止,1为中断使能D7D6D5D4D3D2D1D0未用未用看门狗定时器端口1USART1TXUSART0TX端口2RF一般中断CC2530中断机制:①当按键S1按下时,因为S1所对应的I/O口为P0_1,所以P0端口将会发出一个中断请求,并自动将P0IFG寄存器对应位(即D1位)置1,等待CPU响应。②CPU在执行完一条指令之后就会检测是否有中断请求,如果检测到中断请求并且IEN1的D5位为1和P0IEN的D1为1时,对应的中断使能位中断使能,则根据中断类型号获得中断向量,根据中断向量得到中断服务子程序的地址,执行终端服务子程序。当中断服务子程序执行完毕后返回执行原来的程序。中断服务子程序的写法:头文件中已定义部分代码:#defineT1_VECTORVECT(9,0x4B)#defineT2_VECTORVECT(10,0x53)#defineT3_VECTORVECT(11,0x5B)#defineT4_VECTORVECT(12,0x63)#defineP0INT_VECTORVECT(13,0x6B)…格式如下:#pragmavector=中断向量__interruptvoid任意函数名(void){//中断处理,处理完成后通常需要清除中断标志。}三.定时器T1,掌握定时器T1的简单用法T1CTL:定时器1的控制,D1D0控制运行模式,D3D2设置分频划分值D7D6D5D4D3D2D1D0未用未用未用未用00:不分频01:8分频10:32分频11:128分频00:暂停运行01:自由运行,反复从0x0000到0xffff计数10:模计数,从0x000到T1CC0反复计数11:正计数/倒计数,从0x0000到T1CC0反复计数并且从T1CC0倒计数到0x0000T1STAT:定时器1的状态寄存器,D4~D0为通道4~通道0的中断标志,D5为溢出标志位,当计数到最终计数值是自动置1。D7D6D5D4D3D2D1D0未用未用溢出中断通道4中断通道3中断通道2中断通道1中断通道0中断T1CCTL0~T1CCTL4:定时器1通道0~通道4的工作方式设置。D1D0为捕捉模式选择:00为不捕捉,01为上升沿捕获,10为下降沿捕获,11为上升或下降沿都捕获。D2位为捕获或比较的选择,0为捕获模式,1为比较模式。D5D4D3为比较模式的选择:000为发生比较式输出端置1,001为发生比较时输出端清0,010为比较时输出翻转,其他模式较少使用。D7D6D5D4D3D2D1D0未用未用比较模式捕获/比较捕捉模式IRCON:中断标志4,;0为无中断请求。1为有中断请求。D7D6D5D4D3D2D1D0睡眠定时器必须为0端口0定时器4定时器3定时器2定时器1DMA完成T3CTL/T4CTL:定时器3或定时器4的方式控制寄存器。D7D6D5设置分频:000为无分频、001为2分频、010为4分频、011为8分频、100为16分频、101为32分频、110为64分频,111为128分频。D4为启动位,启动时1,停止工作为0。D3位为中断使能位,0为禁止,1为使能,默认为1;D2为复位,置1时定时器复位。D1D0为计数器模式选择:该位与T1CTL的D1D0位意义相同。D7D6D5D4D3D2D1D0分频启动定时器溢出中断清除计数器计数模式T3CCTL0/T3CCTL1/T4CCTL0/T4CCTL1:定时器3或定时器4的通道0和通道1的方式控制,D6为该通道的中断使能位,0为禁止,1为使能,默认为1;D5~D0与T1CCTL0相同D7D6D5D4D3D1D0未用中断使能比较模式捕获/比较捕捉模式TIMIF:定时器1的溢出中断屏蔽与定时器3、4的中断标志。D6为定时器1的溢出中断屏蔽,0为屏蔽,1为使能,默认为1.D5~D0为定时器3和4中各个通道的中断标志。D7D6D5D4D3D2D1D0未用T1溢出中断使能T4通道1中断标志T4通道0中断标志T4溢出标志中断标志T3通道1T3通道0T3溢出中断标志定时器1的工作原理:定时器1工作在自由运行方式下,定时器1开始工作后从0x0000开始做加1计算,一直到0xffff。0xffff再加1则溢出,发生溢出中断。此时定时器将发出一个溢出中断请求并将IRCON的D1为置1。此后,定时器自动重新计数,再次从0x0000计数到0xffff。四.串口基本使用方法,使用串口实现与PC机的通讯。U0CSR:USART0控制与状态;D7D6D5D4D3D2D1D0模式选择接收器使能SPI主/从模式帧错误状态奇偶错误状态接受状态传送状态收发主动状态D7为工作模式选择,0为SPI模式,1为USART模式D6为UART接收器使能,0为禁用接收器,1为接收器使能。D5为SPI主/从模式选择,0为SPI主模式,1为SPI从模式。D4为帧错误检测状态,0为无错误,1为出现出错。D3为奇偶错误检测,0为无错误出现,1为出现奇偶校验错误。D2为字节接收状态,0为没有收到字节,1为准备好接收字节。D1为字节传送状态,0为字节没有被传送,1为写到数据缓冲区的字节已经被发送。D0为USART接收/传送主动状态,0为USART空闲,1为USART忙碌。U0GCR:USART0通用控制寄存器;D7D6D5D4~D0SPI时钟极性SPI时钟相位传送位顺序波特率指数值D7为SPI时钟极性:0为负时钟极性,1为正时钟极性;D6为SPI时钟相位:D5为传送为顺序:0为最低有效位先传送,1为最高有效位先传送。D4~D0为波特率设置:波特率指数值小数部分2400659480075996008591440082161920095928800921638400105957600102167680011591152001121623040012216U0BAUD:波特率控制小数部分。CLKCONCMD:时钟频率控制寄存器。D7D6D5~D3D2~D032KHZ时间振荡器选择系统时钟选择定时器输出标记系统主时钟选择D7位为32KHZ时间振荡器选择,,0为32KRC震荡,1为32K晶振。默认为1。D6位为系统时钟选
本文标题:cc2530常用寄存器
链接地址:https://www.777doc.com/doc-2903649 .html