基于C8051F330单片机系统设计入门.doc

上传人:枫** 文档编号:544951033 上传时间:2023-11-26 格式:DOC 页数:31 大小:1.52MB
返回 下载 相关 举报
基于C8051F330单片机系统设计入门.doc_第1页
第1页 / 共31页
基于C8051F330单片机系统设计入门.doc_第2页
第2页 / 共31页
基于C8051F330单片机系统设计入门.doc_第3页
第3页 / 共31页
基于C8051F330单片机系统设计入门.doc_第4页
第4页 / 共31页
基于C8051F330单片机系统设计入门.doc_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《基于C8051F330单片机系统设计入门.doc》由会员分享,可在线阅读,更多相关《基于C8051F330单片机系统设计入门.doc(31页珍藏版)》请在金锄头文库上搜索。

1、基于C8051F330单片机系统设计入门邬杨波2008.08.08目 录1、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、C8051F330单片机系统软件设计要点3.1

2、单片机的初始化设置3.2 软件延时程序1 C8051F330单片机特点1.1 C8051F330单片机概况模拟外设 10位 ADC(只限于F330) 􀂃 转换速率可达200ksps 􀂃 可多达16个外部单端或差分输入 􀂃 VREF可在内部VREF、外部引脚或VDD中选择 􀂃 内部或外部转换启动源 􀂃 内置温度传感器 10位电流输出DAC(只限于F330) 比较器 􀂃 可编程回差电压和响应时间 􀂃 可配置为中断或复位源 􀂃 小电流(0.4A) 在片调试

3、片内调试电路提供全速、非侵入式的在系统调试(不需仿真器!) 支持断点、单步、观察/修改存储器和寄存器 比使用仿真芯片、目标仿真头和仿真插座的仿真系统有更优越的性能 廉价而完整的开发套件 供电电压2.7V - 3.6V 典型工作电流:6.4mA 25MHz 9A 32KHz 典型停机电流:0.1A 温度范围:-40C - +85C高速8051微控制器内核 流水线指令结构;70%的指令的执行时间为一个或两个系统时钟周期 速度可达25MIPS(时钟频率为25MHz时) 扩展的中断系统 存储器 768字节内部数据RAM(256+512) 8KB FLASH;可在系统编程,扇区大小为512字节 数字外设

4、 17个端口I/O;均耐5V电压,大灌电流 硬件增强型UART、SMBus和增强型SPI串口 4个通用16位计数器/定时器 16位可编程计数器/定时器阵列(PCA),有3个捕捉/比较模块 使用PCA或定时器和外部时钟源的实时时钟方式 时钟源 两个内部振荡器: 􀁹 24.5MHz,2%的精度,可支持无晶体UART操作 􀁹 80/40/20/10 kHz低频率、低功耗振荡器 外部振荡器:晶体、RC、C、或外部时钟 可在运行中切换时钟源,适用于节电方式 1.2 CIP-51TM 微控制器核 1.2.1 与8051完全兼容 C8051F330/1系列器件使用Sili

5、con Labs的专利CIP-51微控制器内核。CIP-51与MCS-51TM指令集完全兼容,可以使用标准803x/805x的汇编器和编译器进行软件开发。CIP-51内核具有标准8052的所有外设部件,包括4个16位计数器/定时器、一个具有增强波特率配置的全双工UART、一个增强型SPI端口、768字节内部RAM、128字节特殊功能寄存器(SFR)地址空间及17个I/O端口。 1.2.2 速度提高 CIP-51采用流水线结构,与标准的8051结构相比指令执行速度有很大的提高。在一个标准的8051中,除MUL和DIV以外所有指令都需要12或24个系统时钟周期,最大系统时钟频率为12-24MHz。

6、而对于CIP-51内核,70%的指令的执行时间为1或2个系统时钟周期,只有4条指令的执行时间大于4个系统时钟周期。 CIP-51共有111条指令。下表列出了指令条数与执行时所需的系统时钟周期数的关系。 行周期数1 2 2/3 3 3/4 4 4/5 5 8指令数26 50 5 16 7 3 1 2 11.2.3 增加的功能 C8051F330/1 系列MCU在CIP-51内核和外设方面有几项关键性的改进,提高了整体性能,更易于在最终应用中使用。 扩展的中断系统向CIP-51提供14个中断源(标准8051只有7个中断源),允许大量的模拟和数字外设中断微控制器。一个中断驱动的系统需要较少的MCU干

7、预,因而有更高的执行效率。在设计一个多任务实时系统时,这些增加的中断源是非常有用的。 MCU有多达8个复位源:上电复位电路(POR)、一个片内VDD监视器(当电源电压低于VRST时强制复位)、一个看门狗定时器、一个时钟丢失检测器、一个由比较器0提供的电压检测器、一个软件强制复位、外部复位输入引脚和FLASH读/写错误保护电路复位。除了POR、复位输入引脚及FLASH操作错误这三个复位源之外,其他复位源都可以被软件禁止。在一次上电复位之后的MCU初始化期间,WDT可以被永久性使能。 C8051F330/1器件的内部振荡器在出厂时已经被校准为24.5MHz 2%,该振荡器的周期可以由用户以大约0.

8、5%的增量编程;片内还集成了一个低速振荡器,更适合于低功耗操作。器件内集成了外部振荡器驱动电路,允许使用晶体、陶瓷谐振器、电容、RC或外部CMOS时钟源产生系统时钟。如果需要,时钟源可以在运行时切换到外部振荡器。外部振荡器在低功耗系统中是非常有用的,它允许MCU从一个低频率(节电)外部晶体源运行,当需要时再周期性地切换到高速(可达25MHz)的内部振荡器。 图1.4 片内时钟和复位电路- 1 -1.3 片内存储器 CIP-51有标准8051的程序和数据地址配置。它包括256字节的数据RAM,其中高128字节为双映射。用间接寻址访问通用RAM的高128字节,用直接寻址访问128字节的SFR地址空

9、间。数据RAM的低128字节可用直接或间接寻址方式访问。前32个字节为4个通用寄存器区,接下来的16字节既可以按字节寻址也可以按位寻址。 程序存储器包含8KB的FLASH。该存储器以512字节为一个扇区,可以在系统编程,且不需特别的编程电压。图1.5给出了MCU系统的存储器结构。 图1.5 片内存储器组织1.4 片内调试电路 C8051F330/1器件具有片内Silicon Labs 2线(C2)接口调试电路,支持使用安装在最终应用系统中的产品器件进行非侵入式、全速的在系统调试。 Silicon Labs的调试系统支持观察和修改存储器和寄存器,支持断点和单步执行。不需要额外的目标RAM、程序存

10、储器、定时器或通信通道。在调试时所有的模拟和数字外设都正常工作。当MCU单步执行或遇到断点而停止运行时,所有的外设(ADC和SMBus除外)都停止运行,以保持与指令执行同步。USB 图1.6 开发/在系统调试示意图 1.5 可编程数字I/O和交叉开关 C8051F330有17个I/O引脚(两个8位口和一个1位口)。C8051F330/1端口的工作情况与标准8051相似,但有一些改进。每个端口引脚都可以被配置为模拟输入或数字I/O。被选择作为数字I/O的引脚还可以被配置为推挽或漏极开路输出。在标准8051中固定的“弱上拉”可以被总体禁止,这为低功耗应用提供了进一步节电的能力。 数字交叉开关允许将

11、内部数字系统资源映射到端口I/O引脚(见图1.7)。可通过设置交叉开关控制寄存器将片内的计数器/定时器、串行总线、硬件中断、比较器输出以及微控制器内部的其它数字信号配置为出现在端口I/O引脚。这一特性允许用户根据自己的特定应用选择通用端口I/O和所需数字资源的组合。 图1.7 数字交叉开关原理框图1.6 串行端口 C8051F330/1系列MCU内部有一个SMBus/I2C接口、一个具有增强型波特率配置的全双工UART和一个增强型SPI接口。每种串行总线都完全用硬件实现,都能向CIP-51产生中断,因此需要很少的CPU干预。1.7 可编程计数器阵列 除了4个16位的通用计数器/定时器之外,MC

12、U中还有一个片内可编程计数器/定时器阵列(PCA)。PCA包括一个专用的16位计数器/定时器时间基准和3个可编程的捕捉/比较模块。时间基准的时钟可以是下面的六个时钟源之一:系统时钟/12、系统时钟/4、定时器0溢出、外部时钟输入(ECI)、系统时钟和外部振荡源频率/8。外部时钟源对于实时时钟功能是非常有用的,可以在使用内部振荡器驱动系统时钟的同时由外部振荡器给PCA提供时钟。 每个捕捉/比较模块都有六种工作方式:边沿触发捕捉、软件定时器、高速输出、8位或16位脉冲宽度调制器、频率输出。此外,捕捉/比较模块2还提供看门狗定时器(WDT)功能。在系统复位后,捕捉/比较模块2被配置并被使能为WDT方

13、式。PCA捕捉/比较模块的I/O和外部时钟输入可以通过数字交叉开关连到端口I/O。 图1.8 PCA原理框图1.8 10位模/数转换器 C8051F330/1内部有一个10位SAR ADC和一个16通道差分输入多路选择器。该ADC工作在200ksps的最大采样速率时可提供真正10位的线性度,INL和DNL为1LSB。ADC系统包含一个可编程的模拟多路选择器,用于选择ADC的正输入和负输入。端口01作为ADC的输入;另外,片内温度传感器的输出和电源电压(VDD)也可以作为ADC的输入。用户固件可以将ADC置于关断状态以节省功耗。 A/D转换可以有6种启动方式:软件命令、定时器0溢出、定时器1溢出

14、、定时器2溢出、定时器3溢出或外部转换启动信号。这种灵活性允许用软件事件、外部硬件信号或周期性的定时器溢出信号触发转换。一次转换完成可以产生中断(如果被允许),或者用软件查询一个状态位来判断转换结束。转换结束后10位结果数据字被锁存到ADC数据寄存器中。 窗口比较寄存器可被配置为当ADC数据位于一个规定的范围之内或之外时向控制器申请中断。ADC可以用后台方式监视一个关键电压,当转换数据位于规定的范围之内/外时才向控制器申请中断。 图1.9 10位ADC原理框图1.9 比较器 C8051F330/1器件内部有一个电压比较器,可以由用户软件使能/禁止和配置。端口I/O引脚可以通过多路选择器被配置为

15、比较器输入。如果需要,可以将两个比较器输出连到端口引脚:一个锁存输出和/或一个未锁存的输出(异步)。比较器的响应时间是可编程的,允许用户在高速和低功耗方式之间选择。比较器的正向和负向回差电压也是可配置的。 比较器能在上升沿、下降沿产生中断,或在两个边沿都产生中断。当MCU工作在空闲方式时,这些中断可用于唤醒MCU。比较器0还可以被配置为复位源。图1.10给出了比较器0的原理框图。 图1.10 比较器原理框图 1.10 10位电流输出DAC C8051F330内部有一个10位电流方式数/模转换器(IDA0)。IDA0的最大输出电流可以有三种不同的设置:0.5mA、1mA和2mA。IDA0具有灵活的输出更新机制,允许无缝满度变化,支持无抖动波形更新。IDA0有三种更新方式:写IDA0H、定时器溢出或外部引脚边沿。 图1.11 IDA0原理

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号