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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/573542.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

imgaug批量椒盐噪声 python_python手写给图像加椒盐噪声和高斯噪声

此文记录自己在做图像数据增强给图像加噪时遇到的一些情况。椒盐噪音:简单点说就是在图像中随机加一些白点或者黑点。from skimage import ioimport randomimport numpy as npdef salt_and_pepper_noise(img, proportion0.05):noise_img imgheight,width noise_img.…

万年历c语言设计报告,C语言实训题目设计报告 万年历

for(i1;i<startday;i){printf("\t");//把每月1日之前的空格打出来}for(i1;i<monthdays;i){printf("%d\t",i);if(i7*k-startday){printf("\n");k;}}}printf("\n\n");}void nianli(){int i,j,k,startday,monthdays,month,year;sys…

ERROR ITMS-90022,90023,问题已解决

昨天打包上架&#xff0c;在使用Application Loader上传包时出现ERROR ITMS-90022,90023这两个错误&#xff0c;在此记录一下。 ERROR ITMS-90023的错误解决方法比较简单&#xff0c;在Assets.xcassets中的AppIcon里面&#xff0c;将CarPlay内的图片删除即可。 ERROR ITMS-9002…

Gridiew——表的内容居中

添加如下代码&#xff1a;ItemStyle-HorizontalAlign"Center"例子&#xff1a;<asp:BoundField DataField"ID" HeaderText"账号" SortExpression"ID" ItemStyle-HorizontalAlign"Center"/>转载于:https://www.cnblogs…

c语言编程一个象棋游戏,急求:C语言编写的中国象棋游戏一个

急求&#xff1a;C语言编写的中国象棋游戏一个來源:互聯網 2009-09-08 12:30:35 評論分類: 電腦/網絡 >> 程序設計 >> 其他編程語言問題描述:由于学习需要......热烈欢迎个位大侠&#xff0c;高手相助&#xff01;小生在此道谢了&#xff01;&#xff01;&#x…

grunt 前端开发环境搭建

1.找管理员开通gitlab权限 2.下载并安装git工具 3.下载并安装nodejs 4.安装cnpm 5.安装kulor&#xff0d;cli cnpm install -g kulor-cli cnpm install -g grunt-cli cnpm install 6.安装nginx并运行 7.进入到工作目录 运行 grunt 补充如何从远程拉代码&#xff0c;在本地配…

获取referer中的请求参数_Servlet获取AJAX POST请求中参数以form data和request payload形式传输的方法...

本文实例讲述了Servlet获取AJAX POST请求中参数以form data和request payload形式传输的方法。分享给大家供大家参考&#xff0c;具体如下&#xff1a;HTTP请求中&#xff0c;如果是get请求&#xff0c;那么表单参数以namevalue&name1value1的形式附到url的后面&#xff0c…

prim求最短路径C语言,[图论]Prim算法求最小支撑树和最短路径

这个是以前所学&#xff0c;现在总结成博文一篇。对于图论中的求解最小支撑树问题和最短路径问题都有比较经典的算法&#xff0c;比如最小支撑树可以采用“破圈法”&#xff0c;求解最短路径可以用“Dijkstra算法”。这里笔者将回顾下求解最小支撑树的Prim算法和最短路径算法。…

后台服务器端技术点(前沿了解)

1. OpenResty nginx lua 模式解决 高性能与开发效率 平衡。转载于:https://www.cnblogs.com/jhj117/p/5520250.html

pycharm镜像源_pycharm安装第三方库

点击蓝字关注我们hello&#xff0c;大家好&#xff0c;我是你们的小编大飞。小编一直在学习编程语言&#xff0c;挑选了很久之后决定入了python的坑(bushi)。而python之所以火&#xff0c;是因为它专注于如何解决问题、自由开放的社区环境以及丰富的第三方库。几乎可以这么说&a…

c语言实验指导,C语言实验指导

c语言实验用说,分享快乐!!!!《C语言程序设计》实验指导一、教师指导的实验实验1 (1)C语言上机指南和Visual C 6.0 的基本用法1. 实验目的了解VC开发环境。熟练掌握程序的基本开发过程。 掌握简单程序的设计。2. 实验内容和步骤 2.1. 进入C工作环境建立个人子目录&#xff1a;第…

JAVA并发七(多线程环境中安全使用集合API)

在集合API中&#xff0c;最初设计的Vector和Hashtable是多线程安全的。例如&#xff1a;对于Vector来说&#xff0c;用来添加和删除元素的方法是同步的。如果只有一个线程与Vector的实例交互&#xff0c;那么&#xff0c;要求获取和释放对象锁便是一种浪费&#xff0c;另外在不…

iptables nat表含义_十(4)iptables语法、iptables filter表小案例、iptables nat表应用

iptables语法filter表&#xff1a;INPUT链&#xff1a;作用于进入本机的包OUTPUT链&#xff1a;作用于送出本机的包FORWARD链&#xff1a;作用于和本机无关的包nat表&#xff1a;PREROUTING链&#xff1a;作用是包在刚刚到达防火墙时改变包的目标地址OUTPUT链&#xff1a;改变本…

c语言Max错误,C语言编程常见错误.pdf

C 语言常见错误版权声明&#xff1a;以下内容来自互联网C 语言的最大特点是&#xff1a;功能强、使 方便灵活。C 编译的程序对语法检查并不象其它高级语言那么严格&#xff0c;这就给编程人员留下 “灵活的余地”&#xff0c;但还是由于这个灵活给程序的调试带来了许多不便&…

算法训练 连续正整数的和

问题描述78这个数可以表示为连续正整数的和&#xff0c;123&#xff0c;18192021&#xff0c;252627。输入描述输入一个正整数 n(<10000)输出描述输出 m 行(n有m种表示法)&#xff0c;每行是两个正整数a&#xff0c;b&#xff0c;表示a(a1)...bn。对于多种表示法&#xff0c…

android libev 编译,libev-4.20编译安装及简单使用

1.源码下载地址:链接&#xff1a;https://pan.baidu.com/s/1fxotILo3oTMC65z4qFAh9Q 密码&#xff1a;oc312.库的编译与安装解压文件&#xff0c;进入文件目录编译的时候需要首先切换为管理员(root)账户&#xff0c;然后执行以下命令&#xff1a;./configuremakemake install编…

android系统源码的环境下用make来编译,Android源码编译系统入门

做过 Android 平台开发的朋友对make&#xff0c;mm或make clean命令应该很熟悉&#xff0c;但也许大家只是熟知这些命令的作用却不知道这些命令底下有些什么原理&#xff1f;那么今天我就带着大家推开Android编译系统的大门&#xff0c;探索一下这片未知的恐怖之森(问啥要用恐怖…

bootsrap 外边距_Bootstrap CSS 概览

Bootstrap CSS 概览在这一章中&#xff0c;我们将讲解 Bootstrap 底层结构的关键部分&#xff0c;包括我们让 web 开发变得更好、更快、更强壮的最佳实践。HTML 5 文档类型(Doctype)Bootstrap 使用了一些 HTML5 元素和 CSS 属性。为了让这些正常工作&#xff0c;您需要使用 HTM…

jstl表达式替换某些字符

转自:http://www.yiibai.com/jsp/jstl_function_replace.html fn:replace() 函数替换一个字符串与另一个字符串的所有匹配。 语法 fn:replace () 函数语法如下&#xff1a; boolean replace(java.lang.String, java.lang.String, java.lang.String) 例子&#xff1a; 下面是一个…

android socket 闪退,android客户端闪退

老师&#xff0c;我把客户端的代码放在android程序里&#xff0c;给一个button监听事件&#xff0c;就是调用这个socket方法&#xff0c;但是一点button就闪退了&#xff0c;没连接上~protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState)…