Professional Documents
Culture Documents
HW1 2
HW1 2
HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC BÁCH KHOA
KHOA ĐIỆN – ĐIỆN TỬ
BỘ MÔN ĐIỆN TỬ
---------------o0o---------------
Trong Source file: GPIO.c em thực hiện viết hàm Cấu hình GPIO cho PortB:
- Đầu tiên là cung cấp xung CLK cho PortB hoạt động
- Tiếp theo cấu hình PB0 tới PB7 với chức năng OutPut
Khai báo 1 bến toàn cục static int cnt = 0 ban đầu cho bằng 0 và khai báo hàm
Config_PORTB() kiểu extern để giao tiếp với các module bên ngoài ở file GPIO.h
Tiếp theo em viết hàm LEDsg(): đọc biến cnt rồi viết giá trị của biến cnt lên các chân
GPIO của Port B. Điều này làm cho các LED được kết nối với các chân GPIO này
sáng theo giá trị của cnt. Vì đề bài đọc 1 số 8bit nên ta giới hạn cnt ở 255. Biến cnt
được tăng lên mỗi lần hàm được gọi.
Thực hiện khai báo các hàm ở Source file GPIO.c ở Header file GPIO.h bằng extern để
báo cho chương trình biết các hàm này là hàm ngoại vi không phải là hàm nội bộ, có
thể giao tiếp với các module bên ngoài.
Ở file main.c ta thực hiện #include tới Header file include.h để liên kết với các thư
viện.
- Thực hiện cấp xung cho hệ thống, ở đây chọn 40MHz
- Khai báo hàm Config_PORTB()
- Trong While(1) ta gọi hàm LEDsg(), liên tục đọc giá trị cnt rồi xuất ra PORTB
rồi tăng cnt tới khi cnt=255 rồi quay lại về 0.