Lap trinh vdk pic voi mplab c18

121 171 1
Lap trinh vdk pic voi mplab c18

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

LẬP TRÌNH VĐK PIC VỚI MPLAB C18 ĐHBK TPHCM – BKIT4U EDITTER: TRI - IUH Lập trình VĐK PIC với MPLAB C18 – ĐHBK TP HCM - BKIT4U 4RUM – EDITTER : TRI - IUH Bài : Cài đặt MPLAB IDE 8.36 1.1 Giới thiệu MPLAB IDE phần mềm hỗ trợ Microchip, dùng để soạn thảo code cho ứng dụng PIC Hiện tại, tháng 8/2010 MPLAB IDE có phiên 8.51 Trong tài liệu tơi chọn phiên 8.36 có nhiều lỗi cấu hình Các phiên khác 8.43, bạn khơng chọn cấu hình ban đầu thân tự động tìm kiếm thư viện cần thiết trình biên dịch Với phiên 8.36 phải cấu hình tồn cho IDE 1.2 Cài đặt MPLAB IDE 8.36 Bước : Double Click vào file setup thư mục MPLAB IDE 8.36 Màn hình Welcome sau Bạn chọn Next để tiếp tục Hình 1.1 : Welcome to MPLAB IDE 8.36 Bước : Chọn I accept the term of the license agreement chọn Next Lập trình VĐK PIC với MPLAB C18 – ĐHBK TP HCM - BKIT4U 4RUM – EDITTER : TRI - IUH Hình 1.2 : License Agreement Bước : Để chế độ mặc định cài đặt Complete chọn Next để tiếp tục Hình 1.3 : Chọn cài đặt complete Bước : Chọn đường dẫn cài đặt, ta nên để mặc định C:\Program Files\Microchip\ Lập trình VĐK PIC với MPLAB C18 – ĐHBK TP HCM - BKIT4U 4RUM – EDITTER : TRI - IUH Hình 1.4 : Chọn đường dẫn cài đặt Bước : Tiếp tục chọn I accept cho Maestro License C32 License Hình 1.5 : Maestro License Lập trình VĐK PIC với MPLAB C18 – ĐHBK TP HCM - BKIT4U 4RUM – EDITTER : TRI - IUH Hình 1.6 : C32 License Bước : Giao diện sau tổng kết lại lựa chọn bạn, nhấn Next để tiến hành cài đặt Nếu muốn hiệu chỉnh bạn nhấn Back Hình 1.7 : Bắt đầu cài đặt Lập trình VĐK PIC với MPLAB C18 – ĐHBK TP HCM - BKIT4U 4RUM – EDITTER : TRI - IUH Hình 1.8 : Chờ cài đặt xong Bước : Khi cài đặt xong MPLAB IDE hỏi bạn có cần cài Hi Tech không Đây compiler C hỗ trợ cho MPLAB IDE, nhiên ta không dùng compiler mà dùng MPLAB C18 Bạn chọn No nhấn Finish để hoàn tất việc cài đặt MPLAB IDE Hình 1.9 : Cài đặt hồn tất Thơng báo đâu xuất hiện, thống kê tài liệu hướng dẫn kèm Các tài liệu nằm thư mục cài đặt C:\Program Files\Microchip\ Lập trình VĐK PIC với MPLAB C18 – ĐHBK TP HCM - BKIT4U 4RUM – EDITTER : TRI - IUH Hình 1.10 : Các tài liệu hướng dẫn Lập trình VĐK PIC với MPLAB C18 – ĐHBK TP HCM - BKIT4U 4RUM – EDITTER : TRI - IUH Bài : Cài đặt compiler MPLAB C18 2.1 Giới thiệu Khi cài đặt xong MPLAB IDE, compiler mặc định cho MPASM, dùng để dịch project viết ASM sang file HEX Muốn viết chương trình C, ta cần phải cài đặt thêm compiler khác có hỗ trợ cho chip PIC dùng Trong phần này, tơi thí nghiệm vi điều khiển PIC18F4520 chọn compiler C18 để hỗ trợ cho lập trình C chuẩn 2.2 Các bước cài đặt Bước : Double Click vào file MPLAB C18 V1.0.exe để tiến hành cài đặt, hình welcome MPLAB C18 sau : Hình 2.1 : Welcome MPLAB C18 Bước : Chọn nơi lưu trữ cho file biên dịch MPLAB C18, ta để mặc định C:\mcc18 Hình 2.2 : Chọn đường dẫn lưu trữ Bước : Chọn lựa thành phần gói MCC18, thơng thường ta chọn hết tất gói compier C18 Lập trình VĐK PIC với MPLAB C18 – ĐHBK TP HCM - BKIT4U 4RUM – EDITTER : TRI - IUH Hình 2.3 : Chọn gói cài đặt Bước : Nhấn Next để tiến hành cài đặt Hình 2.4 : Cài đặt C18 Chờ cài đặt xong 10 Lập trình VĐK PIC với MPLAB C18 – ĐHBK TP HCM - BKIT4U 4RUM – EDITTER : TRI - IUH Bài 19 : Giao tiếp SD Card SPI 15.1 Giới thiệu tổng quan Sdcard 15.1.1 Sơ lược SD card Hình 18 18.1 Các loại SD Card Secure Digital (SD) Card nhớ flash tích hợp cao với khả truy xuất ngẫu nhiên Với tốc độ truyền nhận liệu nhanh ổn định, kích thước nhỏ gọn, khả lưu trữ cao từ 4MB đến 2GB, SD thích hợp cho thiết bị kỹ thuật số cầm tay máy nghe nhạc, điện thoại di động, PDA, máy quay phim, chụp ảnh… 15.1.2 Sơ đồ khối SD card Hình 18 18.2 Sơ đồ khối SD Card 107 Lập trình VĐK PIC với MPLAB C18 – ĐHBK TP HCM - BKIT4U 4RUM – EDITTER : TRI - IUH 15.1.3 Sơ đồ chân 15.1.4 Các ghi bên 15.1.5 Chuẩn giao tiếp với SD card SD Card hỗ trợ chế độ giao tiếp chế độ SD Card SPI Host (hệ thống chủ - vi điều khiển) chọn hai chế độ để thực giao tiếp với SD Card Chế độ SD Card hỗ trợ chế độ 1-bit 4-bit, tốc độ truyền liệu nhanh Chế độ SPI có tốc độ thấp dễ sử dụng hỗ trợ hầu hết hệ thống – vi điều khiển Trong tài liệu này, sử dụng SPI để giao tiếp với SD Card 15.2 Giới thiệu FAT 15.2.1 Tổng quan FAT FAT (File Allocation Table – Bảng cấp phát tập tin) kiến trúc hệ thống tập tin sử dụng cho máy tính hầu hết loại thẻ nhớ Được phát triển Microsoft từ năm 1976 FAT quản lý nhớ cách chia nhỏ nhớ (sector, cluster) đánh dấu khối nhỏ bit địa Một sector chứa 512 byte nhớ Một cluster chứa nhiều sector Số sector 108 Lập trình VĐK PIC với MPLAB C18 – ĐHBK TP HCM - BKIT4U 4RUM – EDITTER : TRI - IUH cluster cố định người dùng chọn lúc định dạng nhớ Ở chế độ mặc định cluster chứa sector Khi lưu trữ file, FAT cấp phát nhiều cluster có tổng kích thước khơng nhỏ kích thước file Ví dụ file có kích thước 5kB cấp phát cluster (8 sector/cluster) để lưu trữ Nếu số sector cluster lớn gây nhiều lãng phí nhớ, ngược lại số nhỏ hệ thống hoạt động chậm Các phiên FAT FAT12, FAT16, FAT32 Điểm khác phiên giới hạn quản lý nhớ FAT12 dùng 12 bit để đánh dấu địa cluster, nên quản lý gần 212 cluster (trừ số địa để đánh dấu vùng đặc biệt) Tương tự FAT16 dùng 16 bit, FAT32 dùng 28 bit để đánh dấu địa 15.2.2 Cấu trúc phân vùng FAT Một hệ thống file FAT gồm phần: Reserved sectors: Nằm vị trí (sector 0) Boot sector (tên đầy đủ Partition Boot Record) Sector chứa vùng gọi BIOS Parameter Block (với số thông tin hệ thống file, chi tiết kiểu file, trỏ tới phần khác) thường chứa boot loader code hệ điều hành Tổng số Reverved sector lưu trường Boot sector Những thông tin quan trọng Boot sector cấu trúc gọi Drive Parameter Block DOC OS/2 Riêng FAT32 có thêm File System Information Sector (sector 1) Backup Boot Sector (sector 6) FAT Region: Gồm hai bảng, đồ vùng Data Region, cho biết cluster dùng Root Directory Region: Đây Directory Table, chứa thông tin file thư mục thư mục gốc (root directory), có FAT12 FAT16 Data Region: Đây nơi thực file thư mục lưu trữ chiếm hầu hết dung lượng phân vùng ổ đĩa FAT32 lấy cluster Data Region làm Root Directory Table 15.2.3 Bảng cấp phát tập tin Phân vùng nhớ chia nhỏ thành phần nhỏ kề nhau, có kích thước gọi cluster Kích thước cluster thường từ 2kB đến 32kB, phụ thuộc vào kiểu FAT, kích thước phân vùng nhớ lựa chọn người dùng Mỗi file chiếm nhiều cluster tùy thuộc vào kích thước file đó; vậy, file chứa dãy cluster tạo thành danh sách liên kết Các cluster file không thiết phải liền kề nhau, điều thường gây tình trạng phân mảnh (fragmented) Bảng cấp phát tập tin FAT danh sách mục (entry) vẽ nên đồ cluster phân vùng ổ đĩa Mỗi entry chứa thơng tin: • • • • • số cluster dãy cluster entry đánh kết thúc dãy cluster (end of clusterchain – EOC) entry đặc biệt đánh dấu cluster lỗi (bad cluster) entry đặc biệt đánh dấu cluster không dùng cờ zero đánh dấu cluster chưa dùng Kích thước FAT entry khác phiên FAT12 FAT16 dùng 12 16 bit cho entry Trong FAT32, entry 32 bit, thực dùng 28 bit, bit cao dự trữ (không dùng, thường 0) 15.2.4 Directory table 109 Lập trình VĐK PIC với MPLAB C18 – ĐHBK TP HCM - BKIT4U 4RUM – EDITTER : TRI - IUH Mỗi file/directory (cũng hiểu folder) lưu trữ biểu thị entry 32-byte bảng Directory Table Mỗi entry ghi: tên, thuộc tính (attributes: archive, directory, hidden, read-only, system and volume), ngày tạo lập, địa cluster liệu đầu tiên, kích thước file/directory Tất Directory Table chứa vùng Data Region (trừ FAT12 FAT16, Root Directory Table chiếm vùng riêng gọi vùng Root Directory Region) Mô tả Directory entry (cả Root Directory subdirectory): 15.3 Giới thiệu thư viện MDD SD card giao tiếp thông qua SPI, làm tất bước từ cấu hình SPI cho PIC, sau gửi lệnh từ vi điều khiển xuống SD card chờ tín hiệu trả về, đọc master boot record, boot sector, đọc ghi FAT …Với cách làm đòi hỏi bạn tốn nhiều thời gian để xây dựng hàm API giao tiếp với SDcard bạn nắm nhiều kiến thức SDcard Ngồi cách khác để làm sử dụng thư viện hàm có sẵn mạng để sử dụng tốn thời gian cho việc viết hàm giao tiếp thẻ nhớ tập trung vào xây dựng ứng dụng sử dụng SD card MDD thư viện chứa hàm thiết lập để giao tiếp với SD card,nằm thư viện đầy đủ hỗ trợ chức gồm SD card, mTouch, GraphicLCD, USB, audio… Microchip cung cấp đặt tên Microchip solutions Ở tập trung vào cách sử dụng thư viện MDD vào giao tiếp với SD card SPI 15.3.1 Hướng dẫn sử dụng MDD Đây thư viện Microchip cung cấp chạy dòng PIC bit (PIC18F), PIC 16bit (PIC24F, PIC24H, dsPIC30) PIC 32bit (dsPIC33) nên thư viện lớn, đòi hỏi chương trình vi điều khiển sử dụng phải nhiều, cụ thể sử dụng thư viện đọc file từ SDcard cần gần 22000 bytes nhớ chương trình để lưu trữ(chứ tính khơng gian lưu trữ cho code chương trình ứng dụng tự viết) để sử dụng toàn chức thư viện (có thể đọc ghi file, format thẻ nhớ, tìm kiếm file, tạo xóa quản lý thư mục, sử dụng hàm mở rộng pgm, sử dụng hàm Fsfprintf, hỗ trợ thẻ nhớ định dạng FAT32) cần gần 35000 bytes nhớ chương trình Đó thông tin Microchip cung cấp thực sử dụng với vi điều khiển có 32KB nhớ chương trình hồn tồn khơng sử dụng thư viện(trừ chế độ đọc file) mà vi điều khiển PIC18F4520 có 32KB nhớ chương trình nên chúng tơi chọn chip khác dòng với vi điều khiển vi điều khiển PIC18F4620 với nhớ chương trình 64KB, vài chức phụ mà bỏ khơng sử dụng để thu gọn chương trình sau biên dịch, nên bạn muốn sử dụng toàn chức thư viện nên chọn vi điều khiển có nhớ chương trình 96KB trở lên 110 Lập trình VĐK PIC với MPLAB C18 – ĐHBK TP HCM - BKIT4U 4RUM – EDITTER : TRI - IUH Hình 18-3 Chi tiết sử dụng nhớ chương trình cho thư viện MDD Hình 18-4 Các tính lựa chọn thư viện Muốn bỏ bớt chức thư viện cần phải tìm khóa tất dòng code define cho tính đó(vd #ifdef ALLOWS_DIRS … #endif) Bước 1: Tạo project mới, sau vào trang Microchip download xuống thư viện Microchip Solutions(hoặc có sẵn đĩa CD kèm theo) , bao gồm ln thư viện MDD Vào thư mục Microchip Solutions chép thư mục MDD File System thư mục Microchip vào thư mục chứa project Sau vào thư mục MDD File System xóa hết file không cần thiết trừ thư mục PIC18F, tương tự thư mục Microchip để lại thư mục PIC18 salloc thư mục Include, thư mục Include xóa hết để lại file h thư mục thư mục PIC18 salloc,MDD File System Tiếp theo include file sau vào project với đường dẫn / thư mục mà chứa project • • • • • • • • \Microchip\MDD File System\FSIO.c \Microchip\MDD File System\SD-SPI.c \Microchip\PIC18 salloc\salloc.c \MDD File System-SD Card\PIC18F\Fsconfig.h \MDD File System-SD Card\PIC18F\HardwareProfile.h \Microchip\Include\MDD File System\FSIO.h \Microchip\Include\MDD File System\SD-SPI.h \Microchip\Include\MDD File System\FSDefs.h 111 Lập trình VĐK PIC với MPLAB C18 – ĐHBK TP HCM - BKIT4U 4RUM – EDITTER : TRI - IUH • • • \Microchip\Include\PIC18 salloc\salloc.h \Microchip\Include\Compiler.h \Microchip\Include\GenericTypeDefs.h Hình 18-5 Project sau thêm file header File tmp.c file chứa hàm main tự viết Sau vào tab Project →Build Options → Project, chọn Include Search Path, chọn New sau thêm vào đường dẫn 112 Lập trình VĐK PIC với MPLAB C18 – ĐHBK TP HCM - BKIT4U 4RUM – EDITTER : TRI - IUH Hình 18-6 Thêm đường dẫn cho project Bước 2: Thiết lập buffer đọc ghi, buffer cho FAT Mở file linker tương ứng với vi điều khiển PIC sử dụng(ở file 18f4620.lkr ), chỉnh sửa lại với nội dung sau 113 Lập trình VĐK PIC với MPLAB C18 – ĐHBK TP HCM - BKIT4U 4RUM – EDITTER : TRI - IUH Hình 18-7 Chỉnh sửa file linker cho project Bước 3: Thiết lập nhớ cache xung clock Thiết lập nhớ cache Trong file Fsconfig.h cấu hình sẵn nhớ cache sử dụng 512bytes thông qua câu lệnh định nghĩa Code: #define MEDIA_SECTOR_SIZE 512 Nếu bạn muốn thay đổi nhớ cache cần chỉnh sửa câu lệnh nhớ nhớ cache bội số 512.Ngồi số thiết lập chức khác bật/tắt chức ghi, tìm file… có file FSconfig.h bạn tự đọc để tìm hiểu thêm Thiết lập xung clock Để cấu hình xung clock bạn mở file HardwareProfile.h tìm đến dòng lệnh define sau Code: #define GetSystemClock() 20000000 // System clock frequency (Hz) Ở vi điều khiển cấu hình sử dụng xung tần số 20MHz, tùy vào nhu cầu sử dụng bạn thay đổi số 114 Lập trình VĐK PIC với MPLAB C18 – ĐHBK TP HCM - BKIT4U 4RUM – EDITTER : TRI - IUH Bước 4: Thiết lập chân giao tiếp ghi chế độ SPI Trong thư viện Microchip hỗ trợ cho số PIC18F (PIC18F87J50, PIC18F8722, PIC18F46J50), toàn PIC24F,PIC32F dsPIC.Cho nên để sử dụng cho PIC khác(ví dụ PIC18F4620) cần phải chỉnh sửa thêm số file sau Trong file HardwareProfile.h bạn thêm vào mục define dành cho PIC18F dòng định nghĩa sau Code: 115 Lập trình VĐK PIC với MPLAB C18 – ĐHBK TP HCM - BKIT4U 4RUM – EDITTER : TRI - IUH #elif defined PIC18F4520_PIM #define USE_PIC18 #define USE_SD_INTERFACE_WITH_SPI #define INPUT_PIN #define OUTPUT_PIN #define USE_SD_INTERFACE_WITH_SPI #define TRIS_CARD_DETECT #define CARD_DETECT TRISBbits.TRISB4 PORTBbits.RB4 // Input #define TRIS_WRITE_DETECT #define WRITE_DETECT TRISDbits.TRISD7 PORTDbits.RD7 // Input // Chip Select Signal #define SD_CS #define SD_CS_TRIS PORTAbits.RA5 TRISAbits.TRISA5 // Card detect signal #define SD_CD #define SD_CD_TRIS PORTBbits.RB4 TRISBbits.TRISB4 // Write protect signal #define SD_WE #define SD_WE_TRIS PORTDbits.RD7 TRISDbits.TRISD7 // TRIS #define #define #define pins for the SCK/SDI/SDO lines SPICLOCK TRISCbits.TRISC3 SPIIN TRISCbits.TRISC4 SPIOUT TRISCbits.TRISC5 // Latch pins for SCK/SDI/SDO lines #define SPICLOCKLAT LATCbits.LATC3 #define SPIINLAT LATCbits.LATC4 #define SPIOUTLAT LATCbits.LATC5 // Port #define #define #define pins for SCK/SDI/SDO lines SPICLOCKPORT PORTCbits.RC3 SPIINPORT PORTCbits.RC4 SPIOUTPORT PORTCbits.RC5 // Registers for the SPI module you want to use #define SPICON1 SSPCON1 #define SPISTAT SSPSTAT #define SPIBUF SSPBUF #define SPISTAT_RBF SSPSTATbits.BF #define SPICON1bits SSPCON1bits #define SPISTATbits SSPSTATbits #define SPI_INTERRUPT_FLAG #define SPIENABLE PIR1bits.SSPIF SSPCON1bits.SSPEN // Will generate an error if the clock speed is too low to interface to the card #if (GetSystemClock() < 400000) #error System clock speed must exceed 400 kHz #endif Và trước bạn cần phải định nghĩa nhãn PIC18F4520_PIM cách phần định nghĩa nhãn cho PIC khác bạn thêm vào đoạn code sau Code: 116 Lập trình VĐK PIC với MPLAB C18 – ĐHBK TP HCM - BKIT4U 4RUM – EDITTER : TRI - IUH #elif defined( 18F4620) #define DEMO_BOARD PIC18F4620_PIM #define PIC18F4620_PIM Bước 5: Cấu hình nhớ Trong MPLAB IDE, chọn Project → Build Options → Project, chọn thẻ MPLAB C18 chọn Memory Model Categories thiết lập sau: • • • Code model : Small code model Data model : Large code model Stack model : Multibank model Hình 18-8 Cấu hình Memory Model Các bước thiết lập để sử dụng hồn tất, bạn tạo file source sử dụng hàm có sẵn thư viện để giao tiếp với SDcard 117 Lập trình VĐK PIC với MPLAB C18 – ĐHBK TP HCM - BKIT4U 4RUM – EDITTER : TRI - IUH Hình 18-9 Chương trình mẫu 15.3.2 Các hàm thư viện • • • • • • FSInit Initializes the card,loads the master boot record(partition information),loads the boot sector and updates the parameters passed into it with its information FSfclose Updates the file information, writes the remaining entry in and frees the RAM from the heap that was used to hold the information about the file.This also updates the time-stamp information for thr file FSfeof Verifies if the end of the file has been reached FSfopen Allocates space in the heap for file information.If the file being opened already exist, Fsfopen can open it so that the data would be appended at the end of the line, erase it and create a new file qith the same name to be written to,or simply open it for reading.If the file does nont exist, Fsfopen can creat it This function then returns a pointer to the tructure in the heap that contains information for this file FSfread Reads information from an open file to a buffer The number of bytes written can be specified by its parameters If Fsfread is called consecutively on the same open file, the read will continue from the place it stopped after the previous read This function returns the number of data objects read Fsfseek Changes the position in a file When a user calls FSfseek, they specify the base address to set, which can either be at the beginning or end of the file, or at the current position in the file The user also specifies an offset to add to the base (note that if the base address is at the end of the file, the offset will be subtracted) Hence, if FSfseek is called with the base set to the beginning of the file and a specified offset of ë0í, the position would be changed to the first byte of the file • Fsftell Returns the current position in the file The first position in the file is the first byte in the first sector of the first cluster, which has the value ë0í Hence, if a file was 118 Lập trình VĐK PIC với MPLAB C18 – ĐHBK TP HCM - BKIT4U 4RUM – EDITTER : TRI - IUH • • • • • • • • • • • • • • • • created and 2000 bytes were written to it, FSftell would return the number 1999 if it was called Fsfwrite Writes information from a buffer to an open file The algorithm it uses reads a sector from the data region of the disk to SRAM, modifies the relevant bytes and then writes the sector back to the disk Because each FSfwrite call reads the data first, the ability to open multiple files at a time is supported This also means that writing data in larger blocks takes less time than writing the same data in smaller blocks as fewer sector reads and writes will be needed Fsremove Searches for a file based on a filename parameter passed into it If the file is found, its directory entry is marked as deleted and its FAT entry is erased Fsremovepgm Deletes the file identified by a given filename If the file is opened with FSfopen, it must be closed before calling FSremovepgm The filename must be specified in ROM This function is necessary only on the PIC18 architecture Fsfopenpgm Opens a file on the SD card and associates an FSFILE structure (stream) with it using arguments specified in ROM This function is necessary only on the PIC18 architecture FSrename Changes the name of a file or directory If the pointer passed into this function is NULL, the name of the current working directory will be changed Fsrewind Resets the position of the file to the beginning of the file Fsmkdir Creates a new subdirectory in the current working directory Fschdir Changes the current working directory to the one specified by the user FSrmdir Deletes the specified directory The user may also choose to specify whether subdirectories and files contained within the deleted directory are removed If the user does not permit the function to delete subdirectories, it fails if the user attempts to delete a non-empty directory Fsgetcwd Returns the name of the current working directory to the user FindFirst Locates files in the current working directory that meet the name and attribute criteria A SearchRec Structure Pointer will be passed into the function Once a file is located, the file-name, file size, create time and date stamp, and attributes fields in the SearchRec structure will be updated with the correct file information FindFirstpgm Operates in the same manner as the FindFirst function, except the name criteria for the file to be found will be passed into the function in ROM This function is necessary only on the PIC18 architecture FindNext Locates the next file in the current working directory that matches the criteria specified in the last call of FindFirst or FindFirstpgm It will then update the SearchRec structure provided by the user with the file information Fsformat Erases the root directory and file allocation table of a card The user may also call the function in a mode that causes it to create a new boot sector based on the information in the master boot record Fsfprintf Writes a formatted string to a file It automatically replaces any format specifiers in the string with dynamic values from variables passed into the function Integer promotion must be enabled in the build options menu when using this function with the PIC18 architecture SetClockVars Used in user-defined Clock mode to manually set the current date and time This date and time would be applied to files as they are created or modified 15.4 Xây dựng chương trình 15.4.1 Kết nối phần cứng Hình 18-10 Sơ đồ kết nối Sdcard Vì SDcard hoạt động điện áp 3V3 mà tín hiệu vi điều khiển 5V nên chân SDI,SDO,SS,SCK gắn thông qua điện trở để chia áp xuống 3V3 cho phù hợp với giao tiếp SDcard 119 Lập trình VĐK PIC với MPLAB C18 – ĐHBK TP HCM - BKIT4U 4RUM – EDITTER : TRI - IUH 15.4.2 Chương trình mẫu Code: #include #include void blocking(void) { while (1); } void main(void) { FSFILE *file1; 10 unsigned char txt[] = "Giao tiep SDcard!!"; 11 while (!MDD_MediaDetect()); 12 while(!FSInit()); 13 file1 = FSfopenpgm("file_test_1.txt","w+"); 14 if (file1 == NULL) 15 blocking(); 16 if (FSfwrite((void*)txt,1,18,file1) != 18) 17 blocking(); 18 if (FSfclose(file1) != 0) 19 blocking(); 20 while (1); 21 } Giải thích lệnh: • • • • • • • • • • Dòng Dòng Dòng Dòng Dòng Dòng Dòng Dòng Dòng Dòng 120 2: include file header thư viện 3→6: tạo hàm blocking hệ thống có lỗi 9: khai báo trỏ trỏ đến file cần xử lý 10: khai báo chuỗi ghi vào file 11: đợi tín hiệu báo có thẻ nhớ thơng qua chân card dectec 12: khởi tạo thẻ nhớ để bắt đầu giao tiếp với thẻ nhớ 13: khởi tạo cho file, đặt tên file , truyền vào đối số cho phép ghi lên file 14→15: kiểm tra có khởi tạo file hay khơng 16→17: ghi chuỗi vào file 18→19: đóng file Lập trình VĐK PIC với MPLAB C18 – ĐHBK TP HCM - BKIT4U 4RUM – EDITTER : TRI - IUH Hình 18-11 Kết chương trình 15.5 Download Code mẫu 121 Lập trình VĐK PIC với MPLAB C18 – ĐHBK TP HCM - BKIT4U 4RUM – EDITTER : TRI - IUH ... V1.0.exe để tiến hành cài đặt, hình welcome MPLAB C18 sau : Hình 2.1 : Welcome MPLAB C18 Bước : Chọn nơi lưu trữ cho file biên dịch MPLAB C18, ta để mặc định C:mcc18 Hình 2.2 : Chọn đường dẫn lưu trữ... Cài đặt C18 Chờ cài đặt xong 10 Lập trình VĐK PIC với MPLAB C18 – ĐHBK TP HCM - BKIT4U 4RUM – EDITTER : TRI - IUH Hình 2.5 : Chờ cài đặt C18 Bước : Nhấn Finish để kết thúc cài đặt MPLAB C18 Hình... trợ cho chip PIC dùng Trong phần này, tơi thí nghiệm vi điều khiển PIC1 8F4520 chọn compiler C18 để hỗ trợ cho lập trình C chuẩn 2.2 Các bước cài đặt Bước : Double Click vào file MPLAB C18 V1.0.exe

Ngày đăng: 24/11/2018, 17:42

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan