Thông báo

Collapse
No announcement yet.

Hẹn giờ đa năng

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • Hẹn giờ đa năng

    chào các bạn.
    qua 1 thời gian miệt mài nguyên cứu và thiết kế cuối cùng cũng đã thành phẩm 1 thiết bị hẹn giờ đa năng đơn giản dùng chip PIC16F886
    đây là hình của em nó.
    Click image for larger version

Name:	Picture 005.jpg
Views:	2
Size:	18.9 KB
ID:	1412104

    mình xin chia sẻ cùng anh chị em.
    đây là sơ đồ nguyên lý sch

    Click image for larger version

Name:	untitled.JPG
Views:	1
Size:	56.0 KB
ID:	1412105

    đây là code
    (đây là code hướng dẫn các các bước cho các bạn làm )

    Code:
    /************************************************************************************************/
    //  TEN CONG TRINH: HEN GIO BAT TAT THIET BI DA NANG 
    //  NGUOI THUC HIEN: DINH THANH SANG
    // DIA CHI : AN MY - CAM CHAU - HOI AN - QUANG NAM - VIET NAM
    //  THOI GIAN: 15 THANG 7 NAM 2011 DEN 9 THANG 3 NAM 2012
    //  UNG DUNG CUA THIET BI: DIET KHIEN BAT TAT THIET BI CHIEU SANG VA CAC THIET BI KHAC
    //  THONG SO: DIEN AP SU DUNG 220VAC DONG MOI TAI 15A CONG SUAT TIEU THU CUA THIET BI 0.5W
    //  HIEN THI 4 LED 7 DOAN 
    //  DIEU CHINH BANG NUT AN CO
    // THIET BI DA DANG KY QUYEN SO HUU TAC GIA.
    /************************************************************************************************/
    
    
    
    //////////////////////////////bat dau chuong trinh////////////////////////////////////
    
    #include<htc.h>
    
    __CONFIG( 	XT &  WDTDIS & BORDIS & IESODIS & FCMDIS & LVPDIS & PWRTEN & MCLREN & UNPROTECT & DUNPROTECT );
    #ifndef _XTAL_FREQ
    #define _XTAL_FREQ 4000000
    #endif
    
    //////////////////////////////////////////khai bao bien////////////////////////////////////////
    
    int l1,l2,l3,	i=0,onset=0,	h1=0,h2=0,m1=0,m2=0,s=0,	mode=0,save=0,auoff=100,	menu=80,	ms1=0,ms2=0,hs1=0,hs2=0,		timeon=0,timeoff=0,		h1p=0,h2p=0,m1p=0,m2p=0;
    ///////////////////////////////////////////bang ma led///////////////////////////////////////////
    
    char ledht[]={cac b?n nhap vao ma Hex de hien thi};
    
    ////////////////////////////////////////////chuong trinh con hien thi led////////////////////////////////////
    
    void led(int hl1,int hl2,int ml1,int ml2)
    {
    	cac  ban doc ro rang phan cung va xuat du lieu ra post 
    }
    
    
    
    ///////////////////////////////////////////////////chuong trinh con cai dat time thuc/////////////////////////////////////////
    
    void settimeled()
    {
    	if(RB2!=1)
    	{
        	dung thuat toan de tang gia tri phut tu 0-->60
    	}
    	
    	if(RB1!=1)
    	{
        	tuong tu phut
    	}
    }	
    
    ///////////////////////////////////////////////chuong trinh khai bao eeprom/////////////////////////////////////
    
    void khaibaoeeprom()
    {
    	EEDAT=1;
    	EEADR=1;
    	EEPGD=0;
    	WRERR=1;
    	WREN=1;
    	WR=1;
    	RD=0;
    
    
    }
    
    ///////////////////////////////////////////////chuong trinh ghi va doc eeprom//////////////////////////////////////////
    
    //Read from EEPROM
    unsigned char	readEEPROM(unsigned char dataR_ADR)
    {
    	EEADR		= dataR_ADR; //data Read AdDRess
    	EEPGD		= 0;
    	RD		= 1;
    	return(EEDAT);
    }
    
    //Write to EEPROM
    void			writeEEPROM(unsigned char dataW_ADR, unsigned char dataW_DAT)
    {
    	EEADR		= dataW_ADR; //data Write AdDRess
    	EEDAT		= dataW_DAT; //data Write DATa
    	EEPGD		= 0;
    	WREN		= 1;
    	GIE		= 0;
    	while(GIE==1){
    		GIE		= 0;
    	}
    	EECON2		= 85;
    	EECON2		= 170;
    	WR		= 1;
    	GIE		= 1;
    	while(WR==1){
    	}
    	WREN		= 0;
    	__delay_ms(5);
    }
    
    
    //////////////////////////////////////////////////////////////////////chuong trinh con bat tat tai bang tay////////////////////////////////////
    
    void load1()
    {	
    	if (RB5!=1)
    	{
    		dung thuat toan de bien doi pin o tranh thai nay sang tranh thau khac va save
    	}
    }
    
    
    void load2()
    {	
    	if (RB6!=1)
    	{
    	tuong tu load1	
    	}
    }
    
    
    void load3()
    {	
    	if (RB7!=1)
    	{
    	tuong tu load1
    	}
    }
    
    ////////////////////////////////////////////////chuong trinh ngat//////////////////////////////////////////
    
    void interrupt isr()
    {
    
    	if((TMR1IF)&&(TMR1IE)) 
    	{
    		s++;
    		TMR1H=0x80;
    		TMR1L=0x00;
    
    		if(s>59)
    		{	m2=m2++;
    			s=0;
    			save=0;
    			if (m2>9)
    			{
    				dung thuat toan tuong tu  cai dat phut		
    			}
    			if(RC7!=0)
    			{
    				dung thuat toan tuong tu  cai dat phut	
    			}		
    		}
    		TMR1IF = 0;
    	}
    	if(INTF&&INTE)
    	{
    	       nhan ngat ngoai thay doi che do_
    	}
    }
    
    
    /////////////////////////////////////////////////////////khai bao chuc nang ngat/////////////////////////////////////////////////
    
    void khaibaongat()
    {
    	TMR1CS=1;  			// 0= INTERNAL CLOCK ,1= EXTERNAL CLOCK 
    	T1OSCEN=1;
    	TMR1IF=0;
    	TMR1IE = 1; 		 //   TIMER1 Interrupt Enable bit ;
    	GIE = 1;  			 //  Global Interrupt Enable bit
    	PEIE=1;	
    	TMR1ON=1; 			 // ENABLE TIMER 1
    //	T1CKPS0=0;
    //	T1CKPS1=0;
    //	TMR1GE=0;
    //	T1SYNC=1;
    	TMR1H=0x80;
    	TMR1L=0x00;
    
    	RBIE=1;
    	INTE=1;
    	INTF=1;
    	T0IF=1;
    }
    
    
    ////////////////////////////////////////////////////////////////chuong trinh con bat tat che do //////////////////////////////////////////
    
    void time_on()
    {	if(RB3!=1)
    	{
    	   tuong tu load1
    	}
    }
    
    void time_off()
    {	if(RB4!=1)
    	{
    	tuong tu load1
    	}
    }
    
    
    
    				
    
    
    /////////////////////////////////////////////////chuong trinh cai dat time cho hen gio/////////////////////////////////////////
    
    void settime()
    {
    	if(RB2!=1)					//set min
    	{
                 dung thuat toan tuong tu  cai dat phut	
    	}
    	if(RB1!=1)					//set hour
    	{
    	      dung thuat toan tuong tu  cai dat phut	
    	}
    }
    
    
    
    
    ////////////////////////////////////////////////////////////////////cai dat gia tri va cong viec/////////////////////////////////////////////////////////////////////////////////////////
    
    void settimeload(void)
    {
    	onset=0	;
    	
    	while((menu==10)||(menu==20)||(menu==30)||(menu==40)||(menu==50)||(menu==60)||(menu==70))
    	{
        	      mode=menu;
    		onset++;
    		timeon=readEEPROM(0x01+mode);
    		timeoff=readEEPROM(0x02+mode);
    		while(timeon==2)
    		{		
    	             vao che do_ cai dat thoi gian hen gio
    		}
    		
    		while(timeoff==2)
    		{
    		     vao che do_ cai dat thoi gian hen gio
    		}
    		hs1=hs2=ms1=ms2=0;
    		for(i=0;i<700;i++)
    		{						
                        hien thi cac cong viec che do_ bat hay tat
    		}
    		for(i=0;i<700;i++)
    		{
                        hien thi thoi gian bat
    		}
    		for(i=0;i<700;i++)
    		{
                        hien thi thoi gian tat	
    		}
    		
    		if(onset>8)	
    		{
    			menu=0;
    		}			
    	}
    }
    	
    
    
    ///////////////////////////////////////////////////////////////////doc gia tri cai dat va xu ly cong viec//////////////////////////////////////////////////////////////////////////////////////////
    
    void readload()
    {
    	for(int j=10;j<90;j=j+10)
    	{
    		int addon=0;
    		int addoff=0;
    		led(h1,h2,m1,m2);	
    		if(readEEPROM(0x01+j)==1)	addon=j;
    		if(readEEPROM(0x02+j)==1)	addoff=j;
    		if(s<3)
    		{
    			if((addon>0)&&(addon<50)&&(readEEPROM(0x03+addon)==h1)&&(readEEPROM(0x04+addon)==h2)&&(readEEPROM(0x05+addon)==m1)&&(readEEPROM(0x06+addon)==m2))
    			{	
    		             doc va so sanh cac gia tri da luu voi thoi gian thuc
    				
    			}
    			if((addoff>0)&&(addoff<50)&&(readEEPROM(0x07+addoff)==h1)&&(readEEPROM(0x08+addoff)==h2)&&(readEEPROM(0x09+addoff)==m1)&&(readEEPROM(0x10+addoff)==m2))				//neu setload timeoff=1;
    			{
    			 doc va so sanh cac gia tri da luu voi thoi gian thuc
    			}
    		}
    	
    		if(RC7==0)						 //ban ngay
    		{                
    		 doc va so sanh cac gia tri da luu voi thoi gian thuc khi ban ngay
    		}
    		else							//ban dem
    		{
    			auoff=0;		
    			 doc va so sanh cac gia tri da luu voi thoi gian thuc khi ban dem					
    		}
    	}
    	RC6=l1=readEEPROM(0x01);
    	RC5=l2=readEEPROM(0x02);
    	RC4=l3=readEEPROM(0x03);
    }
    
    
    ////////////////////////////////////////////////////////////////////////chuong trinh chinh/////////////////////////////////////////////////////////////////////////////////////
    
    void main()
    {
    	TRISA0=TRISA1=TRISA2=TRISA3=TRISA4=TRISA5=0;
    	TRISC2=TRISC3=TRISC4=TRISC5=TRISC6=0;
    	WPUB0=WPUB1=WPUB2=WPUB3=WPUB4=WPUB5=WPUB6=WPUB7=1;
    	ANS0=ANS1=ANS2=ANS3=ANS4=ANS8=ANS9=ANS10=ANS11=ANS12=ANS13=0;
    	TRISB0=TRISB1=TRISB2=TRISB3=TRISB4=TRISB5=TRISB6=TRISB7=1;	
    	khaibaongat();
    	khaibaoeeprom();
    
    	l1=RC6=                                               /// doc cac gia tri da luu////////////
    	l2=RC5=                                               /// doc cac gia tri da luu////////////
    	l3=RC4=                                               /// doc cac gia tri da luu////////////
    	h1=                                               /// doc cac gia tri da luu////////////
    	h2=                                               /// doc cac gia tri da luu////////////
    	m1=                                               /// doc cac gia tri da luu////////////
    	m2=                                               /// doc cac gia tri da luu////////////
    	while(1)
    	{
    		load1();
    		load2();
    		load3();
    		settimeled(); 
    		led(h1,h2,m1,m2);	
    		readload();	
    		settimeload();
    
    		if(RC7==0)
    		{
    			h1p=h2p=m1p=m2p=0;
    		}
    		save++;
    		if(save>10)
    			save=5;
    		if(save==3)
    		{
    		
    	}
    }
    
    
    
    
    ////////////////////////////////////////////////ket thuc chuong trinh code bo mat na hen gio dungf PIC 16f886///////////////////////////////////
    và đây là file .hex

    hen gio.ziphen gio.zip


    và đây là tất cả những gì các bạn cần.

    hen gio.zip

    chúc các bạn thành công.


    À CÁI MÀY MÌNH ĐĂNG KÝ QUYỀN TÁC GIẢ RỒI CÁC BẠN LÀM CHƠI THÔI CHỨ ĐỪNG ĐƯA RA THỊ TRƯỜNG NHA. NẾU ........................
    Last edited by sang_dientu; 11-03-2012, 23:51.
    email:
    chỉ được liên lạc từ 19h00 - 21h30




  • #2
    đại ca dùng 555 để làm gì vậy,sao ko phát triển lên kết hợp với thời gian thực đi anh.
    ĐT: 0972 20 58 68
    Gmail:

    Comment


    • #3
      Đăng ký bản quyền có tốn và nhiều thủ tục không bạn ? Địa phương nào cũng có cục đăng ký ko bạn ???

      Comment


      • #4
        bán nhiu 1 cái vậy bác, trên thị trường có bán loại nhớ 10 thời gian hiển thị = LCD giá chỉ có 184k, không biết vật tư làm em này có thấp hơn hàng tàu không em làm 1 cái
        Khoa học công nghệ mới là chìa khóa của sự phát triển!

        Comment


        • #5
          Nguyên văn bởi ssgabeo Xem bài viết
          Đăng ký bản quyền có tốn và nhiều thủ tục không bạn ? Địa phương nào cũng có cục đăng ký ko bạn ???
          bác định cướp bản quyền người ta à
          SĐt: 01238004961

          Comment


          • #6
            Ô hay nhỉ! người ta đăng ký và làm thành công rồi , mình cần gì làm nữa, mình hỏi thủ tục để có khi đăng ký hàng chục các sản phẩm khác của mình, cái đồng hồ công tắc hẹn giờ kiểu này , mình làm chơi vài bộ cách đây 4 năm rồi mà

            Comment


            • #7
              đùa tí, làm gì dữ vậy
              SĐt: 01238004961

              Comment


              • #8
                phức tạp hóa 1 bài toán đơn gản

                Comment


                • #9
                  Nguyên văn bởi ngocblue Xem bài viết
                  phức tạp hóa 1 bài toán đơn gản
                  nghĩa là sao bạn
                  email:
                  chỉ được liên lạc từ 19h00 - 21h30



                  Comment


                  • #10
                    Nguyên văn bởi sang_dientu Xem bài viết
                    nghĩa là sao bạn
                    kể ra bác cũng kì công để hoàn thiện sản phẩm này với thời gian 5 tháng.
                    không biết nó nhớ được bao nhiêu kênh vậy, sau khi mất điện nó có còn hoạt động theo giờ mình hẹn không, có thể hẹn vào ngày nào, giờ nào, tháng nọ không?

                    Comment


                    • #11
                      Nguyên văn bởi caovanhuong Xem bài viết
                      kể ra bác cũng kì công để hoàn thiện sản phẩm này với thời gian 5 tháng.
                      không biết nó nhớ được bao nhiêu kênh vậy, sau khi mất điện nó có còn hoạt động theo giờ mình hẹn không, có thể hẹn vào ngày nào, giờ nào, tháng nọ không?
                      hi. mới sản phầm đầu mà. tự tìm tòi tự học tự nguyên cứu để làm ra em nó (ko hỏi ai hết toàn tìm tài liệu trên mạng ko thôi) với lại ban ngày đi làm nên mới lâu vậy. đó là sản phầm đầu tay nên chức năng cũng không nhiều.
                      email:
                      chỉ được liên lạc từ 19h00 - 21h30



                      Comment


                      • #12
                        Bạn thử với tải quạt thử chưa?

                        0988467839

                        Comment


                        • #13
                          Nguyên văn bởi duonghoang Xem bài viết
                          Bạn thử với tải quạt thử chưa?
                          chạy ok hết bạn à. kể cả máy bơm nước 1 ngựa
                          email:
                          chỉ được liên lạc từ 19h00 - 21h30



                          Comment


                          • #14
                            Mình bổ sung thêm file sch.pdf

                            Protel Schematic.pdf




                            facebook:

                            Comment


                            • #15
                              Nguyên văn bởi THSANG AUTO Xem bài viết
                              Mình bổ sung thêm file sch.pdf

                              [ATTACH]50243[/ATTACH]
                              các bạn nhớ dùng foxit reader mới mở được. Adobe không xem được.
                              Mãi đi tìm vàng.

                              Comment

                              Về tác giả

                              Collapse

                              sang_dientu Tìm hiểu thêm về sang_dientu

                              Bài viết mới nhất

                              Collapse

                              Đang tải...
                              X