估摸着是脑残的流水灯任务。。总算综合了之前的内容

其实可以伴随着maksim的kolibre看- -我测出来偏差不大。。至于要设计的多么符合节奏。。原谅我吧。。。。这种事真的想偷懒

没准以后可以对她求婚用- -那样老子绝对就有动力了!!只是如今她还对我没啥感觉,也就只能这样了

#include <reg52.h>
unsigned char code table[]={0x7f,0x5f,0x57,0x55,							
							0x00,0xff,0xbf,0xaf,
							0xab,0xaa,0x00,0xff
							};
void delay(int n)
{
	int i;
	for(i=0;i<n;i++);
	
}

int main()
{
while(1)
{

    int i,circle=250,j=0,k;
	P1=0xff;//1s缓慢变亮
    delay(6700);
	for(i = 0;i < circle;i++)
	{
		P1 = 0x00;
        delay(i);
		P1 = 0xff;
		delay(circle-i);
	}
    while(j<3)//单灯循环往返3次
{
	P1 = k = 0x7f;//0111 1111
    delay(5000);
	for(i = 0;i<8;i++)
	{
	
		k >>= 1;
		k |= 0x80;
		P1 = k;
	    delay(5000);
	}

	P1= k = 0xfe;//1111 1110
    delay(5000);
	for(i = 0;i<8;i++)
	{
	
		k <<= 1;
		k |= 0x01;
		P1=k;
 	   delay(5000);
	}
    j++;

}
	j=0;	
    while(j<3)//双灯循环往返3次
{
	P1 = k = 0x3f;//0011 1111
    delay(5000);
	for(i = 0;i<8;i++)
	{
	
		k >>= 1;
		k |= 0x80;
		P1 = k;
 	   delay(5000);
	}

	P1= k = 0xfc;//1111 1100
    delay(4000);
	for(i = 0;i<8;i++)
	{	
		k <<= 1;
		k |= 0x01;
		P1=k;
 	    delay(5000);
	}
    j++;

}	
	j=0;
    while(j<3)//三灯往返三次
{
	P1 = k = 0x1f;//0001 1111
    delay(4000);
	for(i = 0;i<8;i++)
	{
	
		k >>= 1;
		k |= 0x80;
		P1 = k;
	    delay(5000);
	}

	P1= k = 0xf8;//1111 1000
    delay(4000);
	for(i = 0;i<8;i++)
	{
	
		k <<= 1;
		k |= 0x01;
		P1=k;
  	    delay(5000);
	}
    j++;

}
	P1=0x00;
	for(i=0;i<circle;i++)
	{
		P1=0xff;//1111 1111
		delay(i);
		P1=0x00;
		delay(circle-i);
	}
j=0;
while(j<3)
{
    for(i = 0;i < 12;i++)
    {
    	P1 = table[i];
        delay(30000);
    }

	j++;
}
}
}

数字电子钟 摘 要 20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的 各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产 品性能进一步提高,产品更新换代的节奏也越来越快。 现代生活的人们越来越重视起了时间观念,可以说是时间和金钱划上了等号。对于那些 对时间把握非常严格和准确的人或事来说,时间的不准确会带来非常大的麻烦,所以以数码 管为显示器的时钟比指针式的时钟表现出了很大的优势。数码管显示的时间简单明了而且读 数快、时间准确显示到秒。而机械式的依赖于晶体震荡器,可能会导致误差。 数字钟是采用数字电路实现对“时”、“分”、“秒”数字显示的计时装置。数字钟的精度、 稳定度远远超过老式机械钟。在这次设计中,我们采用LED数码管显示时、分、秒,以24 小时计时方式,根据数码管动态显示原理来进行显示,用12MHz的晶振产生振荡脉冲,定 时器计数。在此次设计中,电路具有显示时间的其本功能,还可以实现对时间的调整。数字 钟是其小巧,价格低廉,走时精度高,使用方便,功能多,便于集成化而受广大消费的喜爱, 因此得到了广泛的使用。 关键字:数字电子钟 单片机 目 录 第一章 绪论 1.1 数字电子钟的背景…………………………………………………………………… 1 1.2 数字电子钟的意义…………………………………………………………………… 1 1.3 数字电子钟的应用…………………………………………………………………… 1 第二章 整体设计方案 2.1 单片机的选择…………………………………………………………………………… 2 2.2 单片机的基本结构……………………………………………………………………… 4 第三章 数字钟的硬件设计 3.1 最小系统设计…………………………………………………………………………… 9 3.2 LED显示电路…………………………………………………………………………… 12 3.3 键盘控制电路…………………………………………………………………………… 14 第四章 数字钟的软件设计 4.1 系统软件设计流程图…………………………………………………………………… 16 4.2 数字电子钟的原理图…………………………………………………………………… 20 4.3 主程序…………………………………………………………………………………… 20 4.4 时钟设置子程序………………………………………………………………………… 21 4.5 定时器中断子程序……………………………………………………………………… 21 4.6 LED显示子程序………………………………………………………………………… 22 4.7 按键控制子程序………………………………………………………………………… 24 第五章 系统仿真 5.1 PROTUES软件介绍……………………………………………………………………… 26 5.2 电子钟系统PROTUES仿真……………………………………………………………… 26 第六章 调试与功能说明 6.2 系统性能测试与功能说明……………………………………………………………… 27 6.3 系统时钟误差分析……………………………………………………………………… 27 6.1 硬盘调试………………………………………………………………………………… 27 6.4 软件调试问题及解决…………………………………………………………………… 27 结束语………………………………………………………………………………………….29 参考文献………………………………………………………………………………………30 致谢……………………………………………………………………………………………..31
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值