PDA

View Full Version : Đọc,xuất dữ liệu thật là hay.Gặm sách online hết cả ngày


hoangsonk49
17-11-2008, 02:58 PM
Đọc,xuất dữ liệu thật là hay.
Gặm sách online hết cả ngày.
Đêm đến đọc thêm ba ngắt.
Cuộc đời làm PIC thật là hay


Chào các bạn, mình mới học lập trình với PIC, mình đang làm con 16f88, nhiệm vụ của mình là đếm xung và xuất ra USART. Trong quá trình làm mình có một số thắc mắc sau mong các bạn giúp đỡ:
1. Để xuất ra dạng USART thì chỉ cần khai báo :
#use rs232(baud=9600,parity=N,xmit=PIN_B5,rcv=PIN_B2,bi ts=9)
là đủ đúng không? Mình đọc nhiều code chỉ thấy khai báo thế này, nhưng khong hiẻu là lúc xuất dữ liệu ra thì xuất ở đâu vì không thấy chỗ nào nói đến xuất ra chân nào :-S và phải làm gì để nó xuất ra chân ấy

2. Về ngắt, mình định làm là cứ có một xung vào thì ngắt, thế có phải là ngắt ngoài không, và khai báo thế nào để chip hiểu là cứ có một xung vào thì ngắt và tăng biến lên 1.

3.Mình đã viết đoạn code sau nhưng vẫn bị lỗi đoạn xuất sữ liệu ra, mong các bạn giúp đỡ

#include <16f88.h>
#device *=16 ADC=8
#FUSES NOWDT, HS, NOPUT, MCLR, NOBROWNOUT, NOLVP, NOCPD, NOWRT, NODEBUG, NOPROTECT, NOFCMEN, NOIESO
#use delay(clock=20000000)
#use rs232(baud=9600,parity=N,xmit=PIN_B5,rcv=PIN_B2,bi ts=9) // Khai báo

int i,j;

#INT_EXT
void Ext_isr()
{i=i++; // Có ngắt thì tăng i lên 1
if(i==50) // Khi 1 bằng 50 thì tăng j và ghi vào eprom
{j=j++;
i=0;
write_eeprom(0x00,j);
}
}



void main() {
enable_interrupts(global);

while(1)
{ TXREG = read_eeprom(0x00); // Cái này là cho dữ liệu từ ểprom vào thanh ghi TX để xuất ra

}