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

THÍ NGHIỆM VI XỬ LÝ - VI ĐIỀU KHIỂN

71 660 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 71
Dung lượng 3,04 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Nếu bạn quên không thêm các file cần có vào thì làm theo hướng dẫn sau : ADD header file: Copy header file vào thư mục chứa project để tiện cho việc sử dụng sau này.. Một thao tác cần l

Trang 1

TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA KHOA HỌC VÀ KỸ THUẬT MÁY TÍNH

THÍ NGHIỆM

VI XỬ LÝ - VI ĐIỀU KHIỂN

BM Kỹ thuật Máy tính

2011

Trang 3

Mục Lục 1

Bài 1 : Giới thiệu MPLAB IDE và KIT PIC 1

1.1 Môi trường phát triển MPLAB 1

1.2 Nạp file hex vào vi điều khiển PIC 6

1.3 Debug dùng MpLab SIM 10

1.4 Debug onchip dùng Mplab ICD2 12

1.5 Bài tập 12

Bài 2 : Khảo sát cổng xuất nhập 13

2.1 Kiến thức liên quan 13

2.1.1 Các thanh ghi điều khiển cổng xuất nhập 13

2.1.2 Kết nối mạch 13

2.2 Các bước hiện thực yêu cầu 1 14

2.3 Chương trình mẫu yêu cầu 1 16

2.4 Các bước hiện thực yêu cầu 2 17

2.5 Chương trình mẫu yêu cầu 2 18

2.6 Bài tập 19

Bài 3 : Khảo sát cơ chế ngắt quãng, giao tiếp LCD ký tự 21

3.1 Kiến thức liên quan 21

3.1.1 Tóm tắt các thanh ghi điều khiển ngắt 21

3.2 Các bước hiện thực yêu cầu 1 22

3.3 Chương trình mẫu yêu cầu 1 24

3.4 LCD ký tự 2x16 26

3.4.1 Hình dạng và ý nghĩa các chân: 26

3.4.2 Tổ chức vùng nhớ của LCD 27

3.4.3 Các lệnh giao tiếp với LCD 30

3.4.4 Khởi tạo LCD 30

3.5 Các bước hiện thực yêu cầu 2 32

3.6 Bài tập 37

Bài 4 : Khảo sát bộ định thời 37

4.1 Các bước hiện thực yêu cầu 1 38

4.2 Chương trình mẫu 39

4.3 Bài tập 41

Bài 5 : Kỹ thuật quét ma trận phím 42

5.1 Kết nối mạch ma trận phím 42

5.2 Các bước hiện thực 43

5.3 Bài tập 47

Bài 6 : Kỹ thuật quét LED 48

6.1 Cấu tạo LED 7 đoạn và LED ma trận 48

6.2 Kết nối mạch 50

6.3 Các thanh ghi liên quan và cách điều khiển 51

6.4 Các bước hiện thực 54

6.5 Bài tập 57

Bài 7 : Khảo sát bộ truyền nhận nối tiếp 58

7.1 Các bước hiện thực 58

Trang 4

Bài 8 : Khảo sát khối chuyển đổi A-D 63

8.1 Các bước hiện thực 63

8.2 Bài tập 64

Bài 9 : Khảo sát các khối chức năng đặc biệt khác 65

9.1 Các bước hiện thực PWM 65

9.2 Chương trình mẫu 66

9.3 Bài tập 67

Trang 5

Bài 1 : Giới thiệu MPLAB IDE và KIT PIC

Nội dung :

Tạo project trên MPLAB IDE

Viết chương trình ASM

Dịch và nạp chương trình vào vi điều khiển PIC

Chạy và gỡ rối chương trình

1.1 Phần cứng thí nghiệm ICD2 và PICDEM 2 PLUS

Bộ hổ trợ lập trình dùng với máy tính ICD2 (In-Circuit Debugger)

Kit thí nghiệm PICDEM 2 Plus có các đặc điểm như hình sau :

1 Đế cắm DIP 18, 28 và 40 chân (có thể cắm 3 linh kiện nhưng chỉ dùng 1 mỗi lần)

2 Ổn áp +5V dùng cho nguồn 9V, 100 mA AC/DC hay pin 9V

3 Đầu cắm DB-9 theo chuẩn giao tiếp RS-232

4 Đầu cắm qua bộ lập trình In-Circuit Debugger (ICD)

5 Biến trở 5KΩ dùng cho tín hiệu nhập tương tự

6 Ba nút nhấn dùng tạo tín hiệu kích từ bên ngoài và reset

7 LED nguồn

8 Bốn LED chỉ thị cho PORTB

9 Jumper J6 để ngắt LED chỉ thị RB0 (khi nhập tín hiệu từ nút nhấn RB0)

USB Nối với card

Cổng nối tiếp ICD2

Sơ đồ kết nối ICD2

Trang 6

10 Bộ dao động (OSC) 4 MHz

11 Nơi để lắp thêm thạch anh dao động nếu cần

12 Thạch anh dao động 32.768 kHz tạo xung clock cho Timer1

13 Jumper J7 để ngắt dao động RC có sẳn (khoảng 2 MHz)

14 EEPROM nối tiếp 32K x 8 bit

15 Màn hình LCD

16 Kèn Piezo

17 Vùng lắp thêm linh kiện

18 Cảm biến nhiệt TC74

1.2 Môi trường phát triển MPLAB

Bước 1 Chạy phần mềm MPLAB:

Start_|All Programs_|Microchip_|MPLAB IDE v8.00_|MPLAB IDE

Bước 2 Chọn Menu :

Project_|Project Wirazd…

Chọn Next ở cửa sổ Welcome

Bước 3 Chọn số hiệu PIC cần sử dụng (PIC18F4520) rồi bấm Next:

Bước 4 Chọn tool Microchip MPASM Toolsuite tại ô Active Toolsuite

Trang 7

  Chọn MPASM Assembler (mpasmwin.exe) tại ô Tollsuite Contents

Click Next qua cửa sổ kế

Bước 5 Nhấn Browse… để chọn thư mục và đánh tên project

Chọn thư viện thông qua file INC và LKR thêm vào project

Trang 8

C:\Program Files\Microchip\MPASM Suite\LKR\18f4520.lkr

C:\Program Files\Microchip\MPASM Suite\P18F4520.INC

Click Next sẽ thấy như sau :

Click Finish Ta sẽ được một project như hình sau:

Trang 9

Bước 6 Thêm file vào dự án theo các bước sau :

Một project đơn giản nhất phải gồm có 2 thành phần Source files và Hearder Files Thư mục Source files chứa file text *.asm hoặc file *.c chứa code lập trình Thư mục Hearder Files chứa file *.h hoặc *.INC: file có sẵn của microchip

Nếu bạn quên không thêm các file cần có vào thì làm theo hướng dẫn sau :

ADD header file: ( Copy header file vào thư mục chứa project để tiện cho việc sử dụng sau này)

Cửa sổ hiện lên như sau: Từ Menu

bar chọn File_|Save để lưu

Thực hiện Save, đặt tên với đuôi asm vào thư mục chứa dự

cửa sổ lựa chọn

Trang 10

Công việc tiếp theo là viết code (trong cửa sổ text editor của source file)

Ðối với project lớn dùng nhiều source file và header file, ta làm lại quá trình thêm file vào dự án nhiều lần

1.3 Nạp file hex vào vi điều khiển PIC

Sau khi tạo được một project, ta tiến hành build nó để tạo ra *.hex Có thể mô tả công việc như sau:

Ví dụ, ta có một chương trình cho PIC như sau:

;===================================================

; Name: BaiTN1.asm

; Project: Nhap du lieu tu nut nhan RA4

; Khi nut RA4 duoc nhan thi led don RB0 sang,

; Khi khong nhan RA4 thi led don RB0 tat

; Author: BKIT HARDWARE CLUB

start call init

;chuong trinh chinh

;chuong trinh khoi dong ban dau

init

return end

Bây giờ chúng ta lưu chương trình vừa viết thành BaiTN1.asm vào một thư mục đã

tạo project phía trên Để compile chương trình ta vào menu Project_|Build All như hình

bên dưới

Trang 11

Nếu việc build thất bại, nhưng việc này thì không mong muốn, ta có thấy kết quả như hình sau:

Trang 12

Nếu thành công, ta sẽ thấy hình sau:

Nếu việc build đã thành công, chương trình sẽ dịch BaiTN1.asm thành BaiTN1.hex trong cùng thư mục chương trình BaiTN1.asm Sau khi đã có được file hex, công việc tiếp theo là làm thế nào để nạp được file Hex xuống board Đầu tiên, chọn mạch nạp bằng

cách vào menu Programmer_|Select Programmer_|Mplab ICD2 như hình sau :

Sau khi chọn Mplab ICD2 xong thì ta sẽ thấy giao diện như sau:

Trang 13

Một thao tác cần làm giúp ta có thể dịch chương trình, nạp và chạy tự động là vào

menu Programmer_|Settings…_|Program chọn mục Automatically như hình sau :

Bây giờ ta có thể dịch, nạp và chạy dự án với thao tác menu Project_|Build All (hoặc

nhấn Ctrl-F10)

Nếu thành công thì chương trình sẽ được dịch, nạp ra card PICDEM và chạy ngay

Trang 14

Nếu thất bại, xem thông tin báo lỗi trong cửa sổ Output để khắc phục và làm lại từ bước Build All

Trường hợp thành công mà chương trình chạy không đúng, ta phải sử dụng công cụ Debugger để tìm lỗi theo một trong hai cách sau

1.4 Debug dùng MpLab SIM

Bước 1 Chọn Debugger bằng menu

Debugger_|Select Debugger_|Mplab SIM

Bước 2 Tham khảo menu Debugger Xuất hiện nhiều chức năng hỗ trợ debug

Từ đây ta đã có thể mô phỏng được chương trình của mình một cách dễ dàng

Các chức năng thường dùng :

• Run (F9): chạy chương trình, chương trình sẽ chạy liên tục đến khi nào có breakpoint thì dừng

• Breakpoints (F2): tạo ra breakpoint tại vị trí hiện tại của con trỏ (cũng có thể

"double click" vào hàng code mình mong muốn đặt Breakpoint)

• Step Into (F7): chạy từng bước, vào trong chương trình con (nếu gặp)

• Step Over (F8): chạy từng bước, gọi chương trình con cũng xem như 1 bước

• Reset: trở về đầu chương trình

Trang 15

Bước 3 Khi debug thì ta cũng cần phải biết giá trị của các thanh ghi cũng như bộ nhớ

của chip như thế nào, để xem được các giá trị này thì chúng ta qua menu View

Để xem được giá trị của các thanh ghi trong PIC ta chọn menu View_|File registers

sẽ xuất hiện cửa sổ như hình sau:

Để xem được giá trị của các thanh ghi SFR thì ta chọn View_|Special Function

Registers sẽ xuất hiện của sổ như hình sau:

Hay để xem một và thanh ghi mà ta quan tâm thì có thể dùng Watch để xem bằng

cách vào menu View_|Watch thì hình sau sẽ xuất hiện:

Muốn xem thanh ghi nào, ta chỉ việc chọn thanh ghi tương ứng trong combobox bên trên, sau đó nhấn Add SFR

Trang 16

1.5 Debug onchip dùng Mplab ICD2

Cũng giống như debug trên Mplab SIM, Mplab ICD2 cũng có những tính năng tương

tự, nhưng khi sử dụng Mplab ICD2 thì cần phải có mạch debug, và các hiện tượng xảy ra giống như khi chạy thực tế

1.6 Bài tập

Cải tiến chương trình BaiTN1.asm để khi nhấn RA4 sẽ thấy 4 LED từ RB3 đến RB0 sáng như đầu ra một bộ đếm 4 bit nhị phân tăng dần (mỗi lần nhấn tăng 1)

1.7 Báo cáo

• Các điều kiện cần có để tiến hành thí nghiệm gồm những gì ?

• Các bước cần làm để nạp chương trình ra card có chip vi điều khiển

• Các bước cần làm để tiến hành debug giả lập trên máy hoặc trên mạch

Trang 17

Bài 2 : Khảo sát cổng xuất nhập

Nội dung:

Khảo sát hoạt động của nút nhấn, LED

Khảo sát các thanh điều khiển cổng xuất nhập

Tính toán thời gian thực thi lệnh, viết chương trình con làm nhiệm vụ delay Viết chương trình kiểm tra nút nhấn và hiển thị kết quả kiểm tra ra LED

2.1 Kiến thức liên quan

2.1.1 Các thanh ghi điều khiển cổng xuất nhập

Mỗi Port có ba thanh ghi điều khiển hoạt động chính:

Các bit trong thanh ghi TRIS: thiết lập chân tương ứng là ngõ vào (logic 1) hoặc ngõ ra (logic 0)

Các bit trong thanh ghi PORT: đọc mức logic từ chân tương ứng

Các bit trong thanh ghi LAT: ghi mức logic ra chân tương ứng

2.1.2 Kết nối mạch

Vị trí LED hiển thị và nút nhấn trên board như hình dưới đây:

Trang 18

LED hiển thị có kết nối như sau:

Muốn các LED sáng, các chân RBi tương ứng phải lên mức 1 Riêng LED D2 còn phải nối jumper J6 lại mới sáng được khi RB0=1

Lý do có jumper JP6 là do chân RB0 còn được dùng làm ngỏ nhập nút nhấn RB0 Như vậy, lúc nào muốn dùng chân RB0 là ngỏ xuất LED thì đóng jumper JP6 lại Ngược lại, để hở JP6 sẽ dùng RB0 làm ngỏ nhập nút nhấn

Các nút nhấn có kết nối như sau:

Nút nhấn RA4, RB0 khi được nhấn sẽ làm cho chân tương ứng ở mức logic 0 Cần thiết lập các chân RA4 và RB0 là ngõ vào

Bộ dao động chính là bộ dao động ngoài tần số 4 MHz có kết nối như sau:

Trên kit thí nghiệm, thạch anh Y2 được sử dụng cho tất cả các bài thí nghiệm

2.2 Các bước hiện thực yêu cầu 1

Bước 1 Tạo project mới giống như hướng dẫn ở chương 1 lấy tên project là Led_don,

tạo file led_don.asm và chọn chip 18f4520 Ta được hình sau:

Trang 19

Bước 2 Include file p18f4520.inc vào file led_don.asm

Bước 3 Khởi tạo PORTB là cổng xuất ở các bit RB0-RB3.

dl_1 nop

decfsz delay bra dl_1 return

Bước 5 Từ đây ta có thể tạo ra được hàm delay1s bằng cách gọi hàm delay1ms 1000 lần delay1s movlw 4

movwf delay_1sa

dl_2 movlw 250 ; bắt đầu vòng lặp ngoài

Trang 20

Bước 6 Viết chương trình cho hàm begin thực hiện các yêu cầu của đề bài :

begin incf LATB

call delay1s

2.3 Chương trình mẫu yêu cầu 1

;=====================================;

; Name: led_don.asm

; Project: Xuất dữ liệu ra 4 led đơn đếm từ 0 → 15 → 0

; Thời gian giữa các lần đếm lên 1 đơn vị là 1s

; Author: BKIT HARDWARE CLUB

start call init

; chuong trinh chinh

begin incf LATB

call delay1s bra begin ; lap lai sau moi giay

; Ham khoi dong ban dau

return

Trang 21

; Ham lam tre 1ms voi tan so dao dong 4MHz

delay1ms ; Gan dung voi xung clock 4 MHz

dl_1 nop

decfsz delay bra dl_1 return

; Ham lam tre 1s = 1000 x 1ms

Sau khi có chương trình mẫu ta thực hiện việc compile chương trình và nạp xuống mạch để chạy chương trình như hướng dẫn ở chương 1

2.4 Các bước hiện thực yêu cầu 2

Bước 1 Tạo project mới giống như hướng dẫn ở chương 1 lấy tên project là Nut_nhan

và chọn chip 18f4520 Ta được hình sau:

Trang 22

Bước 2 Include file p18f4520.inc vào file nut_nhan.asm

Bước 3 Khởi tạo PORTB bit RB0 là cổng xuất (jumper JP6 đóng) và PORTA bit RA4

Bước 4 Viết chương trình cho hàm main thực hiện yêu cầu của đề bài

main btfsc PORTA,RA4 ; chờ đến khi RA4 được nhấn

2.5 Chương trình mẫu yêu cầu 2

;=====================================;

; Name: nut_nhan.asm

; Project: Nhập dữ liệu từ nút nhấn RA4

; Khi nút RA4 được nhấn thì led đơn RB0 sáng,

; Khi không nhấn RA4 thì led đơn RB0 tắt

; Author: BKIT HARDWARE CLUB

; Vung du lieu

udata

; Chuong trinh nay khong su dung bien

; Vung bat dau code

start call init

; chuong trinh chinh

main btfsc PORTA,RA4 ; cho den khi RA4 duoc nhan

bra main

swoff btfss PORTA,RA4 ; cho den khi RA4 duoc nha

; Ham khoi dong ban dau

init clrf PORTB

Trang 23

bsf TRISA,RA4 ; RA4 nhap

return end

Sau khi có chương trình mẫu ta thực hiện việc compile chương trình và nạp xuống mạch để chạy chương trình như hướng dẫn ở chương 1

• Cần làm những gì để có thể sử dụng cổng giao tiếp song song?

• Giải thích tại sao dùng LATB và PORTB lúc giống nhau, lúc khác nhau

• Hãy tính thời gian chính xác của vòng lặp delay

Trang 25

Bài 3 : Khảo sát cơ chế ngắt quãng, giao tiếp LCD ký tự

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

Ngắt ngoài INT0 (nhận ngắt qua nút nhấn RB0, Jumper JP6 hở) 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 INT0 bật 3 led đơn RB1, RB2, RB3 sá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

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

3.1 Kiến thức liên quan

3.1.1 Tóm tắt các thanh ghi điều khiển ngắt

Thanh ghi INTCON:

Thanh ghi PIE1:

Thanh ghi PIE2:

Thanh ghi PIR1:

Thanh ghi PIR2:

Trang 26

Sơ đồ điều khiển ngắt:

3.2 Các bước hiện thực yêu cầu 1

Bước 1 Tạo project mới giống như hướng dẫn ở chương 1 lấy tên project là Interrupt,

tạo file interrupt.asm và chọn chip 18f4520 Ta được hình sau:

Bước 2 Include file p18f4520.inc vào file interrupt.asm

Bước 3 Khởi tạo PortB là output sử dụng các lệnh clrf, bcf

init clrf LATB ; RB1-RB3 la cong xuat

Trang 27

Bước 4 Khởi tạo timer 0 tạo ngắt 100 ms (với xung clock 4 MHz, chọn prescaler 2:1, số

đếm 50000), cho ngắt timer 0 có độ ưu tiên thấp

init_timer0

Bước 5 Khởi tạo ngắt ngoài 0 tích cực cạnh xuống

Đối với ngắt ngoài INT1 và INT2, độ ưu tiên phụ thuộc vào 2 bit INT1IP và INT2IP trong thanh ghi INTCON3 Còn với ngắt ngoài INT0 thì độ ưu tiên luôn là cao

init_int0

return

Bước 6 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ến delay để 1s sau thì ngắt timer sẽ tắt 3 đèn đó

Bước 7 Viết chương trình cho ngắt timer0, sau 1s sau khi led được bật sáng thì nó sẽ

làm cho led tắt

Thời gian để timer đếm lên 1 đơn vị đựơc tính bằng công thức :

t = (1/(Focs/4))*prescaler = (1/(4Mhz/4))*2) =2μs

Trang 28

Như vậy, muốn có thời khoảng 100 ms (100000μs), ta cần đếm 50000 lần

timer0_isr

decfsz delay,1 bra timer0_isr_1

movlw 10 movwf delay

; Project: 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

; -Ngắt INT0 : bật 3 led đơn RB1, RB2, RB3 sáng cùng ;lúc

; -Ngắt timer0 : tắt 3 led đơn RB1, RB2, RB3 sau 1s

; Author: BKIT HARDWARE CLUB

goto main

goto isr_high org 18H goto isr_low

Trang 29

call init_timer0 call init_int0

; Ham khoi dong ban dau

init clrf LATB ; RB1-RB3 la cong xuat

; Ham khoi dong timer0

init_timer0

movlw 10 movwf delay

timer0_isr_1

Trang 30

; Ham xu ly ngat uu tien cao

isr_high

call int0_isr retfie

; Ham xu ly ngat uu tien thap

isr_low

call timer0_isr retfie

Trang 31

Dữ liệu/Lệnh đưa vào LCD

3.4.2 Tổ chức vùng nhớ của LCD

Display Data Ram (DDRAM): lưu trữ mã ký tự hiển thị ra màn hình Mã này giống

với mã ASCII Có tất cả 80 ô nhớ DDRAM Vùng hiển thị tương ứng với cửa sổ gồm 16

ô nhớ hàng đầu tiên và 16 ô nhớ hàng thứ hai Chúng ta có thể tạo hiệu ứng dịch chữ

bằng cách sử dụng lệnh dịch (mô tả sau), khi đó cửa sổ hiển thị sẽ dịch đem lại hiệu ứng

dịch chữ

Character Generator Ram (CGRAM): lưu trữ tám mẫu ký tự do người dùng định

nghĩa Tám mẫu ký tự này tương ứng với các mã ký tự D7-D0 = 0000*D2D1D0 (* mang

giá trị tùy định 0 hay 1)

Trang 32

Character Generator Rom (CGROM): lưu trữ cứng các mẫu ký tự tương ứng với mã

ASCII Dưới đây là bảng ánh xạ giữa mã ký tự và mẫu ký tự

Trang 33

Chúng ta muốn hiển thị chữ “CE” ở giữa hàng đầu tiên, giả sử cửa sổ hiển thị đang bắt đầu từ vị trí đầu tiên (hàng thứ nhất hiển thị dữ liệu của ô nhớ từ 0x00 đến 0x0f, hàng thứ hai hiển thị dữ liệu của ô nhớ từ 0x40 đến 0x4f, đây là vị trí home) Giá trị của ô nhớ 0x07 là 0x43 (ký tự C), của ô nhớ 0x08 là 0x45 (ký tự E)

Chúng ta muốn hiển thị chữ “®” ở giữ hàng thứ hai, giả sử cử sổ hiển thị đang ở vị trí home Trong bảng mẫu ký tự chúng ta thấy không có mẫu “®” Lúc này chúng ta phải định nghĩa mẫu “®” 5x8 điểm, gồm có 8 byte, sau đó lưu vào vị trí của mẫu ký tự CGRAM thứ nhất Lúc này giá trị của ô nhớ 0x47 là 0x00 hoặc 0x08 (vị trí của mẫu ký

tự CGRAM thứ nhất “®”)

Trang 34

3.4.3 Các lệnh giao tiếp với LCD

Lệnh RS RW D7 D6 D5 D4 D3 D2 D1 D0 Thời gian thực thi

Clear display 0 0 0 0 0 0 0 0 0 1 1.52ms Return home 0 0 0 0 0 0 0 0 1 * 1.52ms Entry mode set 0 0 0 0 0 0 0 1 I/D SH 37µs Display on/off

Set CGRAM

address 0 0 0 1 CGRAM address 37µs Set DDRAM

Read BUSY flag

Write to

DDRAM or

CGRAM 1 0 D7 D6 D5 D4 D3 D2 D1 D0 43µs Read from

DDRAM or

CGRAM

1 1 D7 D6 D5 D4 D3 D2 D1 D0 43µs

Các bit trên bảng tóm tắt các lệnh có ý nghĩa như sau:

I/D 1 Increment 0 Decrement

SH 1 Entire shift on 0 Entire shift off

S/C 1 Display shift 0 Cursor move

R/L 1 Shift to the Right 0 Shift to the Left

F 1 5x10 dots Font 0 5x8 dots Font

BF 1 Internally operating 0 Can accept instruction

Trên kit thí nghiệm LCD ký tự 2x16 được kết nối vào Port D ở chế độ 4 bit Ở chế độ

4 bit, để đọc hay ghi một byte phải tiến hành cài dữ liệu hai lần, lần đầu là 4 bit cao, lần thứ hai là 4 bit thấp

3.4.4 Khởi tạo LCD

Sơ đồ kết nối LCD:

Trang 35

Q2 MMBT2222A

VCC

R20 2.2K

RD7

RD4 RD5 RD6

Vss 1 Vdd 2 Vee 3 RS 4 R/W 5 E 6 D0 7 D1 8 D2 9 D3 10 D4 11 D5 12 D6 13 D7 14 A 15 K 16

LCD1

RD3 RD2 RD1 RD0

LCD ký tự 2x16

Trước khi xuất ký tự ra màn hình LCD, LCD controller phải được khởi tạo khi mới được cấp nguồn Trình tự khởi tạo như lược đồ sau Trên lược đồ, lệnh “Display clear” có giá trị 0x01 được gửi hai lần, lần đầu là 4 bit cao có giá trị 0x0, lần thứ hai là bốn bit thấp

có giá trị 0x01 Lệnh “Function set” gửi hai lần giá trị 0x2

Ngày đăng: 27/08/2016, 19:13

HÌNH ẢNH LIÊN QUAN

Sơ đồ kết nối ICD2 - THÍ NGHIỆM VI XỬ LÝ - VI ĐIỀU KHIỂN
Sơ đồ k ết nối ICD2 (Trang 5)
Sơ đồ điều khiển ngắt: - THÍ NGHIỆM VI XỬ LÝ - VI ĐIỀU KHIỂN
i ều khiển ngắt: (Trang 26)
Sơ đồ kết nối LCD: - THÍ NGHIỆM VI XỬ LÝ - VI ĐIỀU KHIỂN
Sơ đồ k ết nối LCD: (Trang 34)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w