找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 3269|回復(fù): 3
打印 上一主題 下一主題
收起左側(cè)

基于52單片機(jī)用可控硅調(diào)節(jié)220v燈的亮度 仿真燈并不會(huì)亮

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
#


#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//
{
        TR0=0;
        if(!key0)//½μμíáá¶è
        {
                inc+=50;
                if(inc>=8000)
                        inc=8000;
        }
        if(!key1)//Ôö¼óáá¶è
        {
                inc-=50;
                if(inc<=800)
                        inc=800;
        }
        TH0=(65536-inc)/256;
        TL0=(65536-inc)%256;
        TR0=1;
}

void timer1()interrupt 1 using 0//¿é¿Ø1è′¥·¢ÖD¶Ï
{
        unsigned char i;
        lamp_pwm=0;//μÆáá
        for(i=0;i<2;i++);//Ñóê±2us
        lamp_pwm=1;//μÆÃe
}

///************STC2»¶ÏμçÏÂÔØóÃ******************/
sfr ISP_DOWNS=0xe7;//ISPèí¸′λμØÖ·
sbit ISP_SW=P3^0;//′®¿úêy¾Y½óêÕ
void DebugDownISP()//èí¸′λ
{
        if(!ISP_SW)ISP_DOWNS=0x60;        
}
/********************************************/

void main()
{
        TMOD|=0x01;
        IT0=1;//INT0ϽμÑØ′¥·¢
        EX0=1;//ía2¿ÖD¶ÏÔêDí
        ET0=1;
        EA=1;//¿a×üÖD¶Ï
        inc=8000;
        while(1)
        {
                DebugDownISP();
        }
}

求教為什么我這個(gè)仿真燈并不會(huì)亮,這個(gè)程序和仿真圖都是另一個(gè)帖子看到的。
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

板凳
ID:234053 發(fā)表于 2018-1-31 16:44 | 只看該作者
樓主問題解決了么
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:262845 發(fā)表于 2018-1-31 11:59 | 只看該作者
#include "reg52.h"                         //此文件中定義了單片機(jī)的一些特殊功能寄存器

typedef unsigned int u16;          //對(duì)數(shù)據(jù)類型進(jìn)行聲明定義
typedef unsigned char u8;

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

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

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

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


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

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

void Time1(void) interrupt 3    //3 為定時(shí)器1的中斷號(hào)  1 定時(shí)器0的中斷號(hào) 0 外部中斷1 2 外部中斷2  4 串口中斷
{
        TH1 = 0xFF;
        TL1 = 0xff;   //1us
        timer1++;
    count++;
       
}
回復(fù)

使用道具 舉報(bào)

樓主
ID:274552 發(fā)表于 2018-1-10 21:43 | 只看該作者
我也不太懂  ,最近也想做一個(gè)
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表