找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3361|回复: 6
收起左侧

LED免限流电阻直接单片机IO驱动实验

[复制链接]
ID:66287 发表于 2018-11-7 15:07 | 显示全部楼层 |阅读模式
闲极无聊,做了个LED免限流电阻直接驱动实验,效果不错
/*************************************************
工程名:LED免限流电阻直接驱动实验
作   者:老芹

定时器每0.5mS中断一次,八位显示耗时12mS,每位1.5mS
CPU:STC15F204EA
验证通过
************************************************/
#include <STC15F2K60S2.H>
typedef unsigned char uint8;
typedef unsigned int  uint16;

uint8 Timer_1,IO_control; //LED_control作为控制LED亮灭的控制变量

sbit LED = P2^5;

void Timer0_Init();
void IO_Model_Config();   //初始化IO口

void main()
{
        Timer0_Init();  
        IO_Model_Config();          //IO工作模式配置(将LED的IO设置为推挽输出模式)
        while(1)
        {
               
        }
}
void Timer0() interrupt 1 //定时器中断 ,16位自动重装模式,无需重赋初值
        {                                 
    Timer_1++;
        LED = IO_control;
        if (Timer_1<=3)
            IO_control = 1;
        else IO_control = 0;
        if (Timer_1==12)
           Timer_1 = 0;
        }
        
void Timer0_Init()  //定时器初始化
        {
         AUXR &= 0x7F;        //定时器时钟12T模式,0.5mS
         TMOD &= 0xF0;        //设置定时器模式
         TL0 = 0x33;        //设置定时初值
         TH0 = 0xFE;        //设置定时初值
         
         TR0 = 1;                //定时器0开始计时
         ET0 =1;
         EA = 1;
        }

void IO_Model_Config()
  {        
        P2M1 = 0x00;
        P2M0 = 0xff;
  }


评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:1 发表于 2018-11-7 16:31 | 显示全部楼层
亮度怎么样?
回复

使用道具 举报

ID:419294 发表于 2018-11-7 16:32 | 显示全部楼层
结果怎么样
回复

使用道具 举报

ID:422448 发表于 2018-11-7 16:49 | 显示全部楼层
好贴顶
回复

使用道具 举报

ID:399179 发表于 2018-11-7 18:04 来自手机 | 显示全部楼层
不是太懂!
回复

使用道具 举报

ID:422623 发表于 2018-11-7 21:26 | 显示全部楼层
很不错,顶一下
回复

使用道具 举报

ID:66287 发表于 2018-11-8 08:12 | 显示全部楼层
亮度和正常带限流电阻的一样。
通过这一句调节亮度,在实验板上缓慢调节Timer_1的值,到3就可以了,6就很亮。
      if (Timer_1<=3)
            IO_control = 1;
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表