1、IO 端口控制向量组合: P_SystemClock 单元设置CPU 时钟选择PLL(Fosc)频率选择:P_Timebase_Setup 单元Timebase 频率选择:P_TimerA_Ctrl 单元:时钟源 A 选择位:时钟源 B 选择位:TimerA 结构:P_TimerB_Ctrl 单元:时钟源 C 选择位:TimerB 结构:占空比设置 B6-B9:P_SIO_Ctrl(写) 单元(SIO 串行设备输入输出口):P_UART_Command1(写) 单元为 UART 控制口:P_UART_Command2 (写) 单元在写入模式时,为 UART 数据发送/ 接收控制口:P_UART
2、_Command2(读):符号约定:中断源:SPCE061A 单片机的中断系统有 14 个中断源分为两个定时器溢出中断 、两个外部中断、一个串行口中断、一个触键唤醒中断、7 个时基信号中断、PWM 音频输出中断。中断控制单元 P_INT_Ctrl(读/写) (7010H)P_INT_Ctrl 控制单元具有可读和可写的属性,其读写时的意义是不同的: 写-“1”开中断、“0”关中断;读-中断标志位“1”有中断请求, “0”无中断请求 :清除中断标志控制单元 P_INT_Clear(写) (7011H):只要将该寄存器中对应的中断位置 “1” 即可清除该中断状态标志位。激活和屏蔽中断控制单元 P_I
3、NT_Ctrl_New(读/写)($702DH)中断控制指令: (SPCE061A 中断除 UART 中断外,所有的中断均需软件清除标志位,即将 P_INT_Clear 中相应的中断位清零。即可将中断请求撤销。而 UART 中断,则是硬件自动清零)中断源判断: 因为 SPCE061A 中断源多于中断入口地址,所以当 CPU 响应中断后,经中断入口地址进入中断服务程序,通过读 P_INT_Ctrl 可判断产生中断请求的中断源。定时器中断:时基中断(2Hz 、4Hz 、8Hz、16Hz、32Hz、64Hz 、128Hz、256Hz、512Hz 、1024H 、 2048Hz、4096Hz 等多种频
4、率)外部中断: (SPCE061A 有两个外部中断,为负跳沿触发)选择外部中断 1, 初始化 IOB2 为带上拉电阻的输入端口;选择外部中断 2,初始化 IOB3 为带上拉电阻的输入端口位高阻输入。串行异步中断: UART(波特率设置)B 端口的第二功能:nRF2401 无线模块 bit17bit0 位的设置:bit111bit104:通道 1 接收数据长度( bit)通道 1 接收数据的长度 Data1_W,用于接收。每一帧的数据长度 Data_W = 256 Addr_W CRCbit63bit24:通道 1 地址(通道 1 的地址 Addr_1,用于接收。设置本机地址,通信过程中,发射端
5、通过配置该地址发送数据才能与之通信)bit23bit18:通道地址有效位数 (通道 1 和通道 2 的地址有效位数, 用于接收。 结合 bit63bit24 和 bit103bit64 选定通道的接收地址,其值不超过 40)bit17:CRC 校验位选择 (如果该位为“0” ,则 CRC 校验为 8 位;如果该位为“1” ,则 CRC 校验为 16 位;) 收发bit16:CRC 校验使能(如果该位为“0” ,则不进行 CRC 校验;如果该位为“1” ,则进行 CRC 校验) 收发bit15:通道 2 接收使能(如果该位为“0” ,则仅有通道 1 可以接收;如果该位为“1” ,则通道 1 和通
6、道 2 均可接收。注意通道 1 通道 2 同时接收时,通道 2 的接收频率比通道 1 的收发频率高 8MHz) 。 收发bit14:收发模式选择(如果该位为“0” ,nRF2401A 工作在 Direct 模式(直接收发模式) ;如果该位为“1” ,nRF2401A 工作在 Shock Burst 模式。) 收发bit13:RF 波特率选择(如果该位为 “0”,则选择 250Kbps 波特率;如果该位为 “1” , 则选择 1Mbps 波特率。通常选择 250 Kbps) 收发 bit12bit10:芯片外晶振选择(模组选用 16M 晶振,所以 bit12bit10 值为 011)bit9bi
7、t8:RF 发射功率选择(选择最大发射功率 0dBm,取 bit9bit8 值为 11。) 发射bit7bit1:RF 频率选择(如果 bit7bit1 的值为 n,通道 1 的收发频率为(2400+n)MHz;通道 2 的接收频率为(2400 + n +8)MHz。在通信时,只有发射端和接收端的频率一致,发射端的信号才可能被接收。) 收发bit0:芯片收发切换(如果该位为“0” ,则芯片工作于发送状态;如果该位为“1” ,则芯片工作于接收状态)向 nRF2401A 写控制字操作须严格按照图 3.1 的时序进行:在第一次配置操作结束后,只有最后两个字节的命令字可以被更改,前 16 个字节的修改无效,如果需要修改前 16 个字节的命令字(如通道接收地址,接收数据长度等) ,则需要掉电(PWR_UP 置低)后重新上电(PWR_UP 置高) ,才能对芯片进行彻底初始化操作。