BỘ CÔNG THƯƠNG
TRƯỜNG ĐẠI HỌC SAO ĐỎ
BÁO CÁO
ĐỀ TÀI:
NGHIÊN CỨU, XÂY DỰNG MÔ HÌNH
KHOAN - PHAY TỰ ĐỘNG CÓ ỨNG DỤNG
VI XỬ LÝ AVR PHỤC VỤ CÔNG TÁC ĐÀO
TẠO TẠI TRƯỜNG ĐẠI HỌC SAO ĐỎ
Chủ nhiệm đề tài: TS. Vũ Thanh Chương
9128
1.5.2. Cổng Vào-Ra I/O 20
1.5.2.1 Thanh ghi DDRx 20
1.5.2.2. Thanh ghi PORTx 20
1.5.2.3. Thanh ghi PINx 21
1.6. Bộ định thời của ATMEGA128 22
1.6.1. Bộ định thời 1 và 3 22
1.6.2. Bộ định thời 0 và 2 22
1.7. Cấu trúc ngắ
t của ATMEGA128 23
1.7.1. Khái niệm về ngắt 23
1.7.2. Trình phục vụ ngắt và bảng véctơ ngắt 24
1.7.2.1. Thứ tự ưu tiên ngắt 24
1.7.2.2. Các ngắt ngoài 26
1.8. Các bộ phận ngoại vi khác 26
1.8.1. Bộ so sánh tương tự 26
1.8.2. Bộ chuyển đổi ADC 27
1.8.3. Bộ truyền nhận dữ liệu nối tiếp USART 30
2
Chương 2. THIẾT KẾ MÔ HÌNH, XÂY DỰNG PHẦN MỀM ĐIỀU
KHIỂN VÀ GIÁM SÁT HỆ THỐNG KHOAN – PHAY TỰ ĐỘNG
32
2.1.
2.1.1.
1. Chức năng của kho chứa t
ự động …………………………………….
.
44
2. Thành phần của kho chứa tự động …………………………………… 45
3. Các loại kho chứa tự động ……………………………………………
.
45
2.1.2.4. Hệ thống vận chuyển –tích trữ chi tiết gia công của CIM …………
…
47
1.
2.
Thiết bị kỹ thuật ………………………………………………………
Chức năng ……………………………………………………………
…
47
48
3. Phân loại hệ thống vận chuyển – tích trữ chi tiết …………………… 48
4. Tổ chức vận hành dụng cụ cắt trong hệ thống CIM …………… … 50
5. Chức năng của hệ thống vận chuyển – tích trữ dụng cụ ……………
…
51
6. Một số loại hệ thống vận chuyển – tích trữ dụng cụ …………………. 51
2.2. Thiết kế hệ thống khoan - phay ………………………………………
.
52
2.2.1. Thiết kế mô hình Rôbôt công nghiệp ………………………………… 52
2.2.2. Thiết kế mô hình máy phay CNC ……………………………………. 55
2.4.3.1.
2.4.3.2.
Lưu đồ thuật toán ……………………………………………………
Lưu đồ thuật toán của chương trình trên máy tính ……………………
Lưu đồ thuật toán của vi xử lý ………………………………………
Thiết kế giao diện của chương trình điều khiển hệ thống …………….
Chương trình gia công chi tiết ………………………………………
…
Lựa chọn các thông số khởi động …………………………………….
66
66
69
71
71
72
Chương 3. XÂY DỰNG CÁC BÀI THỰC HÀNH, THÍ NGHIỆM
ĐIỂN HÌNH TRÊN HỆ THỐNG KHOAN – PHAY TỰ ĐỘNG
73
Bài số 1 Khoan lỗ suốt 73
Bài số 2 Phay hốc 75
Bài số 3 Phay mặt phẳng, mặt bậc 77
Bài số 4 Lập phương trình động học thuận cho Rôbôt 79
KẾT LUẬN VÀ KHUYẾN NGHỊ 82
1. Kết luận 82
2. Khuyến nghị 83
Tài liệu tham khảo 84
Ph
ụ lục:
Phụ lục 1: Chương trình điều khiển và giám sát hệ thống
5
DANH MỤC CÁC HÌNH VẼ
Trang
Hình 1.1. Hình dáng bên ngoài một số vi xử lý AVR 12
Hình 1.2. Cấu trúc của vi xử lý AVR 13
Hình 1.3. Cấu trúc bộ nhớ chương trình 16
Hình 1.4. Sơ đồ bộ nhớ dữ liệu 17
Hình 1.5. Thanh ghi EFAR 18
Hình 1.6. Thanh ghi EFDR 18
Hình 1.7. Thanh ghi EFCR 18
Hình 1.8. Sơ đồ bộ nhớ của ATmega128 19
Hình 1.9. Thanh ghi DDRA 20
Hình 1.10. Thanh ghi PORTA 21
Hình 1.11. Thanh ghi PINA 21
Hình 1.12. Sơ đồ bộ so sánh tương tự 27
Hình 1.13. Sơ
đồ đơn giản của một khối ADC 28
Hình 1.14. Ngõ vào vi sai 29
Hình 1.15. Sơ đồ khối bộ USART 31
Hình 2.1. Sơ đồ hệ thống khoan - phay tự động 34
Hình 2.2. Hệ trục tọa độ trong máy CNC 35
Hình 2.3. Các dạng chạy dao trong điều khiển điểm - điểm 37
Hình 2.4. Các dạng chạy dao trong điều khiển đường thẳng 37
Hình 2.5. Điều khiển contour trên máy tiện (a) và máy phay (b) 38
Hình 2.6. Điều khiển contour 2D 38
Hình 2.7. Điều khiển contour 3D 39
Hình 2.8. Vùng gia công của máy 40
Hình 2.9. Các thành phần chính của hệ thống Rôbôt 42
Hình 2.33. Lưu đồ thuật toán của chương trình tính toán góc quay của
động cơ truyền động máy CNC 68
Hình 2.34. Lưu đồ thuật toán của chương trình trên vi xử lý máy CNC 70
Hình 2.35. Cử
a sổ thiết kế chương trình gia công 71
Hình 2.36. Đường ăn dao mô phỏng 72
Hình 2.37. Lựa chọn các thông số khởi động hệ thống 72
Hình 3.1. Chi tiết khoan 73
Hình 3.2. Chi tiết phay hốc 75
Hình 3.3. Chi tiết phay mặt phẳng , mặt bậc 77
Hình 3.4. Sơ đồ động của Rôbôt 79
7
DANH MỤC CÁC TỪ VIẾT TẮT
FMS : Flexible Munufacturing Systems
CIM : Computer Itegrated Munufacturing
RISC : Reduced Instruction Set Computer
AVR : Advanced Virtual RISC
ROM : Read Only Memory
EPROM : Error Programmable Read-Only Memory
EEPROM : Electronically Erasable Read-Only memory
8
MỞ ĐẦU
1. Lý do lựa chọn đề tài
Chất lượng đào tạo nguồn nhân lực có trình độ cao, phù hợp với nhu cầu của
các doanh nghiệp, các cơ sở sản xuất là yêu cầu cấp thiết đặt ra đối với các trường
và các trung tâm đào tạo. Để nâng cao chất lượng nguồn nhân lực, một yếu tố quan
trọng có tính quyết định đó là cơ sở vật chất, trang thiế
t bị, đồ dùng dạy học tiên
tiến, hiện đại, phù hợp với thực tế sản xuất. Thiết bị đồ dùng dạy học giúp cho học
sinh, sinh viên dễ tiếp thu bài học, hỗ trợ cho giảng viên, giáo viên truyền tải nội
dung bài giảng mang lại hiệu quả cao nhất. Mặt khác, thiết bị dạy học tiên tiến,
hiện đại giúp cho giảng viên, giáo viên đổi mới phương pháp dạy học tích cực
trong nhà trường, góp phần nâng cao chất lượng và hiệu quả đào tạo.
Ngày nay nhiều dây chuyền sản xuất tự động trong công nghiệp cũng như
một số thiết bị dân dụng có ứng dụng vi xử lý, các dây truyền sản xuất tự động có
ứng dụng vi xử lý đã được các doanh nghiệp đầu tư phục vụ sản xuất, nhằm giảm
sức lao động, nâng cao năng suất lao độ
ng. Tuy nhiên các thiết bị, mô hình tương
tự phục vụ công tác đào tạo tại các cơ sở đào tạo còn rất ít. Hiện nay trong điều
kiện nền kinh tế đất nước đang còn nhiều khó khăn, nguồn kinh phí cấp để các
trường tăng cường cơ sở vật chất, trang thiết bị, đồ dùng dạy học tiên tiến, hiện đại
đang còn hạn hẹp. Cho nên việc nghiên cứu, ứ
ng dụng tiến bộ khoa học kỹ thuật
tiên tiến, hiện đại để thiết kế, chế tạo hệ thống sản xuất tự động, linh hoạt (FMS)
hay hệ thống sản xuất tích hợp có sự trợ giúp của máy tính (CIM) phục vụ đào tạo
và áp dụng vào thực tế sản xuất rất cần thiết. Để học sinh, sinh viên ra trường có
kiến thức cơ bản v
thống khoan - phay tự động.
Kết luận và khuyến nghị
10
Chương 1 TỔNG QUAN VI XỬ LÝ AVR - ATMEGA 128
1.1. TÌNH HÌNH NGHIÊN CỨU VI XỬ LÝ AVR Ở NƯỚC NGOÀI
Hiện nay ở các nước phát triển trên thế giới các thiết bị và hệ thống sản xuất
linh hoạt đã được sử dụng rộng rãi nhằm giảm sức lao động và nâng cao năng suất
lao động. Trong nền sản xuất hiện đại việc xây dựng các hệ thống sản xuất linh
hoạt đóng một vai trò hết sức quan trọng. Hệ thố
ng sản xuất linh hoạt FMS cho
phép tự động hoá ở mức độ cao đối với sản xuất hàng loạt nhỏ và vừa trên cơ sở sử
được sử dụng trong các thế hệ chíp trước đó. So với dòng chíp 8051, AVR có nhiều
ưu điểm như: Có tốc độ xử lý nhanh, ổ
n định hơn, tích hợp được nhiều bộ phận
11
ngoại vi ngay trên chíp Chính vì vậy mà chíp AVR đã được sử dụng rộng rãi
trong công nghiệp cũng như một số thiết bị gia dụng.
1.2. TÌNH HÌNH NGHIÊN CỨU VI XỬ LÝ AVR Ở TRONG NƯỚC
Trong sự nghiệp công nghiệp hóa, hiện đại hóa đất nước. Một yêu cầu đặt ra
với các doanh nghiệp phải đầu tư trang thiết bị hiện đại mang tính linh hoạt, tính tự
động hóa cao, nhằm không ngừng nâng cao năng suất lao động. Trong những nă
m
vừa qua, ở nước ta một số khu công nghiệp đã đưa hệ thống sản xuất linh hoạt FMS
vào sản xuất như: Nhà máy Honda Việt Nam, Toyota Việt Nam, công ty VGF. Để
sử dụng và tiến tới làm chủ được những hệ thống sản xuất này, đòi hỏi các kỹ thuật
viên, kỹ sư phải có kiến thức sâu rộng về các hệ thống đó.
Hiện nay các trường đại họ
c và cao đẳng đều đưa môn học “Sản xuất linh
hoạt FMS & tích hợp CIM” và môn học “ Kỹ thuật vi xử lý” vào chương trình đào
tạo ngành Kỹ thuật Điện, Điện tử, Cơ điện tử. Tuy nhiên, vấn đề đặt ra là thiết bị
thực hành và thí nghiệm của các môn học này rất đắt vì phần lớn đều phải nhập từ
nước ngoài. Để đáp ứng yêu cầu s
ản xuất và phục vụ công tác đào tạo nguồn nhân
lực chất lượng cao, các hệ thống sản xuất linh hoạt, tích hợp FMS, CIM và một số
mô hình về hệ thống sản xuất linh hoạt có ứng dụng vi xử lýAVR phục vụ công tác
đào và nghiên cứu khoa học đã được một số ít trường đại học có uy tín đầu tư như:
Đại học Bách khoa, Học viện kỹ thuật quân sự trang bị
. Tuy nhiên việc chuyển
giao công nghệ còn gặp rất nhiều khó khăn. Với trình độ khoa học kỹ thuật hiện
nay của nước ta việc chế tạo một hệ thống sản xuất tự động, linh hoạt FMS hay hệ
Tốc độ của dòng Mega cũng cao hơn so với các dòng khác. Sự khác nhau cơ b
ản
giữa các dòng chính là cấu trúc ngoại vi, còn nhân thì vẫn như nhau. Đặc biệt, năm
2008 Atmel lại tiếp tục cho ra đời dòng AVR mới là Xmega AVR, với những tính
năng mạnh mẽ chưa từng có ở các dòng AVR trước đó. Có thể nói Xmega AVR là
dòng MCU 8 bít mạnh nhất hiện nay. Hình 1.1 Hình dáng bên ngoài vi xử lý AVR
13
Hình 1.2. Cấu trúc của vi xử lý AVR
1.4. ĐẶC ĐIỂM VÀ TÍNH NĂNG CỦA VI XỬ LÍ AVR
1.4.1. Đặc điểm
- Hiệu suất cao, tiết kiệm điện.
- Hoàn thiện cấu trúc RISC.
- 133 lệnh hiệu quả - thực thi tất cả các chu kỳ đồng hồ đơn.
- 32x8 thanh ghi chung đa năng.
- Các thanh ghi điều khiển ngoại vi.
- Có đầy đủ các quá trình điều khiển tĩnh.
- Nâng lên 16MIPS dữ liệu tại 16MHz chíp 2 nhân.
- Độ bền, sức chị
u đựng cao, không thay đổi phân vùng nhớ.
- 128 Kbytes bộ nhớ Flash có thể lập trình được trong hệ thống.
- 4K Bytes EEPROM.
- 4K Bytes bộ nhớ SRAM bên trong.
- Chu kỳ ghi/xóa: 10000Flash/100000EEPROM.
- Độ bền dữ liệu 20 năm ở 85
0
+ Thiết lập bật lại nguồn và lập trình lại khi phát hiện nguồn yếu ( Brown-out).
+ Hiệu chỉnh bộ dao động RC bên trong.
+ Ngắt nguồn trong và nguồn ngoài.
+ 6 chế độ chờ: Idle nghỉ, ADC giảm ồn, Power-saver tiết kiệm điện, ngắt
điện, chế độ chờ (standby), chế độ chờ mở rộng.
+ Phần mềm lựa chọn tần số xung nhịp.
+ Lựa chọn chế độ so sánh ATmega103 bởi cầu chì Fues.
- Cổng vào ra và dạng đóng gói:
+ 53 đường vào ra lập trình được.
+ 64 chân TQFP và 64 khối QFN / MLF.
- Điện áp hoạt động:
+ 2.7 v - 5.5v cho ATmega128L.
+ 4.5 v- 5.5v cho ATmega128.
15
- Mức tốc độ xung nhịp:
+ 0 - 8 MHz cho ATmega128.
+ 0 - 16 MHz cho ATmega128.
1.4.2. Tính năng
- ROM : 128 Kbytes
- SRAM: 4 Kbytes
- EEPROM: 4 Kbytes
- 64 thanh ghi I/O
- 160 thanh ghi vào ra mở rộng
- 32 thanh ghi đa mục đích.
- 2 bộ định thời 8 bít (0,2).
- 2 bộ định thời 16 bít (1,3).
- Bộ định thời watchdog
- Bộ dao động nội RC tần số 1 MHz, 2 MHz, 4 MHz, 8 MHz
- ADC 8 kênh với độ phân giải 10 bít (ở dòng Xmega lên tới 12 bít )
mềm này có thể tải vào trong vi xử lý, chương trình của người sử dụng và sau đó
thực thi chương trình này. Mỗi khi reset vi xử lý CPU sẽ nhảy tới thực thi chương
trình boot loader trước, chương trình boot loader sẽ dò xem có chương trình nào
cần nạp vào vi xử lý hay không, nếu có chương trình cần nạp, boot loader sẽ
nạp chương trình vào vùng nhớ ứng dụng (Application program section), rồi
thực thi chương trình này. Ngược lại, boot loader sẽ chuyển tới chương trình ứng
dụng có sẵn trong vùng nhớ ứng dụng để thực thi chương trình này.
Phần ứng dụng (Application program section) là vùng nh
ớ chứa chương
trình ứng dụng của người dùng. Kích
thước của phần boot loader và phần ứng
dụng có thể tùy chọn. Hình 1.3 thể hiện
cấu trúc bộ nhớ chương trình không sử
dụng bootloader (a) và có sử dụng
bootloader (b). Khi sử dụng phần boot
loader ta thấy 4 word đầu tiên thay vì chỉ
thị cho CPU chuyển tới chương trình
ứng dụng của người dùng (là chương
trình có nhãn start ) thì chỉ thị CPU nhảy
tới phầ
n chương trình boot loader để thực
hiện trước, rồi quay trở lại thực hiện
chương trình ứng dụng.
* Bộ nhớ dữ liệu: Bộ nhớ dữ liệu
của AVR chia làm 2 phần chính là bộ nhớ
SRAM và bộ nhớ EEPROM. Tuy cùng là bộ
nhớ dữ liệu nhưng hai bộ nhớ này lại tách
biệt nhau và được đánh địa chỉ riêng.
Bộ nhớ SRAM có dụng lượng 4 Kbytes, Bộ nhớ
SRAM có hai chế độ hoạt động là
tương thích ATmega103 thì ta sẽ bị mất đi
160 thanh ghi vào ra mở rộng (extended I/O Register), là những thanh ghi đóng
vai trò quan trọng trong các chế độ hoạt động của vi xử lý.
Data Menmory Data Menmory
32 Registers 32 Registers
64I/O Registers 64 I/O Registers
160 Ext I/O Reg 160 Ext I/O Reg
Internal SRAM
(4096x8)
Internal SRAM
(4096x8)
Internal SRAM
(4096x8)
Internal SRAM
(4096x8)
a) b)
$0000-$001F
$0000-$001F
$0FFF
$1000
$FFFF
$0000-$001F
EEAR7 EEAR6 EEAR5 EEAR4 EEAR3 EEAR2 EEAR1 EEAR0 EEARL
Read/
Write
R
R/W
R
R/W
R
R/W
R
R/W
R
R/W
R
R/W
R
R/W
R
R/W
Initial
Value
0
X
0
X
0
X
0
Đây là thanh ghi dữ liệu của EEPROM, là nơi chứa dữ liệu định ghi vào
hay lấy ra từ EEPROM.
- Thanh ghi EECR
Bít
7 6 5 4 3 2 1 0
- - - - EERIE EEMWE EEWE EERE EECR
Read/Write R/W R/W R/W R/W R/W R/W R/W R/W
Initial Value 0 0 0 0 0 0 0 0
Hình 1.7. Thanh ghi EFCR
19
Đây là thanh ghi điều khiển EEPROM, ta chỉ sử dụng 4 bít đầu của
thanh ghi này, 4 bít cuối là dự trữ, ta nên ghi 0 vào các bít dự trữ.
Sơ đồ bộ nhớ bên trong của ATmega128 có thể tóm tắt lại như hình 1.8
Hình 1.8. Sơ đồ bộ nhớ của ATmega128
1.5.2. Cổng Vào-Ra (I/O)
Cổng Vào-Ra là một trong số các phương thức để vi xử lý giao tiếp với các
thiết bị ngoại vi. ATmega128 có tất cả 7 cổng (port) Vào-Ra 8 bít là: PortA,
PortB, PortC, PortD, PortE, PortF, PortG, tương ứng với 56 lối Vào-Ra . Các
cổng Vào-Ra của AVR là cổng Vào-Ra hai chiều có thể định hướng, tức là có thể
chọn hướng của cổng là hướng vào (input) hay hướng ra (output). Tất các các
cổng Vào-Ra của AVR đều có tính năng Đọc – Chỉnh sửa – Ghi (Read – Modify –
Write) khi sử dụng chúng như
các cổng Vào-Ra số thông thường. Điều này có
nghĩa là khi ta thay đổi hướng của một chân nào đó thì nó không làm ảnh hưởng
tới hướng của các chân khác. Tất cả các chân của các cổng (port ) đều có điện trở
kéo lên (pull-up) riêng, ta có thể cho phép hay không cho phép điện trở kéo lên
này hoạt động.
PORTx, DDRx, PINx. (ở đây x là để thay thế cho A, B,…G). Ba thanh ghi này sẽ
được phối hợp với nhau để điều khiển hoạt động của cổng, chẳng hạn thiết lập
cổng thành lối vào có sử dụng điện trở pull-up, v.v . Sau
đây là diễn tả cụ thể
vai trò của 3 thanh ghi trên.
1.5.2.1. Thanh ghi DDRx.
Đây là thanh ghi 8 bít (có thể đọc ghi) chức năng điều khiển hướng của
cổng (là lối ra hay lối vào). Khi một bít của thanh ghi này được set lên 1 thì chân
tương ứng với nó được cấu hình thành ngõ ra. Ngược lại, nếu bít của thanh ghi
DDRx là 0 thì chân tương ứng với nó được thiết lập thành ngõ vào. Ví dụ: Khi ta
xét tất cả 8 bít của thanh ghi DDRA đều là 1, thì 8 chân tương ứng của portA là
PA1, PA2, … PA7 (tương
ứng với các chân số 50, 49, …44 của vi xử lý) được
thiết lập thành ngõ ra.
Bít
7 6 5 4 3 2 1 0
DDA7 DDA6 DDA5 DDA4 DDA3 DDA2 DDA1 DDA0 DDRA
Read/Write R/W R/W R/W R/W R/W R/W R/W R/W
Initial Value 0 0 0 0 0 0 0 0
Hình 1.9. Thanh ghi DDRA
1.5.2.2. Thanh ghi PORTx
PORTx là thanh ghi 8 bít có thể đọc ghi. Đây là thanh ghi dữ liệu của
PORTx, nếu thanh ghi DDRx thiết lập cổng là lối ra, khi đó giá trị của thanh ghi
PORTx cũng là giá trị của các chân tương ứng của PORTx, nói cách khác, khi ta
21
ghi một giá trị lôgíc lên 1 bít của thanh ghi này thì chân tương ứng với bít đó,
cũng có cùng mức lôgíc. Khi thanh ghi DDRx thiết lập cổng thành lối vào thì
thanh ghi PORTx đóng vai trò như một thanh ghi điều khiển cổng. Cụ thể, nếu một
của cổng tương ứng được đọc, vì thế đối với thanh ghi PINx ta chỉ có thể đọc mà
không thể ghi. Bảng 1.1 thể hiện các thiết lập cách hoạt
động có thể có của cổng.
Bít
7 6 5 4 3 2 1 0
PINA
7
PINA
6
PINA
5
PINA
4
PINA
3
PINA
2
PINA
1
PINA
0
PORTA
Read/write R R R R R R R R
Initial Value N/A N/A N/A N/A N/A N/A N/A N/A
Hình 1.11. Thanh ghi PINA
Bảng 1.1
DDRxn PORTx
n
PUD (Trong thanh
ghi SFIOR)
õ ra thấ
p
1 1 x N
g
õ ra khôn
g
N
g
õ ra cao
DDRxn là bít thứ n của thanh ghi DDRx
PORTxn là bít thứ n của thanh ghi PORTx
Dấu “x” ở cột thứ 3 để chỉ giá trị lôgíc là tùy ý
22
1.6. BỘ ĐỊNH THỜI CỦA ATMEGA 128
ATmega128 có 4 bộ định thời, bộ định thời 1 và 3 là bộ định thời 16
bít, bộ
định thời 0 và 2 là bộ định thời 8 bít.
1.6.1. Bộ định thời 1 và 3
Bộ định thời 1 và 3 là bộ định thời 16 bít, bộ định thời 1 sử dụng 13 thanh
ghi liên quan, còn bộ định thời 3 sử dụng 11 thanh ghi liên quan với nhiều chế
độ thực thi khác nhau. Vì bộ định thời 1 và 3 hoạt
động giống nhau nên ở đây chỉ
trình bày bộ định thời 1. Một điểm cần chú ý là trong các thanh ghi liên quan
tới bộ định thời 1 và 3 thì có nhiều thanh ghi được chia sẽ cho cả hai bộ định
thời, chẳng hạn thanh ghi ETIPR có bít cuối là OCF1C được dùng cho bộ định
thời 1, các bít còn lại là dùng cho bộ định thời 3. Thậm chí có những thanh
ghi chia sẽ cho bộ định thời 0 hoặc 2, chẳng hạn thanh ghi TIMSK có hai bít
Bộ định thời 2 là bộ định thời 8 bít, liên quan tới 5 thanh ghi với nhiều
chế độ thực thi khác nhau. Các thuộc tính chính của bộ định thời gồm: Bộ đếm
đơn kênh, xóa bộ định thời khi có sự kiện “so sánh khớp” và tự động nạp lại,
PWM hi
ệu chỉnh pha, đếm sự kiện bên ngoài.
1.7. CẤU TRÚC NGẮT CỦA ATMEGA 128
1.7.1. Khái niệm về ngắt
Ngắt là một sự kiện bên trong hay bên ngoài làm ngắt bộ vi xử lý để báo
cho nó biết rằng thiết bị cần dịch vụ của nó.
Một bộ vi xử lý có thể phục vụ một vài thiết bị, có hai cách để thực hiện
điều này đó là sử dụng các ngắt (interrupt) và thăm dò (polling). Trong phương
pháp sử
dụng các ngắt thì mỗi khi có một thiết bị bất kỳ cần đến dịch vụ của nó
thì nó báo cho bộ vi xử lý bằng cách gửi một tín hiệu ngắt. Khi nhận đựợc tín
hiệu ngắt, bộ vi xử lý ngắt tất cả những gì nó đang thực hiện để chuyển sang
phục vụ thiết bị. Chương trình đi cùng với ngắt được gọi là trình dịch vụ ngắt ISR
(Interrupt Service Routine) hay còn g
ọi là trình quản lý ngắt (Interrupt handler).
Còn trong phương pháp thăm dò thì bộ vi xử lý hiển thị liên tục tình trạng của
một thiết bị đã cho và điều kiện thoả mãn thì nó phục vụ thiết bị. Sau đó nó
chuyển sang hiển thị tình trạng của thiết bị kế tiếp cho đến khi tất cả đều được
phục vụ.
Mặc dù phương pháp thăm dò có thể thể hiển thị tình tr
ạng của một vài
thiết bị và phục vụ mỗi thiết bị khi các điều kiện nhất định được thoả mãn, nhưng
nó không tận dụng hết công dụng của bộ vi xử lý. Điểm mạnh của phương pháp
ngắt là bộ vi xử lý có thể phục vụ được rất nhiều thiết bị không tại cùng một thời
điểm. Mỗi thiết bị có th
ể nhận được sự chú ý của bộ vi xử lý dựa trên mức ưu
tiên được gán cho nó. Đối với phương pháp thăm dò thì không thể gán mức ưu
1.7.2.1. Thứ tự ưu tiên ngắt
Dưới đây là bảng véc tơ ngắt của ATmega128, cùng với địa chỉ của nó
trong bộ nhớ chương trình.
Bảng 1.2
Véctơ
No.
Program
Address
Source Interrupt Definition
1 $0000 RESET External Pin, Power-on Reset,
Brown-out Reset, Watchdog Reset,
and JTAG AVR Reset
2 $0002 INT0 External Interrupt Request 1
3 $0004 INT1 External Interrupt Request 2
4 $0006 INT2 External Interrupt Request 3
5 $0008 INT3 External Interrupt Request 4
6 $000A INT4 External Interrupt Request 5
7 $000C INT5 External Interrupt Request 6
8 $000E INT6 External Interrupt Request 7
9 $0010 INT7 External Interrupt Request 7