|
|
| | -文章搜索 - 最新文章 - | |
[转载]51系列单片机输出PWM的两种方法 |
| 发布时间:2006年7月3日 点击次数:2229 |
| 来源: 作者: |
MCS-51系列单片机无PWM输出功能,可以采用定时器配合软件的方法实现,对精度要求不高的场合是非常实用的。电路图见图1,采用高速光隔6N137输出,并将PWM的信号倒相。 一、 工作原理(原理图如图1所示) 二、PWM输出 1. 固定脉宽PWM输出 用T0定时器完成PWM输出,脉宽固定为65536μs。T0定时器设置成16位定时器,PWM波形如图2所示。 程序清单:(12MHz) PwmData0 ;T0定时t1的初值(字) PwmData1 ;T0定时t2的初值(字) PwmF ;PWM输出标志 ;*************************** setb tro ;启动T0 …… T0Int:;T0中断服务程序 JB PwmF ,PwmOutH ;PWM输出未完成返回 Mov TH0,High(PwmData0) Mov TL0,Low(PwmData0) Setb tr0 Setb PwmF Clr p1.0 ;PWM输出脚 reti PwmOutH:Setb p1.0 Clr tr0 Mov TH0,High(PwmData1) Mov TL0,Low(PwmData1) Setb tr0 Clr PwmF reti 说明:在主程序中计算PwmData0、PwmData1的值。 2. 可变脉宽PWM输出 用T0定时器控制PWM的占空比,T1定时器控制脉宽(最大65536μs。) T0、T1定时器设置成16位定时器。PWM输出波形如图3所示。 程序清单:(12MHz) PwmData0 ;T0定时t1的初值(字) PwmData1 ;T1定时T的初值(字) ;*************************** setb tro ;启动T0 setb tr1 …… T0Int:Clr tr0 ;T0中断服务程序 setb p1.0 ;PWM输出脚 reti T1Int:Clr p1.0 ;T1中断服务程序 Clr tr0 Clr tr1 Mov TH0,High(PwmData0) Mov TL0,Low(PwmData0) Mov TH1,High(PwmData1) Mov TL1,Low(PwmData1) Setb tr1 Setb tr0 reti 说明:在主程序中计算PwmData0、PwmData1的值。 |
|
|
|
|
[单片机] 相关文章: 基于89C52单片机的具有通讯口的智能温控表简介:
基于89C52单片机的具有通讯口的智能温控表 盐城工学院电气工程系 (江苏盐城224003)吕曙东 【 摘 要 】介绍一种以单片机AT89C52为基础、采用电压/频率转换技术、具有计算机通讯功能的智能温控表。 【 关键词 】 单片机,通讯,智能仪表 1 引 言 温控表已广泛应用于工业控制等诸多领域,本文介绍的具有计算机通讯功能的智能温控表是一种新颖的自动化仪表,它以单片机AT89C52为核心,采用电压/频率转换技术和RS-485通信接口芯片MAX487...... 基于87C51FB单片机的跳频控制器的设计与实现
单片机定时器的应用与误差纠正
89C2051单片机在键盘显示装置中的应用
基于89C51单片机的数字视频监控系统键盘及报警控制卡设计
单片机C8051F020及其在仪器和仪表中的应用
单片机在家用多功能电热水器中的应用
IS22C011/20语音芯片的原理及在MCS-51单片机中的应用
智能楼寓火灾报警系统的研制
基于单片机89C51的异步串行接口键盘设计 |
|
|
|