Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 33 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
33
Dung lượng
1,86 MB
Nội dung
TàiliệuViXửLýPic
Bộ Môn Tự Động – Trƣờng Cao Đẳng Kỹ Thuật Cao Thắng Trang 1
CHƢƠNG 1: GIỚI THIỆU TỒNG QUAN VỀ PIC 16F877A
I. TÔNG QUAN VỀ CÁC LOẠI BỘ NHỚ
1. Bộ nhớ RAM
Bộ nhớ RAM ( Random Access Memory - Bộ nhớ truy cập ngẫu nhiên ) : Bộ nhớ này lƣu các
chƣơng trình phục vụ trực tiếp cho quá trình xửlý của CPU, bộ nhớ RAM chỉ lƣu trữ dữ liệu tạm thời và
dữ liệu sẽ bị xoá khi mất điện.
Theo công nghệ chế tạo RAM đƣợc phân thành:
SRAM (Static RAM): RAM tĩnh
DRAM (Dynamic RAM): RAM động
2. Bộ nhớ ROM
Bộ nhớ ROM ( Read Olly Memory - Bộ nhớ chỉ đọc ) : đây là bộ nhớ cố định, dữ liệu không bị mất
khi mất điện, bộ nhớ này dùng để nạp các chƣơng trình BIOS ( Basic Input Output System - Chƣơng trình
vào ra cơ sở ) đây là chƣơng trình phục vụ cho quá trình khởi động máy tính và chƣơng trình quản lý cấu
hình của máy
3. Bộ nhớ Flash
Bộ nhớ flash là một loại bộ nhớ máy tính có thể xóa và ghi lại bằng điện. Đây là công nghệ đã đƣợc
sử dụng trong các thẻ nhớ, ổ USB flash để lƣu trữ và truyền dữ liệu giữa các máy tính và các thiết bị kĩ
thuật số khác. Không nhƣ EEPROM, nó đƣợc xóa và ghi lại theo khối gồm nhiều vị trí
4. Bảng so sánh giữa các loại bộ nhớ
II. GIỚI THIỆU VỀ HỌ VIXỬLÝPIC 16F877A
Đây là vi điều khiển thuộc họ PIC16Fxxx với các đặc điểm:
Tốc độ hoạt động tối đa cho phép là 20 MHz với một chu kì lệnh là 200ns.
Bộ nhớ chƣơng trình 8Kx14 bit, Bộ nhớ flash với khả năng ghi xóa đƣợc 100.000 lần.
Bộ nhớ dữ liệu 368x8 byte RAM
Bộ nhớ dữ liệu EEPROM với dung lƣợng 256x8 byte, với khả năng ghi xóa đƣợc 1.000.000 lần và
có thể lƣu trữ trên 40 năm.
Số PORT I/O là 5 với 33 pin I/O.
Timer0: bộ đếm 8 bit với bộ chia tần số 8 bit.
Timer1: bộ đếm 16 bit với bộ chia tần số, có thể thực hiện chức năng đếm dựa vào xung clock
ngoại vi ngay khi vi điều khiển hoạt động ở chế độ sleep.
Tài liệuViXửLýPic
Bộ Môn Tự Động – Trƣờng Cao Đẳng Kỹ Thuật Cao Thắng Trang 2
Timer2: bộ đếm 8 bit với bộ chia tần số, bộ postcaler.
Hai bộ Capture/so sánh/điều chế độ rộng xung.
Chuẩn giao tiếp nối tiếp SSP (Synchronous Serial Port), SPI và I2C.
Chuẩn giao tiếp nối tiếp USART với 9 bit địa chỉ.
Cổng giao tiếp song song PSP (Parallel Slave Port) với các chân điều khiển RD, WR, CS ở bên
ngoài.
8 kênh chuyển đổi ADC 10 bit.
Khả năng tự nạp chƣơng trình với sự điều khiển của phần mềm.
Nạp đƣợc chƣơng trình ngay trên mạch điện ICSP (In Circuit Serial Programming) thông qua 2
chân.
Watchdog Timer với bộ dao động trong.
Chức năng bảo mật mã chƣơng trình.
Chế độ Sleep.
Có thể hoạt động với nhiều dạng Oscillator khác nhau.
III. CẤU TRÚC VỀ PHÂN CỨNG CỦA PIC 16F877A
1. SƠ ĐỒ CHÂN
a. Các chân có chức năng xuất (output), nhập (input) dữ liệu
Vi xửlý 16f877a có 33 chân xuất nhập dữ liệu với các thiết bị ngoại vi (thiết bị bên ngoài). Chúng
đƣợc chia thành 5 port, các port này gồm PortA, PortB, PortC, PortD và PortE. Các chân này đƣợc kết
nối và khai báo chức năng khác nhau còn tùy thuộc vào ứng dụng thực tế.
Các chân này đƣợc ký hiệu là RXY, trong đó X là tên port và Y là thức tự chân trong Port. Ví dụ
RA0 là chân thức 0 trong Port A
b. Các chân có chức năng khác
Các chân này có chức năng cố định: chân V
DD
, V
ss
dùng để cấp nguồn cho vixử lý, chân
OSC1/CLK1 và OSC2/CLK0 dùng để kết nối với thạch anh, chân dùng để kết nối với
mạch Reset
Tài liệuViXửLýPic
Bộ Môn Tự Động – Trƣờng Cao Đẳng Kỹ Thuật Cao Thắng Trang 3
2. CẤU TRÚC PHẦN CỨNG
CHƢƠNG 2: GIỚI THIỆU VỀ C COMPILER
I. Giới thiệu C COMPILER
PIC C compiler là ngôn ngữ lập trình cấp cao cho PIC đƣợc viết trên nền C. chƣơng trình viết trên
PIC C tuân thủ theo cấu trúc của ngôn ngữ lập trình C. Trình biên dịch của PIC C compiler sẽ chuyển
chƣơng trình theo chuẩn của C thành dạng chƣơng trình theo mã Hexa (file.hex) để nạp vào bộ nhớ
của PIC. Quá trình chuyển đổi đƣợc minh hoạ nhƣ hình sau.
PIC C compiler gồm có 3 phần riêng biệt là PCB, PCM và PCH. PCB dùng cho họ MCU với bộ
lệnh 12 bit, PCM dùng cho họ MCU với bộ lệnh 14 bit và PCH dùng cho họ MCU với bộ lệnh 16 và
Tài liệuViXửLýPic
Bộ Môn Tự Động – Trƣờng Cao Đẳng Kỹ Thuật Cao Thắng Trang 4
18 bit. Mỗi phần khác nhau trong PIC C compiler chỉ dùng đƣợc cho họ MCU tƣơng ứng mà không
cho phép dùng chung (Ví dụ không thể dùng PCM hoặc PCH cho MCU 12 bit đƣợc mà chỉ có thể
dùng PCB cho MCU 12 bit).
II. Cài đặt và sử dụng Pic C compiler
1. Cài đặt Pic C Compiler
Để cài đặt PIC C compiler, bạn phải có đĩa CD chứa software PCW. Phần mềm này có thể
download trên mạng ở địa chỉ . Khi có đĩa CD software, việc cài đặt PIC C compiler đƣợc thực hiện
theo các bƣớc sau:
chọn thư mục PCW -> chọn setupPCW -> clickOK. Khi đó xuất hiện cửa sổ welcome.
Trên cửa sổ Welcome, click chuột vào nút Next, sau khi click Next, cửa sổ Software License
Agreement sẽ xuất hiện, click nút nhấn Yes.
Trong của sổ Readme information, click nút nhấn Next.
Sau khi click Next trong cửa sổ Readme information, của sổ Choose Destination Location sẽ
xuất hiện. Thư mục mặc nhiên để cài đặt PIC C compiler là c:\Program files\PICC. Ta có thể
thay đổi thư mục cài đặt PCW bằng cách chọn nút Browse và chỉ đường dẫn tới thư mục hoặc
ổ đĩa cần cài đặt, nếu muốn để ở thư mục mặc nhiên, click nút nhấn Next để tiếp tục cài đặt.
Trong cửa sổ Select Program Folder, click nút nhấn Next.
Click nút nhấn Next tong cửa sổ Start Copying Files sau đó chờ cho quá trình setup thực hiện.
Trong cửa sổ Select Files .crg, nhập vào tên file pcb.crg, pcm.crg hoặc pch.crg nếu muốn
dung PIC C compiler cho MCU 12 bit, MCU 14 bit hay MCU 16, 18 bit sau đó click nút OK.
Click nút Finish để hoàn tất việc cài đặt.
2. Sử dụng Pic C Compiler
Sau khi cài đặt xong PIC C compiler, trên Desktop của window sẽ xuất hiện biểu tƣợng của PIC C
compiler. Double Click vào biểu tƣợng của PIC C compiler để chạy chƣơng trình khi đó cửa sổ
chƣơng trình của PIC C compiler sẽ xuất hiện nhƣ sau:
Trong cửa sổ chƣơng trình cửa PIC C compiler gồm có các thực đơn (Menu): File, Project, Edit,
Options, Compile, View, Tools và Help. Chi tiết về các thực đơn nhƣ sau:
a. File (tệp): File là thực đơn quản lý tệp gồm các thực đơn nhƣ hình
Tài liệuViXửLýPic
Bộ Môn Tự Động – Trƣờng Cao Đẳng Kỹ Thuật Cao Thắng Trang 5
+ New: Tạo file.c mới
+ Open: Mở một file.c đã có, đƣợc lƣu trữ trong đĩa.
+ Save: Lƣu file.c vào đĩa.
+ Save As: Lƣu trữ file.c vào đĩa cứng với tên khác.
+ Save All: Lƣu trữ tất cả các file đƣợc mở vào đĩa.
+ Close: Đóng file hiện hành.
+ Close All: Đóng tất cả các file.
+ Print: In file hiện hành.
b. Project (Dự án): Là thực đơn quản lý dự án (một chƣơng trình ứng dụng). Thực đơn Project
gồm các thực đơn nhƣ hình
+ New: Tạo một dự án mới. Dự án mới có thể đƣợc tạo một cách thủ công hoặc tạo tự động thong
qua PIC Wizard. Nếu chọn phƣơng thức thủ công thì chỉ có file.pjt đƣợc tạo để giữ thông tin cơ bản
của dự án và một file.c mặc định trƣớc hoặc một file.c rỗng đƣợc tạo để soạn thảo chƣơng trình. Nếu
tạo dự án thông qua PIC Wizard, thì ngƣời sử dụng có thể xác định tham số của dự án và khi hoàn tất
thì các file.c, file.h và file.pjt đƣợc tạo. Mã nguồn chuẩn và các hằng số đƣợc sinh ra dựa trên tham
số của dự án. Việc chọn lựa các tham số cho dự án mới đƣợc thực hiện trên mẫu đƣợc PIC C
compiler đề nghị, trong mẫu gồm các chọn lựa nhƣ đặc tính của đƣờng vào ra theo chuẩn RS232,
I2C, chọn lựa timer, chọn lựa ADC, sử dụng ngắt, các driver cần thiết và tên của tất cả các chân của
MCU. Sau khi hoàn tất việc chọn lựa các tham số cho dự án thì file.c và file.h sẽ tạo ra với #defines,
#include và một số lệnh ban đầu cần thiết cho dự án. Đây là cách nhanh nhất để tạo một dựa án mới.
+ Open: Mở một file.pjt đã có trong đĩa.
+ Open All: Mở một file.pjt và tất cả các file dùng trong dự án.
+ Find text in project: Tìm kiếm một từ hay một ký tự trong dự án.
+ Include Dirs…: Cho phép xác định các thƣ mục đƣợc dùng để tìm kiếm các file include cho dự án.
Thông tin này đƣợc lƣu vào file.pjt.
+ Close Project: Đóng tất cả các file trong dự án.
c. Edit: Thực đơn Edit gồn các thành phần nhƣ hình.
Tài liệuViXửLýPic
Bộ Môn Tự Động – Trƣờng Cao Đẳng Kỹ Thuật Cao Thắng Trang 6
Các thành phần trong thực đơn Edit có chức năng tƣơng tự nhƣ trong các trình ứng dụng trên môi
trƣờng window quen thuộc nhƣ word, excel …
d. Option: Thực đơn Option gồm các thành phần nhƣ hình.
Trong thực đơn Option có 4 thành phần cần lƣu ý là: File Formats, Global Defines,
Debugger/Programer và Include Dirs. Các thành phần khác thì tƣơng tự nhƣ các trình ứng dụng
quen thuộc.
+ File Format: Cho phép chọn lựa kiểu định dạng của file xuất. Khi chọn Option->File Format,
cửa sổ File Format sẽ xuất hiện. Trong cửa sổ File Format có các chọn lựa để chọn kiểu định dạng cho
file xuất ra sau khi biên dịch.
Cửa sổ File Format có dạng nhƣ sau:
Tài liệuViXửLýPic
Bộ Môn Tự Động – Trƣờng Cao Đẳng Kỹ Thuật Cao Thắng Trang 7
Debug File: File gỡ rối chƣơng trình chạt trên MPLAB. Chọn Standard.COD nếu muốn chạy gỡ
rối chƣơng trình, chọn None nếu không cần chạy gỡ rối.
Error File: Xuất ra file lỗi khi chƣơng trình có lỗi trong quá trình biên dịch. Chọn Standard cho
các MCU chuẩn hiện hành của Microchip, chọn Original cho các MCU thế hệ trƣớc của
Microchip.
List Format:Chọn Simple cho định dạng cơ bản với mã C và ASM. Chọn Standard để định dạng
chuẩn MPASM với mã máy. Chọn Old cho định dạng MPASM thế hệ trƣớc. Chọn Symbolic để
định dạng gồm mã C trong ASSEMBLY.
Object File: Chọn kiểu cho file.hex, Chọn 8 bit HEX cho file hex intel 8 bit và chọn 16 HEX cho
file hex intel 16 bit.
Sau khi đã chọn lựa kiểu định dạng file xuất ra sau khi biên dịch, click OK.
+ Global Defines: Cho phép đặt #define để sử dụng cho biên dịch chƣơng trình. Điều này tƣơng tự nhƣ
việc khai báo #define ở đầu chƣơng trình.
+ Debug/Programer: Cho phép xác định thiết bị lập trình đƣợc sử dụng khi chọn lựa công cụ lập trình cho
chip.
+ Include Dirs: Tƣơng tự nhƣ trong thực đơn Project.
e. Compiler: Biên dịch dự án hiện hành
f. View: Thực đơn view gồm các thành phần nhƣ hình
C/ASM List: Mở file.lst ở chế độ chỉ đọc, file này phải đƣợc biên dịch trƣớc từ file.c. Khi đƣợc mở,
file này sẽ trình bày theo dạng vừa có mã C vừa có mã Assembly.
Ví dụ File.lst
……………delay_ms(3);
Tài liệuViXửLýPic
Bộ Môn Tự Động – Trƣờng Cao Đẳng Kỹ Thuật Cao Thắng Trang 8
0F2: MOVLW 05
0F3: MOVWF 08
0F4: DESCZ 08,F
0F5: GOTO 0F4
…………….while input(pin_0));
0F6: BSF 0B,3
Symbol Map: Mở file dạng mã ASM ở chế độ chỉ đọc. File này phải đƣợc biên dịch từ file.c. File này
cho biết địa chỉ của các thanh ghi sử dụng trong chƣơng trình.
+ Binary file: Mở file nhị phân ở chế độ chỉ đọc, File này đƣợc hiển thị ở mã HEX và mã ASCII.
g. Tool: Thực đơn Tool quản lý một số công cụ đặc biệt. Các thành phần trong thực đơn tool nhƣ
hình.
Trong thực đơn tool chỉ có một công cụ khá đặc biệt mà ngƣời sử dụng MCU cần lƣu ý là công cụ
disassembler, công cụ này cho phép dịch ngƣợc file.bin hoặc file.hex thành file theo kiểu mã ASM.
h. Help: thực đơn trợ giúp, trong thực đơn này chứa phần hƣớng dẫn sử dụng PIC C compiler dƣới dạng
HYML.
3. Các bƣớc viết chƣơng trình trên Pic c Compiler
Chạy PIC C Compiler bằng cách double click vào biểu tƣợng của phần mềm.
Trên Menu Bar của phần mềm, chọn Project -> New -> PIC Wizard để tạo dự án mới hoặc chọn
Project –> Open để mở dự án trong đã lƣu trong đĩa.
Nếu là dự án mới thì sau khi chọn PIC Wizard, đặt tên cho dự án và click SAVE.
Sau khi click SAVE, của sổ cho phép chọn thông số cho dự án theo mẫu hiện ra, chọn các thông
số cần thiết cho dự án và click OK.
Sau khi click OK, cửa sổ soạn thảo chƣơng trình theo mã C xuất hiện, viết mã theo giải thuật để
thực hiện dự án. Chọn File save all để lƣu trữ các file trong dự án vào đĩa cứng.
Sau khi viết mã xong, chọn Compiler -> compiler để biên dịch chƣơng trình thành file.hex. Nếu
chƣơng trình không có lỗi thì file.hex đƣợc tạo ra còn ngƣợc lại thì sửa lỗi chƣơn gtrình rồi biên
dịch lại.
Sau khi tạo đƣợc file.hex, dùng chƣơng trình PIC downloader để nạp chƣơng trình vào bộ nhớ
FLASH của MCU.
Tài liệuViXửLýPic
Bộ Môn Tự Động – Trƣờng Cao Đẳng Kỹ Thuật Cao Thắng Trang 9
III. MỘT CHƢƠNG TRÌNH TRÊN C COMPILER
1. Cấu trúc chƣơng trình
Chƣơng trình đƣợc viết trên PIC C compiler gồm 4 phần tử chính, Trong mỗi phần tử sẽ bao gồm
nhiều chi tiết để tạo nên chƣơng trình. Cấu trúc chƣơng trình nhƣ sau:
a. Phần ghi chú
Ở phần ghi chú, ngƣời lập trình sẽ ghi những chú thích cần thiết cho chƣơng trình. Phần chú thích
đƣợc bắt đầu từ dấu // hoặc /* cho tới cuối hàng. Khi biên dịch, trình biên dịch sẽ bỏ qua phần ghi
chú. Phần ghi chú có thể xuất hiện bất cứ chỗ nào trong chƣơng trình thậm chí có thể đặt ngay sau
hàng mã lệnh để chú thích cho hàng lệnh.
b. Chỉ định các tiền xửlý
Phần này sẽ chỉ định các tiền xửlý đƣợc sử dụng khi biên dịch. Các tiền xửlý đƣợc bắt đầu bằng
dấu #.
Ví dụ: khai báo các tiền xử lý, chi tiết về từng tiền xửlý sẽ đƣợc trình bày chi tiết sau.
# include // Chỉ định tiền xửlý include
# device
c. Định nghĩa các dữ liệu
Đây là phần khai báo hằng, khai báo biến và kiểu dữ liệu sử dụng trong chƣơng trình.
Ví dụ: int a,b,c,d; // Khai báo biến a,b,c,d kiểu nguyên
Các kiểu dữ liệu đơn giản dùng trong PIC C compiler tƣơng tự nhƣ trong C chuẩn, gồm các kiểu
nhƣ trong bảng sau:
Kiểu dữ liệu
Mô tả
int1
Định nghĩa một dữ liệu 1 bit (kiểu nguyên)
int8
Định nghĩa một dữ liệu 8 bit (kiểu nguyên
int16
Định nghĩa một dữ liệu 16 bit (kiểu nguyên)
int32
Định nghĩa một dữ liệu 32 bit (kiểu nguyên)
char
Định nghĩa một dữ liệu kiểu ký tự 8 bit
float
Định nghĩa một dữ liệu 32 bit dạng dấu chấm động (kiểu thực)
short
Mặc nhiên là int1
int
Mặc nhiên là int8
long
Mặc nhiên là int16
void
Chỉ một kiểu dữ liệu không xác định
static
Định nghĩa biến tĩnh toàn cục và có giá trị ban đầu bằng 0. Khi khai
báo biến này thì bộ nhơ sẽ dành một vùng nhớ tuỳ theo kiểu biến đễ
lƣu trữ và vùng nhớ này đƣợc giữ cho dù biến đó không đƣợc sử
dụng
auto
Định nghĩa một biến kiểu động, biến này chỉ tồn tại khi hàm sử dụng
nó hoạt động, vùng nhớ chứa biến này sẽ đƣợc trả lại khi hàm thực
hiện xong.
double
Dự trữ một word nhớ nhƣng không hỗ trợ kiểu dữ liệu
extern
Kiểu dữ liệu mỡ rộng
register
Kiểu thanh ghi
d. Định nghĩa các hàm
Định nghĩa các hàm (Function) đƣợc dùng để thực hiện giải thuật của chƣơng trình. Hàm có cấu
trúc nhƣ sau:
Tên hàm (Các đối số của hàm)
{
Các phát biểu
}
Trong đó Tên hàm đƣợc đặt tuỳ ý của ngƣời viết chƣơng trình. Các đối số của hàm là các
Tài liệuViXửLýPic
Bộ Môn Tự Động – Trƣờng Cao Đẳng Kỹ Thuật Cao Thắng Trang 10
thông số dùng để trao đổi dữ liệu cũa hàm, đối số có thể là rỗng nếu hàm không trao đổi dữ liệu hoặc
có thể có nhiều đối số, các đối số phân cách nhau bằng dấu „,‟
Ví dụ:
void lcd_putc(char c ) // Định nghĩa hàm
{
}
2. Các phát biểu điều kiện và vòng lặp trong chƣơng trình
a. Phát biểu điều kiện if - else
Phát biểu điều kiện if – else đƣợc dùng để rẽ nhánh chƣơng trình, phát biểu if – else có dạng nhƣ
sau:
If (điều kiện)
{
Các lệnh trong chương trình
}
else
{
Các lệnh trong chương trình
}
b. Vòng lặp WHILE
Vòng lặp while đƣợc dùng để lặp chƣơng trình. Cấu trúc của vòng lặp while nhƣ sau:
while (biểu thức điều kiện)
{
Các lệnh trong chương trình
}
Hoạt động của vòng lặp while là sẽ thực hiện các lệnh trong cặp từ khoá {} khi mà biểu thức điều
kiện là đúng.
c. Vòng lặp do – while
Vòng lặp do – while đƣợc sử dụng tƣơng tự nhƣ vòng lặp while tuy nhiên, vòng lặp while kiểm tra
điều kiện trƣớc khi thực hiện các lệnh còn vòng lặp do – while sẽ kiểm tra điều kiện sau khi thực hiện
các lệnh. Cấu trúc của vòng lặp do – while nhƣ sau:
do
{
Các lệnh trong chương trình
}
while (biểu thức điều kiện);
d. Vòng lặp for
Vòng lặp for đƣợc dùng để lặp lại chƣơng trình theo một biến đếm. Cấu trúc của vòng lặp for nhƣ
sau:
For (biểu thức 1; biểu thức 2; biểu thức 3)
{
Các lệnh trong chương trình
}
Trong đó biểu thức 1 là giá trị khởi đầu của biến đếm, biểu thức 2 là giá trị cuối của biến đếm,
biểu thức 3 là biểu thức đếm.
e. Phát biểu SWITCH – CASE
[...]... Bộ Môn Tự Động – Trƣờng Cao Đẳng Kỹ Thuật Cao Thắng Trang 11 TàiliệuViXửLýPic 3 Các phép toán trong C compiler 4 Các hàm chứa trong thƣ vi n của Pic C Compiler PIC C compiler xây dựng sẵn 108 hàm chia thành 11 nhóm và đƣợc chứa trong các file.h Khi trong chƣơng trình muốn gọi các hàm này thì ở đầu chƣơng trình phải khai báo tiền xửlý #use hoặc #include để trình biên dịch tìm các hàm tƣơng ứng... Kỹ Thuật Cao Thắng Trang 12 TàiliệuViXửLýPic Mục đích: Định nghĩa chip sử dụng Tất cả các chƣơng trình đều phải sử dụng khai báo này nhằm định nghĩa chân trên chip và một số định nghĩa khác của chip Ví dụ: #device PIC1 6F877 *=16 ADC=10 #INCLUDE Cú pháp: #include hoặc #include "filename" Trong đó filename là tên file hợp lệ trong PC Mục đích: Bộ tiền xửlý sẽ sử dụng thông tin cần... tới ngắt timer a Giới thiệu về ngắt timer Vixửlý có tất cả 15 nguồn ngắt khác nhau, ở trong phần này ta chỉ khảo sát ba nguồn ngắt do 3 timer gây ra Mỗi lần xuất hiện điều kiện ngắt thì chƣơng trình tự động nhãy tới chƣơng trình ngắt thực hiện b Các hàm ngắt timer Bộ Môn Tự Động – Trƣờng Cao Đẳng Kỹ Thuật Cao Thắng Trang 20 Tài liệuViXửLý Pic CÁC HÀM QUẢN LÝ NGẮT Tên hàm Cú pháp ext_int_edge(source,edge)... Thuật Cao Thắng Trang 21 Tài liệuViXửLý Pic III BÀI TẬP ỨNG DỤNG CÁC HÀM ADC – GIAO TIẾP LCD 1 Giới thiệu về ADC PIC1 6F877A có 8 ngõ vào analog (RA4:RA0 và RE2:RE0) Hiệu điện thế chuẩn VREF có thể đƣợc lựa chọn là VDD, VSS hay hiệu điện thể chuẩn đƣợc xác lập trên hai chân RA2 và RA3 PIC1 6F877, bộ A/D mặc định là 8 bit Để sử dụng A/D 10 bit ta phải dùng thêm lệnh #device PIC1 6F877 *=16 ADC=10 ngay... dụ 1: Không sử dụng các hàm trong thƣ vi c của Pic c compiler , vi t chƣơng trình hiển thị chữ “CDKT _CAO_THANG” ở dòng 1 và chữ VI_ XU_LY” ở dòng 2 #include #include #fuses HS, NOWDT, NOLVP, NOPUT #use delay(clock=8000000) #define LCD_RS rd1 #define LCD_E rd0 Bộ Môn Tự Động – Trƣờng Cao Đẳng Kỹ Thuật Cao Thắng Trang 27 Tài liệuViXửLý Pic #define LCD_Rw rd2 #define LCD_DATA4... dữ liệu hiển thị sang trái mà không cần hành động đọc/ghi dữ liệu khi hiển thị kiểu 2 dòng, con trỏ sẽ nhảy xuống dòng dƣới khi dịch qua vị trí thứ 40 của hàng đầu tiên Dữ liệu hàng đầu tiên và hàng 2 dịch cùng1 lúc Lệnh Function Set: DL: Khi DL=1, LCD giao tiếp với MPU bằng giao thức 8 bit (từ bit DB7 đến DB0) Bộ Môn Tự Động – Trƣờng Cao Đẳng Kỹ Thuật Cao Thắng Trang 25 Tài liệuViXửLý Pic. .. thái Có nhiều cách để vi t chƣơng trình, tuy nhiên để đơn giản trong lập trình và thuận tiện trong vi c quản lý, sửa chữa chƣơng trình ta nên vi t theo dạng chƣơng trình con Mỗi chƣơng trình con là một trạng thái cần hiển thị Bộ Môn Tự Động – Trƣờng Cao Đẳng Kỹ Thuật Cao Thắng Trang 15 Tài liệuViXửLý Pic #include #FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT... Cao Đẳng Kỹ Thuật Cao Thắng Trang 29 TàiliệuViXửLýPic 5 Bài tập a Vi t chƣơng trình đọc ADC kênh N0, kết quả 10 bit và hiển thị kết quả trên LCD #include #include #device *=16 ADC=10 #FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, BROWNOUT, LVP, NOCPD, NOWRT #use delay(clock=20000000) #include int16 temp; int8 nghin,tram,chuc,donvi; int1 mili_volt; float volt; void... lcd_putc(tram); lcd_putc(chuc); lcd_putc(donvi); if (mili_volt) printf(lcd_putc," mV"); else printf(lcd_putc," V"); } while(true); } b Hãy vi t chƣơng trình đọc nhiệt độ từ LM337 và hiển thị ra LCD Bộ Môn Tự Động – Trƣờng Cao Đẳng Kỹ Thuật Cao Thắng Trang 30 TàiliệuViXửLýPic IV BÀI TẬP ỨNG DỤNG CÁC HÀM CCP - PWM 1 Các kiến thức liên quan tới CCP – PWM a Giới thiệu về CCP- PWM PIC1 6F877A đƣợc tích hợp sẵn hai... text Trong đó: id là một định nghĩa tiền xửlý text là đoạn văn bản bất kỳ Mục đích: Định nghĩa một hằng hay một tham số thƣờng sử dụng trong chƣơng trình Ví dụ: #define led portc định nghĩa led là portc b Các hàm liên quan a Các hàm phục vụ cổng vào ra b Các hàm delay (40) Bộ Môn Tự Động – Trƣờng Cao Đẳng Kỹ Thuật Cao Thắng Trang 14 TàiliệuViXửLýPic c Các hàm thao tác trên bit, byte Các . nguồn cho vi xử lý, chân
OSC1/CLK1 và OSC2/CLK0 dùng để kết nối với thạch anh, chân dùng để kết nối với
mạch Reset
Tài liệu Vi Xử Lý Pic
Bộ.
vi c quản lý, sửa chữa chƣơng trình ta nên vi t theo dạng chƣơng trình con. Mỗi chƣơng trình
con là một trạng thái cần hiển thị
Tài liệu Vi Xử Lý Pic