Tải bản đầy đủ (.docx) (40 trang)

Giải bài tập Vi điều khiển AVR Timer Ngắt ngoài Nháy Led

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (4.21 MB, 40 trang )

Nguyễn Quang Vương - 67DCDT20131

Mục Lục


Nguyễn Quang Vương - 67DCDT20131


Nguyễn Quang Vương - 67DCDT20131

Phần 1: LED đơn
2) Lập trình 8 LED đơn nối vào PORTC, 1 nút ấn vào PA0. Nhấn nút bấm thì 8 LED
sáng tắt với chu kỳ 200 ms (delay_ms(200))

Hình 1. 1: Led đơn 8 LED

3.1) Lập trình 8 LED đơn nối vào PORTC, 1 nút ấn nối vào PA0. Nhấn nút bấm thì 8
LED sáng lần lượt từ trên xuông chu kỳ 200 ms, đến led cuối cùng quay về LED đầu
tiên.


Nguyễn Quang Vương - 67DCDT20131

Hình 1. 2: Led đơn 8 led 2

3.2) Lập trình dãy 8 LED đơn nối vào PORTC. Sử dụng 1 nút bấm nối vào PA0.
Trạng thái ban đầu chỉ có LED đầu tiên sáng. Ấn nút thì LED sáng sẽ di chuyển từ
trên xuống, đến con LED cuối cùng lại vòng về LED đầu tiên.


Nguyễn Quang Vương - 67DCDT20131



3.3) Lập trình dãy 8 LED đơn nối vào PORTC. Sử dụng 1 nút bấm nối vào PA0.
Trạng thái ban đầu chỉ có LED đầu tiên sáng. Ấn nút thì LED sáng sẽ di chuyển sang
phải, đến con LED cuối cùng lại vòng về LED đầu tiên. Nếu ấn và giữ nút thì LED di
chuyển liên tục với chu kì 200(ms).


Nguyễn Quang Vương - 67DCDT20131

Hình 1. 3: Led đơn 8 Led 3

3.4) Lập trình dãy 8 LED đơn nối vào PORTC. Sử dụng 1 nút bấm nối vào PA0.
Trạng thái ban đầu chỉ có LED đầu tiên sáng. Ấn nút lần thứ nhất thì LED sáng sẽ tự
động chạy từ trái sang phải với chu kì 200(ms), đến con LED cuối cùng lại vòng về
LED đầu tiên. Ấn nút lần thứ 2 thì LED sẽ dừng lại.


Nguyễn Quang Vương - 67DCDT20131

Hình 1. 4: Led đơn 8 led ngang 4

Đề 1: Giữa kì
AT16, 8 LED nối vào PORTD và 2 nút bấm nối vào PC0 và PC1.
Lập trình chương trình hoạt động như sau:
- Led sẽ chạy từ phải sang trái, sau khi hết hàng led sẽ vòng lại LED đầu tiên.
- Ân nút thứ nhất thì sẽ tăng tốc độ chạy LED nhưng không nhanh quá 25Hz
- Ân nút thứ 2 thì sẽ giảm tốc độ chạy LED nhưng không chậm dưới 5Hz
Ân và giữ nút thì tốc độ thay đổi liên tục.

Hình 1. 5: Led đơn 8 led co phim bấm



Nguyễn Quang Vương - 67DCDT20131

Đề 2: AT16, 8 LED đơn nối vào PORTD và 2 nút bấm nối vào PB6 và PB7.
Lập tình chương trình hoạt động như sau:
- Trạng thái đầu 8 LED nhấp nháy xen kẽ với chu kì 100ms
- Ân nút thứ nhất thì tăng tần số nhấp nháy.


Nguyễn Quang Vương - 67DCDT20131
- Ân nút thứ hai thì giảm tần số nhấp nháy.
- Nếu ấn và giữ nút thì tần số thay đổi liên tục mà không phải chờ nhả
nút.??????????

Hình 1. 6: Led đơn 8 led ngang 6


Nguyễn Quang Vương - 67DCDT20131

*Chú ý: Một số khối hay sử dụng.
1.Khối chờ nút bấm nhả ra.

2.Khối quét Led và tách số để quét Led.

Phần 2: LED 7 THANH
Bài 1.1:Lập trình 1 con LED 7 thanh đơn nối vào PORTB, sử dụng 1 nút bấm nối
vào PD0. Ban đầu LED hiển thị số 0. Khi ấn nút thì LED sẽ tăng số lên 1 đơn vị, tăng
quá 9 LED quay về 0.



Nguyễn Quang Vương - 67DCDT20131

Hinh 2. 1: Led 7 thanh bai 1

1) Lập trình 1 con LED 7 thanh đơn nối vào PORTB, sử dụng 1 nút bấm nối vào PD0.
Ban đầu LED hiển thị số 4. Khi ấn nút thì LED sẽ tự động tăng sau mỗi 1(s), tăng
quá 9 thì vòng về 0 đếm chu trình mới.


Nguyễn Quang Vương - 67DCDT20131

2) Lập trình 1 con LED 7 thanh đơn nối vào PORTB, sử dụng 1 nút bấm nối vào PD0.
Ban đầu LED hiển thị số 4. Khi ấn nút lần thứ nhất thì LED sẽ tự động tăng sau mỗi
1(s), tăng quá 9 thì vòng về 0 đếm chu trình mới. Khi nhấn nút lần thứ 2 thì dừng lại
Đề 3: AT16 điều khiển LED 7 thanh và nhận lệnh từ 9 nút
Lập trình:
Khi ấn 1 nút thì sẽ hiển thị số tương ứng từ 0 đến 9
Khi không ấn nút nào thì led hiển thị số 0

Bài 16: Lập trình 4 LED 7 thanh hiển thị số bằng phương pháp quét. Ban đầu LED
hiển thị số 1234. Sử dụng nút bấm thứ 1 nối vào PA0, nút nhấn thứ 2 nối vào PA1.
Khi ấn nút số 1 thì số hiển thị sẽ tăng 1 đơn vị, tăng quá 9999 thì vòng về 0, nhấn nút
thứ 2 số hiển thị giảm, giảm tới 0 thì vòng về 9999.


Nguyễn Quang Vương - 67DCDT20131
[Grab your reader’s attention
with a great quote from the
document or use this space to

emphasize a key point. To
place this text box anywhere
on the page, just drag it.]


Nguyễn Quang Vương - 67DCDT20131

Hinh 2. 2: Led 7 thanh quét led

Phần 3: TIMER
Bai 32:Sử dụng một nút bấm nối vào PD0, 1 vào PD1. Trạng thái ban đầu led 7
thanh hiển thị số 1000 Khi bấm nút số hiển thị tăng lên 1 đơn vị sau 1s, ấn nút 2
thì dừng lại. Sử dụng timer ở chế độ Normal kích hoạt ngắt tràn để tăng số tự
động sau mỗi giây.


Nguyễn Quang Vương - 67DCDT20131

Hình 3. 1: Timer 1


Nguyễn Quang Vương - 67DCDT20131

Phần 4: NGẮT NGOÀI
Bài 28: Lập trình 4 LED 7 thanh hiển thị số bằng phương pháp quét. Ban đầu
LED hiển thị số 1234. Thiết lập ngắt ngoài 0 hoạt động ở chế độ Rising Egde. Khi
ngắt ngoài được kích hoạt thì số hiển thị tự động giảm 1 đơn vị sau 1(s). Giảm về 0
thì sẽ tăng lên 9999.



Nguyễn Quang Vương - 67DCDT20131

Hình 4. 1: Ngắt ngoài 1


Nguyễn Quang Vương - 67DCDT20131

28) Lập trình 4 LED 7 thanh hiển thị số bằng phương pháp quét. Ban đầu LED
hiển thị số 1234. Thiết lập ngắt ngoài 1 hoạt động ở chế độ Rising Egde. Khi ngắt
ngoài được kích hoạt thì số hiển thị sẽ tăng số tự động sau thời gian t, tăng quá


Nguyễn Quang Vương - 67DCDT20131
9999 thì vòng về 1. Khi ấn nút 1 thì tăng thời gian t, nhưng không tăng quá
1200(ms). Khi ấn nút 2 thì giảm thời gian t, nhưng không giảm dưới 100(ms).

Hình 4. 2: Ngắt ngoài 2


Nguyễn Quang Vương - 67DCDT20131


Nguyễn Quang Vương - 67DCDT20131

29) Lập trình 4 LED 7 thanh hiển thị số bằng phương pháp quét. Ban đầu LED
hiển thị số 2222. Sử dụng 2 nút bấm nối vào PD0, PD1. Thiết lập ngắt ngoài 0 hoạt
động ở chế độ Falling Edge. Khi ngắt ngoài được kích hoạt lần thứ nhất thì số
hiển thị sẽ tự động tăng sau mỗi khoảng thời gian t, tăng quá 9999 thì vòng về 0.
Khi ngắt ngoài được kích hoạt lần thứ 2 thì số hiển thị sẽ dừng lại. Khi ấn nút 1
thì tăng thời gian t, nhưng không tăng quá 1200(ms). Khi ấn nút 2 thì giảm thời

gian t, nhưng không giảm dưới 100(ms).????????


Nguyễn Quang Vương - 67DCDT20131

Hình 4. 3: Ngắt ngoài 3


Nguyễn Quang Vương - 67DCDT20131


Nguyễn Quang Vương - 67DCDT20131

Phần 5: ADC
Ct 8 bit : V =
Ct 10 bit : V =


Nguyễn Quang Vương - 67DCDT20131
TP1: Giới thiệu ADC


×