思索网:WWW.4SO.NET
网站首页
设为首页
加入收藏
社区论坛
联系我们
网站地图
发现个人价值
提高企业内涵
一切源于思索
首页
企业之家
公关文秘
免费论文
网上办公指南
操作系统
多媒体应用
现代教学
下载中心
专题报道
推荐文章
评论
English Article
IT资讯
网页设计
网站运营
编程开发
平面设计
网络安全
工具下载
站内搜索
最新文章
热门文章
论坛
栏目列表
工科论文
管理学论文
公共管理论文
经济学论文
法律论文
政治学论文
会计审计论文
艺术论文
其它类论文
证券金融论文
论文指导
财政税收论文
工商管理论文
财务管理论文
计算机论文
医学论文
哲学论文
教育论文
电子商务
首页
>
免费论文
>
计算机论文
> 用89C51和8254-2实际步进式PWM输出
用89C51和8254-2实际步进式PWM输出
日期:
2006-06-10 04:26:16
来源:
请您记住思索网的网址:
http://www.4so.net
[加入收藏夹]
摘要:
介绍一种新型PWM输出的方式。它是用89C51作为主控部分,用8254-2可
编程
定时器/计数器来实现1Hz~3kHz步进式PWM的输出;具有分辨率高、反应速度快及占用CPU时间少的优点。
关键词:
8254-289C51脉宽调制(PWM)分辨率
引言
脉宽调制(PWM)技术最初是在无线电技术中用于信号的调制,后来在电机调速中得到了很好的应用。本设计中要求输出PWM从1Hz~3kHz步进式递增,单步为1Hz。由于89C51的时钟最大能取24MHz,单指令周期为0.5
μs,计数频率为×106Hz。当输出2999Hz和3000Hz时,若采用89C51内部计数器来计数,根本无法区别。因为计数频率为2MHz,单指令周期0.5
μs,而要输出2999Hz时,计数应为666.889;输出3000Hz时,计数诮为666.887。因此在本设计中,采用外部定时器/计数器8254-2。因为8254-2最高计数频率可达10MHz,能满足以上设计的要求,另外采用8254-2的工作方式3可输出方波。当定时器/计数器8254-2以方式3工作时,在计数的过程中输出有一半时间为高,另一半时间为低。所以,若计数值为N,则其输出在前N/2时可输出高电平,后N/2时可输出低电平,不需要用软件来控制高低电平的转换,但8254-2计数范围有一定的限制,在采用二进制计数时,范围为0000~9999,最大计数为10000。此外,为了使分辨率达到要求,还需要考虑程序指令所占用的时间,尤其是在输出高频时,分辨率尤为重要。
1硬件设计
1.18254可
编程
定时器/计数器[1]简介
Intel
公司
的8254是8253的改进型,操作方式及引脚与8253完全相同。它的改进主要反映在2方面:①8254的计数频率更高,可由直流至6MHz;8254-2可高达10MHz。②8254多个1个读回命令(写至控制器的寄存器),其格式如图1所示。
这个命令可以令3个通道的计数器都锁存(8253要3个通道的计数值都锁存,需写入3个命令)。另外,8254中的每个计数器都有1个状态字可由读回命令令其锁存,然后由CPU读取。状态字的格式如图2所示。其中D5~D0即为写入此通道的控制字的相应部分。D7反映了该计数器的输出引脚。输出(OUT)为高电平,D7=1;输出为低电平,D7=0。D6反映时间常数寄存器中的计数值是否已经写入了计数单元中。当向通道写入控制字以及计数值后,状态字节中的D6=1;只有当计数值写入计数单元后,D6=0。
本设计选择8254-2的方式3工作。方式3是一种方波速率发生器。在这种方式中,当CPU设置控制字后,输出将为高,在写完计数值后就自动开始计数,输出保持为高;当计数到一半计数值时,输出变为低,直至计数到0,输出又变高,重新开始计数。若在计数期间写入个新的计数值,并不影响现行的计数过程。但是若在方波半周期结束前和新计数值写入后收到GATE脉冲,计数器将在下一个CLK脉冲时装入新的计数值并以这个计数值开始计数。否则,新的计数值将在现行半周期结束时装入计数器。
1.2PWM输出的硬件设计
本设计选用可
编程
定时器/计数器8254-2,其最高计数频率可达10MHz;充分利用8254-2的3个定时器/计数器,采取频率的分频输出,并且不需要外部的信号源输入,硬件电路简化;通过软件的处理可以实现连续(1Hz~3kHz)PWM波的输出。本设计中将要输出的PWM波分为3段,分别由8254-2中的3个定时/计数器输出,门控由P2.2、P2.3、P2.4分别加以控制。在1~20Hz的输出时,采用定时器0,计数频率为104Hz,最大计数为104,最小计数为500符合要求,21~200Hz的输出中,采用定时器1,计数频率为105Hz,最大计数为4762,最小计数为500;在201Hz~3kHz的输出中,采有定时器2,计数频率为107Hz,最大计数为49751,满足二进制计数的范围,最小计数为3333。这些计数值可由单片机89C51[2]送给8254-2的数据输入端,通过除法运算来得到这些计数值,由除法运算得到商。所得到的商去程序指令占用的时间即为所需要的计数值。采用8254-2的3个定时器的输出经过1个或门作为CD4046锁相环的输入,同时经过1个非门进入89C51的INT1口,申请下降沿中断;CD4046锁相环输出所需的PWM。
为了防止程序进入死循环,增加了外部的硬件看门狗定时器IMP813L[3],其内部的看门狗定时器监控UP/UC的工作。如果在1.6s内未检测到其工作,内部的定时器将使看门狗输出WDO处于低电平状态,WDO将保持低电平直到在WDI检测到UP/UC的工作。将WR和WDO连接可使看门狗超时产生复位。
具体硬件电路如图3所示。
2软件设计
软件主要由3部分组成:主程序、键盘扫描程序、中断处理程序。主程序流程如图4所示。
主要地址分配如表1所列。
表1地址分配
30H~31H
显示频率的高、低8位
32H~34H
计数时钟频率的高、中、低8位
35H~36H
8254-2所需计数值的高、低8位
37H~38H
缓存显示频率的高、低8位(十六进制)
40H~43H
显示缓存区地址(BCD数)
(1)中断处理过程
当89C51检测到有INT1中断时,进入中断处理程序中,首先检测30H和31H中的内容是否大于20;若不大于20,则门控为P2.2,选中8254-2,选择计数器0、
方式3、16位二进计数,送上次计算出来的这次所需要的计数值给8254-2,将104送入32H、33H中作为除法运算中的被除数,而30H、31H的内容作为除法运算中的除数,调用除法运算子程序将所得的商送入32H、33H,余数放在35H、36H中。比较余数是否大于除数的一半,若大于除数的一半则所得的商加1,否则商不变放在32H、33H中。假设程序指令所占用的时间为X/200(其中X为中断程序中单指令周期的个数),将32H、33H中的内容减去X/200,即为下次所要送入8254-2的计数值,放在35H、36H中,返回中断;若大于20,则门控为P2.3,选中8254-2,选择计数器1、方式3,送上次计算出来的这次所需的计数值给8254-2,将105送入32H、33H、34H中作为除法运算中的被除数,而30H、31H中的内容作为除法运算中的除数,调用除法运算子程序,将所得的商送入32H、33H中,余数放在35H、36H中。比较余数是否大于除数的一半,若大于除的一半则所得的商加1,否则商不变。假设程序指令所占用的时间为X/20,将32H、33H中的内容减去X/20即为下次所要送入8254-2的计数值,放在35H、36H中,返回中断,若大于200,则门控为P2.4,选中8254-2,选择计数器2、方式3、二进制计数,送上次计算出来的这次所需的计数值给8254-2,将107送入32H、33H、34H中作为除法运算中的被除数,而30H、31H中的内容作为除法运算中的除数,调用除法运算子程序,将所得的商送入32H、33H中,余数放在35H、36H.比较余数是否大于除数的一半,若大于除数的一半则所得的商加1,否则商不变入在32H、33H中。假设程序指令令所占用的时间为X*5,将32H、33H中的内容减去5X,即为下次所要送入8254-2的计数值,放在35H、36H中,返回中断。
(2)设置软件陷阱
当程序进入到非程序区,只要在非程序区设置拦截措施,使程序进入陷阱,然后强迫程序回到初始状态。如对CPU的RST指令对应的字节码为0FFH,如果不用的程序存储区预先写入0FFH,则当程序因干扰而“飞”到该区域执行代码时,就相当于执行1条RST指令,从而达到系统复位的目的。
结束语
采用89C51控制PWM分段,8254-2步进式输出1Hz~3kHz的PWM,可以通过软件
编程
的方法提高分辨率。在有些特殊场合只靠单片机内部的定时器或模拟电路无法精确输出1Hz~3kHz,单步为1Hz的PWM波形时,此设计就显出其明显的优越性,而且它占用的CPU时间短。此设计的结构简单、成本低、可靠性好、抗干扰能力强,可在控制和测量中得到应用。
本文地址:
http://www.4so.net/thesis/chiphead/55277.html
将本页加入收藏夹
将地址复制到剪贴板发送给好友
若发现本文有误或版权问题点击这里
热门信息
相关文章
[
计算机论文
]
网络办公自动化系统开发分析
[
计算机论文
]
中小企业办公自动化系统的设计与
[
计算机论文
]
学生档案管理系统
[
计算机论文
]
三维连续网络结构增强金属基复合
[
计算机论文
]
ASP技术访问WEB数据库
[
计算机论文
]
智能网络存储方案
[
计算机论文
]
基于网络的视频通讯系统(txx17)
[
计算机论文
]
计算机网络中的交换技术(txx15)
[
计算机论文
]
论网络教育中个别化学习和协作学
[
计算机论文
]
网络经济与中国企业发展
无相关信息
文章评论
收藏本文
打印本文
关闭窗口