蓝桥杯板子.
这不是一个工程(毫无技术水平),时钟系统2.0还在赶,争取明天发.
可怜的孩子就写了一篇来完成新人任务.
还不懂硬件pwm,pwm还有别的很多作用,呼吸灯只是抛砖引玉.
延时版
#include <STC15F2K60S2.H>
#include <intrins.H>
unsigned char i,time;
void P2andP0(unsigned char p2,p0,p42)
{
P42=p42;
P0=p0;
P2=p2;
P2=0;//防止被别的操作修改P0而影响了
}
void Delay1ms(unsigned char t) //@12.000MHz
{
while(t--); //一定要是空循环,不然用软件生成的一闪一闪很明显
}
void main()
{
P2andP1(0xA0,0,0);//初始化关闭嗡鸣器继电器
while(1)
{
for(time=0;time<100;time++)//由暗到亮,以100为单位符合百分之多少多少的占空比
{
for(i=0;i<200;i++)//改变变化快慢,每个亮度持续时间
{
P2andP1(0x80,0,0);
Delay1ms(time);
P2andP1(0x80,0xFF,0);
Delay1ms(100-time);//原理是改变亮暗的比例(占空比)
}
}
for(time=100;time>0;time--)//由亮到按
{
for(i=0;i<200;i++)
{
P2andP1(0x80,0,0);
Delay1ms(time);
P2andP1(0x80,0xFF,0);
Delay1ms(100-time);
}
}
}
}