linux sdcc stc12c5a60s2,STC12C5A60S2单片机最小系统板20个参考例程分享

/*******************************************************************

* 实验平台: STC12C5A60S2/STC89C52RC最小系统板

* 技术人员: 小蜂人工作室

* 年月时间: 2015.11

* 简单说明: 占空比方式改变LED灯显示

*******************************************************************/

#include   /*头文件包含特殊功能寄存器的定义*/

//IO引脚定义;

sbit LED=P1^0;                                // 用sbit关键字定义LED到P1.0端口

void Delay(unsigned int t); //延时函数声明

/*********************************************************/

/*                    主函数                                                                                         */

/*********************************************************/

void main (void)

{

//          unsigned int Time=1000, PWM=0;        //定义周期并赋值  (STC12C5A60S2芯片)

unsigned int Time=500, PWM=0;                //定义周期并赋值        (STC89C52RC芯片)

while (1)         //主循环

{

LED=1;                                        //P1.0管脚赋值1高电平,熄灭LED灯

Delay(50000);          //延时

/* 阶段1:这个循环中低电平时长从1累加到Time(周期)的值,我们可以看到灯逐渐变亮 */

for(PWM=1; PWM

{

LED=0;                        //点亮LED

Delay(PWM);

LED=1;                        //熄灭LED

Delay(Time-PWM);

}

/*阶段2:开始全亮*/

LED=0;

Delay(50000);          //延时

/* 阶段3:这个循环中低电平时长从Time(周期)的值逐减到0,我们可以看到灯逐渐变暗 */

for(PWM=Time-1; PWM>0; PWM--)        //与逐渐变亮相反的过程

{

LED=0;                                                        //点亮LED

Delay(PWM);

LED=1;                                                        //熄灭LED

Delay(Time - PWM);

}

}

}

/*------------------------------------------------

延时函数,含有输入参数 unsigned int t,无返回值

范围是0~65535

……………………

…………限于本文篇幅 余下代码请从51黑下载附件…………

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值