tài liệu vi xử lý bài 3 timer ..............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
Trang 1Giảng viên: Phạm Văn Chiến
Bộ môn: Điện tử máy tính
Trang 2Nội dung:
Bài thực hành 01: Lập trình điều khiển vào/ra
Bài thực hành 02: Lập trình ứng dụng sử dụng ngắt ngoài Bài thực hành 03: Lập trình các ứng dụng sử dụng Timer Bài thực hành 04: Lập trình ứng dụng SD cổng nối tiếp
Bài thực hành 05: Thiết kế ứng dụng
Trang 3Bài TH 03: Lập trình các ứng dụng
sử dụng Timer
Trình bày: Phạm Văn Chiến, 3
Trang 4Nội dung bài học:
1 Thiết lập Timer
2 Sơ đồ mạch điện
3 Lập trình ứng dụng Timer
Trang 5- Hoạt động ở 4 chế độ: chế độ 0 13 bit; chế độ 16 bit; chế độ 2
8 bít tự nạp lại; chế độ 3 chia tách thành 2 bộ timer 8 bit.
- Nguồn xung được lấy từ hệ thống(Fosc/12) hoạc từ bên
ngoài qua chân T0, T1 hoạc T2.
Trang 6Cỏc chế độ hoạt động của Timer0/Timer1
- Chế độ 0/ 13 bit
Hoạt động của Timer 0 và Timer 1 ở chế độ 0.
- C/T là bit chọn nguồn xung, C/T = 1 Timer lấy xung từ
ngoài, C/T=1 lấy xung hệ thống
1 Thiết lập Timer
/12
Trang 7- Chế độ 0/ 13 bit
Hoạt động của Timer 0 và Timer 1 ở chế độ 0.
- 13 bit của bộ đếm chứa trong thanh ghi THx và TLx
- TFx = 1 khi bộ đếm bị tràn ( chuyển từ giỏ trị max 255 hoạc 2047 hoạc 65535 sang 0)
Tỡnh bày: Phạm Văn Chiến, 7
1 Thiết lập Timer
/12
Trang 8Cỏc chế độ hoạt động
- Chế độ 0/ 13 bit
Hoạt động của Timer 0 và Timer 1 ở chế độ 0.
- TRx=1 Timer hoạt động, =0 Timer dừng.
- Gate = 0 timer hoạt động khụng liờn quan tới INTx.
1 Thiết lập Timer
/12
Trang 9- Chế độ 1/ 16 bit
Hoạt động của Timer 0 và Timer 1 ở chế độ 1.
- Hoạt động tương tự chế độ khụng.
- Khỏc: 16 bớt của bộ đếm chứa THx(8 bit cao) và TLx( 8 bit thấp).
Tỡnh bày: Phạm Văn Chiến, 9
1 Thiết lập Timer
/12
Trang 10- Chế độ 2/ 8 bit tự nạp lại
Hoạt động của Timer 0 và Timer 1 ở chế độ 1.
- Hoạt động tương tự cỏc chế độ trờn.
- Khỏc: 8 bớt của bộ đếm chứa TLx, giỏ trị khởi tạo lại
chứa trong THx Khi bộ đếm tràn giỏ trị trong THx sẽ
nạp vào TLx.
1 Thiết lập Timer
/12
Trang 11- Chế độ 3/ tỏch 2 bộ 8 bit
Hoạt động của Timer 0 ở chế độ 3.
- Hoạt động tương tự cỏc chế độ trờn.
- Khỏc: Bộ Timer 8 bit thứ 2 sẽ gõy ra ngắt cho Timer1Tỡnh bày: Phạm Văn Chiến, 11
1 Thiết lập Timer
/12
Trang 122.3 Các thanh ghi điều khiển
- TMOD: Thanh chọn chế độ hoạt động cho Timer0
Trang 13Thanh ghi TMOD
Tình bày: Phạm Văn Chiến, 13
1 Thiết lập Timer
Trang 14Thanh ghi TCON
1 Thiết lập Timer
Trang 15Thanh ghi T2MOD
Tình bày: Phạm Văn Chiến, 15
1 Thiết lập Timer
Trang 16Thanh ghi T2CON
1 Thiết lập Timer
Trang 17Cỏc thanh ghi chứa giỏ trị đếm
Mỗi Timer có 2 thanh ghi 8 bit dùng để chứa giá trị khởi tạo hoặc giá trị hiện thời của các Timer.
Tỡnh bày: Phạm Văn Chiến, 17
1 Thiết lập Timer
Trang 182 Sơ đồ điện
- Sơ đồ nguyên lý CPU
Mô đun CPU, jack kết nối mạch nạp và các cổng vào/ra
T0/P3.4 T1/P3.5 T2/P1.0
Trang 192 Sơ đồ điện
- Sơ đồ nguyên lý phần hiển thị
Trình bày: Phạm Văn Chiến, 19
Mạch điều khiển quét led 7 thanh AC
Trang 203 Lập trình ứng dụng Timer
3.1 Lập trình ứng dụng định thời
Mạch điều khiển quét led 7 thanh AC
Giới thiệu:
- Các bộ Timer sử dụng ngồn xung từ hệ thống(Fosc/12)
- Chế độ này được sử dụng để tạo trễ, thời gian trễ được
Trang 213 Lập trình ứng dụng Timer
3.1 Lập trình ứng dụng định thời
- Các bước thiết kế ứng dụng
Bước 1 Phân tích bài toán, tính chọn chế độ, giá trị khởi
tạo(số xung timer cần đếm mỗi chu kỳ)
Bước 2 Vẽ lưu đồ thuật toán
Bước 3 Viết chương trình
Bước 4 Mô phỏng sửa lỗi, kiểm tra kết quả trên mạch
điện thực tế.
Trình bày: Phạm Văn Chiến, 21
Mạch điều khiển quét led 7 thanh AC
Trang 22Bài tập áp dụng:
Bài tập 1 Sử dụng Timer0, chế độ 1 tạo xung 500hz
với Tosc là 12Mhz.
3.1 Lập trình ứng dụng định thời (timer)
Trang 23Bước 1 Phân tích và tính chọn Timer
3.1 Lập trình ứng dụng định thời (timer)
Timer 0/ chế độ 1(16bit) /12
TF0 Fosc = 12M
T=1us
F=500Hz -> T=2000us
1/2T=1000us
1000us
- Timer0 chế độ 1(16bit), nguồn xung Tosc
- Thời gian cần tạo trễ là 1000us
- Xung Timer0 cần đếm để tạo trễ 1000uS là:
x =1000us/1us=1000 (xung)
Tình bày: Phạm Văn Chiến, 23
Trang 24Bước 2 Vẽ lưu đồ thuật toán
Trang 25Bước 3 Viết chương trình
3.1 Lập trình ứng dụng định thời (timer)
Tình bày: Phạm Văn Chiến, 25
Trang 26Bước 4 Mô phỏng sửa lỗi, kiểm tra kết quả trên
mạch điện thực tế.
3.1 Lập trình ứng dụng định thời (timer)
- Vẽ mạch điện như hình
- Lựa chọn Fosc = 12M
- Nối P1.0 với kênh A của
máy hiện song số.
Trang 27Bước 4 Mô phỏng sửa lỗi, kiểm tra kết quả trên
mạch điện thực tế.
3.1 Lập trình ứng dụng định thời (timer)
Tình bày: Phạm Văn Chiến, 27
Trang 28Bước 4 Mô phỏng sửa lỗi, kiểm tra kết quả trên
mạch điện thực tế.
3.1 Lập trình ứng dụng định thời (timer)
Trang 29- Thực hiện tương tự bài tập 1.
- Thay đổi giá trị khởi tạo ch0 TMOD; Các thanh
ghi/bit điều khển Timer1 là: TR1, TH1, TL1, TF1.
3.1 Lập trình ứng dụng định thời (timer)
Tình bày: Phạm Văn Chiến, 29
Trang 31Bước 1 Phân tích và tính chọn Timer
3.1 Lập trình ứng dụng định thời (timer)
Timer1/ chế độ
1(8bit) /12
TF0 Fosc = 4M
T=3us
F=1000Hz -> T=1000us
1/2T=500us
500us
- Timer1 chế độ 1(8bit), nguồn xung Tosc
- Thời gian cần tạo trễ là 500us
- Xung Timer1 cần đếm sau mỗi chu kỳ là:
500/3=166 (xung)
Tình bày: Phạm Văn Chiến, 31
Trang 32Bước 3 Chương trình
3.1 Lập trình ứng dụng định thời (timer)
Trang 343.2 Lập trình ứng dụng đếm sự kiện(Counter)
Các bước lập trình ứng dụng:
Bước 1 Phân tích bài toán: chọn chế độ phù
hợp(TMOD).
Bước 2 Viết chương trình : Cấu hình TMOD, xóa
timer và cho Timer đếm bên ngoài vòng lặp; sau
đó liên tục đọc giá trị đếm từ thanh ghi chứa và
lưu vào biến nhớ.
Bước 3 Mô phỏng
Ghi chú: không cần viết lưu đồ vì các bước lập
trình đơn giản, không có rẽ nhánh.
Trang 353.2 Lập trình ứng dụng đếm sự kiện(Counter)
Ví dụ áp dụng:
Bài tập 5 Lập trình đếm sản phẩm sử dụng trên
chân T1, giá trị đếm max 255, số sản phẩm được
hiển thị dưới dạng số nhị phân ra 8 led nối với P1.
Tình bày: Phạm Văn Chiến, 35
Trang 373.2 Lập trình ứng dụng đếm sự kiện(Counter)
Bước 2 Viết chương trình
Tình bày: Phạm Văn Chiến, 37
Trang 383.2 Lập trình ứng dụng đếm sự kiện(Counter)
Bước 3 Mô phỏng
Trang 393.2 Lập trình ứng dụng đếm sự kiện(Counter)
Bài tập 6 Lập trình đếm sản phẩm sử dụng trên
chân T0, giá trị đếm được hiển thị trên 1 led 7
thanh nối với P1.
Tình bày: Phạm Văn Chiến, 39
Trang 403.2 Lập trình ứng dụng đếm sự kiện(Counter)
Chương trình điều khiển
“*” Sinh viên tính chọn chế độ phù hợp và điền lại giá trị phù hơp theo yêu cầu đề bài.
*