Đâ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 !!!