感悟网 导航

用AT89C51单片机 实现一盏灯逐渐变亮5秒再逐渐变暗5秒

作者&投稿:闾昂 (若有异议请与网页底部的电邮联系)
用AT89C51单片机 实现一盏灯逐渐变亮5秒再逐渐变暗5秒~

逐渐变暗,光用单片机还不行,还得加DA转换才行。

ORG 0000G
AJMP MAIN
MAIN:
MOV 2EH,#00H
MOV 2FH,#01H
ACALL JIANBIAN

MOV 2EH,#01H
MOV 2FH,#00H
ACALL JIANBIAN

AJMP MAIN

JIANBIAN: MOV 20H,#120
MOV 22H,#1
LOOP: MOV 24H,#100

LED: MOV P1,2EH
MOV 21H,20H
DJNZ 21H,$

MOV P1,2FH
MOV 23H,22H
DJNZ 23H,$
DJNZ 24H,LED
INC 22H
DJNZ 20H,LOOP

RET
GND

软件pwm加定时中断
p1.0=0;
for(i=0,i++,i<=pwm)
{
p1.0=1
};
p1.0=0
以上为软件pwm,i为局部变量,pwm为全局变量,通过控制pwm来控制led明暗,pwm最大100,最小0。从亮到暗和从暗到亮,写三角波程序,使pwm变化即可。

用PWM

   

返回顶部
本页内容来自于网友发表,若有相关事宜请照下面的电邮联系
感悟网