1、基于C8051F330单片机系统设计入门基于C8051F330单片机系统设计入门邬杨波2008.08.081、C8051F330单片机结构特点1.1 C8051F330单片机概况1.2 CIP-51TM 微控制器核1.3 片内存储器1.4 片内调试电路1.5 可编程数字I/O和交叉开关1.6 串行端口1.7 可编程计数器阵列1.8 10位模/数转换器1.9 比较器1.10 10位电流输出DAC1.11引脚和封装定义2、C8051F330单片机系统硬件设计要点2.1 复位源特点及外部复位电路连接2.2 C2接口电路2.3 时钟系统特点及使用2.4 I/O端口和交叉开关特点及配置3、C8051F3
2、30单片机系统软件设计要点3.1 单片机的初始化设置3.2 软件延时程序1 C8051F330单片机特点1.1 C8051F330单片机概况模拟外设 10位 ADC(只限于F330) 转换速率可达200ksps 可多达16个外部单端或差分输入 VREF可在内部VREF、外部引脚或VDD中选择 内部或外部转换启动源 内置温度传感器 10位电流输出DAC(只限于F330) 比较器 可编程回差电压和响应时间 可配置为中断或复位源
3、; 小电流(1。 4 将系统时钟切换到外部振荡器。 图13.5 OSCXCN:外部振荡器控制寄存器2.3.4 系统时钟选择 寄存器CLKSEL中的SEL1-0位选择用作系统时钟的振荡器。当选择内部振荡器作为系统时钟时,外部振荡器仍然可以给外设(定时器、PCA)提供时钟。系统时钟可以在内部振荡器和外部振荡器之间自由切换,只要所选择的振荡器被使能并稳定运行。内部振荡器的起动时间很短,因此可以在同一个OSCICN写操作中使能和选择内部振荡器。外部晶体和陶瓷谐振器通常需要较长的起动时间,应待其稳定后方可用作系统时钟。当外部振荡器稳定后,晶体有效标志(寄存器OSCXCN中的XTLVLD)被硬件置1。在晶
4、体方式,为了防止读到假XTLVLD标志,软件在使能外部振荡器和检查XTLVLD之间至少应延时1ms。RC和C方式通常不需要起动时间。 图13.6 CLKSEL:时钟选择寄存器 2.4 I/O端口和交叉开关特点及配置数字和模拟资源可以通过17个I/O引脚使用。端口引脚被组织为两个8位口和一个1位口。每个端口引脚都可以被定义为通用I/O(GPIO)或模拟输入。P0.0 P1.7 可以被分配给内部数字资源,如图14.3所示。设计者完全控制数字功能的引脚分配,只受I/O引脚数的限制。这种资源分配的灵活性是通过使用优先权交叉开关译码器实现的。注意,不论交叉开关的设置如何,端口I/O引脚的状态总是可以被读到相应的端口锁存器。交叉开关根据优先权译码表(图14.3和图14.4)为所选择的内部数字资源分配I/O引脚。寄存器XBR0和XBR1(见图14.5 14.6)用于选择内部数字功能。所有端口I/O都耐5V电压(端口I/O单元示于图14.2)。端口I/O单元可以被配置为漏极开路或推挽方式(在端口输出方式寄存器PnMDOUT中设置,n = 0,1)。表14.1给出了端口I/O的电气特性。 表14.1 端口I/O 直流电气特性 VDD = 2.7V 3.6V, -40到+85(除非特别说明)。