1. Trang chủ
  2. » Luận Văn - Báo Cáo

Báo cáo thí nghiệm kỹ thuật vi xử lý & vi điều khiển

37 806 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 37
Dung lượng 592,5 KB

Nội dung

- Sử dụng được Kit PICDEM2 Plus.- Sử dụng được bộ công cụ lập trình MPLAB.. BÀI THÍ NGHIỆM SỐ 2: BIN COUTING,TURNING ON ODD/EVEN NUMBEREDLEDs 2.1:MỤC ĐÍCH -Kiểm tra khả năng truy xuất I

Trang 1

ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA ĐIỆN TỬ VIỄN THÔNG

-o0o -BÁO CÁO THÍ NGHIỆM

KỸ THUẬT VI XỬ LÝ

& VI ĐIỀU KHIỂN

Giáo viên hướng dẫn : Phạm Xuân Trung

Danh Sách SVTH :Lê Trị An

Trần Lê Nhật Bình Phạm Văn Công Phạm Văn Hải Nguyễn Mạnh Hổ Cao Mạnh Hùng

Nhóm : 07- 24A

Nhóm:07-24A Trang: 1

Trang 2

- Sử dụng được Kit PICDEM2 Plus.

- Sử dụng được bộ công cụ lập trình MPLAB

- Viết giả thuật và chương trình bật, tắt và nháy một led đơn

- Nắm cấu trúc phần cứng của PIC16F877A

1.3 Sơ đồ khối chung:

Sơ đồ nguyên lí giản lược cho PIC16F877A

OSC1 RB1

OSC2

Vcc GND

1.4 Xây dựng sơ đồ khối:

1.4.1: Tính toán trể 1ms (DELAY) bằng phương pháp giảm thanh ghi:

Chu kỳ dao động của thạch anh t0 : t0 =

0

1

f

Thời gian thực hiện xong một lệnh ti : ti = 4*t0

Sử dụng thạch anh 4Mhz, thời gian thực hiện xong một lệnh là: ti = 4* 6

10

*4

1

= 1 s

Vậy 1ms = 5*(199 + 1)*1 s

BỘ XỬ LÝ TRUNG TÂM

Trang 3

BẬT RB1

DELAY

TẮT RB1

DELAY

Trang 4

1.4.3 Chương trình con DELAY1MS:

GIẢM COUNT2

GIẢM COUNT1

COUNT1

=0?

RETURN

Trang 5

1.5 Viết chương trình bằng ngôn ngữ ASEMBLY:

; Khai bao vi dieu khien

Trang 6

BÀI THÍ NGHIỆM SỐ 2: BIN COUTING,TURNING ON ODD/EVEN NUMBERED

LEDs 2.1:MỤC ĐÍCH

-Kiểm tra khả năng truy xuất I/O của thiết bị thông qua 4 led đơn báo hiệu được mắc ở ngoài và trể tạo bởi phần mềm

2.2 Yêu cầu:

- Sử dụng được Kit PICDEM2 Plus

- Sử dụng được bộ công cụ lập trình MPLAB

- Viết giả thuật và chương trình bật, tắt 4 led đơn theo số lẻ, số chẳn và đếm nhị phân

- Nắm cấu trúc phần cứng của PIC16F877A

2.3 Sơ đồ khối chung:

Sơ đồ nguyên lí giản lược cho PIC16F877A

OSC1 RB0

2.4 Xây dựng sơ đồ khối:

2.4.1 Tính toán trể 1s (DELAY) bằng phương pháp giảm thanh ghi:

Chu kỳ dao động của thạch anh t0 : t0 =

0

1

f

Thời gian thực hiện xong một lệnh ti : ti = 4*t0

Sử dụng thạch anh 4Mhz, thời gian thực hiện xong một lệnh là: ti = 4* 6

10

*4

1

= 1 s

Vậy 1s = 4*250*(199 + 1)*5*1 s

BỘ XỬ LÝ TRUNG TÂM

Trang 7

2.4.1 Bật, tắt 4 led đơn theo số lẻ, số chẳn:

W XOR 8

Z=0?

TĂNG COUNT

SETUP PORTB ĐẾM LẺ

XÓA COUNT

W COUNT GỌI TABLE PORTB W

DELAY ALY TĂNG W

W XOR 8

Z=0?

TĂNG COUNT

Trang 8

2.4.2:Đếm nhị phân:

N

Y

XÓA PORTB BẮT ĐẦU

XÓA COUNT

W COUNT GỌI TABLE PORTB W DELAY TĂNG W

TĂNG COUNT

W XOR 15

Z=0?

Trang 9

2.4.3 Chương trình con DELAY:

COUNT2

=0 ?

GIẢM COUNT1

COUNT1

=0 ?

Trang 10

2.5 Viết chương trình bằng ngôn ngữ ASEMBLY:

2.5.1 Bật, tắt 4 led đơn theo số chẵn:

processor 16f877a

include <p16f877a.inc>

CONFIG _CP_OFF & _WDT_OFF & _BODEN_OFF & _PWRTE_ON

&_XT_OSC &_WRT_OFF & _LVP_OFF & _CPD_OFF

Trang 11

CONFIG _CP_OFF & _WDT_OFF & _BODEN_OFF & _PWRTE_ON & _XT_OSC

&_WRT_OFF & _LVP_OFF & _CPD_OFF

Trang 15

BÀI THÍ NGHIỆM SỐ 3: LEFT AND RIGHT SCROLLING LEDs

3.1:MỤC ĐÍCH

-Kiểm tra khả năng truy xuất I/O của thiết bị thông qua 1 led đơn báo hiệu được mắc ở ngoài và trể tạo bởi phần mềm

3.2 Yêu cầu:

- Sử dụng được Kit PICDEM2 Plus

- Sử dụng được bộ công cụ lập trình MPLAB

- Viết giả thuật và chương trình quét 4 led đơn từ phải sang và từ trái sang

- Nắm cấu trúc phần cứng của PIC16F877A

3.3 Sơ đồ khối chung:

Sơ đồ nguyên lí giản lược cho PIC16F877A

OSC1 RB0

OSC2 RB1

RB2RB3

Trang 16

3.4.1: Tính toán trể 1s (DELAY) bằng phương pháp giảm thanh ghi:

Chu kỳ dao động của thạch anh t0 : t0 =

0

1

f

Thời gian thực hiện xong một lệnh ti : ti = 4*t0

Sử dụng thạch anh 4Mhz, thời gian thực hiện xong một lệnh là: ti = 4* 6

10

*4

SET BIT C

DỊCH TRÁI PORTB DELAY

DỊCH PHẢI PORTB

Trang 17

3.4.2:Chương trình con DELAY:

Nhóm:07-24A Trang: 17 DELAY COUNT2 250

COUNT4 1

COUNT4 =0 ?

GIẢM COUNT4 GIẢM COUNT3 RETURN COUNT1 8

GIẢM COUNT2 COUNT3 199

COUNT3 =0 ?

COUNT2 =0 ?

GIẢM COUNT1 COUNT1 =0 ?

Trang 20

BÀI THÍ NGHIỆM SỐ 4: BUTTON CONTROL 4.1MỤC ĐÍCH

-Kiểm tra khả năng truy xuất I/O của thiết bị thông qua 1 led đơn báo hiệu được mắc ở ngoài và trể tạo bởi phần mềm

4.2 Yêu cầu:

- Sử dụng được Kit PICDEM2 Plus

- Sử dụng được bộ công cụ lập trình MPLAB

- Viêt giải thuật và chương trình dùng nút bấm để chuyển đổi các chế độ quét 4 LED đã

làm ở bài thí nghiệm số 4

- Nắm cấu trúc phần cứng của PIC16F877A

4.3 Sơ đồ khối chung:

Sơ đồ khối và sơ đồ nguyên lý giản lược cho PIC16F877A

BỘ XỬ LÝ TRUNG TÂM

BỘ DAO

INPUT

Trang 21

- Sơ đồ nguyên lý giản lược

Kết nối bộ dao động:

Nhóm:07-24A Trang: 21

Trang 22

Kết nối 4Led

Kết nối Switch:

4.4.Xây dựng giải thuật:

4.4.1 Giải thuật bằng ngôn ngữ giả:

Khai báo các thanh ghi cần dung:

Trang 23

- Đặt 4 bits thấp của thanh ghi TRISB là output

- Set bit 4 của TRISA là input

- Chọn lại bank 0

- Xóa thanh ghi INDEX

- Nếu nút RA4 được nhấn

+ goto R2L

Ngược lại: goto L2R

Đoạn chương trình R2L:

- Nạp byte cao của TABLER2L vào W

- Nạp W vào thanh ghi PCLATH

- Tạo nhãn LOOP1 để quay về từ DISPLAY

- Nạp INDEX vào W

- Call TABLER2L

- Goto DISPLAY

Đoạn chương trình L2R:

- Nạp byte cao của TABLEL2R vào W

- Nạp W vào thanh ghi PCLATH

- Tạo nhãn LOOP2 để quay về từ DISPLAY

+ Nếu đúng: Xóa INDEX

- Kiểm tra nút RA4 có nhấn ?

- Nếu đúng nhảy tới LOOP1

- Ngược lại nhảy tới LOOP2

Nhóm:07-24A Trang: 23

Trang 24

LƯU ĐỒ THUẬT TOÁN:

Nhóm:07-24A Trang: 24

Setup PORTB and PORTA

Movlw HIGH TABLEL2R

Move W->TRISB Set TRISA,4 Switch bank 0

Trang 25

Nhóm:07-24A Trang: 25

Call TABLER2L

Call TABLEL2R

Trang 26

4.5 Viết chương trình bằng ngôn ngữ Assembly:

Trang 28

BÀI THÍ NGHIỆM SỐ 5: KHẢO SÁT CƠ CHẾ NGẮT VÀ GIAO TIẾP LCD

5.1 Nội dung:

Khảo sát các nguyên nhân gây ngắt quảng, cách xử lý ngắt, tính ưu tiên giữa các ngắt của

vi điều khiển PIC16F877

Khảo sát ngắt ngoài của vi điều khiển PIC16F877

Điều khiển LCD ký tự 2x16

5.2 Yêu cầu:

1 Viết chương trình hiển thị kí tự lên LCD

Viết chương trình chạy chữ qua LCD(họ và tên sinh viên,nhóm)

Viết chương trình thay đổi chữ hiển thị trên LCD khi nhấn nút(thay đổi giữa các thành

phần,tên,nhóm,lớp,học phần)

2 Viết chương trình khởi tạo 2 ngắt:

Ngắt ngoài 0 với độ ưu tiên cao

Ngắt timer 0 với độ ưu tiên thấp

Trong chương trình ngắt ngoài 0 bật 3 led đơn RB1, RB2, RB3sáng cùng lúc

Trong chương trình timer 0 sau 1s khi 3 led được bật ở trong ngắt ngoài thì tắt 3 ledđơn RB1, RB2, RB3 cùng lúc

5.3 Các bước thực hiện:

A.LCD

I.Sơ lược về LCD:

Trang 29

Lcd thường có 14 chân,gồm 2 dòng,mỗi dòng gồm 16 kí tự:

1.Các chân VCC , VSS và VEE : Chân VCC_Cấp dương nguồn 5V, chân VCC_Nối đất, chân

VEE được dùng để điều khiển độ tương phản của màn hình LCD

2.Chân chọn thanh ghi RS (Register Select):

Có hai thanh ghi rất quan trọng bên trong LCD, chân RS được dùng để chọn các thanh ghi này như sau: Nếu RS = 0 thì thanh ghi mà lệnh được chọn để cho phép người dùng gửi một lệnh chẳng hạn như xoá màn hình, đưa con trỏ về đầu dòng,… Nếu RS = 1 thì thanh ghi dữ liệu được chọn cho phép người dùng gửi dữ liệu cần hiển thị trên LCD

3.Chân đọc/ghi R/W :

Đầu vào đọc/ghi cho phép người dùng ghi thông tin lên LCD khi R/W = 0 hoặc đọc thông tin từ

nó khi R/W = 1

4.Chân cho phép E (Enable):

Chân cho phép E được sử dụng bởi LCD để chốt thông tin hiện hữu trên chân dữ liệu của nó Khi

dữ liệu được cấp đến chân dữ liệu thì một xung mức cao xuống thấp phải được áp đến chân này

để LCD chốt dữ liệu trên các chân dữ liêu Xung này phải rộng tối thiểu là 450ns

Trang 30

III.chương trình code:

a.Dùng ngôn ngữ assembly:

; Compiled with: PIC Simulator IDE v6.80

; Microcontroller model: PIC16F877

Trang 31

; -Lcdcmdout LcdLine2Home 'set cursor at the beginning of line 2

MOVLW 0xC3;thuc hien lenh set ddram address > 40h : vi tri dau tien cua line 2CALL LC02

; -HIEN THI CHU "NHOM:7_24A ", text for line 2

Trang 32

LC01: BSF 0x08,1;set bit RS line -> portb la gia tri du lieu

BCF 0x08,2;clear bit r/w line -> ghi du lieu vao lcd

MOVWF 0x06; dua gia tri thanh ghi w vao portb

LC02: BCF 0x08,1; clear bit RS line -> portb la gia tri lenh

BCF 0x08,2; clear bit r/w line -> doc gia tri ra tu lcd

MOVWF 0x06; dua gia tri w vao portb

CALL LCX1; cho lcd trao doi du lieu

Trang 33

b.Dùng ngôn ngữ C:

//==========CHUONG TRINH HIEN THI LCD=================

// MO TA : HIEN THI TREN LCD

// CHUONG TRINH: -HIEN THI TEN VA NHOM HOC PHAN

// -#define e re0 //RS=0-gui cac lenh dk man hinh,RS=1 gui cac lenh hien thi

#define rw re1 //RW=0 cho phep ghi thong tin len ldc,RW=1 doc cac thong tin tren lcd

#define rs re2 //dung chot thong tin du~ lieu tren cac chan cua lcd

#define data portb

#define nut1 ra4

const unsigned char chu[]={"07DT4-DTVT"};

const unsigned char chu1[]={"NHOM:7_24A"};

rs=0;//gui cac lenh dk man hinh

rw=0;//cho phep ghi thong tin len ldc

rs=1;//gui cac lenh dk man hinh

rw=0;//cho phep ghi thong tin len ldc

e=1;

e=0;

Nhóm:07-24A Trang: 33

Trang 34

-Khởi tạo ngắt ngoài 0

-Khởi tạo timer 0

- Ngắt ngoài 0 với độ ưu tiên cao

Ngắt timer 0 với độ ưu tiên thấp

-Viết chương trình cho ngắt ngoài 0, bật 3 đèn led đơn cùng sáng và khởi tạo lại giá trị cho biếndelay để 1s sau thì ngắt timer sẽ tắt 3 đèn đó

Trang 36

Dùng phần mềm mô phỏng pic simulator ide :

Ban đầu nhấn nút rbo thì rb1,rb2,rb3 sáng

Trang 37

Sau thời gian khoảng 1s thì rb1,rb2,rb3 tắt:

Nhóm:07-24A Trang: 37

Ngày đăng: 23/10/2014, 16:41

HÌNH ẢNH LIÊN QUAN

Sơ đồ nguyên lí giản lược cho PIC16F877A - Báo cáo thí nghiệm kỹ thuật vi xử lý & vi điều khiển
Sơ đồ nguy ên lí giản lược cho PIC16F877A (Trang 2)
Sơ đồ nguyên lí giản lược cho PIC16F877A - Báo cáo thí nghiệm kỹ thuật vi xử lý & vi điều khiển
Sơ đồ nguy ên lí giản lược cho PIC16F877A (Trang 6)
Sơ đồ nguyên lí giản lược cho PIC16F877A - Báo cáo thí nghiệm kỹ thuật vi xử lý & vi điều khiển
Sơ đồ nguy ên lí giản lược cho PIC16F877A (Trang 15)
3.4.2: Sơ đồ khối: - Báo cáo thí nghiệm kỹ thuật vi xử lý & vi điều khiển
3.4.2 Sơ đồ khối: (Trang 16)
Sơ đồ khối và sơ đồ nguyên lý giản lược cho PIC16F877A - Báo cáo thí nghiệm kỹ thuật vi xử lý & vi điều khiển
Sơ đồ kh ối và sơ đồ nguyên lý giản lược cho PIC16F877A (Trang 20)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w