Đây là sơ đồ mạch

đây là đoạn code mình đã tesk và cảm thấy khá ổn post lên chia sẻ cùng anh em! ai cao thủ thì chém nhẹ thôi em mới học!

đây là đoạn code mình đã tesk và cảm thấy khá ổn post lên chia sẻ cùng anh em! ai cao thủ thì chém nhẹ thôi em mới học!

Code:
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
// Code C Clock Digital has Time Changer System (Using 6 SEG With 74LS47)
// Microcontroller: AT89S52
// Programmer : quanghien_bk
// Club : TAREG
// Date: 21/04/2009
//*************************************************************************************************************************************************************************
//&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
#include<reg51.h>
sbit start=P3^3;
sbit tang=P3^2;
sbit chon=P3^0;
sbit ok=P3^1;
sbit giay=P3^4;
sbit phut=P3^5;
sbit gio=P3^6;
// delay 1s****************************************************************************************************************************************************************
void delay(float x)
{
unsigned char i;
for (i=0;i<10*x;i++)
{
TMOD=0x01;
TH0=0x0;
TL0=0xCE;
TF0=0;
TR0=1;
while(!TF0);
TR0=0;
}
}
// Ham chinh******************************************************************************************************************************************************
//****************************************************************************************************************************************************************
void main()
{
int i,j,k;
P3=P2=P1=P0=0;
change : // chinh thoi gian
while(1)
{ // an chon de bat dau chinh giay
if(chon==1)
{
giay: // ham chinh giay
giay=1;
if(giay==1)
{
while(1)
{
if(tang==1) // an tang de tang so
{
if(P0==0x59) P0=0x00;
if(( P0&0x0F)==0x09)
{
P0=P0&0xF0;
P0=P0+0x10;
}
else
P0++;
delay(0.4);
}
if(ok==1) {delay(1); break;} // an Ok de thoat khoi while khi ko can chinh giay nua
if (start==1) goto start; // an Start de dong ho bat dau chay
}
gio=0; phut=1; goto phut; // chuyen xang chinh phut
}
}
phut: // ham chinh phut
if(phut==1)
{
while(1)
{
if(tang==1) // an tang de tang so
{
if(P1==0x59) P1=0x00;
if(( P1&0x0F)==0x09)
{
P1=P1&0xF0;
P1=P1+0x10;
}
else
P1++;
delay(0.4);
}
if(ok==1){delay(1); break;} // an Ok de thoat khoi while khi ko can chinh giay nua
if(start==1)goto start; // an Start de dong ho bat dau chay
}
giay=0;gio=1;goto gio; // chuyen xang chinh gio
}
gio: // ham chinh gio
if(gio==1)
{
while(1)
{
if(tang==1) // an tang de tang so
{
if(P2==0x23) P2=0x00;
if(( P2&0x0F)==0x09)
{
P2=P2&0xF0;
P2=P2+0x10;
}
else
P2++;
delay(0.5);
}
if(ok==1){delay(1); break;} // an Ok de thoat khoi while khi ko can chinh gio nua
if (start==1)goto start;
} // an Start de dong ho bat dau chay
phut=0;giay=1;goto giay; // chuyen ve chinh giay
}
if (start==1) goto start; // an Start de dong ho bat dau chay
}
// dong ho bat dau chay****************************************************************************************************************************************
//*************************************************************************************************************************************************************
start:
while(1)
{
for(k=0;k<24;k++)
{
for(j=0;j<60;j++)
{
for(i=0;i<60;i++)
{
if(P0==0x59){P0=0x00; break;}
if(( P0&0x0F)==0x09)
{
P0=P0&0xF0;
P0=P0+0x10;
}
else
P0++;
delay(1);
if(chon==1) goto change ; // chuyen ve ham chinh thoi gian
}
P0=0;
if(P1==0x59) {P1=0x00;break;}
if((P1&0x0F)==0x09)
{
P1=P1&0xF0;
P1=P1+0x10;
}
else
P1++;
}
P1=0;
if(P2==0x24) P2=0x00;
if((P2&0x0F)==0x09)
{
P2=P2&0xF0;
P2=P2+0x10;
}
P2++;
if(P2==0x24) P2=0x00;
}
}
}
// Ket thuc chuong trinh **************************************************************************************************************************************************
// http://tareg.plus.vn/forum
// angel_of_me2406@yahoo.com




Comment