Ex 1: External Interrupt Lab

18
Ex 1: External Interrupt Lab: 1. Thiết kế hệ thống đếm sản phẩm gồm 2 LED 7 đoạn hiển thị SS (trong đó SS: số lượng sản phẩm). Yêu cầu: o Chọn tần số dao động thạch anh là 4MHz. o Phải sử dụng ngắt để đếm sản phẩm. o Sử dụng nút nhấn để giả lập xung đếm sản phẩm (phải kết nối với ngõ vào điều khiển ngắt INT). o Giá trị mặc định 00 (số lượng sản phẩm nằm trong khoảng 00 – 99). o Tự chọn phương pháp kết nối hệ thống sau cho có thể chạy trên mô hình. o Tự chọn viết chương trình bằng ngôn ngữ C hoặc ASM. o Có thể phát triển thêm tùy sáng kiến của nhóm. o Nộp báo cáo (BÀI CHỈ CÓ ĐIỂM KHI HOÀN TẤT ĐẦY ĐỦ CÁC MỤC NÀY): File chương trình (C hoặc ASM). File mô phỏng (Protues). Thiết kế hệ thống (lắp ráp hệ thống đã thiết kế trên mô hình). 2. Thiết kế hệ thống điều khiển 8 LED sáng đuổi liên tục và sẽ bị dừng lại khi có sự thay đổi giá trị tại RB4 – RB7. Yêu cầu: o Chọn tần số dao động thạch anh là 4MHz. o Phải sử dụng ngắt để đếm sản phẩm. o Sử dụng 4 nút nhấn để giả lập tín hiệu dừng hoạt động của hệ thống (phải kết nối với ngõ vào điều khiển ngắt RB4 – RB7). o Tự chọn phương pháp kết nối hệ thống sau cho có thể chạy trên mô hình. o Tự chọn viết chương trình bằng ngôn ngữ C hoặc ASM. o Có thể phát triển thêm tùy sáng kiến của nhóm. o Nộp báo cáo: File chương trình (C hoặc ASM). File mô phỏng (Protues). Thiết kế hệ thống (lắp ráp hệ thống đã thiết kế trên mô hình).

Transcript of Ex 1: External Interrupt Lab

Ex 1: External Interrupt Lab:

1. Thiết kế hệ thống đếm sản phẩm gồm 2 LED 7 đoạn hiển thị SS (trong đó SS: số lượng sản

phẩm).

• Yêu cầu:

o Chọn tần số dao động thạch anh là 4MHz.

o Phải sử dụng ngắt để đếm sản phẩm.

o Sử dụng nút nhấn để giả lập xung đếm sản phẩm (phải kết nối với ngõ vào điều

khiển ngắt INT).

o Giá trị mặc định 00 (số lượng sản phẩm nằm trong khoảng 00 – 99).

o Tự chọn phương pháp kết nối hệ thống sau cho có thể chạy trên mô hình.

o Tự chọn viết chương trình bằng ngôn ngữ C hoặc ASM.

o Có thể phát triển thêm tùy sáng kiến của nhóm.

o Nộp báo cáo (BÀI CHỈ CÓ ĐIỂM KHI HOÀN TẤT ĐẦY ĐỦ CÁC MỤC NÀY): � File chương trình (C hoặc ASM).

� File mô phỏng (Protues).

� Thiết kế hệ thống (lắp ráp hệ thống đã thiết kế trên mô hình).

2. Thiết kế hệ thống điều khiển 8 LED sáng đuổi liên tục và sẽ bị dừng lại khi có sự thay đổi giá trị

tại RB4 – RB7.

• Yêu cầu:

o Chọn tần số dao động thạch anh là 4MHz.

o Phải sử dụng ngắt để đếm sản phẩm.

o Sử dụng 4 nút nhấn để giả lập tín hiệu dừng hoạt động của hệ thống (phải kết nối

với ngõ vào điều khiển ngắt RB4 – RB7).

o Tự chọn phương pháp kết nối hệ thống sau cho có thể chạy trên mô hình.

o Tự chọn viết chương trình bằng ngôn ngữ C hoặc ASM.

o Có thể phát triển thêm tùy sáng kiến của nhóm.

o Nộp báo cáo:

� File chương trình (C hoặc ASM).

� File mô phỏng (Protues).

� Thiết kế hệ thống (lắp ráp hệ thống đã thiết kế trên mô hình).

Ex 2: Timer Lab:

1. Thiết kế hệ thống điều khiển 16 LED đơn sáng đuổi từ trái sang phải, thời gian thay đổi trạng

thái là 1s.

• Yêu cầu:

o Tự chọn tần số dao động thạch anh là 4MHz.

o Phải sử dụng Timer để tạo thời gian.

o Tự chọn phương pháp kết nối hệ thống sau cho có thể chạy trên mô hình.

o Tự chọn viết chương trình bằng ngôn ngữ C hoặc ASM.

o Có thể phát triển thêm tùy sáng kiến của nhóm.

o Nộp báo cáo (BÀI CHỈ CÓ ĐIỂM KHI HOÀN TẤT ĐẦY ĐỦ CÁC MỤC NÀY):

� File chương trình (C hoặc ASM).

� File mô phỏng (Protues).

� Thiết kế hệ thống (lắp ráp hệ thống đã thiết kế trên mô hình).

2. Thiết kế hệ thống đồng hồ số gồm 6 LED 7 đoạn (hoặc dùng LCD) hiển thị HH:MM:SS (trong đó

HH: giờ, MM: phút, SS: giây).

• Yêu cầu:

o Chọn tần số dao động thạch anh là 4MHz.

o Phải sử dụng Timer để tạo thời gian.

o Đảm bảo độ chính xác về mặt thời gian của đồng hồ.

o Thời gian mặc định ban đầu là 12:55:00.

o Đồng hồ chạy chế độ 24 giờ.

o Tự chọn phương pháp kết nối hệ thống sau cho có thể chạy trên mô hình.

o Tự chọn viết chương trình bằng ngôn ngữ C hoặc ASM.

o Có thể phát triển thêm tùy sáng kiến của nhóm.

o Nộp báo cáo (BÀI CHỈ CÓ ĐIỂM KHI HOÀN TẤT ĐẦY ĐỦ CÁC MỤC NÀY):

� File chương trình (C hoặc ASM).

� File mô phỏng (Protues).

� Thiết kế hệ thống (lắp ráp hệ thống đã thiết kế trên mô hình).

3. Thiết kế hệ thống đếm sản phẩm gồm 8 LED 7 đoạn (hoặc dùng LCD) hiển thị TT:DD:SSSS (trong

đó TT: số lượng thùng, DD: giá trị mặc định số sản phẩm trong 1 thùng, SSSS: số lượng sản

phẩm).

• Yêu cầu:

o Chọn tần số dao động thạch anh là 4MHz.

o Phải sử dụng Timer để đếm sản phẩm.

o Sử dụng nút nhấn để giả lập xung đếm sản phẩm (phải kết nối với ngõ vào Timer).

o Tự chọn giá trị mặc định số sản phẩm trong 1 thùng riêng cho nhóm (>=12, hàng

đơn vị phải khác 0).

o Giá trị mặc định 00:xx:0000.

o Tự chọn phương pháp kết nối hệ thống sau cho có thể chạy trên mô hình.

o Tự chọn viết chương trình bằng ngôn ngữ C hoặc ASM.

o Có thể phát triển thêm tùy sáng kiến của nhóm.

4. Thiết kế hệ thống tạo sóng vuông có tần số là 1Hz, 100Hz tại 2 ngõ ra khác nhau.

• Yêu cầu:

o Chọn tần số dao động thạch anh là 4MHz.

o Phải sử dụng Timer để sóng vuông.

o Mô phỏng bằng cách sử dụng thiết bị mô phỏng OSCILLOSCOPE và đo thử trên mô

hình bằng máy hiện sóng 20Mz.

o Tự chọn viết chương trình bằng ngôn ngữ C hoặc ASM cho mỗi trường hợp.

o Có thể phát triển thêm tùy sáng kiến của nhóm.

o Nộp báo cáo (BÀI CHỈ CÓ ĐIỂM KHI HOÀN TẤT ĐẦY ĐỦ CÁC MỤC NÀY):

� File chương trình (C hoặc ASM).

� File mô phỏng (Protues).

� Thiết kế hệ thống (lắp ráp hệ thống đã thiết kế trên mô hình).

Ex 3: 7-segment LED Lab:

1. Thiết kế hệ thống điều khiển hiển thị sử dụng LED 7 đoạn để thực hiện việc đếm số liên tục

cho các trường hợp sau:

a. Đếm số BCD từ 00 – 23.

b. Đếm số BCD từ 23 – 00.

c. Đếm số HEX từ 50 – AB.

d. Đếm số HEX từ AB – 50.

e. Đếm số BCD từ 1965 – 2001.

f. Đếm số BCD từ 2001 – 1965.

g. Đếm số HEX từ 1F45 – 2001.

h. Đếm số HEX từ 2001 – 1F45.

• Yêu cầu:

o Viết 4 chương trình tương ứng với 4 cấu hình LED 7 đoạn sau đây cho mỗi trường

hợp đếm số bên trên:

� Phương pháp không đa hợp, ngõ vào dữ liệu kiểu BCD.

� Phương pháp không đa hợp, ngõ vào dữ liệu kiểu 7 đoạn.

� Phương pháp đa hợp, ngõ vào dữ liệu kiểu BCD (không dùng vi mạch giải

đa hợp bên ngoài).

� Phương pháp đa hợp, ngõ vào dữ liệu kiểu 7 đoạn (không dùng vi mạch

giải đa hợp bên ngoài).

o Thời gian thay đổi số đếm là 0,3s với tần số dao động thạch anh là 4MHz.

o Tự chọn viết chương trình bằng ngôn ngữ C hoặc ASM cho mỗi trường hợp.

o Có thể phát triển thêm tùy sáng kiến của nhóm.

o Nộp báo cáo (BÀI CHỈ CÓ ĐIỂM KHI HOÀN TẤT ĐẦY ĐỦ CÁC MỤC NÀY):

� File chương trình (C hoặc ASM).

� File mô phỏng (Protues).

� Thiết kế hệ thống (lắp ráp hệ thống đã thiết kế trên mô hình).

2. Thiết kế hệ thống điều khiển hiển thị sử dụng LED 7 đoạn để thực hiện việc hiển thị thông tin

cho các trường hợp sau:

a. Hiển thị chuỗi ký tự “-PEP-SI-“ trên 8 LED.

b. Sáng tắt liên tục chuỗi ký tự “-PEP-SI-“ trên 8 LED. (*)

c. Sáng tắt 10 lần chuỗi ký tự “COCACOLA“, sau đó sáng liên tục chuỗi ký tự đó trên 8

LED. (*)

d. Hiển thị lần lượt các chuỗi ký tự “COCACOLA“, “-PEP-SI-“, “-FANTA-“ trên 8 LED, quá

trình hiển thị được lặp lại liên tục. (**)

e. Hiển thị và dịch chuyển liên tục chuỗi ký tự “-PEP-SI-“ trên 8 LED từ phải sang trái.

(***)

f. Hiển thị và dịch chuyển liên tục chuỗi ký tự “COCACOLA“ trên 8 LED từ trái sang

phải. (***)

g. Hiển thị và dịch chuyển chuỗi ký tự “PIC16F877A - uCONTROLLER“ trên 8 LED từ phải

sang trái, quá trình hiển thị được lặp lại liên tục. (***)

• Yêu cầu:

o Tự chọn phương pháp kết nối hệ thống sau cho có thể chạy trên mô hình.

o Chọn tần số dao động thạch anh là 4MHz, trong đó:

� (*) Thời gian của mỗi lần sáng (hoặc tắt) là 0,5s.

� (**) Thời gian dịch chuyển của chuỗi ký tự là 0,3s.

� (***) Thời gian hiển thị của mỗi chuỗi ký tự là 1s.

o Tự chọn viết chương trình bằng ngôn ngữ C hoặc ASM cho mỗi trường hợp.

o Có thể phát triển thêm tùy sáng kiến của nhóm.

o Nộp báo cáo (BÀI CHỈ CÓ ĐIỂM KHI HOÀN TẤT ĐẦY ĐỦ CÁC MỤC NÀY):

� File chương trình (C hoặc ASM).

� File mô phỏng (Protues).

� Thiết kế hệ thống (lắp ráp hệ thống đã thiết kế trên mô hình).

Ex 4: Matrix LED Lab:

1. Thiết kế hệ thống điều khiển LED ma trận (1 LED ma trận 8 x 8) để thực hiện việc hiển thị

thông tin cho các trường hợp sau:

a. Hiển thị lần lượt các số đếm BCD từ 0 đến 9 ( ), quá trình hiển thị được lặp lại

liên tục. (***)

b. Hiển thị lần lượt các ký tự từ A đến Z ( ), quá trình hiển thị được lặp lại liên tục.

(***)

c. Hiển thị và dịch chuyển liên tục chuỗi ký tự “TRUONG DAI HOC CONG NGHIEP TP HO

CHI MINH – KHOA DIEN TU” ( ) từ phải sang trái. (**)

d. Hiển thị và dịch chuyển liên tục chuỗi ký tự “KHOA CONG NGHE DIEN TU” từ phải

sang trái với cấu trúc màu của LED ma trận như bên dưới (viết riêng từng chương

trình cho từng cấu trúc màu). (**)

e. Hiển thị lần lượt các số đếm BCD từ 0 đến 9. Với điều kiện màu của các số sẽ thay

đổi liên tục –> –> mỗi khi con số trên LED ma trận thay đổi. (***)

f. Hiển thị và dịch chuyển liên tục chuỗi ký tự “KHOA CONG NGHE DIEN TU” từ phải

sang trái. Với điều kiện màu của các ký tự sẽ thay đổi liên tục sau mỗi 1s ( –>

–> ). (**)

g. Hiển thị và dịch chuyển liên tục chuỗi ký tự “KHOA CONG NGHE DIEN TU” từ phải

sang trái. Với điều kiện cấu trúc màu của LED ma trận sẽ thay đổi liên tục sau mỗi 1s

( –> –> –> –> –> –> –> ). (**)

• Yêu cầu:

o Tự chọn phương pháp kết nối hệ thống sau cho có thể chạy trên mô hình.

o Chọn tần số dao động thạch anh là 4MHz, trong đó:

� (*) Thời gian của mỗi lần sáng (hoặc tắt) là 0,5s.

� (**) Thời gian dịch chuyển của chuỗi hình ảnh là 0,3s.

� (***) Thời gian hiển thị của mỗi hình ảnh là 1s.

o Tự chọn viết chương trình bằng ngôn ngữ C hoặc ASM cho mỗi trường hợp.

o Có thể phát triển thêm tùy sáng kiến của nhóm.

o Nộp báo cáo (BÀI CHỈ CÓ ĐIỂM KHI HOÀN TẤT ĐẦY ĐỦ CÁC MỤC NÀY):

� File chương trình (C hoặc ASM).

� File mô phỏng (Protues).

� Thiết kế hệ thống (lắp ráp hệ thống đã thiết kế trên mô hình).

2. Thiết kế hệ thống điều khiển LED ma trận (1 LED ma trận 8 x 8) để thực hiện từng trường

hợp hiệu ứng hình ảnh chuyển động sau đây. Bằng cách sử dụng bộ mã của hình ảnh được

cho sẵn (0xE3,0xC1,0x81,0x03,0x03,0x81,0xC1,0xE3)

a. Hình ảnh chớp tắt liên tục.

b. Hình ảnh dịch chuyển liên tục từ trái sang phải.

c. Hình ảnh dịch chuyển liên tục từ phải sang trái.

d. Hình ảnh dịch chuyển liên tục từ dưới lên trên.

e. Hình ảnh dịch chuyển liên tục từ trên xuống dưới.

f. Hình ảnh sáng dần từ trái sang phải.

g. Hình ảnh sáng dần từ phải sang trái.

h. Hình ảnh sáng dần từ dưới lên trên.

i. Hình ảnh sáng dần từ trên xuống dưới.

j. Hình ảnh sáng dần từ hai bên vào giữa.

• Yêu cầu:

o Phải sử dụng bộ mã tạo hình cho sẵn, không được tăng thêm số lượng mã khi viết

chương trình tạo hiệu ứng.

o Tự chọn phương pháp kết nối hệ thống sau cho có thể chạy trên mô hình.

o Chọn tần số dao động thạch anh là 4MHz, trong đó:

� (*) Thời gian của mỗi lần sáng (hoặc tắt) là 0,5s.

� (**) Thời gian dịch chuyển của chuỗi hình ảnh là 0,3s.

� (***) Thời gian hiển thị của mỗi hình ảnh là 1s.

o Tự chọn viết chương trình bằng ngôn ngữ C hoặc ASM cho mỗi trường hợp.

o Có thể phát triển thêm tùy sáng kiến của nhóm.

o Nộp báo cáo (BÀI CHỈ CÓ ĐIỂM KHI HOÀN TẤT ĐẦY ĐỦ CÁC MỤC NÀY):

� File chương trình (C hoặc ASM).

� File mô phỏng (Protues).

� Thiết kế hệ thống (lắp ráp hệ thống đã thiết kế trên mô hình).

3. Thiết kế hệ thống điều khiển LED ma trận (Bảng LED ma trận 16 x 64) để thực hiện việc hiển

thị thông tin cho các trường hợp sau:

a. Hiển thị và dịch chuyển liên tục chuỗi ký tự “TRUONG DAI HOC CONG NGHIEP TP. HO

CHI MINH - KHOA CONG NGHE DIEN TU” ( ) từ phải sang trái.

(**)

b. Hiển thị và dịch chuyển liên tục từng chữ trong chuỗi ký tự “TRUONG DAI HOC CONG

NGHIEP TP. HO CHI MINH - KHOA CONG NGHE DIEN TU” ( )

từ dưới lên trên. (***)

• Yêu cầu:

o Tự chọn phương pháp kết nối hệ thống sau cho có thể chạy trên mô hình.

o Chọn tần số dao động thạch anh là 4MHz, trong đó:

� (*) Thời gian của mỗi lần sáng (hoặc tắt) là 0,5s.

� (**) Thời gian dịch chuyển của chuỗi hình ảnh là 0,3s.

� (***) Thời gian hiển thị của mỗi hình ảnh là 1s.

o Tự chọn viết chương trình bằng ngôn ngữ C hoặc ASM cho mỗi trường hợp.

o Có thể phát triển thêm tùy sáng kiến của nhóm.

o Nộp báo cáo (BÀI CHỈ CÓ ĐIỂM KHI HOÀN TẤT ĐẦY ĐỦ CÁC MỤC NÀY):

� File chương trình (C hoặc ASM).

� File mô phỏng (Protues).

� Thiết kế hệ thống (lắp ráp hệ thống đã thiết kế trên mô hình).

Ex 5: Character LCD Lab:

1. Thiết kế hệ thống điều khiển Character LCD (2 hàng x 16 ký tự) để thực hiện việc hiển thị

thông tin cho các trường hợp sau:

a. Hiển thị hai dòng chữ “KHOA CONG NGHE” và “DIEN TU” đứng yên trên hai dòng

của màn hình LCD.

b. Hiển thị hai dòng chữ “KHOA CONG NGHE DIEN TU – BO MON DIEN TU CONG NGHIEP” và “DH CONG NGHIEP” trên hai dòng của màn hình LCD với yêu cầu: dòng

chữ thứ nhất dịch chuyển liên tục từ phải sang trái, dòng chữ thứ hai đứng yên.

a. Hiển thị hai dòng chữ “TRUONG DAI HOC CONG NGHIEP THANH PHO HO CHI MINH” và “KHOA CONG NGHE DIEN TU – BO MON DIEN TU CONG NGHIEP” trên hai

dòng của màn hình LCD với yêu cầu: hai dòng chữ đồng thời dịch chuyển liên tục

ngược chiều nhau, dòng chữ thứ nhất dịch chuyển từ phải sang trái, dòng chữ thứ

hai dịch chuyển từ trái sang phải.

• Yêu cầu:

o Tự chọn phương pháp kết nối hệ thống sau cho có thể chạy trên mô hình.

o Thời gian dịch chuyển chuỗi ký là 0,5s với tần số dao động thạch anh là 4MHz.

o Tự chọn viết chương trình bằng ngôn ngữ C hoặc ASM cho mỗi trường hợp.

o Có thể phát triển thêm tùy sáng kiến của nhóm.

o Nộp báo cáo (BÀI CHỈ CÓ ĐIỂM KHI HOÀN TẤT ĐẦY ĐỦ CÁC MỤC NÀY):

� File chương trình (C hoặc ASM).

� File mô phỏng (Protues).

� Thiết kế hệ thống (lắp ráp hệ thống đã thiết kế trên mô hình).

2. Thiết kế hệ thống điều khiển Character LCD (2 hàng x 16 ký tự) để thực hiện việc hiển thị hai

dòng chữ tiếng Việt có dấu “*Khoa Công nghệ*” và “****Điện tử****” đứng yên trên hai

dòng của màn hình LCD.

• Yêu cầu:

o Tự chọn phương pháp kết nối hệ thống sau cho có thể chạy trên mô hình.

o Thời gian dịch chuyển chuỗi ký là 0,5s với tần số dao động thạch anh là 4MHz.

o Tự chọn viết chương trình bằng ngôn ngữ C hoặc ASM cho mỗi trường hợp.

o Có thể phát triển thêm tùy sáng kiến của nhóm.

o Nộp báo cáo (BÀI CHỈ CÓ ĐIỂM KHI HOÀN TẤT ĐẦY ĐỦ CÁC MỤC NÀY):

� File chương trình (C hoặc ASM).

� File mô phỏng (Protues).

� Thiết kế hệ thống (lắp ráp hệ thống đã thiết kế trên mô hình).

3. Thiết kế hệ thống điều khiển đếm sản phẩm hiển thị trên Character LCD (2 hàng x 16 ký tự).

Hệ thống thực hiện việc hiển thị hai dòng chữ “HO CHI MINH UNIVERSITY OF INDUSTRY – FACULTY ELECTRONIC TECHNOLOGY” và “IN 1 = … IN 2 = …” trên hai dòng của màn hình LCD

với yêu cầu: dòng chữ thứ nhất sẽ dịch chuyển liên tục từ phải sang trái, dòng chữ thứ hai

hiển thị số lượng sản phẩm đếm được tại 2 chân bất kỳ của vi điều khiển sẽ được hiển thị

tiếp phía sau dòng chữ “IN 1: … IN 2: …”.

• Yêu cầu:

o Số lượng sản phẩm của 2 ngõ vào được khống chế trong khoảng từ 00 đến 99.

o Nên sử dụng Timer để đếm sản phẩm.

o Sử dụng 2 nút nhấn để giả lập xung đếm sản phẩm (nên kết nối với ngõ vào Timer).

o Tự chọn phương pháp kết nối hệ thống sau cho có thể chạy trên mô hình.

o Thời gian dịch chuyển chuỗi ký là 0,5s với tần số dao động thạch anh là 4MHz.

o Tự chọn viết chương trình bằng ngôn ngữ C hoặc ASM cho mỗi trường hợp.

o Có thể phát triển thêm tùy sáng kiến của nhóm.

o Nộp báo cáo (BÀI CHỈ CÓ ĐIỂM KHI HOÀN TẤT ĐẦY ĐỦ CÁC MỤC NÀY):

� File chương trình (C hoặc ASM).

� File mô phỏng (Protues).

� Thiết kế hệ thống (lắp ráp hệ thống đã thiết kế trên mô hình).

Ex 6: Keypad 4x4 Lab:

1. Thiết kế hệ thống điều khiển 8 LED đơn kết hợp với bàn phím ma trận 4x4 hoạt động như

sau:

o Ban đầu khi chưa nhấn phím thì 8 LED tắt.

o Khi nhấn phím “F1”: 8 LED sáng tắt liên tục.

o Khi nhấn phím “F2”: 8 LED sáng đuổi từ trái sang phải liên tục.

o Khi nhấn phím “F3”: 8 LED sáng dần từ trái sang phải liên tục.

o Khi nhấn phím “F4”: 8 LED sáng dần từ hai bên vào giữa liên tục.

• Yêu cầu:

o Nếu ta nhấn các phím khác (các trường hợp phím nhấn không phải là các phím bên

trên) thì không làm thay đổi trạng thái hiện tại của hệ thống.

o Trạng thái hoạt động của hệ thống phải thay đổi ngay lập tức sau khi phím nhấn có

tác dụng.

o Tự chọn phương pháp kết nối hệ thống sau cho có thể chạy trên mô hình.

o Thời gian thay đổi trạng thái LED là 0,5s với tần số dao động thạch anh là 4MHz.

o Tự chọn viết chương trình bằng ngôn ngữ C hoặc ASM cho mỗi trường hợp.

o Có thể phát triển thêm tùy sáng kiến của nhóm.

o Nộp báo cáo (BÀI CHỈ CÓ ĐIỂM KHI HOÀN TẤT ĐẦY ĐỦ CÁC MỤC NÀY):

� File chương trình (C hoặc ASM).

� File mô phỏng (Protues).

� Thiết kế hệ thống (lắp ráp hệ thống đã thiết kế trên mô hình).

2. Thiết kế hệ thống điều khiển 8 LED 7 đoạn (có thể thay thế bằng LCD) kết hợp với bàn phím

ma trận 4x4 hoạt động như sau:

o Ban đầu khi chưa nhấn phím thì không hiển thị thông tin trên LED (hoặc LCD).

o Khi nhấn phím “ESC”: không hiển thị thông tin (tắt hiển thị).

o Khi nhấn phím “1”: hiển thị chuỗi “COCACOLA”.

o Khi nhấn phím “2”: hiển thị chuỗi “PEPSI”.

o Khi nhấn phím “3”: hiển thị chuỗi “FANTA”.

o Khi nhấn phím “4”: thì hiển thị chuỗi “TRIBECO”.

o Khi nhấn phím “5”: thì hiển thị chuỗi “NUOCSUOI”.

• Yêu cầu:

o Nếu ta nhấn các phím khác (các trường hợp phím nhấn không phải là các phím bên

trên) thì không làm thay đổi trạng thái hiện tại của hệ thống.

o Trạng thái hoạt động của hệ thống phải thay đổi ngay lập tức sau khi phím nhấn có

tác dụng.

o Tự chọn phương pháp kết nối hệ thống sau cho có thể chạy trên mô hình.

o Chọn tần số dao động thạch anh là 4MHz.

o Tự chọn viết chương trình bằng ngôn ngữ C hoặc ASM cho mỗi trường hợp.

o Có thể phát triển thêm tùy sáng kiến của nhóm.

o Nộp báo cáo (BÀI CHỈ CÓ ĐIỂM KHI HOÀN TẤT ĐẦY ĐỦ CÁC MỤC NÀY):

� File chương trình (C hoặc ASM).

� File mô phỏng (Protues).

� Thiết kế hệ thống (lắp ráp hệ thống đã thiết kế trên mô hình).

3. Thiết kế hệ thống điều khiển LED ma trận (Bảng LED ma trận 16 x 64) kết hợp với bàn phím

ma trận 4x4 để biểu diễn các kiểu hiển thị và dịch chuyển chuỗi ký tự “TRUONG DAI HOC

CONG NGHIEP TP. HO CHI MINH - KHOA CONG NGHE DIEN TU” ( )

như sau:

o Ban đầu khi chưa nhấn phím thì không hiển thị thông tin trên LED ma trận.

o Khi nhấn phím “ESC”: không hiển thị thông tin (tắt hiển thị).

o Khi nhấn phím “1”: dịch chuyển chuỗi từ phải sang trái liên tục.

o Khi nhấn phím “2”: dịch chuyển chuỗi từ trái sang phải liên tục.

o Khi nhấn phím “F1”: chọn chuỗi hiển thị có cấu trúc màu .

o Khi nhấn phím “F2”: chọn chuỗi hiển thị có cấu trúc màu .

• Yêu cầu:

o Nếu ta nhấn các phím khác (các trường hợp phím nhấn không phải là các phím bên

trên) thì không làm thay đổi trạng thái hiện tại của hệ thống.

o Trạng thái hoạt động của hệ thống phải thay đổi ngay lập tức sau khi phím nhấn có

tác dụng.

o Tự chọn phương pháp kết nối hệ thống sau cho có thể chạy trên mô hình.

o Thời gian dịch chuyển của chuỗi hình ảnh là 0,3s với tần số dao động thạch anh là

4MHz.

o Tự chọn viết chương trình bằng ngôn ngữ C hoặc ASM cho mỗi trường hợp.

o Có thể phát triển thêm tùy sáng kiến của nhóm.

o Nộp báo cáo (BÀI CHỈ CÓ ĐIỂM KHI HOÀN TẤT ĐẦY ĐỦ CÁC MỤC NÀY):

� File chương trình (C hoặc ASM).

� File mô phỏng (Protues).

� Thiết kế hệ thống (lắp ráp hệ thống đã thiết kế trên mô hình).

4. Thiết kế hệ thống khóa số điện tử dùng để đóng mở cửa hoạt động như sau:

o Ban đầu hệ thống cửa ở trạng thái đóng.

o Khi muốn mở cửa thì nhấn phím “F1”, hệ thống sẽ yêu cầu nhập password để mở

cửa (nếu đúng password).

o Khi muốn đóng cửa thì nhấn phím “F2”, hệ thống sẽ đóng cửa ngay lập tức mà

không cần nhập password.

o Khi muốn thay đổi password thì nhấn phím “F3”, hệ thống sẽ yêu cầu nhập

password cũ để xác nhận trước khi yêu cầu nhập password mới.

o Mọi hành động xâm nhập hệ thống nếu sai password 3 lần thì hệ thống sẽ đóng

cửa và báo động bằng âm thanh liên tục trong vòng 30s và sau đó trở về trạng thái

ban đầu.

• Yêu cầu:

o Password để mở cửa bắt buộc phải có 6 ký tự.

o Password mặc định ban đầu là 000000, nội dung của password phải lưu trong

EEPROM (có sẵn trong PIC) để đảm bảo không bị mất khi hệ thống mất điện.

o Sử dụng màn hình LCD để hiển thị thông tin điều khiển hệ thống.

o Sử dụng bàn phím ma trận 4x4 để điều khiển hệ thống.

o Sử dụng 1 LED đơn để minh họa hoạt động của hệ thống điều khiển cửa:

� LED sáng tương ứng cửa đã mở.

� LED tắt tương ứng cửa đã đóng.

o Sử dụng chuông Buzzer để thiết kế hệ thống báo động (On = 1s / Off = 0.5s).

o Mỗi lần có phím nhấn thì chuông Buzzer sẽ phát ra âm thanh “Tít” (On = 0.2s) để

báo cho người dùng biết là nhấn phím có tác dụng.

o Có thể sử dụng thêm các phím OK và Cancel để xác nhận và hủy bỏ yêu cầu nhập

thông tin từ bàn phím.

o Tự chọn phương pháp kết nối hệ thống sau cho có thể chạy trên mô hình.

o Tự chọn viết chương trình bằng ngôn ngữ C hoặc ASM cho mỗi trường hợp.

o Có thể phát triển thêm tùy sáng kiến của nhóm.

o Nộp báo cáo (BÀI CHỈ CÓ ĐIỂM KHI HOÀN TẤT ĐẦY ĐỦ CÁC MỤC NÀY):

� File chương trình (C hoặc ASM).

� File mô phỏng (Protues).

� Thiết kế hệ thống (lắp ráp hệ thống đã thiết kế trên mô hình).

Ex 7: Analog to Digital Converter (ADC):

Sử dụng kit R&P PIC16 Board để viết chương trình đo và hiển thị điện áp (0V – 5V) khi điều chỉnh

biến trở R7 được kết nối với chân RA3(AN3) của PIC như sau:

o Ban đầu khi mới cấp nguồn, hệ thống sẽ điều khiển 6 LED đơn (D6 – D11) sáng đuổi

từ dưới lên trên (theo chiều của kit) 3 lần. Trong khi đó thì màn hình LCD hiển thị

như sau:

o Sau đó 2s màn hình LCD sẽ hiển thị và chờ cho đến khi nhấn SW4:

o Sau khi nhấn SW4 trên kit thì màn hình LCD hiển thị như hình bên dưới và hệ thống

bắt đầu tiến hành đo điện áp tại chân RA3(AN3).

(Dấu _ thể hiện giá trị điện áp thực tế tại chân RA3(AN3) của PIC, tính theo đơn vị mV)

o Khi điều chỉnh biến trở R7 thì giá trị điện áp hiển thị trên LCD phải thay đổi theo

một cách chính xác.

o Tiến hành tháo jumper J7 và chuyển sang vị trí BUTTON. Thực hiện nhấn lần lượt

SW2 và SW3 để xác định điện áp tại chân RA3(AN3) khi nhấn các nút nhấn này. Ghi

nhận giá trị điện áp vào báo cáo: SW2 = .......(mV) và SW3 = .......(mV).

o Trong quá trình hệ thống đang tiến hành đo điện áp nếu ta nhấn SW5 thì hệ thống

sẽ dừng hoạt động chuyển đổi AD. Hệ thống sẽ điều khiển 6 LED đơn (D6 – D11)

sáng đuổi từ trên xuống dưới (theo chiều của kit) 3 lần. Trong khi đó thì màn hình

LCD hiển thị như sau:

trong vòng 2s rồi tắt hẳn

o Nếu muốn hệ thống hoạt động trở lại từ đầu thì ta phải nhấn SW6. Toàn bộ qui

trình hoạt động sẽ diễn ra như khi mới cấp nguồn.

• Yêu cầu:

o Sử dụng kit R&P PIC16 Borad để viết chương trình và chạy thử.

o Phải xem sơ đồ nguyên lý kit (file: 16F887_training.pdf) để biết kết nối phần cứng

của hệ thống kit trước khi tiến hành viết chương trình.

o Cấu hình các jumper trên kit như sau:

� Tháo jumper: J1, J2 và J5.

� Gắn jumper: J7 (tại vi trí POT).

o Sai số giữa điện áp hiển thị trên LCD và điện áp đo được bằng máy đo VOM không

được vượt quá 5%.

o Tự chọn viết chương trình bằng ngôn ngữ C hoặc ASM cho mỗi trường hợp.

o Có thể phát triển thêm tùy sáng kiến của nhóm.

o Nộp báo cáo (BÀI CHỈ CÓ ĐIỂM KHI HOÀN TẤT ĐẦY ĐỦ CÁC MỤC NÀY):

� File chương trình (C hoặc ASM).

� Thiết lập hệ thống và chạy chương trình trên kit R&P PIC16 Borad.

Ex 8: Pulse Width Modulation (PWM):

Sử dụng kit R&P PIC16 Board để viết chương trình điều chỉnh tốc độ và chiều quay của động cơ DC

bằng cách điều chỉnh biến trở R7 (để thay đổi tốc độ) và nút nhấn SW5, SW6 (để thay đổi chiều

quay) hoạt động như sau:

o Ban đầu khi mới cấp nguồn, hệ thống sẽ điều khiển 6 LED đơn (D6 – D11) sáng đuổi

từ dưới lên trên (theo chiều của kit) 3 lần. Trong khi đó thì màn hình LCD hiển thị

như sau:

o Sau đó 2s màn hình LCD sẽ hiển thị và chờ cho đến khi nhấn SW4:

o Từ màn hình chính bên trên, nếu ta nhấn SW4, thì màn hình LCD hiển thị như sau:

o (**) Bằng cách nhấn nhiều lần SW4 (để tăng dần giá trị) hoặc SW5 (để giãm dần giá

trị) để nhập vào giá trị % độ rộng xung từ 0 đến 100, trị này sẽ được hiển thị ở

dòng thứ hai.

nhấn SW4 �

nhấn SW5 �

o Sau khi đã nhập xong giá trị % độ rộng xung mong muốn thì nhấn SW6 để xác nhận

và tín hiệu PWM sẽ được phát ra làm cho động cơ quay.

o Trong khi động cơ đang quay, nếu ta muốn đảo chiều động cơ thì nhấn SW5 hoặc

SW6. Nếu ta nhấn SW4 thì động cơ sẽ dừng và giá trị được nhập sẽ bị xóa về 0, sau

đó ta có thể nhập giá trị mới và nhấn SW6 để xác nhận cho động cơ quay (Qui trình

thực hiện lại từ Bước (**)).

o Nếu ta nhấn SW7 thì động cơ sẽ dừng quay và màn hình LCD sẽ trở về màn hình

chính như hình dưới đây:

o Từ màn hình chính bên trên, nếu ta nhấn SW5, thì màn hình LCD hiển thị như sau:

o (***) Chương trình sẽ tiến hành đọc giá trị thông qua biến trở R7, qua biến đổi AD

sẽ có giá trị 0-1023. Hãy hiển thị giá trị này trên dòng số hai của LCD theo sự biến

đổi của biến trở.

� �

o Sau khi đã chỉnh xong giá trị % độ rộng xung mong muốn (giá trị cực đại 1023 sẽ

tương ứng với độ rộng xung 100%) thì nhấn SW6 để xác nhận và tín hiệu PWM sẽ

được phát ra làm cho động cơ quay.

o Trong khi động cơ đang quay, nếu ta muốn đảo chiều động cơ thì nhấn SW5 hoặc

SW6. Nếu ta nhấn SW4 thì động cơ sẽ dừng và sau đó ta có thể điều chỉnh biến trở

R7 để thay đổi giá trị hiển thị trên màn hình LCD và nhấn SW6 để xác nhận cho

động cơ quay (Qui trình thực hiện lại từ Bước (***)).

o Nếu ta nhấn SW7 thì động cơ sẽ dừng quay và màn hình LCD sẽ trở về màn hình

chính như hình dưới đây:

o Tại màn hình chính này, nếu ta nhấn SW6 thì hệ thống sẽ dừng hoạt động điều

khiển động cơ. Hệ thống sẽ điều khiển 6 LED đơn (D6 – D11) sáng đuổi từ trên

xuống dưới (theo chiều của kit) 3 lần. Trong khi đó thì màn hình LCD hiển thị như

sau:

trong vòng 2s rồi tắt hẳn

o Nếu muốn hệ thống hoạt động trở lại từ đầu thì ta phải nhấn SW7. Toàn bộ qui

trình hoạt động sẽ diễn ra như khi mới cấp nguồn.

• Yêu cầu:

o Sử dụng kit R&P PIC16 Borad để viết chương trình và chạy thử.

o Phải xem sơ đồ nguyên lý kit (file: 16F887_training.pdf) để biết kết nối phần cứng

của hệ thống kit trước khi tiến hành viết chương trình.

o Cấu hình các jumper trên kit như sau:

� Tháo jumper: J1 và J5.

� Gắn jumper: J2.

� Gắn jumper: J7 (tại vi trí POT).

o Tự chọn viết chương trình bằng ngôn ngữ C hoặc ASM cho mỗi trường hợp.

o Có thể phát triển thêm tùy sáng kiến của nhóm.

o Nộp báo cáo (BÀI CHỈ CÓ ĐIỂM KHI HOÀN TẤT ĐẦY ĐỦ CÁC MỤC NÀY):

� File chương trình (C hoặc ASM).

� Thiết lập hệ thống và chạy chương trình trên kit R&P PIC16 Borad.

Ex 9: UART + I2C + PWM:

Sử dụng kit R&P PIC16 Board để viết chương trình đo – hiển thị nhiệt độ và điều khiển quạt (động

cơ) giao tiếp với PC qua UART hoạt động như sau:

Hoạt động của Kit R&P PIC16 Board diễn ra như sau:

o Ban đầu khi mới cấp nguồn, hệ thống sẽ điều khiển 6 LED đơn (D6 – D11) sáng đuổi

từ dưới lên trên (theo chiều của kit) 3 lần. Trong khi đó thì màn hình LCD hiển thị

như sau:

o (*) Sau đó 2s màn hình LCD sẽ hiển thị yêu cầu kết nối với phần mềm trên máy tính

và chờ cho đến khi nhấn SW4:

o Trường hợp sau khi nhấn SW4 nếu việc kết nối với phần mềm trên máy tính diễn ra

không thành công thì màn hình LCD hiển thị thông báo như bên dưới trong vòng 3s

rồi quay trở lại Bước (*):

o Trường hợp sau khi nhấn SW4 nếu việc kết nối với phần mềm trên máy tính diễn ra

thành công thì màn hình LCD hiển thị thông báo như bên dưới và chờ nhấn nút

lệnh START trên giao diện PC để hệ thống bắt đầu hoạt động.

o Khi hệ thống bắt đầu hoạt động thì màn hình LCD sẽ hiển thị giá trị nhiệt độ đo

được từ cảm biến nhiệt độ TC74 có sẵn trên kit (giá trị nhiệt độ phải liên tục được

cập nhật trong suốt thời gian hệ thống hoạt động). Màn hình LCD hiển thị giá trị

nhiệt độ theo độ C và độ F.

(Dấu _ thể hiện giá trị nhiệt độ hiện tại của môi trường)

o Khi nhấn nút lệnh STOP trên giao diện PC để dừng hoạt động của hệ thống thì màn

hình LCD hiển thị như sau:

trong vòng 2s rồi tắt hẳn

Hoạt động của phần mềm trên PC diễn ra như sau:

o Chạy phần mềm điều khiển trân máy tính để có giao diện như sau:

(1)

(2)

(3)

(4)

(5)

(6)

(7)

(8)

(9)(10)

(1): Hiển thị nhiệt độ môi trường (độ C).

(2): Hiển thị nhiệt độ môi trường (độ F).

(3): Nhập ngưỡng nhiệt độ để bắt đầu bật quạt (động cơ). Mặc định ban đầu là 30OC.

(4): Nút lệnh bắt đầu hoạt động.

(5): Nút lệnh dừng hoạt động.

(6): Nút lệnh thoát chương trình.

(7): Hiển thị thông tin trạng thái quạt (động cơ) quay hoặc dừng.

(8): Hiển thị thông tin kết nối giữa PC với Kit.

(9): Chọn lựa cổng COM kết nối.

(10): Kiểm tra kết nối.

o Khi nhấn nút lệnh (8) “Test Link”:

� Nếu chưa chọn cổng COM (9) thì chương trình sẽ hiển thị thông báo yêu

cầu chọn cổng COM.

� Nếu đã chọn cổng COM (9) thì chương trình sẽ kiểm tra đáp ứng của cổng

COM. Nếu chọn đúng thì (8) sẽ hiển thị thông báo đã kết nối “Connected”.

Nếu chọn chưa đúng cổng COM thì (8) sẽ hiển thị thông báo chưa kết nối

“No Connect”

� Khi chưa chọn thành công cổng COM thì các chức năng (3), (4) và (5) không

có được phép hoạt động.

o Khi nhấn nút (4) “START”:

� Chỉ nhấn được sau khi đã liên kết được giữa PC và Kit (tức đã thực hiện

thành công bước “Test Link”).

� Sáng tắt liên tục LED RE1 trên Kit để thông báo hệ thống đang hoạt động

(thời gian sáng tắt là 0.5s).

� Đọc giá trị nhiệt độ môi trường đo được từ cảm biến TC74 trên Kit và hiển

thị lên ô (1) và (2) tương ứng cho giá trị độ C hoặc độ F.

� Kiểm tra và so sánh với ngưỡng (3) nhiệt độ đã đặt sẵn để điều khiển

bật/tắt hệ thống quạt (động cơ) làm mát.

• Bật quạt (động cơ) khi nhiệt độ môi trường lớn hơn hoặc bằng

ngưỡng.

o Điều khiển quạt (động cơ) quay chậm khi nhiệt độ lớn hơn

từ 0% - 10% so với ngưỡng.

o Điều khiển quạt (động cơ) quay trung bình khi nhiệt độ

lớn hơn từ 11% - 30% so với ngưỡng.

o Điều khiển quạt (động cơ) quay nhanh khi nhiệt độ lớn

hơn 30% so với ngưỡng.

• Tắt quạt (động cơ) khi nhiệt độ môi trường nhỏ hơn ngưỡng.

• Trạng thái hiện tại của quạt (động cơ) hiển thị tại (7).

o Khi nhấn nút (5) “STOP”:

� Chỉ nhấn được sau khi đã liên kết được giữa PC và Kit (tức đã thực hiện

thành công bước “Test Link”).

� Tắt hẳn LED RE1 trên Kit để thông báo hệ thống dừng hoạt động.

� Chỉ dừng quạt (động cơ) khi thỏa mãn yêu cầu sau:

• Nếu nhiệt độ môi trường nhỏ hơn ngưỡng thì dừng ngay quạt

(động cơ).

• Nếu nhiệt độ môi trường lớn hơn hoặc bằng ngưỡng thì quạt quay

vẫn quay (trên Kit LED RE2 sẽ sáng lên để thông báo trạng thái này)

cho đến khi nhiệt độ môi trường nhỏ hơn ngưỡng thì mới dừng

(LED RE2 tắt).

o Khi nhấn nút (6) “EXIT”:

� Tương tự như nút lệnh STOP nhưng sẽ tắt luôn phần mềm điều khiển.

• Yêu cầu:

o Viết chương trình cho PIC và cho PC (Visual Basic 6.0) để thực hiện điều khiển hệ

thống theo các yêu cầu như trên.

o Sử dụng kit R&P PIC16 Borad để viết chương trình và chạy thử.

o Phải xem sơ đồ nguyên lý kit (file: 16F887_training.pdf) để biết kết nối phần cứng

của hệ thống kit trước khi tiến hành viết chương trình.

o Cấu hình các jumper trên kit như sau:

� Tháo jumper: J1 và J5.

� Gắn jumper: J2.

� Gắn jumper: J7 (tại vi trí POT).

o Tự chọn viết chương trình bằng ngôn ngữ C hoặc ASM cho mỗi trường hợp.

o Có thể phát triển thêm tùy sáng kiến của nhóm.

o Nộp báo cáo (BÀI CHỈ CÓ ĐIỂM KHI HOÀN TẤT ĐẦY ĐỦ CÁC MỤC NÀY):

� File chương trình (C hoặc ASM).

� Thiết lập hệ thống và chạy chương trình trên kit R&P PIC16 Borad.