PIC Vietnam

Go Back   PIC Vietnam > Truyền thông > Giao tiếp cổng COM và LPT

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Bài Trong Ngày Vi điều khiển

Giao tiếp cổng COM và LPT RS232, RS485 và LPT là những giao tiếp cơ bản và kinh điển khi mới học về vi điều khiển...

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 19-03-2009, 09:50 AM   #1
tranquangtrung
Nhập môn đệ tử
 
Tham gia ngày: Mar 2009
Bài gửi: 9
:
Nhập môn đệ tử Xin chào các bác!
Các bác cho em hỏi làm thế nào mà ta có thể cấu hình thêm một chân giống như RB0 để sử dụng 2 ngắt ngoài trong PIC6F77A được không.em đang làm để tài về vấn đề này nhưng chưa giải quyết được.Mong các bác giúp đỡ cho em với nhé!
cảm ơn các bác nhiều!!!
tranquangtrung vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 20-03-2009, 02:53 AM   #2
phandinh
Đệ tử 6 túi
 
Tham gia ngày: Nov 2008
Nơi Cư Ngụ: Di Linh
Bài gửi: 131
:
Trích:
Nguyên văn bởi tranquangtrung View Post
Nhập môn đệ tử Xin chào các bác!
Các bác cho em hỏi làm thế nào mà ta có thể cấu hình thêm một chân giống như RB0 để sử dụng 2 ngắt ngoài trong PIC6F77A được không.em đang làm để tài về vấn đề này nhưng chưa giải quyết được.Mong các bác giúp đỡ cho em với nhé!
cảm ơn các bác nhiều!!!
bạn phải dùng phần mềm để mở rộng ngắt thôi :
. bạn thiết lập counter0 ---> RA4 là ngõ vào counter0.
. giá trị ban đầu cho counter0 là 255.
. khi RA 4 thay đổi trạng thái thì counter đếm lên 1 ---> tràn ---> ngắt
. lặp lại bước 2
phandinh vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 08-05-2012, 07:39 PM   #3
khuongbkhn
Nhập môn đệ tử
 
Tham gia ngày: Mar 2012
Bài gửi: 2
:
Code thu GPS

Chào mọi người. Mình đang làm đề tài xử lú bản tin GPS. Nhưng mà code vẫn chưa chạy không biết sai ở đâu? Mong mọi người chỉ giúp dùm. Thanks nhiều!

#include "C:\Documents and Settings\FangFang\My Documents\code.h"
#define LCD_ENABLE_PIN PIN_D0
#define LCD_RS_PIN PIN_D1
#define LCD_RW_PIN PIN_D2
#define LCD_DATA_PORT D
#define LCD_TYPE 2
#include <lcd.c>
#byte SPBRG =0x99
#byte RCSTA =0x18
#byte PIR1 =0x0C
#byte RCREG =0x1A
#bit RCIF = 0x0c.5
#bit SPEN =0x18.7
#bit CREN =0x18.4
unsigned char GPSbuffer[70];
int8 position[11];
int8 check=0,i;
unsigned char GPRMC[7]="$GPRMC";
void find_comma()
{
int8 couter=0;
for(i=0;i<70;i++)
{
if(GPSbuffer[i]==',')
{
position[couter]=i;
couter++;
}
}
}
#INT_RDA
void receive_GPSbuffer()
{
char c;
c=getc();
if(check==69)
return;
GPSbuffer[check++]=getc();
if(check<7)
if(GPSbuffer[check-1]!=GPRMC[check-1])
check=0;
}
void time()
{
int8 i;
i=position[0];
printf(lcd_putc,"TIME: %c%c:%c%c:%c%c",GPSbuffer[i+1],GPSbuffer[i+2],
GPSbuffer[i+3],GPSbuffer[i+4],GPSbuffer[i+5],GPSbuffer[i+6]);
delay_ms(1000);
}
void latitude()
{
int8 i;
i=position[2];
if ((GPSbuffer[i+11]=='N') || (GPSbuffer[i+11]=='S'))
printf(lcd_putc,"LAT: %c%c.%c%c %c",GPSbuffer[i+1],GPSbuffer[i+2],GPSbuffer[i
+3],GPSbuffer[i+4],GPSbuffer[i+11]);
else
printf(lcd_putc,"LAT: %c.%c%c %c",GPSbuffer[i+1],GPSbuffer[i+2],GPSbuffer[i
+3],GPSbuffer[i+10]);
delay_ms(1000);
}
void longtitude()
{
int8 i;
i=position[4];
if ((GPSbuffer[i+12]=='W') || (GPSbuffer[i+12]=='E'))
printf(lcd_putc,"LONG: %c%c%c.%c%c %c",GPSbuffer[i+1],GPSbuffer[i+2],GPSbuffer[i
+3],GPSbuffer[i+4],GPSbuffer[i+5],GPSbuffer[i+12]);
else
printf(lcd_putc,"LONG:%c%c.%c%c %c",GPSbuffer[i+1],GPSbuffer[i+2],GPSbuffer[i
+3],GPSbuffer[i+4],GPSbuffer[i+11]);
delay_ms(1000);
}
void main()
{
lcd_init();
setup_adc_ports(NO_ANALOGS);
setup_adc(ADC_OFF);
setup_psp(PSP_DISABLED);
setup_spi(SPI_SS_DISABLED);
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
set_tris_b(0x00); // Set Port B as output port
set_tris_a(0x00);
enable_interrupts(INT_RDA);
enable_interrupts(GLOBAL);
while (1)
{
//receive_GPSbuffer();
if (check==69)
{
find_comma();
time();
lcd_putc("\f");
longtitude();
lcd_putc("\f");
latitude();
lcd_putc("\f");
check=0;
}
}

SPBRG=spbrg_value; // Fill SPBRG register to set the baud rate
SPEN=1; // To activate serial port (Tx and Rx pins)
CREN=1; // To enable continuous reception

}
khuongbkhn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Trả lời


Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến


Múi giờ GMT. Hiện tại là 04:41 AM.


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam