Mô tả:
ĐHBK Tp HCM–Khoa Đ-ĐT–BMĐT
Môn học: Vi xử lý
oke !!!
GVPT: Hồ Trung Mỹ
Bài tập Vi Xử Lý – Chương 6 (Lập trình C cho PIC)
Chú ý: VXL/VĐK dùng cho các bài tập sau dùng PIC16F877 và lập trình C với CCS C
1. Hãy thiết kế mạch nhấp nháy LED (3 LED với 3 R hạn dòng được gắn vào các chân RB[2:0]) với quy
luật sau:
• Nếu RA0=0 thì RB[2:0]=000, 001, 010, 011, 100, 101, 110, 111 và lặp lại (thời gian trễ giữa 2
số đếm là 200ms)
• Nếu RA0=1 thì RB[2:0]=000, 001, 011, 010, 110, 111, 101, 100 và lặp lại (thời gian trễ giữa 2
số đếm là 200ms)
2. Với mạch hiển thị sau:
a) Vẽ mạch kết nối với PIC16F877
b) Viết chương trình C để đổi 1 số nhị phân 8 bit ra số BCD 3 ký số và hiển thị kết quả với phần
cứng ở a)
3. (đề thi cũ) Cho sơ đồ kết nối giữa PIC 16F877 với các LED như hình vẽ và chương trình điều khiển:
Vcc
16F877
LED0
RA0
LED1
RA1
LED2
RA2
LED3
RA3
BT-VXL- Ch 6-trang 1
#include <16F877.h>
#fuses HS, NOWDT, NOPROTECT, PUT
#use delay(clock=8000000)
byte const LED[8]={0x0f,0x0e,0x0c,0x08,0x00,0x01,0x03,0x07};
main()
{
int8 count;
while(true)
{
for(count=0;count<8;count++)
{
output_A(LED[count]);
delay_ms(500);
}
}
}
Khi thực hiện chương trình này, thì các đèn LED hoạt động ra sao? (Giải thích)
4. (đề thi cũ) Viết chương trình điều khiển PIC 16F84 có nhiệm vụ liên tục kiểm tra chân port RB0:
• Nếu RB0 = 0 thì tạo sóng vuông tần số 4KHz ở chân port RB6.
• Nếu RB0 = 1 thì tạo sóng vuông tần số 50Hz ở chân port RB7.
Chú ý khi tạo sóng vuông ở chân port này thì chân port kia ở mức 0.
5. Cho mạch sau:
Figure 1. LED patterns.
Hãy viết chương trình C với yêu cầu sau:
• RA0 =0 thì các LED ở PORTB sáng theo mẫu 1 (LED pattern #1, màu đen là LED sáng)
• RA0 =1 thì các LED ở PORTB sáng theo mẫu 2 (LED pattern #2, màu đen là LED sáng)
Thời gian trễ giữa các đợt là 200 ms.
6. Cài đặt mạch logic sau dùng PIC16F877
0 1
1
0
1
1 0
1 0
1
0
1
0
0
1
1
BT-VXL- Ch 6-trang 2
- Xem thêm -