1. bread88lifa利发国际娱乐论坛/
  2. 嵌入式论坛/
    1. 电子论坛综合区
    2. 嵌入式论坛
    3. 电源技术论坛
    4. 硬件设计论坛
    5. 测试测量论坛
    6. 检测技术与质量
    7. EDA设计论坛
    8. 综合技术与应用
    9. 开源硬件
    10. IC设计论坛
    11. 消费电子论坛
    12. 无线通信论坛
    13. 个人版区
    14. 厂商专区
    15. 论坛服务区
    16. 高校联盟
    17. 供求信息发布
  3. 单片机/MCU论坛
    1. ARM技术论坛
    2. Android论坛
    3. Linux论坛
    4. MSP430技术论坛
    5. FPGA|CPLD|ASIC论坛
    6. STM32/STM8技术论坛
    7. NXP MCU 技术论坛
    8. PIC单片机论坛
    9. DSP论坛
    10. 瑞萨单片机论坛
    11. 嵌入式系统论坛
  4. / 10级可调的STC11F01单片机控制的led
    关闭提示

[问答] 10级可调的STC11F01单片机控制的led

[复制链接]
技术员
发表于 2016-7-29 16:03:23   1161 查看 9 回复 只看该作者 倒序浏览
分享
#include <REG51.H>
//#include <absacc.H>
#define uint unsigned int
#define uchar unsigned char

char t0_val=0;
unsigned  char code tabltl0[] ={0x18,0x04,0x18,0x0c
};
unsigned  char code tablth0[] ={0xc7,0xd1,0xc0,0xf0
};
unsigned  char code tabltl1[] ={0x18,0x0c,0x18,0x04
};
unsigned  char code tablth1[] ={0xf9,0xf0,0xc0,0xd1
};
sbit  key_h = P3^2;
sbit  key_l = P3^3;
sbit  output = P1^7;

void my_delay10nms(unsigned int n)         //延时函数
{
        unsigned i,j;
        while(n --)
        {
                for(i = 128;i > 0;i --)
                for(j = 10;j > 0;j --);
        }
}



void  tcosrv (void)  interrupt  3
{         TR1=0;TR0=1;
     TH1=tablth1[t0_val];
     TL1=tabltl1[t0_val];
     output=1;
}


void tc0_srv(void) interrupt 1   
{          TR0=1;TR1=1;
      TH0=tablth0[t0_val];
      TL0=tabltl0[t0_val];
      output=0;
}   



void main()
{
    TMOD=0X00;
    TH1=tablth1[t0_val];
    TL1=tabltl1[t0_val];

    TH0=tablth0[t0_val];
    TL0=tabltl0[t0_val];
    ET1=1;
    ET0 = 1;
        TR0 = 1;  
    TR1=1;
    EA=1;

    while(1)
    {
       if(key_h==0)
       {
        my_delay10nms(10);
        if(key_h==0)
        {

        while(key_h==0);
        t0_val++;
        if( t0_val>3)
        t0_val=3;
        }
       }
      if(key_l==0)
       {
        my_delay10nms(10);
        if(key_l==0)
        {
        while(key_l==0);
        t0_val--;
        if(t0_val<0)
        t0_val=0;
        }
       }  
    }
}     

不知道对不对

高级工程师
发表于 2016-7-29 17:23:59  
用PWM的占空比比较好吧
回复 点赞 举报
技术员
发表于 2016-8-1 08:07:51    楼主|
chenwei6991627 发表于 2016-7-29 17:23
用PWM的占空比比较好吧

这个我不太懂,刚接触这玩意。您能具体讲下嘛?
回复 点赞 举报
技术员
发表于 2016-8-1 08:16:48    楼主|
wjz01002 发表于 2016-8-1 08:07
这个我不太懂,刚接触这玩意。您能具体讲下嘛?

我说具体点,现在这个板子上大概有70几个LED,一个船型开关控制他的亮度,接通电源后是最亮,然后按开关由亮变暗,总共有十级。片子用的11F01
回复 点赞 举报
高级工程师
发表于 2016-8-1 10:54:59  
没有免费的午餐
回复 举报
技术员
发表于 2016-8-6 20:31:51  
提一点建议:可以用串口来模拟PWM。用方式1,可以产生占空比10%~90%、以10%递进的PWM信号,发送0x00占空比为10%(最后一位停止位为1,其余9位为0),发送0x01为20%,0x03为30%,发送0x07为40%,发送0x0f为50%,发送0x1f为60%,发送0x3f为70%,发送0x7f为80%,发送0xff为90%。如果想要0%或100%,就关闭串口,直接写P3^1 = 0或P3^1 = 1;因为视觉暂留效应,PWM频率有30Hz肉眼就几乎看不出有闪烁了,所以对波特率的要求的不高(压根就没什么要求),用T1作波特率发生器的话,不管时钟频率是多少,直接在方式2下写一个TH1 = TH0 = 100就可以了。
希望对你有所帮助。
回复 点赞 举报
技术员
发表于 2016-8-6 20:33:34  
keil-uvision4 发表于 2016-8-6 20:31
提一点建议:可以用串口来模拟PWM。用方式1,可以产生占空比10%~90%、以10%递进的PWM信号,发送0x00占空比为10%(最后一位停止位为1,其余9位为0),发送0x01为20%,0x03为30%,发送0x07为40%,发送0x0f为50%,发送0x1f为60%,发送0x3f为70%,发送0x7f为80%,发送0xff为90%。如果想要0%或100%,就关闭串口,直接写P3^1 = 0或P ...

TH1 = TL1 = 100,写错了
回复 点赞 举报
技术员
发表于 2016-8-6 20:50:21  
嗯,现在调光用PWM确实是主流
回复 点赞 举报
技术员
发表于 2016-8-8 08:56:03    楼主|
keil-uvision4 发表于 2016-8-6 20:33
TH1 = TL1 = 100,写错了

谢谢~我再试试这个,找程序调出来了可是还不太懂
回复 点赞 举报
资深工程师
发表于 2017-9-1 13:20:34  
不错的文件,值得收藏
回复 点赞 举报
高级模式
您需要登录后才可以回帖 登录 | 注册
关闭

站长推荐 上一条 /9 下一条

快速回复 返回顶部 返回列表
  1. time最新主题
  2. recommend推荐主题
  3. hot热门主题
  4. post 我的帖子
-

推荐专区

技术干货集中营

专家问答

方案交易

用户帮助┃咨询与建议┃版主议事

工程师杂谈

项目|工程师创意

招聘|求职}工程师职场

论坛电子赛事

社区活动专版

发烧友活动

-

嵌入式论坛

ARM技术论坛

Android论坛

Linux论坛

单片机/MCU论坛

MSP430技术论坛

FPGA|CPLD|ASIC论坛

STM32/STM8技术论坛

NXP MCU 技术论坛

PIC单片机论坛

DSP论坛

瑞萨单片机论坛

嵌入式系统论坛

-

电源技术论坛

电源技术论坛

无线充电技术

-

硬件设计论坛

PCB设计论坛

电路设计论坛

电子元器件论坛

控制|传感

总线技术|接口技术

-

测试测量论坛

LabVIEW论坛

Matlab论坛

测试测量技术专区

仪器仪表技术专区

-

EDA设计论坛

multisim论坛

PADS技术论坛

Protel|AD|DXP论坛

Allegro论坛

proteus论坛|仿真论坛

EasyEDA-中国人自已的EDA工具

Orcad论坛

-

综合技术与应用

电机控制

智能电网

光电及显示

工程资源中心

汽车电子技术论坛

医疗电子论坛

-

开源硬件

-

无线通信论坛

无线通信技术专区

天线|RF射频|微波|雷达技术

-

IC设计论坛

芯片测试与失效分析

Mixed Signal/SOC[数模混合芯片设计]

Analog/RF IC设计

设计与制造封装测试

-

厂商专区

TI论坛

TI Deyisupport社区

-

检测技术与质量

电磁兼容(EMC)设计与整改

安规知识论坛

检测与认证

-

消费电子论坛

手机技术论坛

平板电脑/mid论坛

音视/视频/机顶盒论坛

-

电子论坛综合区

聚丰众筹官方社区

新人报道区

聚丰供应链

-

论坛服务区

-

供求信息发布

供需广告

电子展览展会专区

芯片求购|供应发布区

88lifa利发国际娱乐

百度360搜索搜狗搜索