《C8051F单片机.ppt》由会员分享,可在线阅读,更多相关《C8051F单片机.ppt(34页珍藏版)》请在优知文库上搜索。
1、11、概述2、IO口3、交叉开关配置4、系统时钟源5、系统复位6、JTAG接口的在系统调试7、单片机的初始化设置2vC8051F系列单片机是集成的混合信号系列单片机是集成的混合信号片上系统片上系统SOC(System on chip)。)。v与与MCS-51内核及指令集完全兼容的内核及指令集完全兼容的微控制器微控制器、标准、标准8051的的数字外设部件数字外设部件、数据采集和控制系统中、数据采集和控制系统中常用的模常用的模拟部件拟部件、其它数字外设及功能部件。、其它数字外设及功能部件。 v1999年年3月成立的美国德克萨斯州的月成立的美国德克萨斯州的Cygnal 公司,专公司,专业从事混合信号
2、片上系统单片机的设计与制造,于业从事混合信号片上系统单片机的设计与制造,于2003年并入年并入Silicon Laboratories公司。公司。 3v高速、流水线结构的高速、流水线结构的8051 兼容的兼容的CIP-51 内核(可达内核(可达25MIPS)v全速、非侵入式的在系统调试接口(片内)全速、非侵入式的在系统调试接口(片内)v10位、位、2 200 ksps 的多通道的多通道ADC,带,带PGA和模拟多路开关和模拟多路开关v16K 字节可在系统编程的字节可在系统编程的FLASH 存储器存储器v1280字节的片内字节的片内RAMv可寻址可寻址64K字节地址空间的外部数据存储器接口字节地
3、址空间的外部数据存储器接口v硬件实现的硬件实现的SPI、SMBus/ I2C 和两个和两个UART 串行接口串行接口v4个通用的个通用的16位定时器位定时器v具有具有5 5个捕捉个捕捉/比较模块的可编程计数器比较模块的可编程计数器/定时器阵列定时器阵列v片内看门狗定时器、片内看门狗定时器、VDD 监视器和温度传感器监视器和温度传感器45数字数字IOIO高速微控制器高速微控制器内核内核模拟外设模拟外设6vCIP-51系统控制器的指令集与标准系统控制器的指令集与标准MCS-51TM 指令集指令集完全兼容,可以使用标准完全兼容,可以使用标准8051的开发工具开发的开发工具开发CIP-51的软件。的软
4、件。v所有的所有的CIP-51指令共指令共111条,在二进制码和功能上与条,在二进制码和功能上与MCS-51 TM 产品完全等价,包括操作码、寻址方式和对产品完全等价,包括操作码、寻址方式和对PSW标志的影响,但是标志的影响,但是指令时序与标准指令时序与标准8051不同不同。 v由于由于CIP-51采用了流水线结构,大多数指令执行所需采用了流水线结构,大多数指令执行所需的时钟周期数与指令的字节数一致。的时钟周期数与指令的字节数一致。 71、 与与8051 完全兼容完全兼容C8051F31x系列器件使用Silicon Labs的专利CIP-51 微控制器内核。CIP-51 与MCS-51TM指令
5、集完全兼容,可以使用标准803x/805x的汇编器和编译器进行软件开发。CIP-51 内核具有标准8052 的所有外设部件,包括4 个16 位计数器/定时器、一个具有增强波特率配置的全双工UART、一个增强型SPI端口、1280 字节内部RAM、128 字节特殊功能寄存器(SFR)地址空间及29/25 个I/O端口。82、速度提高、速度提高CIP-51 采用流水线结构,与标准的8051 结构相比指令执行速度有很大的提高。在一个标准的8051 中,除MUL 和DIV 以外所有指令都需要12 或24 个系统时钟周期,最大系统时钟频率为12-24MHz。而对于CIP-51 内核,70%的指令的执行时
6、间为1 或2 个系统时钟周期,只有4 条指令的执行时间大于4 个系统时钟周期。执行周期数执行周期数1 12 22/32/33 33/43/44 44/54/55 58 8指令数指令数262650505 516167 73 31 12 21 19103、增加的功能、增加的功能C8051F31x 系列MCU 在CIP-51 内核和外设方面有几项关键性的改进,提高了整体性能,更易于在最终应用中使用。 1)扩展的中断系统)扩展的中断系统 提供14 个中断源(标准8051 只有5个中断源),允许大量的模拟和数字外设中断微控制器。 一个中断驱动的系统需要较少的MCU 干预,因而有更高的执行效率。 在设计一
7、个多任务实时系统时,这些增加的中断源是非常有用的。112)MCU有多达有多达8 个复位源个复位源上电复位电路(POR)片内VDD监视器(当电源电压低于VRST时强制复位)看门狗定时器时钟丢失检测器由比较器0 提供的电压检测器软件强制复位外部复位输入引脚FLASH读/写错误保护复位。 除了POR、复位输入引脚及FLASH操作错误这三个复位源之外,其他复位源都可以被软件禁止。 在一次上电复位之后的MCU初始化期间,WDT可以被永久性使能。123)内部振荡器内部振荡器 在出厂时已经被校准为24.5MHz 2%。 器件内还集成了外部振荡器驱动电路,允许使用晶体、陶瓷谐振器、电容、RC 或外部时钟源产生
8、系统时钟。 如果需要,时钟源可以在运行时切换到外部振荡器。 外部振荡器在低功耗系统中是非常有用的,它允许MCU 从一个低频率(节电)外部晶体源运行,当需要时再周期性地切换到高速(可达25MHz)的内部振荡器。134、可编程数字、可编程数字I/O C8051F310有29个I/O引脚(3个8位口和一个5位口)C8051F31x端口的工作情况与标准8051相似,但有一些改进。每个端口引脚都可以被配置为模拟输入或数字I/O。被选择作为数字I/O的引脚还可以被配置为推挽或漏极开路输出。在标准8051中固定的“弱上拉”可以被总体禁止,为低功耗应用提供了进一步节电的能力。14110010011VDDDGN
9、D推挽输出方式推挽输出方式151000101高阻高阻DGND漏极开路输出漏极开路输出1610101数字输入数字输入171. C8051F单片机有大量的数字资源需要通过4个低端I/O端口P0、P1、P2和P3才能使用。2. P0、P1、P2和P3中的每个引脚既可定义为通用的端口I/O(GPIO)引脚,又可以分配给一个数字外设或功能(例如:UART0 或/INT1)。 3. 资源分配的灵活性是通过使用优先权交叉开关译码器实现的。18v也称为“交叉开关”,按优先权顺序将端口0 3 的引脚分配给器件上的数字外设(UART、SMBus、PCA、定时器等)。v端口引脚的分配顺序是从P0.0 开始,可以一直
10、分配到P3.7。为数字外设分配端口引脚的优先权顺序为UART0具有最高优先权,而CNVSTR具有最低优先权。v优先权交叉开关的配置是通过3个特殊功能寄存器XBR0、XBR1、XBR2来实现的,对应使能位被设置为逻辑1时,交叉开关将端口引脚分配给外设。 19对外引脚对外引脚数字资源数字资源端口端口IO单元单元20UART0SPISMBusUART1PCA高高低低21端口I/O 初始化包括以下步骤:1用端口输入方式寄存器(PnMDIN)选择所有端口引脚的 输入方式(模拟或数字)。2用端口输出方式寄存器(PnMDOUT)选择所有端口引脚 的输出方式(漏极开路或推挽)。3用端口跳过寄存器(PnSKIP
11、)选择应被交叉开关跳过的 那些引脚。4 将引脚分配给要使用的外设。5 使能交叉开关(XBARE =1)。 用作比较器或ADC 输入的任何引脚都必须被配置为模拟输入 跳过所有被用作模拟输入的引脚 复位后所有引脚的缺省设置都是数字输入端口端口I/O 初始化初始化22 MCU有一个内部振荡器和一个外部振荡器驱动,每个驱动电路都能产生系统时钟。MCU 在复位后从内部振荡器启动。 内部振荡器可以被使能/禁止, 振荡频率可以用内部振荡器控制寄存器OSCICN设置当/RST 引脚为低电平时,两个振荡器都被禁止。 MCU 可以从内部振荡器或外部振荡器运行,可使用OSCICN 寄存器中的CLKSL 位在两个振荡
12、器之间随意切换。23 当外部晶体振荡器稳定运行时,晶体振荡器有效标志OSCXCN 寄存器中的XTLVLD被硬件置1。 XTLVLD 检测电路要求在使能振荡器工作和检测XTLVLD之间至少有1 ms的启动时间。如果需要使用晶体或陶瓷谐振器作为MCU 的外部振荡器源建议的过程为1) 通过向端口寄存器的对应位写0 使XTAL1 和XTAL2 引脚 为低电平。 2) 将XTAL1 和XTAL2 配置为模拟输入。 3)使能外部振荡器 4)等待至少1ms 5)查询XTLVLD = 1 6)将系统时钟切换到外部振荡器24复位电路将控制器置于一个预定的缺省状态。在进入复位状态时将发生以下过程:1)CIP-51
13、 停止程序执行2) 特殊功能寄存器(SFR)被初始化为所定义的复位值 3)外部端口引脚被置于一个已知状态 4)中断和定时器被禁止。5)所有的SFR 都被初始化为预定值 6)I/O 端口锁存器的复位值为0 xFF,全部为逻辑1,内部 弱上拉有效,使外部I/O 引脚处于高电平状态。 7) MCU 使用内部振荡器运行在2MHz 作为默认的系统时钟。 8) 看门狗定时器被使能,使用其最长的超时时间。25261)上电复位)上电复位 在上电期间,器件保持在复位状态,/RST引脚被驱动到低电平,直到VDD上升到超过VRST电平。 从复位开始到退出复位状态要经过一个延时;该延时随着VDD上升时间的增大而减小
14、对于合理的上升时间(小于1ms),上电复位延时(TPORDelay)通常小于0.3ms。 最大的VDD上升时间为1ms;上升时间超过该最大值时可能导致器件在VDD达到VRST电平之前退出复位状态。272)掉电复位和)掉电复位和VDD 监视器监视器 当发生掉电或因电源波动导致VDD降到VRST以下时,电源监视器将/RST引脚驱动为低电平并使CIP-51 保持复位状态。 当VDD又回到高于VRST的电平时,CIP-51 将退出复位状态。在选择VDD 监视器作为复位源之前,必须使能VDD 监视器。VDD 监视器被使能或稳定之前选其为复位源可能导致系统复位将VDD 监视器配置为复位源的步骤如下:1使能
15、VDD 监视器(VDM0CN 中的VDMEN 位 = 1);2等待VDD 监视器稳定;3选择VDD 监视器作为复位源(RSTSRC 中的PORSF 位 = 1)283)外部复位)外部复位 外部/RST 引脚提供了使用外部电路强制MCU 进入复位状态的手段。 在/RST 引脚上加一个低电平有效信号将导致MCU 进入复位状态。 尽管在内部有弱上拉,但最好能提供一个外部上拉和/或对/RST 引脚去耦以防止强噪声引起复位。294)时钟丢失检测器复位)时钟丢失检测器复位 时钟丢失检测器(MCD)实际上是由系统时钟触发的单稳态电路。 如果系统时钟保持在高电平或低电平的时间大于100 微秒,单稳态电路将超时
16、并产生复位。305)看门狗定时器复位)看门狗定时器复位 可编程计数器阵列(PCA)的可编程看门狗定时器(WDT)功能可用于在系统出现错误的情况下防止软件运行失控。 如果因系统出错使用户软件不能更新WDT,则WDT 将产生一次复位,WDTRSF 位(RSTSRC.5)被置1。/RST 引脚的状态不受该复位的影响。 可以通过软件使能或禁止PCA 的WDT 功能。31 看门狗watchdog timer,是一个定时器电路。 一般有一个输入,叫喂狗,一个输出到MCU的RST端。 MCU正常工作的时候,每隔一端时间输出一个信号到喂狗端,给WDT 清零。如果超过规定的时间不喂狗(一般在程序跑飞时),WDT 定时超过,就给出一个复位信号到MCU,使得MCU复位,防止MCU死机 看门狗的作用就是防止程序发生死循环,或者说程序跑飞。 工作原理:系统运行以后也就启动了看门狗的计数器,看门狗就开始自动计数,如果到了一定的时间还不去清看门狗,那么看门狗计数器就会溢出从而引起看门狗中断,造成系统复位。3233 C8051F31x器件具有片内Silicon Labs 2线(C2)接口调试电路,支持使用安装在最终应