Hướng dẫn TUT UART PIC16F887

sun1211

Kỹ sư
#43
Mình thấy viết bằng CCS cho nó đơn giản 1 hàm PUTC(giá trị);
Viết bằng mấy cái này mắc công set thang ghi ngày thanh ghi nọ.
 

sang24121991

Học sinh phổ thông
#44
vậy khi truyền UART thì tốt nhất nên xài thạch anh 11.0592 hay loại nào cũng được, mình mô phỏng 16Mhz ko truyền nhận được nhưng khi chuyển qua 11.0592Mhz thì chạy rất ổn
 

khongthien

Học sinh trung cấp
#47
mọi ng giúp mình với, mình đang làm uart giữa 2 con vdk.
+master :
Mã:
‪#‎include‬ <16F887.h>
‪#‎use‬ delay(crystal=20000000)
#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8,stream=PORT1)
void main()
{
while(TRUE)
{
puts("DEMO_UART");
delay_ms(500);
}
}
+slave :
Mã:
#include <16F887.h>
#include <string.h>
#use delay(crystal=20000000)
#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8,stream=PORT1)
‪#‎define‬ LCD_ENABLE_PIN PIN_B2
#define LCD_RS_PIN PIN_B0
#define LCD_RW_PIN PIN_B1
#define LCD_DATA4 PIN_B4
#define LCD_DATA5 PIN_B5
#define LCD_DATA6 PIN_B6
#define LCD_DATA7 PIN_B7
#include <lcd.c>
void main()
{
char data[30];
lcd_init();
while(TRUE)
{
gets(data);
lcd_gotoxy(1,2);
printf(lcd_putc,"%s",data);
}
}
+mình mô phỏng như trong hình, nhưng lcd n lại k hiển thị hàm gửi từ con master.
 

phunghe

Moderator
Thành viên BQT
#48
mọi ng giúp mình với, mình đang làm uart giữa 2 con vdk.
+master :
Mã:
‪#‎include‬ <16F887.h>
‪#‎use‬ delay(crystal=20000000)
#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8,stream=PORT1)
void main()
{
while(TRUE)
{
puts("DEMO_UART");
delay_ms(500);
}
}
+slave :
Mã:
#include <16F887.h>
#include <string.h>
#use delay(crystal=20000000)
#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8,stream=PORT1)
‪#‎define‬ LCD_ENABLE_PIN PIN_B2
#define LCD_RS_PIN PIN_B0
#define LCD_RW_PIN PIN_B1
#define LCD_DATA4 PIN_B4
#define LCD_DATA5 PIN_B5
#define LCD_DATA6 PIN_B6
#define LCD_DATA7 PIN_B7
#include <lcd.c>
void main()
{
char data[30];
lcd_init();
while(TRUE)
{
gets(data);
lcd_gotoxy(1,2);
printf(lcd_putc,"%s",data);
}
}
+mình mô phỏng như trong hình, nhưng lcd n lại k hiển thị hàm gửi từ con master.
chân TX vs RX bạn nên treo trờ lên VCC,bạn hiểm tra lại hàm truyền nhận xem sao.mình thấy còn sơ sài,bạn thử gửi 1 mã rồi cho nó sáng led xem được không.làm thừ đơn giản trc xem sao?
 

khongthien

Học sinh trung cấp
#49
chân TX vs RX bạn nên treo trờ lên VCC,bạn hiểm tra lại hàm truyền nhận xem sao.mình thấy còn sơ sài,bạn thử gửi 1 mã rồi cho nó sáng led xem được không.làm thừ đơn giản trc xem sao?
mình làm thử hàm getc với putc thì dc rùi giờ muốn làm với gets và puts thì lại k dc?
 

phunghe

Moderator
Thành viên BQT
#50
mình làm thử hàm getc với putc thì dc rùi giờ muốn làm với gets và puts thì lại k dc?
Um.mình ol đt cũng k xem dc gì nhiều.bạn xem lại mấy hàm trong hepl xem sao
 

Quảng cáo Google