51/AVR单片机技术驿站!  <在线翻译> 淘宝店    便利工具    特色网址   打造无弹窗、无插件的绿色站点...  英才招聘   学历查询  喜欢>>收藏我站 

 首页>> 常规知识 电路图集 学习MCU 单片机文章 查器件PDF 下载中心 单片机教程 学习产品 购买联系 在线留言 RRS
当前位置:首页 > ◆本站实例 > 详细内容
用51输出三相PWM控制LED
作者:Sidney  发布时间:2009-10-14  阅读次数:676  字体大小: 【】 【】【

;---------------------------------------------------------------
;程序名称:用51输出三相PWM控制LED
;硬件说明:XY900_USB型单片机学习开发板 
;程序说明:单片机产生三相PWM脉冲,P2.5/P2.6/P2.7的LED亮度不同
;---------------------------------------------------------------
S  EQU  100 ;设置PWM输出脉冲宽度比例
S1 EQU  10  ;
S2 EQU  50
S3 EQU  90
ORG 0
AJMP INIT_T0
ORG  0BH     ;定时器0溢出入口
AJMP TO_SRV  ;跳到T0中断
;**********************主程序************************
INIT_T0:
ORL P2,#0F0H   ;设置P2.5~2.7为高电平
MOV TMOD,#00000010B  ;T0工作模式2
MOV TH0,#0           ;计数值为0
MOV TL0,#0
SETB EA           ;允许总中断
SETB ET0          ;允许T0中断
MOV R0,#S       ;将PWM比值加到寄存器R0中
MOV R1,#S1      ;
MOV R2,#S2
MOV R3,#S3
SETB TR0        ;开始计时
AJMP $          ;等待中断
;******************中断服务子程序************************
TO_SRV:
DJNZ R0,L1      ;R0减1,是否为0?
ORL P2,#0F0H  
MOV R0,#S
MOV R1,#S1
MOV R2,#S2
MOV R3,#S3
;----------------------------------
L1:DJNZ R1,L2
   CLR P2.5      ;R1为0时,P2.5输出0-点亮
L2:DJNZ R2,L3
   CLR P2.6      ;
L3:DJNZ R3,L4
   CLR P2.7      ;
L4:RETI      ;中断返回
END

 

 

我要评论
  • 匿名发表
  • [添加到收藏夹]
  • 发表评论:(匿名发表无需登录,已登录用户可直接发表。) 登录状态:未登录
最新评论
所有评论[0]
    暂无已审核评论!

网站导航 管理登陆 ┊ 免责声明 问题反馈  友链说明
本站部分内容来自网络共享资源,如有冒犯您的权利请来信告之删除或纠正!
不得对本站进行复制、盗链或镜像,转载内容须获得同意或授权;欢迎友情链接、站务合作!

    我要报警 Alexa
 mcusy_cn#126.com (请把#改成@) 交流:479780666 522422171 86-0755-28650237
本站学习交流群:138..158(高级群1-)、77930286(高级群2)、61804809(群3)
Copyright© MCUSY All Rights Reserved
本站网警备案号: WZ36040002485
  ICP备案证书号:粤ICP备09034963号