pmw调光c语言程序,51单片机led灯渐变PWM调光(渐亮渐灭)C语言和汇编源程序
; PWM 控制 LED 灯渐亮渐灭程序
; 适用 ME500 开发系统
; 晶振为11.0592M
; 利用定时器控制产生占空比可变的 PWM 波
; 按K1,PWM值增加,则占空比减小,LED 灯渐暗。
; 按K2,PWM值减小,则占空比增加,LED 灯渐亮。
; 当PWM值增加到最大值或减小到最小值时,蜂鸣器将报警。
;----------------------------
PWM EQU 7FH ;PWM赋初始值
OUT EQU P0 ;8个LED灯的接口
INCKEY EQU P1.4 ;K1,PWM值增加键。
DECKEY EQU P1.5 ;K2,PWM值减小键。
BEEP EQU P3.7
;----------------------------
ORG 0000H
SJMP START
ORG 000BH
SJMP INTT0
ORG 001BH
SJMP INTT1
ORG 0030H
;----------------------------
;主程序
;定时器0工作在模式1,定时器1工作在模式2。
;----------------------------
START:
MOV SP,#30H
MOV TMOD,#21H
MOV TH1,PWM ;脉宽调节
MOV TL1,#00H
MOV TH0,#0FCH ;1ms延时常数
MOV TL0,#066H ;频率调节
SETB EA
SETB ET0
SETB ET1
SETB TR0
LOOP: MOV A,PWM ;
JB INCKEY,LOOP1 ;增加键是否按下?
CALL DELAY ;延时去抖动
JB INCKEY,LOOP1
CJNE A,#0FFH,PWMINC ;是否到最大值?
CALL BEEP_BL ;是,蜂鸣器报警。
SJMP LOOP
PWMINC:
INC PWM ;调节脉宽(脉宽减小)
SJMP LOOP
LOOP1: JB DECKEY,LOOP2 ;减小键是否按下?
CALL DELAY ;延时去抖动
JB DECKEY,LOOP2
CJNE A,#02H,PWMDEC ;是否到最小值?
CALL BEEP_BL ;是,蜂鸣器报警。
SJMP LOOP
PWMDEC:
DEC PWM ;调节脉宽(脉宽增加)
LOOP2: SJMP LOOP
;------------------------------
;T0中断服务子程序 (频率)
;控制定时器1中断
;------------------------------
INTT0:
CLR TR1
MOV TH0,#0FCH ;1ms延时常数
MOV TL0,#066H ;频率调节
MOV TH1,PWM
SETB TR1
MOV OUT,#00H ;启动输出
RETI
;------------------------------
;T1中断服务子程序 (脉宽)
;控制PWM脉冲宽度
;------------------------------
INTT1:
CLR TR1 ;脉宽调节结束
MOV OUT,#0FFH ;结束输出
RETI
;------------------------------
;10ms延时子程序
;------------------------------
DELAY:
MOV R6,#50
DELAY1:
MOV R7,#100
DJNZ R7,$
DJNZ R6,DELAY1
RET
;-----------------------------------------------
;蜂鸣器响一声子程序
;-----------------------------------------------
BEEP_BL:
MOV R6,#100
BL1: CALL BL2
CPL BEEP
DJNZ R6,BL1
MOV R5,#25
CALL DELAY2
RET
BL2: MOV R7,#180
BL3: NOP
DJNZ R7,BL3
RET
DELAY2: ;延时R5×10MS
MOV R6,#50
BL4: MOV R7,#100
BL5: DJNZ R7,BL5
DJNZ R6,BL4
DJNZ R5,DELAY2
RET
;---------------------------------------------------
END
pmw调光c语言程序,51单片机led灯渐变PWM调光(渐亮渐灭)C语言和汇编源程序相关推荐
- 单片机自动调光C语言,51单片机led灯渐变PWM调光(渐亮渐灭)C语言和汇编源程序
PWM控制led灯渐亮渐灭程序 适用ME500开发系统 短接JP41-2选用8个LED灯 PWM-PulseWidthModulation(脉冲宽度调制) PWM足?种周期?走而高低电平的rV空比可以 ...
- 8255A红绿灯c语言程序,51单片机外接8255A做成的交通灯程序及PROTEUS仿真结果(附对应C语言程序).doc...
51单片机外接8255A做成的交通灯程序及PROTEUS仿真结果(附对应C语言程序) 51单片机外接8255A做成的交通灯程序及PROTEUS仿真结果(附对应C语言程序)2010-04-21 22:0 ...
- 计数显示器c语言程序,51单片机计数显示器Proteus仿真程序
一.设计要求及目的 [实验目的] 熟悉51单片机的基本输入/输出应用,掌握Proteus ISIS模块的原理图绘图方法及单片机系统仿真运行方法. [实验内容] (1)观察Proteus ISIS模块的 ...
- 时钟加闹钟c语言程序,51单片机c语言电子钟(已加入调时、闹铃、整点报时功能)...
<51单片机c语言电子钟(已加入调时.闹铃.整点报时功能)>由会员分享,可在线阅读,更多相关<51单片机c语言电子钟(已加入调时.闹铃.整点报时功能)(13页珍藏版)>请在技术 ...
- 带中文字库的240128的c语言程序,51单片机-240128液晶程序与调试
原标题:51单片机-240128液晶程序与调试 今天终于把金鹏OCMJ8X15D-2液晶(240128点阵带字库无触屏液晶)调好了. 这块液晶能显示8行15个汉字,还有放大字形,从16*16点放大到3 ...
- 51单片机蜂鸣器演奏《小苹果》C语言程序,51单片机C语言蜂鸣器发声生日快乐播放程序...
<51单片机C语言蜂鸣器发声生日快乐播放程序>由会员分享,可在线阅读,更多相关<51单片机C语言蜂鸣器发声生日快乐播放程序(4页珍藏版)>请在人人文库网上搜索. 1.按键发音/ ...
- 单片机汉字点阵c语言程序,51单片机C语言多种点阵屏驱动程序(开发软件为keil C...
51单片机C语言多种点阵屏驱动程序(开发软件为keil C 2016-08-23 1 0 0 暂无评分 其他 1 积分下载 如何获取积分? 51单片机C语言多种点阵屏驱动程序(开发软件为keil C ...
- 单片机交通灯数码管c语言程序,51单片机C语言实现交通灯(红绿灯)源程序.doc
51单片机用C语言实现交通灯(红绿灯)源程序 2009-10-29 23:00 交通灯,红黄绿灯交替亮,怎样实现呢?其实就是根据单片机定时器及倒计时的程序修改. 源程序如下: /*1.程序目的:使用定 ...
- 单片机交通灯灯c语言程序,51单片机用C语言实现交通灯(红绿灯)源程序
51单片机用C语言实现交通灯(红绿灯)源程序 2009-10-29 23:00 交通灯,红黄绿灯交替亮,怎样实现呢?其实就是根据单片机定时器及倒计时的程序修改. 源程序如下: /* 1.程序目的:使用 ...
最新文章
- python安装依赖失败_python - pip安装jq依赖关系失败 - SO中文参考 - www.soinside.com
- 设计模式(4)-序列生成器之单例模式
- 【BZOJ3242】【UOJ#126】【NOI2013】快餐店
- Excel 常用函数 IF 用法
- 搞科研、学术的朋友注意了,停下手头的活,再忙也要看一下这个!
- 介绍一个基于simhash作海量文章排重的库:simhashpy
- Android中ExpandableListView控件基本使用
- 剑指offer 15.二进制中1的个数
- 小米 note3 android,小米Note3将更新MIUI10:基于安卓8.1 速度提升明显手感更加丝滑...
- uC/os内存优化——TLSF算法
- 如何把pdf转换成ezd_电脑怎么把pdf转换成ppt
- centos7配置ntp服务器
- 短信api的接口平台有哪些可以免费试用
- 传奇私服搭建网站的几种方法
- 【研报笔记】光大技术择时系列1:基于阻力支撑相对强度(RSRS)的市场择时
- springcloud入门——zookeeper
- C语言贪吃蛇游戏主要功能,C语言游戏-贪吃蛇
- excel操作系列之中文姓名转英文姓名
- 跨境电商 阿里巴巴外贸 之 为什么我要做外贸!
- 线程sta模式_STA和MTA线程模式的区别
热门文章
- Java 数组转化成集合
- Java throws和throw
- 灰色预测法 —— python
- php sslv3握手失败,Boost Beast握手:sslv3警报握手失败错误
- java stringbuffer原理_深入理解Java:String
- excel怎么更改坐标轴刻度_如何用excel制作帕累托图
- python神经网络实例_Python编程实现的简单神经网络算法示例
- python核心教程_python核心教程--第四章
- 机器人合金礼包_《Apex英雄》福利twitch礼包领取详细攻略,1机器人皮肤+5个包!...
- python筛选数据求均值_Python Pandas实现数据分组求平均值并填充nan的示例