• 方案介紹
  • 附件下載
  • 相關(guān)推薦
申請入駐 產(chǎn)業(yè)圖譜

基于51單片機(jī)的時(shí)鐘【整點(diǎn)報(bào)時(shí),半點(diǎn)報(bào)時(shí),數(shù)碼管】(仿真)

01/29 08:45
957
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

有需要資料的可了解一下.docx

共1個(gè)文件

it k2=P1^2;
sbit beep=P1^5;//蜂鳴器
sbit smg1=P2^2;//數(shù)碼管
//數(shù)碼管編碼
uchar code smgduan[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
uchar time=0,mode2=0;//系統(tǒng)變量
uchar shi=6,fen=59,miao=55,sec=0;
uchar start=0;
uchar flag1=0,flag2=0,time1=0;//報(bào)時(shí)控制
uchar flag=0;
uchar change=0;
//延時(shí)
void delay(uint i)
{
	while(i--);
}
//主函數(shù)
void main()
{
	uchar k=0;
	TMOD|=0X01;
	TH0=0X3C;
	TL0=0XB0;	
	ET0=1;//打開定時(shí)器0中斷允許
	EA=1;//打開總中斷
	TR0=1;//打開定時(shí)器
	beep=0;
	while(1)
	{
		//正常模式
		if(s1)
		{
			if(change)
			{
				change=0;
				mode2=0;
			}
			if(mode2==0)//分鐘
			{
				P0=0;smg1=1;P0=smgduan[fen/10];delay(100);
				P0=0;smg1=0;P0=smgduan[fen%10];delay(100);
			}
			else//小時(shí)
			{
				P0=0;smg1=1;P0=smgduan[shi/10];delay(100);
				P0=0;smg1=0;P0=smgduan[shi%10];delay(100);
			}
			//LED
			if(flag==0)
			{
			if(time<11)
				P3=0xff;
			else
				P3=0;
			}
			//按鍵切換
			if(!k1 &&(k!=1))//小時(shí)
			{
				k=1;
				if(sec==0)
				{
					sec=3;
					mode2=1;
					start=1;
				}
				else
				{
					mode2=0;
					start=0;
					sec=0;
				}
			}			
			if(k1 && k2)
				k=0;
		}
		else//設(shè)置模式
		{
			change=1;
			if(mode2==0)//分鐘
			{
				if(time<11)
				{
					P0=0;smg1=1;P0=smgduan[fen/10];delay(100);
					P0=0;smg1=0;P0=smgduan[fen%10];delay(100);
				}
				else
					P0=0;
				P3=0xff;
			}
			else//小時(shí)
			{
				if(time<11)
				{
					P0=0;smg1=1;P0=smgduan[shi/10];delay(100);
					P0=0;smg1=0;P0=smgduan[shi%10];delay(100);
				}
				else
					P0=0;
				P3=0;
			}
			//按鍵切換
			if(!k1 &&(k!=1))//切換
			{
				k=1;
				mode2=!mode2;
			}
			if(!k2 &&(k!=2))//加
			{
				k=2;
				if(mode2==0)
				{
					if(fen<59)
					 	fen++;
					else
						fen=0;
				}

資料借鑒于此紛傳

  • 有需要資料的可了解一下.docx
    下載

相關(guān)推薦

方案定制

去合作
方案開發(fā)定制化,2000+方案商即時(shí)響應(yīng)!