stc单片机IO配置与PWM_第1页
stc单片机IO配置与PWM_第2页
stc单片机IO配置与PWM_第3页
stc单片机IO配置与PWM_第4页
stc单片机IO配置与PWM_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、stc 单片机 IO 配置与 PWMI/O 口配置STC2C5201AD 系列单片机所有 I/O 口均可由软件配置 成 4 种工作类型之一,如下表所示。 4 种类型分别为:准 双向口 / 弱上拉(标准 8051输出模式)、强推挽输出 / 强 上拉、仅为输入(高阻)或开漏输出功能。每个口由 2 个控制寄存器中的相应位控制每个引脚工作类型。 STC- 2C5201AD系列单片机上电复位后为准双向口/弱上拉(传统805的I/O 口)模式。2V以上时为高电平,0.8V以下 时为低电平。每个I/O 口驱动能力均可达到 20mA但整 个芯片最大不得超过 90mA。P3 口设定;(P3口地址:BOH) 口地

2、址:BOH)P3M1 7:0P3M0 7 : 0I/O 口模式00准双向口 (传统 805 I/O 口模式)灌电流可达 20mA , 拉电流为 230μA , 由于制造误差,实际为250uA50uA01强推挽输出( 强上拉输出, 可达 20mA, 要加限流 电阻)10仅为输入( 高阻)11开漏 (Open Drain) ,内部上拉电阻断开, 要外上拉MOV P3M1,#10100000BMOV P3M0 #10010000BP3.7 为开漏 P3.5 为高阻 P3.4 为强推挽输出 , 其他为 准双向PWM 输出时 I/O 口的状态当某个i/o 口作为pwM输出用时,该口的状态:PWM之

3、前口的状态pWM 时口的状态弱上拉 / 准双向口强推挽输出 /强上拉输出,要加输出限流电阻 10K1K强推挽输出强推挽输出 / 强上拉输出,要加输出限流电阻 10K 1K仅为输入 / 高阻PWM 无开漏开漏普通 I/O 口- 限流电阻用( 10K 到 1K) 接 负载4.6. 如何让 I/O 口上电复位时为低电平普通 8051 单片机上电复位时普通 I/O 口为弱上拉高 电平输出 , 而很多实际应用要求上电时某些 I/O 口为低电平输出 , 否则所控制的系统 ( 如马达 ) 就会误动作,现STC12系列单片机由于既有弱上拉输出又 有强推挽输出 , 就可以很轻松的解决此问题。现可在 STC12系

4、列单片机I/O 口上加一个下拉电阻(1K/2K/3K), 这样上电复位时,虽然单片机内部 I/O 口是弱上拉 /高电 平输出,但由于内部上拉能力有限,而外部下拉电阻又 比较小 , 无法将其拉高 , 所以该 I/O 口上电复位时外部为 低电平。如果要将此 I/O 口驱动为高电平,可将此 I/O口设置为强推挽输出,而强推挽输出时,I/O 口驱动电流可达20mA,故肯定可以将该口驱动为高电平输出。1034脉宽调节模式(PWM)脉宽调制(PWM Pulse Width Modulation)是一种使用程序来控制波形占空比、周期、相位波形的技术,在三相电机驱动、D/A转换等场合有广泛的应用。STC 2C

5、520 AD系列单片机的PCA模块可以通过程序设定,使 其工作于8位PWM模式。PWM模式的结构如下图所示。PC A PUN可调制脉冲覽唯输出tWA所有PCA模块都可用作PWM输出(上图)。输出频率 取决于决于PCA定时器的时钟源。由于所有模块共用仅有的PCA定时器,所有它们的输出频率相同。各个模块的输出占空是独立变化的,与使用的捕获寄存器EPCnL,CCAPnL有关。当寄存器寄存器 CL的值小于EPCnL,CCAPnL时,输出为低;当寄存器 CL的值等于或大 于EPCnL,CCAPnL时,输出为高。当 CL的值由FF变为00溢出时,EPCnH,CCAPnH的内容装载到 EPCnL,CCAPn

6、L中。这样就可实现无干扰地更新PWM要使能PWM模式,模块CCAPM寄存器的PWM和ECOMn 位必须置位。由于 PWM1 8位的,所以:PWM勺频率=: PCA时钟输入源频率/256PCA 时钟输入源可以从以下 8种中选择一种: SYSclk ,SYSclk/2 , SYSclk/4 , SYSclk/6 , SYSclk/8 , SYSclk/ 2, 定时器 0 的溢出, ECI/P3.4 输入。举例:要求PWM输出频率为38KHz,选SYScIk为 PCA/PW刪钟输入源,求出 SYSclk的值由计算公式 38000=SYScIk/256,得到外部时钟频率 SYSclk=38000 x

7、256 x=9,728,000如果要实现可调频率的 PWM输出,可选择定时器0的 溢出率或者ECI脚的输入作为PCA/PW啲时钟输入源当 EPCnL = 0 及 CCAPnL=0x00H时,PWM固定输出高当 EPCnL = 1 及 CCAPnL=OxFFH寸,PWM固定输出低例:#definePCA_IDLE_DISABLE 01:MCU 在IDLE模式时禁止PCA工作 0: MCU 在IDLE模式时允许PCAX作。#definePCA_SOURCE_SELECT1/ 选择PCA的基准时钟源。/0 :系统时钟 Fosc/12 。/1 :系统时钟 Fosc/2 。/2 :定时器 0 的溢出/3

8、 : ECI/P3.4 脚的外部时钟输入最大 =Fosc/2 )。/4 :系统时钟 Fosc/5 :系统时钟 Fosc/4/6 :系统时钟 Fosc/6/7 :系统时钟 Fosc/8 void en_PCA(void)CMOD= (PCA_IDLE_DISABLE ;FFvoid initPWM()PWM=0x00;PCA_PWM0=0x02;/ 初始化输出 0CCAP0H= 0xFF;/ 初始化输出 0CCAPM0= 0x42;/ 设置PCA模块0工作在PWM模式PCA_PWM1=0x02;/ 初始化输出 0CCAP1H= 0xFF;/ 初始化输出 0CCAPM1= 0x42;/ 设置PCA模块1工作在PWM模式en_PCA();/ 打开 PMWDALE R01

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论