C8051f 笔记.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1. 配置端口引脚为数字输入:通过设置输出方式为“漏极开路”并向端口数据寄存器中的相应位写‘1’(禁止低端输出驱动器)将端口引脚配置为数字输入。例如,设置P3MDOUT.7 为逻辑‘0’并设置P3.7 为逻辑‘1’即可将P3.7 配置为数字输入。 2. 配置P1端口的引脚为模拟输入注意: 通过向P1MDIN寄存器中的对应位写‘0’即可将端口引脚配置为模拟输入.(端口中仅P1可以作为模拟输入,所以它有输入方式寄存器) 被配置为模拟输入的引脚的输出驱动器并没有被明确地禁止。因此被配置为模拟输入的引脚所对应的P1MDOUT 位应被明确地设置为逻辑‘0’(漏极开路方式),对应的端口数据位应被设置为逻辑‘1’(高阻态)。还需要注意的是,将一个端口引脚用作ADC2 模拟多路开关的输入时并要求将其配置为模拟输入,但强烈建议这样做。 3. 配置端口的引脚为输出方式: 每个端口引脚的输出方式都可被配置为漏极开路或推挽方式。在推挽方式,向端口数据寄存器中的相应位写逻辑‘0’将使端口引脚被驱动到GND,写逻辑‘1’将使端口引脚被驱动到VDD。在漏极开路方式,向端口数据寄存器中的相应位写逻辑‘0’将使端口引脚被驱动到GND,写逻辑‘1’将使端口引脚处于高阻状态. 注意:不管交叉开关是否将一个端口引脚分配给某个数字外设,端口引脚的输出方式都PnMDOUT寄存器控制。例外情况是:连接到SDA、SCL、RX0(如果UART0 工作于方式0)、RX1(如果UART1工作于方式0)的端口引脚总是被配置为漏极开路输出,而与PnMDOUT 寄存器中的对应位的设置值无关。 4.上电和PLL 初始化 为了在器件上电后设置和使用PLL 作为系统时钟,应遵循下列步骤: 1.确保要使用的参考时钟(内部或外部)处于稳定运行状态。 2.设置PLLSRC 位(PLL0CN.2),为PLL 选择时钟源。 3.将FLASH 读定时控制位FLRT(FLSCL.5-4)编程为适合于新时钟频率的值(见15. FLASH 存储器)。 4.通过将PLLPWR(PLL0CN.0)置‘1’给PLL 上电。 5.对PLL0DIV 寄存器编程,为PLL 产生分频参考频率。 6.将PLLLP3-0 位(PLL0FLT.3-0)编程为适合于分频参考频率的值。 7.将PLLICO1-0 位(PLL0FLT.5-4)编程为适合于PLL 输出频率的值。 8.将PLL0MUL 寄存器编程为所期望的时钟倍频系数。 9.等待至少5μS,以提供快速频率锁定。 10.通过将PLLEN(PLL0CN.1)置‘1’来使能PLL。 11.查询PLLLCK(PLL0CN.4),直到该位从‘0’变到‘1’。 12.使用CLKSEL 寄存器将系统时钟源切换到PLL。 如果要在PLL 已经运行时改变PLL 的设置,则应应遵循下列步骤: 1.使用CLKSEL 寄存器将系统时钟源切换到处于稳定运行状态的内部或外部时钟源。 2.确保新PLL 设置要使用的参考时钟(内部或外部)处于稳定运行状态。 3.设置PLLSRC 位(PLL0CN.2),为PLL 选择时钟源。 4.如果要转向较高的频率,将FLASH 读定时控制位FLRT(FLSCL.5-4)编程为适合于新时钟频率的值。 5.通过将PLLEN(PLL0CN.1)清‘0’来禁止PLL。 6.对PLL0DIV 寄存器编程,为PLL 产生分频参考频率。 7.将PLLLP3-0 位(PLL0FLT.3-0)编程为适合于分频参考频率的值。 8.将PLLICO1-0 位(PLL0FLT.5-4)编程为适合于PLL 输出频率的值。 9.将PLL0MUL 寄存器编程为所期望的时钟倍频系数。 10.通过将PLLEN(PLL0CN.1)置‘1’来使能PLL。 11.查询PLLLCK(PLL0CN.4),直到该位从‘0’变到‘1’。 12.使用CLKSEL 寄存器将系统时钟源切换到PLL。 13.如果要转向较低的频率,将FLASH 读定时控制位FLRT(FLSCL.5-4)编程为适合于新时钟频率的值。注意:当FLRT 位改变为较低值时,应禁止高速缓存读、高速缓存写和指令预取引擎。 若要关闭PLL,则首先应使用CLKSEL 寄存器将系统时钟切换到内部振荡器或稳定的外部时钟源,然后通过将PLLEN(PLL0CN.1)清‘0’来禁止PLL,最后通过将PLLPWR(PLL0CN.0)清‘0’给PLL 断电。注意,PLLEN 和PLLPWR 位可以被同时清‘0’。 5. UART0, UART1 UART0 可以工作在全双工异步方式或半双工同步方式,并支持多处理器通信. UART01是一个异步、全双工串口,它提供标准8051 串行口的方式1 和方式3。UART1 具有增强的波特率发生器电路,有多个时钟源可用于产生标准波特

文档评论(0)

638922bb + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档