You are on page 1of 6

Phần I: Vào/ra, Timer đếm sự kiện, USART

Chú ý:
- Các chân vào/ra được chỉnh sửa để đảm bảo tất cả các đề thi không trùng lặp nhau.
- Timer chỉ sử dụng Timer0 hoạc Timer1
- USART có thể lựa chọn tốc độ 2400, 4800, 9600; các kí tự nhấn phím hoạc chuỗi
hiển thị được thay đổi khác nhau.
Câu 1.1. Lắp ráp mạch điện và lập trình theo yêu cầu:
Mạch điện:
- 04 led đơn LED1 : LED4 nối lần lượt với các chân từ RB4 đến RB7.
- KEY1 nối với RC5.
Lập trình:
- Khi KEY1 ở trạng thái nhả: điều khiển 4 led sáng dịch dần (trạng thái 1: LED1 sáng,
trạng thái 2: LED2 sáng... trạng thái 4: LED4 sáng), sau đó lặp lại.
- Khi nhấn KEY1, tất cả các led tắt.

Câu 1.2. Lắp ráp mạch điện và lập trình theo yêu cầu:
Mạch điện:
- 06 led đơn LED1 : LED6 nối lần lượt với các chân từ RB0 đến RB6.
- KEY2 nối với RC1.
Lập trình:
- Khi bắt đầu bật nguồn 6 led tắt, khi nhấn KEY2 lần 1 LED1 sáng, nhấn KEY2 lần 2
LED1&LED2 sáng, ... nhấn KEY2 lần 6 cả 6 led sáng.
- Khi nhấn KEY2 lần thứ 7 cả 6 led tắt, sau đó lặp lại từ lần 1.

Câu 1.3. Lắp ráp mạch điện và lập trình theo yêu cầu:
Mạch điện:
- Sử dụng 04 led LED1:LED4 nối với lần lượt từ các chân RB4:RB7
- KEY3 nối với RC0.
Lập trình:
- Đếm số lần nhấn nút KEY3 và hiển thị giá trị đếm ra 4 led đơn dưới dạng số nhị
phân.
- Bắt đầu bật nguồn giá trị đếm được thiết lập bằng không. Khi đếm đến 10 giá trị đếm
được xóa về 0.

Câu 1.4. Lắp ráp mạch điện và lập trình theo yêu cầu:
Mạch điện:
- 4 led đơn LED1:LED4 nối lần lượt từ RB0 đến RB3.
- KEY4 nối với RC0.
Lập trình:
- Bắt đầu bật nguồn tất cả các led tắt, nhấn KEY4 lần 1 LED1 sáng, nhấn lần 2 LED2
sáng, ... nhấn lần 4 LED4 sáng, sau đó lặp lại.

Câu 1.5. Lắp ráp mạch điện và lập trình theo yêu cầu:
Mạch điện:
- 4 led đơn LED1:LED4 nối lần lượt các chân từ RB4: RB7.
- KEY4 nối với chân RC2.
Lập trình:
- Bắt đầu bật nguồn tất cả các led tắt.
- Nhấn KEY4 lần 1 LED4 sáng, nhấn lần 2 LED3 sáng, ... nhấn lần 4 LED1 sáng, sau
đó lặp lại.

Câu 1.6. Lắp ráp mạch điện và lập trình theo yêu cầu:
Mạch điện:
- Nút nhấn KEY1 nối với T0CKI.
- 08 led đơn LED1:LED8 nối lần lượt với chân từ RD0 đến RD8.
Lập trình:
- Khi bắt đầu bật nguồn 8 led tắt, đếm số lần nhấn KEY1 sử dụng timer và hiển thị số
lần nhấn ra 8 led LED1:LED8.
- Số sản phẩm sẽ được xóa về 0 khi số lần nhấn >= 16.
Câu 1.7. Lắp ráp mạch điện và lập trình theo yêu cầu:
Mạch điện:
- Nút nhấn KEY2 nối với T13CKI.
- 08 led đơn LED1:LED8 nối lần lượt với chân từ RD0 đến RD8.
Lập trình:
- Khi bắt đầu bật nguồn 8 led tắt, đếm số lần nhấn KEY2 sử dụng timer và hiển thị số
lần nhấn ra 8 led LED1:LED8.
- Số sản phẩm sẽ được xóa về 0 khi số lần nhấn >= 10.

Câu 1.8. Lắp ráp mạch điện và lập trình theo yêu cầu:
Mạch điện:
- Nút nhấn KEY1 nối với RB0, KEY2 nối với RB1.
- Cổng nối tiếp USART của vi điều khiển PIC được nối với Virtual Terminal.
Lập trình:
- Fosc = 12MHz, thiết lập cổng nối tiếp có thông số: 9600,8,n,1.
- Khi nhấn KEY1 hiển thị “Khoa Dien tu”, nhấn KEY2 hiển thị “Dai hoc Cong nghiep Ha
Noi” (Sử dụng lệnh putrsUSART để truyền chuỗi).

Câu 1.9. Lắp ráp mạch điện và lập trình theo yêu cầu:
Mạch điện:
- Cổng nối tiếp USART của vi điều khiển PIC được nối với Virtual Terminal.
Lập trình:
- Fosc = 12MHz, thiết lập cổng nối tiếp có thông số: 4800,8,n,1.
- Khi nhấn phím “K” trên bàn phím sẽ hiển thị “Khoa Dien tu”, khi nhấn phím “H” sẽ
hiển thị thông tin sinh viên bao gồm họ tên và mã sinh viên.
- Sử dụng lệnh putrsUSART để truyền chuỗi, sử dụng lệnh ReadUSART để nhận về
1 ký tự từ bàn phím.
Phần II: Timer, Ngắt, ADC, PWM
Ghi chú:
- Timer sẽ lựa chọn tần số bất kỳ từ 10Hz đến 2KHz, chân tạo xung có thể thay đổi.
- Ngắt đổi chân INT0, INT1, INT2 và thay đổi các chân led.
- PWM có thể thay đổi kênh CCP1, CCP2/RC1, CPP2/RB3; tần số thay đổi từ 500Hz đến
2KHz.
- ADC sử dụng các kênh AN0 đến AN5.
Câu 2.1. Lập trình sử dụng Timer0 tạo xung có tần số 50Hz trên chân RA0, FOSC=12M.
Câu 2.2. Lập trình sử dụng Timer1 tạo xung có tần số 1kHz trên chân RB0, FOSC=12M.
Câu 2.3. Lắp ráp mạch điện và lập trình theo yêu cầu:
Mạch điện:
- Nút nhấn KEY1 nối với chân ngắt INT0
- LED1 nối với chân RC1, LED2 nối với chân RC2.
Lập trình:
- LED1 sáng nháy liên tục ở chương trình chính.
- Khi nhấn KEY1 (ngắt ngoài INT0) LED1 ngừng nháy, LED2 sáng nháy 5 lần sau đó
LED1 tiếp tục nháy.
Câu 2.4. Lắp ráp mạch điện và lập trình theo yêu cầu:
Mạch điện:
- Nút nhấn KEY2 nối với chân ngắt INT1
- LED1 nối với chân RC1, LED2 nối với chân RC2.
Lập trình:
- LED1 sáng nháy liên tục ở chương trình chính.
- Khi nhấn KEY1 (ngắt ngoài INT1) LED1 ngừng nháy, LED2 sáng nháy 5 lần sau đó
LED1 tiếp tục nháy.

Câu 2.5. Lắp ráp mạch điện và lập trình theo yêu cầu:
Mạch điện:
- Nút nhấn KEY2 nối với chân ngắt INT0.
- 4 led LED1:LED4 nối với chân RC0:RC3.
Lập trình:
- Bắt đầu bật nguồn 4 led tắt, sử dụng ngắt đếm số lần nhấn KEY2 và hiển thị số lần
nhấn ra 4 led.
- Khi số lần nhấn >= 10 sẽ được về 0.

Câu 2.6. Lắp ráp mạch điện và lập trình theo yêu cầu:
Mạch điện:
- Nút nhấn KEY2 nối với chân ngắt INT2.
- 4 led LED1:LED4 nối với chân RC0:RC3.
Lập trình:
- Bắt đầu bật nguồn 4 led tắt, sử dụng ngắt đếm số lần nhấn KEY2 và hiển thị số lần
nhấn ra 4 led.
- Khi số lần nhấn >= 10 sẽ được về 0.

Câu 2.7. Lắp ráp mạch điện và lập trình theo yêu cầu:
Mạch điện:
- Sử dụng CCP1 để tạo xung PWM.
- Fosc = 12M.
Lập trình:
- Tạo xung PWM/CCP1 với tần số 1KHz.
- Bắt đầu bật nguồn xung PWM có độ rộng 50%, sau 2 giây độ rộng là 75%.

Câu 2.8. Lắp ráp mạch điện và lập trình theo yêu cầu:
Mạch điện:
- Sử dụng CCP2/RB3 để tạo xung PWM.
- Fosc = 12M.
Lập trình:
- Tạo xung PWM với tần số 2kHz.
- Bắt đầu bật nguồn xung PWM có độ rộng 50%, sau 2 giây độ rộng là 25%.

Câu 2.9. Lắp ráp mạch điện và lập trình theo yêu cầu:
Mạch điện:
- Sử dụng CCP2/RC1 để tạo xung PWM.
- Fosc = 12M.
Lập trình:
- Tạo xung PWM với tần số 500Hz.
- Bắt đầu bật nguồn xung PWM có độ rộng 50%, sau 2 giây độ rộng là 60%.

Câu 2.10. Lắp ráp mạch điện và lập trình theo yêu cầu:
Mạch điện:
- Sử dụng biến trở để tạo điện áp 0 đến 5V nối với chân AN0.
- 10 led LED1:LED10 nối với lần lượt với các chân RD0:RD7 và RC0:RC1.
- LED11 nối với RE1.
Lập trình:
- Đọc ADC trên kênh AN0 và hiển thị trên 10 led LED1:LED10.
- LED11 sáng khi điện áp trên AN0 lớn hơn hoạc bằng 3V, điện áp nhỏ hơn 3V LED11
tắt.

Câu 2.11. Lắp ráp mạch điện và lập trình theo yêu cầu:
Mạch điện:
- Sử dụng biến trở để tạo điện áp 0 đến 5V nối với chân AN1.
- 10 led LED1:LED10 nối với lần lượt với các chân RD0:RD7 và RC0:RC1.
- LED11 nối với RE2.
Lập trình:
- Đọc ADC trên kênh AN1 và hiển thị trên 10 led LED1:LED10.
- LED11 sáng khi điện áp trên AN0 lớn hơn hoạc bằng 2V, điện áp nhỏ hơn 2V LED11
tắt.
Câu 2.12. Lắp ráp mạch điện và lập trình theo yêu cầu:
Mạch điện:
- Sử dụng biến trở để tạo điện áp 0 đến 5V nối với chân AN2.
- 10 led LED1:LED10 nối với lần lượt với các chân RD0:RD7 và RC0:RC1.
- LED11 nối với RE2.
Lập trình:
- Đọc ADC trên kênh AN2 và hiển thị trên 10 led LED1:LED10.
- LED11 sáng khi điện áp trên AN0 lớn hơn hoạc bằng 4V, điện áp nhỏ hơn 4V LED11
tắt.

You might also like