View Single Post
Old 11-11-2009, 11:55 PM   #13
pk178
Đệ tử 5 túi
 
Tham gia ngày: Jan 2009
Bài gửi: 100
:
Đây là code của mình :

Code:
//==============================================================================
// Project 3
// Author : pk
// Date 26/10/2009
// Description : ...........
/* Function :
      - Su dung ngat ngoai RB0 de cho phep viec nhap du lieu     
*/      
//==============================================================================

#include <16f877A.h>
#device *=16, ADC = 10
#use delay(clock = 4000000)
//#include <LCD420.c>
//#include <lcd4x20.c>
#include <lcd.h>
#include <keypad_input.c>

#FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT

#use fast_io(d)
#use fast_io(b)
#use fast_io(c)

int32 so_bao;     // So bao dat
int khoi_luong;   // Khoi luong moi bao
int32 so_bao_ok;  // So bao da can xong

//==============================================================================

void hien_thi_thong_so(){  // Hien thi cac thong so tren LCD
   lcd_putc("\f");
   lcd_putc("SO LUONG : ");
   //lcd_putc("\n");
   lcd_put_int(so_bao);
   lcd_putc("\n");
   
   lcd_putC("KHOI LUONG : ");
   lcd_put_int(khoi_luong);   
   
/*   lcd_putc("SO BAO DA XUAT : ");
   lcd_put_int(so_bao_ok);
   lcd_putc("\n");
   
   //lcd_putc("KHOI LUONG LIEU TRONG THUNG : ");
*/   
}

//==============================================================================

#int_ext
void interrupt_rb0(){  
   
   lcd_putc("\f");
   
   //Nhap so bao yeu cau  

   lcd_putc("SO LUONG : ");
   so_bao = input_key();
   while(!so_bao){         // Neu khong nhap phim nao => nhap lai
      lcd_putc("\f");
      lcd_putc("SO LUONG : ");      
      so_bao = input_key();
   }           
   lcd_putc("\f");
   
   // Nhap khoi luong moi bao
   
   lcd_putc("KHOI LUONG : ");
   khoi_luong = input_key();
   while(!khoi_luong){         // Neu khong nhap phim nao => nhap lai
      lcd_putc("\f");
      lcd_putc("KHOI LUONG : ");
      khoi_luong = input_key();
   }         
   lcd_putc("\f");
   hien_thi_thong_so();
}

//==============================================================================

void khoi_dong(){
   int i;
   
   lcd_init();
   lcd_putc("STARTING");
   for(i = 1; i < 9; i++){
      lcd_putc(".");
      delay_ms(100);
   }
   lcd_putc("\f"); 

   // Nhap gia tri lan dau  
   
   lcd_putc("\f");
   
   //Nhap so bao yeu cau 

   lcd_putc("SO LUONG : ");
  // lcd_putc("\n");
   so_bao = input_key();
   while(!so_bao){         // Neu khong nhan phim nao => nhap lai
      lcd_putc("\f");
      lcd_putc("SO LUONG : ");      
      so_bao = input_key();
   }           
   lcd_putc("\f");
   

   lcd_putc("KHOI LUONG :");
  // lcd_putc("\n");
   khoi_luong = input_key();
   while(!khoi_luong){         // Neu khong nhan phim nao => nhap lai
      lcd_putc("\f");
      lcd_putc("KHOI LUONG :");
      //lcd_putc("\n");
      khoi_luong = input_key();
   }         
   lcd_putc("\f");
      
   hien_thi_thong_so();
}

//==============================================================================

void main(){  
   
   set_tris_C(0x07); 
   set_tris_D(0x00);
   set_tris_B(0x01);
  
   output_b(0x00);
   setup_adc(ADC_CLOCK_DIV_32);   // sample time = IC clock 
   setup_adc_ports(AN0_AN1_AN3);        // Set PIN_A0 as analog input 1  
   enable_interrupts ( int_ext ) ; 
   enable_interrupts ( global ) ; 
   
   khoi_dong();
   lcd_putc("\n");
  
  
}

//==============================================================================
Hàm keypad_input là để quyét phím, nó sẽ trả về giá trị sau khi nhập xong !!!

Rất mong được các bạn giúp đỡ. Xin cảm ơn rất nhiều !!!
pk178 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn