User Tag List

+ Trả lời chủ đề
Hiện kết quả từ 1 tới 6 của 6

Chủ đề: Đồng hồ chỉnh được time làm bằng C

  1. #1
    svBK's Newbie Avatar của demon52
    Tham gia ngày
    Mar 2009
    Bài gửi
    10

    Icon5 Đồng hồ chỉnh được time làm bằng C

    Đâ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!
    Mã:
    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    //
    // 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
    http://tareg.plus.vn/forum
    ====Demon And Angel====

  2. #2
    HUT's Student Avatar của hungvh12
    Tham gia ngày
    Feb 2009
    Bài gửi
    273

    Mặc định

    Để chạy thử xem thế nào nhé,....
    Tôi là Tôi

  3. #3
    svBK's Newbie Avatar của demon52
    Tham gia ngày
    Mar 2009
    Bài gửi
    10

    Mặc định

    Nếu dùng nhiều led 7 đoạn hơn có thể sử dụng LS138 hay phương pháp quét led để tiết kiệm chân! Nhưng làm đồng hồ thấy thừa chân nên thui...

  4. #4
    svBK's Member Avatar của sinhvienk52
    Tham gia ngày
    Jan 2008
    Bài gửi
    39

    Mặc định

    Chú hiền vào chém gió ah.
    Cái này hay đó hôm nào chú dạy anh với nha.
    Ah mà sắp mở K3 ở câu lạc bộ chưa vây???
    Cố gắng thúc đẩy việv đăng ký K3 đi anh muốn đi học lắm rồi...
    HỌC ! HỌC NỮA ! HỌC MÃI!
    !!!!!!!!LÊNIN VĨ ĐẠI!!!!!!!!!!

  5. #5
    svBK's Newbie
    Tham gia ngày
    Apr 2009
    Bài gửi
    1

    Mặc định

    nhìn cũng đẹp đấy cố gắng lên chú em
    Chúng tôi nhận hướng dẫn làm mạch điện tử theo yêu cầu Nhận thiết kế và gia công mạch điện tử theo yêu cầu của các bạn Liên hệ A Tuấn : 0988676357
    Địa chỉ: Địa chỉ liên hệ : P307 - nhà B7 - Ngõ 9 - Phố Lương Ngọc Quyến - Thanh Xuân - Hà Nội

  6. #6
    svBK's Newbie Avatar của demon52
    Tham gia ngày
    Mar 2009
    Bài gửi
    10

    Mặc định

    haha ra là anh Tuấn à? có j chém nhẹ thằng em thôi! đang làm đề tài cho khoa! có cả trường và thắng đó! hi vọng thành công kiếm ít tiền vốn ko lỗ nặng thì die! hihi!
    Em phải bắt chước cái chữ kí của anh mới được! heee mà anh cẩn thận kẻo xuống K3 đó! mà có quyết định em được miễn vụ giữa kì rùi! bận làm đề tài mà! heeee
    MÀ chú Vượng sốt ruột vừa thôi! kẻo ko K3 ko mở đâu! her her!

+ Trả lời chủ đề

Thông tin chủ đề

Users Browsing this Thread

Hiện có 1 người đọc bài này. (0 thành viên và 1 khách)

Từ khóa (Tag) của chủ đề này

Quyền viết bài

  • Bạn không thể gửi chủ đề mới
  • Bạn không thể gửi trả lời
  • Bạn không thể gửi file đính kèm
  • Bạn không thể sửa bài viết của mình


About svBK.VN

    Bách Khoa Forum - Diễn đàn thảo luận chung của sinh viên ĐH Bách Khoa Hà Nội. Nơi giao lưu giữa sinh viên - cựu sinh viên - giảng viên của trường.

Follow us on

Twitter Facebook youtube