Tài liệu Vi điều khiển PIC dòng PIC18 bằng HTPIC doc - Pdf 10

• Đây là thư viện viết cho vi điều khiển PIC dòng PIC18 bằng HTPIC. Thư viện
được tạo dựa vào Datasheet của PIC18.
Đã test với PIC18F4680, PIC18F4431
File Header: UART.h
// UART.h
//============================
#ifndef _UART_H
#define _UART_H
//=============================
#include "pic18.h"
#include "sysdef.h"
//=============================
// Declare sosme functions
void UART_Init(unsigned int BaudRate); // Initialize for UART
void UART_PrChar(unsigned char a);
void UART_PrString(const char* str);
unsigned char UART_Read(void); // Read data from UART
Port
void UART_detectBaudRate(void); // Auto detect baud rate
#endif
Giải thích các hàm:
o UART_Init: Khởi tạo module giao tiếp UART, tham số là tốc độ truyền
BaudRate. Ví dụ: UART_Init(9600)
o UART_PrChar: Gửi một kí tự ra cổng RS232. Ví dụ: char x = ‘a’;
UART_PrChar(x);
o UART_PrString(const char* str): gửi 1 xâu kí tự ra cổng RS232. Ví dụ:
UART_PrString(”Anh yeu em”);
o unsigned char UART_Read(void) : Đọc 1 byte từ cổng COM
o UART_detectBaudRate(void): Tự động xác định tốc độ baudrate được
truyền xuống PIC18, Master phải truyền kí tự ‘U’ để PIC18 tự xác định và
thiết lập tốc độ (cái này có trong datasheet nhá )

Enable
GIE = 1; // Global Interrupt Enable
PEIE = 1; // Perapheral Interrupt
Enable

}
//===========================

void UART_PrChar(unsigned char a){
while(!TRMT);
TXREG = a;
}
//====================================
void UART_PrString(const char* str){
while(*str)
UART_PrChar(*str ++);}
//=================================================
unsigned char UART_Read(void){
return (RCREG);
}
//===============================================
void UART_detectBaudRate(void){
TXSTA = 0b00100100;
RCSTA = 0b10010000;
#if defined(_18F4680)
BAUDCON = 0b00001001;
#endif
#if defined(_18F4431)
BAUDCTL = 0b00001001;
#endif

Chúc các bạn thành công.
Các bài viết liên quan:
o Lập trình C cho vi điều khiển
o Cơ bản về PIC và dsPIC, các phần mềm liên quan
o Vài video demo về dsPIC khá ấn tượng
o Microcontroller Based Applied Digital Control
o Phương pháp quét Keypad ma trận dùng ngắt Timer
o Phan tich thuat toan: thuc hien lenh dieu khien tu PC qua RS232
o Quản lý và build Project với trình dịch HTPIC bằng Visual C++.Net 2005
View ngohaibac's Profile
Subscribe via RSS
2 Comments
1. #1 nguễn văn bách says:
May 18th, 2009 at 10:19 am
anh bắc cho em hỏi bài này cái.em mới vào nghề.em đang đọc về ngắt của con
dspic,thử lập trình ngắt cho nháy đèn led từ 0-9 cho nó.chương trình của em gặp
vấn đề thì phải,vì khi em thay đổi giá trị của PR1 thì thời gian nháy vẫn thế.nó
vẫn nháy loạn lên.vậy mong các anh sửa giúp em với,và tư vấn cho em chút it về
ngắt,khi nao` su dung ngat trong va khi nao su dung ngat ngoai.sau đây là đoạn
chương trình của em:
#define __dsPIC33FJ12MC202__
#include
int led[10]={0×3F,0×06,0×5B,0×4F,0×66,0×6D,0×7D,0×07,0×7F,0×6 7};
int i;
void _ISR _T1Interrupt(void)
{
_T1IF = 0;
}
main()
{


Nhờ tải bản gốc
Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status