1. Trang chủ
  2. » Công Nghệ Thông Tin

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

41 231 2

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 41
Dung lượng 5,43 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Tài liệu giải bài tập Vi điều khiển AVR cơ bản. Nháy Led đơn, Led 7 đoạn, Timer, ngắt ngoài ADC. Tài liệu phù hợp với sinh viên năm 2 các trường Đại học chuyên nghành Công nghệ thông tin, Điện tử - Viễn thông, Cơ điện tử, Tự động hóa, Điện - Điện tử

Trang 1

Nguyễn Quang Vương - 67DCDT20131

Mục Lục

Phần 1: LED đơn 3

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)) 3

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 3

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 4

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) 5

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 6

AT16, 8 LED nối vào PORTD và 2 nút bấm nối vào PC0 và PC1 7

- Trạng thái đầu 8 LED nhấp nháy xen kẽ với chu kì 100ms 8

*Chú ý: Một số khối hay sử dụng 10

Phần 2: LED 7 THANH 10

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 10

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 11

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 12

Phần 3: TIMER 14

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 14

Phần 4: NGẮT NGOÀI 16

Trang 2

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 16

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á 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) 18

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).???????? 21

Phần 5: ADC 24

TP1: Giới thiệu ADC 25

TP2: Hiển thị sau dấu chấm một số thập phân 27

TP3 2 số thập phân sau dấu chấm 28

TP4 1 nút bấm diều khiển 31

TP5 lm 35 35

Tp6 LM35 voi độ C rõ ràng 38

Trang 3

Nguyễn Quang Vương - 67DCDT20131

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

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

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

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

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

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

Y Hinh 2 1: Led 7 thanh bai 1 10

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

Hình 3 1: Timer 1 14

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

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

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

Trang 4

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.

Trang 5

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.

Trang 6

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).

Trang 7

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

độ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.

Trang 8

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

Trang 9

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

Trang 10

- Ân nút thứ nhất thì tăng tần số nhấp nháy.

- Â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

Trang 11

Nguyễn Quang Vương - 67DCDT20131

Trang 12

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ăngquá 9 thì vòng về 0 đếm chu trình mới

Trang 13

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ỗi1(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.

Trang 14

[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.]

Trang 15

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.

Trang 16

Hình 3 1: Timer 1

Trang 17

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.

Trang 18

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

Trang 19

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á

Trang 20

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

Trang 21

Nguyễn Quang Vương - 67DCDT20131

Trang 22

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).????????

Trang 23

Nguyễn Quang Vương - 67DCDT20131

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

Trang 26

TP1: Giới thiệu ADC

Trang 27

Nguyễn Quang Vương - 67DCDT20131

Trang 29

Nguyễn Quang Vương - 67DCDT20131

Trang 31

Nguyễn Quang Vương - 67DCDT20131

Trang 32

C1:2 nut

Trang 33

Nguyễn Quang Vương - 67DCDT20131

Trang 35

Nguyễn Quang Vương - 67DCDT20131

Trang 37

Nguyễn Quang Vương - 67DCDT20131

Trang 39

Tp6 LM35 voi độ C rõ ràng

Ngày đăng: 26/08/2020, 22:13

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w