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

標題: 按鍵控制單片機PWM對LED燈調光的匯編語言源程序 [打印本頁]

作者: jialinx    時間: 2015-9-15 22:09
標題: 按鍵控制單片機PWM對LED燈調光的匯編語言源程序

/////////////////////////////////////////////
匯編程序
/////////////////////////////////////////////
/***********************************************************************/
/***名稱:按鍵控制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;
        }
}
/*---------------------------------------------------------------------*/
/*--   程序結束                 ---------------------------------------*/
/*---------------------------------------------------------------------*/




作者: lxa0    時間: 2015-9-15 22:14
看見匯編真親切~~~~~~~~~~~~~~~~
作者: shanghaihao    時間: 2017-11-12 13:38
有電路圖嗎?這是控制幾個燈亮度的?




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 日韩视频精品在线 | 亚洲天堂久久 | 91久久 | 日本一区二区高清不卡 | 激情五月婷婷 | 91看国产 | 精品亚洲第一 | 欧美午夜一区 | 亚洲狠狠 | 97超碰免费 | 欧美一区二区三区在线观看视频 | 粉色午夜视频 | 欧美 日本 国产 | 一区视频在线免费观看 | 97精品超碰一区二区三区 | 欧美在线视频网 | 国产激情偷乱视频一区二区三区 | 日韩精品a在线观看图片 | 福利视频网站 | 国产亚洲一区二区三区在线观看 | 欧美日韩亚洲视频 | 99精品网| 亚洲一区网站 | 中文字幕一区二区三区四区五区 | 欧美在线a| 国产女人精品视频 | 国产精品不卡一区 | 中文字幕精品视频 | 成人久草| av在线播放一区二区 | 97精品超碰一区二区三区 | 久久精品国产精品青草 | 欧美二三区| 精品视频一区在线 | 亚洲精品av在线 | 久久夜夜| 日本网站免费在线观看 | 在线观看国产91 | 欧美精品欧美精品系列 | 日本成人中文字幕在线观看 | 韩日一区二区三区 |