◀ Previous Next ▶ Up ▲


เขียนโค้ด เชื่อมต่อ portrs232

รบกวนช่วยดูโค้ดให้ผมหน่อยครับผมต้องการเขียนเพื่อให้ pic16f877a เชื่อมต่อกับ matlab เพื่อให้ matlab สั่งงาน relay ครับ โดยผ่านพอร์ตอนุกรมด้วย USB

#define _PIC16F877_ // Use PIC16F877 device

#ifdef _PIC16f877_
#include <16F877.h> // Standard Header file for the PIC16F877 device
#define TxD PIN_C6 // Define Transmitted Data
#define RxD PIN_C7 // Define Received Data
#define CLOCK_SP 20000000 // Clock Speed(Hz)


// Device Specification
#fuses HS // Oscillator mode HS
#fuses NOLVP, NOWDT // No Low Voltage Program, No Watchdog timer
#fuses NOPROTECT // Code no protection
#use delay (clock=CLOCK_SP) // Use built-in function: delay_ms() & delay_us()
#use rs232(baud=9600, xmit=TxD,rcv=RxD)
/***********************************************************************
* FUNCTION: Main
* DESCRIPTION: This is the main entry point for the program.
* PARAMETERS: nothing
* RETURNED: nothing
***********************************************************************/
char uart_rd;
void main() {
}
set_tris_d =0;
while (1) {
if (UART1_Data_Ready()) {
uart_rd = UART1_Read();
if (uart_rd == '1'){
set_tris_d.f0=1;delay_ms(5000);set_tris_d.f0=0;delay_ms(500);}
if (uart_rd == '2'){
set_tris_d.f1=1;delay_ms(5000);set_tris_d.f1=0;delay_ms(500);}
if (uart_rd == '3'){
set_tris_d.f2=1;delay_ms(5000);set_tris_d.f2=0;delay_ms(500);}
if (uart_rd == '4'){
set_tris_d.f3=1;delay_ms(5000);set_tris_d.f3=0;delay_ms(500);}
if (uart_rd == '5'){
set_tris_d.f4=1;delay_ms(5000);set_tris_d.f4=0;delay_ms(500);}
if (uart_rd == '6'){
set_tris_d.f5=1;delay_ms(5000);set_tris_d.f5=0;delay_ms(500);}
if (uart_rd == '7'){
set_tris_d.f6=1;delay_ms(5000);set_tris_d.f6=0;delay_ms(500);}
if (uart_rd == '8'){
set_tris_d.f7=1;delay_ms(5000);set_tris_d.f7=0;delay_ms(500);}
}}


จากคุณ : BCK -[ 16 ก.ย. 55 - 21:40:44 A:203.158.192.55 X: ]



Share/Save/Bookmark





กระทู้ยอดนิยม