久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5360|回復: 2
打印 上一主題 下一主題
收起左側

按鍵控制單片機PWM對LED燈調光的匯編語言源程序

[復制鏈接]
跳轉到指定樓層
樓主
ID:90014 發表于 2015-9-15 22:09 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式

/////////////////////////////////////////////
匯編程序
/////////////////////////////////////////////
/***********************************************************************/
/***名稱:按鍵控制PWM對LED燈調光         *******************************/
/***功能:此程序為主模塊,改變LOOP_NUM1的值就改變了占空比,初值50%      */
/*** 按鍵KEY1,KEY2對LOOP_NUM1的調整實現8級亮度調節                    */
/***********************************************************************/

/*---------------------------------------------------------------------*/
/*--   端口定義                 ---------------------------------------*/
/*---------------------------------------------------------------------*/
PORT_3        EQU P3
PORT_2        EQU P2
PORT_1        EQU P1

KEY1        EQU P3.6
KEY2        EQU P3.7

LOOP_NUM1        EQU 30H          
LOOP_NUM2        EQU 31H
LOOP_NUM3        EQU 32H               
/*---------------------------------------------------------------------*/
/*--   程序開始                 ---------------------------------------*/
/*---------------------------------------------------------------------*/
        ORG 0000H
        SJMP MAIN
        ORG 0003H
        SJMP EX_INT0
        ORG 0030H
/*---------------------------------------------------------------------*/
/*--   主程序                   ---------------------------------------*/
/*---------------------------------------------------------------------*/
MAIN:        MOV PORT_2,#00H         //端口初始化
          MOV PORT_1,#00H
        CLR IT0
        SETB EX0
        SETB EA

START:        MOV LOOP_NUM3,#255
        MOV LOOP_NUM2,#255
        MOV LOOP_NUM1,#127 //改變LOOP_NUM1的值就改變了占空比,初值50%
LOOP:        MOV A,LOOP_NUM1
        CJNE A,LOOP_NUM2,LOOP2
LOOP2:    JC LOOP3
        MOV PORT_2,#0FFH
        SJMP EXIT
LOOP3:        MOV PORT_2,#00H       
EXIT:        DJNZ LOOP_NUM2,LOOP
        MOV LOOP_NUM2,#255
        MOV A,LOOP_NUM1
        CJNE A,#255,LOOP
        SJMP START

/*---------------------------------------------------------------------*/
/*--   中斷子程序               ---------------------------------------*/
/*---------------------------------------------------------------------*/
EX_INT0:  JNB KEY1,PWM_ADD
        JNB KEY2,PWM_SUBB
        SJMP EXIT_INT

PWM_ADD:        JNB KEY1,PWM_ADD
        MOV A,LOOP_NUM1
        CJNE A,#250,PWM_ADD2
PWM_ADD2:        JC PWM_ADD3
        MOV LOOP_NUM1,#251
        SJMP EXIT_INT
PWM_ADD3:        ADD A,#31
        MOV LOOP_NUM1,A
        SJMP EXIT_INT
/*--------------------------------*/
PWM_SUBB:        JNB KEY2,PWM_SUBB

        MOV A,LOOP_NUM1
        CJNE A,#4,PWM_SUBB2

PWM_SUBB2:JC PWM_SUBB3
        SUBB A,#31
        MOV LOOP_NUM1,A
        SJMP EXIT_INT

PWM_SUBB3:MOV LOOP_NUM1,#3
        SJMP EXIT_INT




EXIT_INT:        RETI
/*---------------------------------------------------------------------*/
/*--   程序結束                 ---------------------------------------*/
/*---------------------------------------------------------------------*/
        END

       

回復112帖
2014/04/19 15:55:41 113帖 yueyunno1 師長     
                               
////////////////////////////////
C程序
////////////////////////////////
/***********************************************************************/
/***名稱:按鍵控制PWM對LED燈調光         *******************************/
/***功能:此程序為主模塊,改變LOOP_NUM1的值就改變了占空比,初值50%      */
/*** 按鍵KEY1,KEY2對LOOP_NUM1的調整實現8級亮度調節                    */
/***********************************************************************/
#include<reg51.h>
typedef unsigned char U8;
typedef unsigned int  U16;
/*---------------------------------------------------------------------*/
/*--   端口定義                 ---------------------------------------*/
/*---------------------------------------------------------------------*/
#define PORT_2 P2

sbit KEY1 = P3^6;
sbit KEY2 = P3^7;

U8 j;       
/*---------------------------------------------------------------------*/
/*--   中斷子程序               ---------------------------------------*/
/*---------------------------------------------------------------------*/
void  exint0() interrupt 0
{
        if(KEY1==0)
        {
                while(~KEY1);
                if(j<251)
                        j+=31;
                else
                        j=251;
        }
        else if(KEY2==0)
        {
                while(~KEY2);
                if(j>3)
                        j-=31;
                else
                        j=3;
        }       
}

/*---------------------------------------------------------------------*/
/*--   主程序                   ----------------------------------------------*/
/*---------------------------------------------------------------------*/
void main()
{
        U8 i;
        PORT_2=0X00;

        IT0 = 0;                        //set INT0 int type (1:Falling 0:Low level)
        EX0 = 1;                        //enable INT0 interrupt
        EA = 1;                         //open global interrupt switch
        j=127;                                                          //改變j的值就改變了占空比,初值50%
        while(1)
        {
                for(i=255;i>0;i--)
                        PORT_2=(j<i)?0x00:0xff;
        }
}
/*---------------------------------------------------------------------*/
/*--   程序結束                 ---------------------------------------*/
/*---------------------------------------------------------------------*/



分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:74784 發表于 2015-9-15 22:14 | 只看該作者
看見匯編真親切~~~~~~~~~~~~~~~~
回復

使用道具 舉報

板凳
ID:247864 發表于 2017-11-12 13:38 | 只看該作者
有電路圖嗎?這是控制幾個燈亮度的?
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 米奇7777狠狠狠狠视频 | 精品欧美一区二区精品久久久 | 日韩精品一区在线 | 精品国产一区二区 | 91成人免费电影 | 久久精品亚洲欧美日韩精品中文字幕 | 国产1区2区3区 | 亚洲精品在线国产 | 国产永久免费 | 国产一区二区精品在线观看 | 亚洲 欧美 另类 综合 偷拍 | 久久尤物免费一区二区三区 | 国产在线第一页 | 日韩在线欧美 | 日本免费一区二区三区四区 | 日本一区二区在线视频 | 国产xxx在线观看 | 91色在线视频 | 久久尤物免费一区二区三区 | 中文字幕国产 | 国产精品 欧美精品 | 国产美女特级嫩嫩嫩bbb片 | 中文字幕日韩专区 | 色综合av | 国产精品国产三级国产aⅴ中文 | 日韩成人在线观看 | 亚洲精品乱码久久久久久按摩观 | 亚洲精品久久久久久久久久久久久 | 国产黄色大片在线观看 | 国产综合在线视频 | 视频一区二区在线观看 | 亚洲二区在线 | 国产精品久久久久久婷婷天堂 | 久久久av中文字幕 | 日韩av在线一区 | 毛片在线看片 | 亚洲欧美一区二区三区在线 | 久久综合av| 日韩三级视频 | 97人澡人人添人人爽欧美 | 日韩综合在线视频 |