You are on page 1of 2

ĐỀ KIỂM TRA CUỐI HỌC KỲ 2, 2015-2016

Lớp Chính quy VP11NL – Ngày 24/5/2016


Môn thi: THIẾT KẾ HỆ THỐNG NHÚNG - Thời gian: 90 phút
(Sinh viên được phép tham khảo tài liệu; không được phép sử dụng máy vi tính, laptop)

Bài 1: (3đ) Hãy trả lời câu hỏi sau về vi điều khiển PIC16F877
a) (0.5đ) Hãy viết đoạn lệnh CCS C cài đặt interrupt ngắt ngoài cạnh xuống tại PIN_RB0
b) (0.5đ) Hãy viết đoạn lệnh C cài đặt cho phép ngắt timer 1, cài đặt timer 1 để có thời gian delay là 50ms.
Cho tần số clock cấp cho PIC16F877 là 8MHz, tỉ số chia clock Prescaler là 4.
c) (0.5đ) Hãy viết đoạn lệnh khởi động UART1, baud rate là 2400, clock hệ thống là 4MHz, đọc giá trị nhận
được từ UART1 vào biến data.
d) (0.5đ) Hãy viết đoạn lệnh C cài đặt I2C chế độ Master, SCL là chân PIN_C3, SDA là chân PIN_C4.
e) (1.0đ) Hãy viết chương trình cho vi điều khiển PIC16F877 để tạo xung PWM có tần số 20kHz, duty
cycle là 60%, sử dụng thạch anh 4MHz.
#use delay(clock = 4000000)
void main()
{
setup_ccp1(ccp_pwm); // Select timer and mode
set_pwm1_duty(120); // Set duty 60%
setup_timer_2(T2_DIV_BY_1,49,1); // set period 50us for PWM 20kHz
while(1) { } // Wait until reset
}

Bài 2: (3đ) Cho một hệ thống bấm đồng hồ thể thao sử dụng PIC16F877 được mô tả như sau:
 Ngõ vào: nút START, nút STOP, nút RESET (sử dụng chân reset của hệ thống)
 Ngõ ra LCD giao tiếp song song 4 bit
 Hoạt động: sau khi reset, LCD hiển thị số đếm 0.
o Khi người dùng bấm START thì LCD hiển thị số đếm giây và sao (1% của giây) từ 0, và tăng dần
o Nếu người dùng nhấn STOP thì số đếm dừng lại.
o Nếu người dùng bấm START tiếp, thì số đếm giây tăng lên từ giá trị cũ
a) (1đ) Hãy vẽ sơ đồ chi tiết của hệ thống.
b) (1đ) Hãy vẽ lưu đồ giải thuật chương trình chính của hệ thống.
c) (1đ) Hãy viết chương trình CCS C điều khiển hệ thống trên.

Bài 3: (5đ) Cho một hệ thống khóa số đơn giản sử dụng vi điều khiển PIC16F877, được mô tả như sau:
 Ngõ vào: bàn phím ma trận 3x4 gồm: phím số 0 – 9, phím Khóa, phím Mở
 Ngõ ra: LCD mắc nối tiếp, relay điều khiển qua transistor
 Hoạt động: hệ thống có 2 trạng thái: đóng và mở
o Trạng thái đóng: nếu người dùng bấm số gồm 3 số mật mã và bấm phím Mở, nếu đúng như 3 số
được định nghĩa trong hằng số array PASS thì hệ thống chuyển sang trại thái mở và kích relay
ON. Nếu người dùng bấm sai thì hệ thống vẫn duy trì trạng thái đóng.
o Trạng thái mở: nếu người dùng nhấn phím Khóa thì hệ thống chuyển sang trạng thái đóng và kích
relay OFF, nếu người dùng không nhấn thì hệ thống vẫn duy trì trạng thái mở.
LCD dùng để hiển thị các số mà người dùng bấm và trạng thái của khóa.
a) (1đ) Hãy viết đặc tả phần cứng của hệ thống và vẽ sơ đồ khối của hệ thống
b) (1đ) Hãy vẽ sơ đồ mạch chi tiết của hệ thống (sinh viên tự chọn port để nối các ngoại vi)
c) (1đ) Hãy vẽ lưu đồ giải thuật chương trình chính điều khiển hệ thống (Gợi ý: có thể vẽ kiểu lưu đồ trạng
thái gồm 2 trạng thái đóng và mở)
d) (1đ) Hãy viết hàm quét bàn phím ma trận 3x4, và trả về mã phím như sau:
0 – 9: nếu phím bấm là số 0 – 9
10: nếu phím khóa bấm
11: nếu phím Mở được bấm
255: nếu không có phím bấm
e) (1đ) Hãy viết chương trình CCS C điều khiển hệ thống
Người ra đề:

TS. Trương Quang Vinh

You might also like