Professional Documents
Culture Documents
Bài 1: (3đ) Hãy viết đoạn code CCS C cho hệ thống nhúng dùng vi điều khiển PIC16F877 cài đặt các tác vụ sau:
a) Cài đặt để port B có RB7, RB6, RB5 là output và RB4, RB3, RB2, RB1, RB0 là input.
b) Khởi động UART với thông số tốc độ baud 9600, thạch anh 20MHz, TX là RD0, và RX là RD1
c) Cài đặt timer1 để delay với thời gian 2ms với thạch anh 20MHz
d) Cài đặt I2C chế độ Master, SCL là chân C3, SDA là chân C4
e) Cài đặt cho phép ngắt ngoài, kích cạnh xuống
f) Cài đặt LCD 2x16 chế độ truyền 4-bit, hiển thị chữ “hello”.
Bài 2: (3đ) Cho một hệ thống nhúng điều khiển động cơ bước sử dụng PIC16F877 như sau:
Ngõ ra có 4 ngõ điều khiển động cơ kích bằng transistor tại RB3, RB2, RB1, RB0, theo giản đồ xung sau:
1 1 0 0
0 1 1 0
0 0 1 1
1 0 0 1
1 chu kỳ điều khiển
Bài 3: (5 điểm) Cho một hệ thống nhúng sử dụng PIC16F877 điều khiển đèn quang báo như sau:
Đèn quang báo gồm 10 LED nối Anode chung như hình vẽ
D0
Có 3 mode sáng đèn bao gồm:
o Tất cả LED chớp tắt liên tục với tần số 2Hz D1 D2 D3 D4
o Tất cả LED tắt và từng LED sáng dần theo thứ tự D0, D1, D2, ...
D5 D6
o Tất cả LED sáng, sau đó từng LED tắt dần theo thứ tự D0, D1, D2…
D7
Có 2 nút chức năng bao gồm: D8 D9
o Nút Mode: khi nhấn nút này thì chuyển sang mode sáng kế tiếp
o Nút Auto: khi nhấn nút này thì hệ thống chuyển mode tự động luân phiên sau 10 giây, khi nhấn nút lần
nữa thì hệ thống không tự động chuyển mode sáng
a) Hãy mô tả đặc tả phần cứng của hệ thống trên
b) Hãy vẽ sơ đồ mạch chi tiết của hệ thống trên
c) Hãy vẽ lưu đồ giải thuật điều khiển hệ thống trên
d) Hãy viết chương trình con điều khiển hiển thị LED theo 3 mode: void dieu_khien_LED(int MODE);
e) Hãy viết chương trình chính điều khiển hệ thống trên
(Ghi chú: tổng điểm là 11 điểm)
Người ra đề:
TS. Trương Quang Vinh