1024手机基地看电影,午夜福利视频导航,国产精品福利在线一区,亚洲欧美日韩另类成人,在线观看午夜日本理论片,成年超爽免费网站,国产精品成人免费,精品动作一级毛片,成人免费观看网站,97精品伊人久久大香蕉

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

基于52單片機用可控硅調節220v燈的亮度 仿真燈并不會亮

查看數: 3630 | 評論數: 3 | 收藏 0
關燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發布時間: 2018-1-10 21:18

正文摘要:

#include "reg52.h" sbit lamp_pwm=P2^0;// sbit key0=P2^1;// sbit key1=P2^2;// unsigned int inc; void INT0s()interrupt 0        using 0// {   ...

回復

ID:234053 發表于 2018-1-31 16:44
樓主問題解決了么
ID:262845 發表于 2018-1-31 11:59
#include "reg52.h"                         //此文件中定義了單片機的一些特殊功能寄存器

typedef unsigned int u16;          //對數據類型進行聲明定義
typedef unsigned char u8;

//--定義使用的IO口--//
sbit PWM=P2^1;         //脈沖調整輸出端口
bit DIR;           // 位定義,一位0 1

//--定義一個全局變量--//
u16 count,value,timer1;

/*******************************************************************************
* 函 數 名         : Timer1Init
* 函數功能                   : 定時器1初始化
* 輸    入         : 無
* 輸    出         : 無
*******************************************************************************/
void Timer1Init()
{
        TMOD|=0X10;//選擇為定時器1模式,工作方式1,僅用TR1打開啟動。

        TH1 = 0xFF;
        TL1 = 0xff;   //1us
               
        ET1=1;//打開定時器1中斷允許
        EA=1;//打開總中斷
        TR1=1;//打開定時器                       
}


/*******************************************************************************
* 函 數 名       : main
* 函數功能                 : 主函數
* 輸    入       : 無
* 輸    出             : 無
*******************************************************************************/
void main()
{       
        Timer1Init();  //定時器1初始化
        while(1)
        {
//                if(count>200)                //count從暗到亮的時間                                       
//                {  
//                        count=0;
//                        if(DIR==0)                                           //DIR控制增加或減小
//                        {
//                          value++;
//                        }                       
////                        if(DIR==0)
////                        {
////                          value--;
////                        }
//                               
//                }
                value=320;
//                if(value==800)                //        value占空比,調節亮度 70-1000
//                {
//                  DIR=0;
//                  value=780;
//                }
//                if(value==0)           //  占空比達到最小時,改變方向
//                {
//                  DIR=1;
//                }       
                               
                if(timer1>1000)  //PWM周期為1000*1us
                {
                        timer1=0;
                }
                if(timer1 <value)       
                {
                        PWM=1;
                }
                else
                {
                        PWM=0;
                }               
        }               
}

/*******************************************************************************
* 函 數 名       : Time1
* 函數功能                 : 定時器1的中斷函數
* 輸    入       : 無
* 輸    出       : 無
*******************************************************************************/

void Time1(void) interrupt 3    //3 為定時器1的中斷號  1 定時器0的中斷號 0 外部中斷1 2 外部中斷2  4 串口中斷
{
        TH1 = 0xFF;
        TL1 = 0xff;   //1us
        timer1++;
    count++;
       
}
ID:274552 發表于 2018-1-10 21:43
我也不太懂  ,最近也想做一個

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表