硬件简介:
C8051F020器件是完全集成的混合信号系统级MCU芯片(SOC),它使用Cygnal的专利CIP-51微控制器内核,CIP-51与MCS-51指令集完全兼容。它采用流水线结构,与标准的8051结构相比指令执行速度有很大的提高。CIP-51提供了22个中断源,允许大量的模拟和数字外设中断微控制器,因而有更高的执行效率。具有64个I/O引脚,每个端口都可以配置成推挽或漏极开路输出。C8051F020 MCU内部有一个SMBUS/I2C接口、两个具有增强型波特率配置的全双工UART和一个增强型SPI接口,每种串行总线完全用硬件实现,都能向CIP-51产生中断。它内部有一个12位的ADC0,该子系统包括一个9 通道的可编程模拟多路选择器(AMUX0),一个可编程增益放大器(PGA0)和一个100ksps、12 位分辨率的逐次逼近寄存器型ADC,ADC中集成了跟踪保持电路和可编程窗口检测器;一个8位的ADC1,包括一个8 通道的可配置模拟多路开关(AMUX1),一个可编程增益放大器(PGA1)和一个500ksps、8 位分辨率的逐次逼近寄存器型ADC。两个12位的DAC转换器,每个DAC 都具有灵活的输出更新机制,允许无缝的满度变化并支持无抖动输出更新。C8051F020还有5个通用的16位定时器和5 个捕捉/比较模块的可编程计数器/定时器阵列。
设置交叉开关表将P0.2、P0.3和P0.4引脚配置为SPI接口, 其主要函数:
void SendSPIByte(unsigned char ch) // 通过SPI发送一个字节数据
{
SPIF = 0; // SPIF位清零
SPI0DAT = ch; // 启动一次数据发送
while (SPIF == 0); // 等待数据发送完毕
}
unsigned char GetSPIByte(void) //通过SPI接收一个字节数据
{
SPIF = 0; // SPIF位清零
SPI0DAT = 0; //启动一次数据接收
while (SPIF == 0); // 等待数据接收完毕
return SPI0DAT; // 读取SPI接收到的数据
}
文章评论(0条评论)
登录后参与讨论