Thiết kế mạch điều khiển từ xa bằng điện thoại 7 ngõ ra có phản hồi âm thanh

  • 59 trang
  • file .doc
LỜI CẢM ƠN
Trong thời gian học tập và làm đồ án tốt nghiệp, em đã nhận được rất nhiều
sự hướng dẫn giúp đỡ quý báu của các thầy, cô giáo trong khoa Điện – Điện Tử.
Nhất là các thầy, cô giáo trong ngành Điện tử viễn thông, những nhà giáo đã tận
tình giảng dạy cho em trong suốt thời gian học tập tại trường.
Đặc biệt em xin gửi lời biết ơn sâu sắc đến những người thân là bố mẹ
những người luôn theo sát em học tập và là chỗ tựa để em hoàn thành thời gian
học tập tại trường, em cũng gửi lời chúc tới thầy,Thạc sĩ.Nguyễn Phương Lâm,
người thầy kính mến đã hướng dẫn, động viên, tạo mọi điều kiện thuận lợi cho
em trong suốt quá trình học tập và hướng dẫn trực tiếp em hoàn thành đồ án tốt
nghiệp này. Em xin bày tỏ lòng biết ơn sâu sắc đến Thầy.
Em cũng xin bày tỏ lòng cảm ơn tới Ban giám hiệu Trường Đại học Hàng
hải Việt Nam, các bạn bè đã nhiệt tình giúp đỡ, tạo mọi điều kiện thuận lợi để
em hoàn thành đúng tiến độ bản đồ án tốt nghiệp này.
i
LỜI CAM ĐOAN
Tôi xin cam đoan đây là đề tài nghiên cứu do tôi thực hiện. Các số liệu và
kết luận nghiên cứu được trình bày trong đồ án chưa từng được công bố ở các
nghiên cứu khác.
Tôi xin hoàn toàn chịu trách nhiệm về lời cam đoan của mình.
Hải Phòng, tháng 12 năm 2015
Sinh viên
Hoàng Văn Tự
ii
MỤC LỤC
LỜI CẢM ƠN.........................................................................................................i
LỜI CAM ĐOAN..................................................................................................ii
MỤC LỤC............................................................................................................iii
MỘT SỐ TỪ VIẾT TẮT SỬ DỤNG TRONG ĐỒ ÁN...........................................v
DANH MỤC CÁC BẢNG....................................................................................vi
DANH MỤC CÁC HÌNH VẼ...............................................................................vi
MỞ ĐẦU...............................................................................................................1
CHƯƠNG 1: TỔNG QUAN VỀ HỆ THỐNG ĐIỀU KHIỂN TỪ XA BẰNG ĐIỆN THOẠI
...............................................................................................................................2
1.1. SƠ ĐỒ KHỐI CỦA THIẾT BỊ ĐIỀU KHIỂN TỪ XA BẰNG ĐIỆN THOẠI..2
1.2. TELEPHONE LINE........................................................................................3
1.3. PHỐI GHÉP....................................................................................................5
1.3.1. IC chuyên dụng MT8870...............................................................................5
1.3.2. Sơ đồ khối của IC MT8870............................................................................6
1.3.3. Phương thức giải mã DTMF..........................................................................7
1.4. KHỐI MCU.....................................................................................................9
1.4.1. MCU.............................................................................................................9
1.4.2. Vi điều khiển ATmega16.............................................................................10
1.4.3. Cấu trúc bên trong ATmega16....................................................................11
1.5. KHỐI RELAY VÀ LCD................................................................................22
1.5.1. Relay..........................................................................................................22
1.5.2. LCD hiển thị 23
CHƯƠNG 2: MÔ HÌNH MẠCH ĐIỀU KHIỂN TỪ XA BẰNG ĐIỆN THOẠI...24
2.1. Sơ đồ khối và sơ đồ nguyên lý tổng thể của mô hình mạch..............................24
2.2. Nguyên lý của từng khối trong mạch...............................................................25
2.2.1. Mạch nguồn................................................................................................25
2.2.2. Mạch phối ghép...........................................................................................26
iii
2.2.3. Mạch vi điều khiển MCU............................................................................28
2.2.4. Khối hiển thị................................................................................................30
2.2.5. Mạch relay..................................................................................................31
2.3. Hoạt động thực tế của mạch............................................................................32
CHƯƠNG 3: XÂY DỰNG THUẬT TOÁN VÀ LẬP TRÌNH CHO THIẾT BỊ
ĐIỀU KHIỂN TỪ XA BẰNG ĐIỆN THOẠI 36
3.1. YÊU CẦU ĐẶT RA......................................................................................36
3.2. NGÔN NGỮ LẬP TRÌNH C VÀ PHẦN MỀM CODEVISION...................36
3.2.1. Cơ bản về ngôn ngữ C.................................................................................36
3.2.2. Phần mềm Codevision.................................................................................41
3.3. SƠ ĐỒ THUẬT TOÁN XỬ LÝ....................................................................46
KẾT LUẬN..........................................................................................................47
DANH MỤC TÀI LIỆU THAM KHẢO...............................................................48
NHẬN XÉT TÓM TẮT CỦA GIẢNG VIÊN HƯỚNG DẪN..............................49
ĐÁNH GIÁ CỦA NGƯỜI PHẢN BIỆN..............................................................50
iv
MỘT SỐ TỪ VIẾT TẮT SỬ DỤNG TRONG ĐỒ ÁN
DTMF Dual Tone Multi Frequency: Âm kép đa tần số
MCU Micro-controller Unit: Bộ vi điều khiển
LCD Liquid Crystal Display: Màn hình tinh thể lỏng
LED Light Emitting Diode: Đi ốt phát quang
DC Direct current: Dòng điện một chiều
AC Alternating current: Dòng điện xoay chiều
Vpp Voltage peak to peak: Điện áp đỉnh đỉnh
Vrms Voltage root mean square: Điện áp trung bình bình phương
CMOS Complementary Metal-Oxide-Semiconductor: công nghệ dùng để chế
tạo mạch tích hợp
AVR Họ vi điều khiển do hãng Atmel sản xuất
I/O In/Out: Vào ra
ASCII American Standard Code for Information Interchange: Bộ ký tự dựa
trên bảng chữ cái latin xây dựng nên
v
DANH MỤC CÁC BẢNG
Số bảng Tên bảng Trang
1.1 Phân loại tần số tín hiệu Tone 4
1.2 Mã hóa bàn phím điện thoại 8
3.1 Bảng 3.1: Các kiểu dữ liệu thường dùng khi lập trình C cho vi 41
điều khiển.
vi
DANH MỤC CÁC HÌNH VẼ
Số hình Tên hình Trang
1.1 Sơ đồ khối hệ thống điều khiển từ xa bằng điện thoại 2
1.2 Kiểu dáng và sơ đồ chân của IC MT8870 6
1.3 Sơ đồ khối IC MT8870 6
1.4 Kiểu dáng và sơ đồ chân ATmega16 11
1.5 Sơ đồ khối cấu trúc AVR ATmega16 12
1.6 Các thanh ghi hỗ trợ làm việc AVR CPU 14
1.7 Sơ đồ bộ nhớ process 17
1.8 Sơ đồ bộ nhớ dữ liệu 18
1.9 Những chu kỳ truy xuất SRAM 19
1.10 Relay 5V – 220V / 10A và sơ đồ đấu nối 22
1.11 Hình dạng thực tế của LCD16X2 23
2.1 Sơ đồ khối mạch điều khiển từ xa bằng điện thoại 24
2.2 Sơ đồ nguyên lý tổng thể của mạch điều khiển từ xa 25
2.3 Sơ đồ mạch nguồn 25
2.4 Sơ đồ mạch phối ghép 26
2.5 Sơ đồ mạch vi điều khiển 28
2.6 Mạch hiển thị 29
2.7 Thuật toán hiển thị dữ liệu trên LCD 31
2.8 Mạch relay 32
2.9 Mạch chưa hoạt động 33
2.10 Mạch khởi động và reset 34
2.11 Thực hiện điều khiển relay 35
3.1 Cửa sổ project 42
3.2 Cửa sổ tap ports 42
3.3 Cửa sổ tap External IRQ 43
vi
3.4 Cửa sổ định dạng chuẩn giao tiếp I2C 44
3.5 Lưu một project 45
3.6 Lưu đồ thuật toán của chương trình 46
vii
MỞ ĐẦU
Ngày nay với với sự phát triển nhanh chóng của khoa học kỹ thuật,
nhiều công nghệ mới ra đời với mục đích làm cho mọi việc trở nên đơn giản,
tiện lợi nhằm đáp ứng nhu cầu ngày càng cao của con người trong mọi lĩnh vực.
Do vậy các công nghệ mới càng hướng đến khả năng không dây làm cho con
người được giải phóng, tự do và thoải mái hơn.Và thiết bị điêu khiển từ xa là
một trong những công nghệ đóng góp một phần vào sự hiện đại này của nhân
loại.
“Chúng ta hiện nay đang sống trong một xã hội đang phát triển về mọi
mặt: kinh tế, đời sống, văn hóa, xã hội… chính vì vậy, chúng ta muốn thích nghi
được thì phải không ngừng học tập và nghiên cứu. Sinh viên chúng em cũng vậy
phải luôn học tập và hoàn thiện mình hơn. Khi kinh tế phát triển thì nhu cầu
cuộc sống cũng tăng theo. Nhận thấy được điều đó, nên ngành điện tử không
ngừng phát triển để phục vụ con người được tốt hơn, phát triển hơn là ngành
điều khiển tự động.
Chạy theo nhu cầu cuộc sống ngày càng hiện đại, nên em đã tham khảo
nhiều tài liệu và cuối cùng em đã chọn đề tài: “Thiết kế mạch điều khiển từ xa
bằng điện thoại 7 ngõ ra có phản hồi âm thanh”. Nhằm giúp ích cho, mọi người
trong việc điều khiển các thiết bị trong nhà nói riêng, cũng như các thiết bị trong
công nghiệp nói chung mà con người không thể làm việc trực tiếp được.
Mục đích của mạch điều khiển từ xa nay là điều khiển 7 ngõ ra một cách
độc lập với nhau mà không cần đi đến tận nơi để bật công tắc. Mạch có thể điều
khiển từ xa bằng tất cả các loại điện thoại tiện lợi cho người điều khiển ở có kết
nối thông tin liên lạc. Một cách chính xác, hiệu quả mà không cần mất thời gian
và sức lực.
Yêu cầu của mạch điều khiển này là chạy chính xác, ổn định, nhỏ gọn, dễ
lắp đắt sửa chữa, dễ sử dụng cho tất cả mọi người.”(
http://doc.edu.vn/tai-lieu/de-tai-he-thong-bao-trom-bao-chay-qua-duong-day-
dien-thoai-2859/)
1
CHƯƠNG 1: TỔNG QUAN VỀ HỆ THỐNG ĐIỀU KHIỂN TỪ XA BẰNG
ĐIỆN THOẠI
Hiện nay trên thị trường có nhiều thiết bị điều khiển từ xa khác nhau, đặc
biệt là thiết bị điều khiển từ xa bằng điện thoại. Điện thoại không chỉ có chức
năng nghe, gọi, nhắn tin…. Mà nó còn có khả năng như một thiết bị điều khiển
từ xa rất tiện dụng mà hầu như ai ai cũng luôn mang theo bên mình. Khi chúng
ta đi đâu đó xa nhà, trang trại, công sở…. Vô tình quên tắt bật hoặc muốn tắt bật
các thiết bị khi chúng ta không ở đó thì thiết bị điều khiển từ xa bằng điện thoại
có thể thay thế chúng ta làm công việc này. Từ đây, chúng ta có thể thấy một
điều, thiết bị điều khiển từ xa bằng điện thoại giúp chúng ta tiện lợi hơn rất
nhiều trong cuộc sống hàng ngày. Để tìm hiểu về công nghệ này em xin trình
bày quá trình mô hình hóa thiết bị điều khiển từ xa bằng điện thoại và làm rõ
hơn hoạt động của nó sau đây.
1.1. SƠ ĐỒ KHỐI CỦA THIẾT BỊ ĐIỀU KHIỂN TỪ XA BẰNG ĐIỆN
THOẠI
Sơ đồ khối của thiết bị điều khiển từ xa bằng điện thoại:
Hình 1.1: Sơ đồ khối hệ thống điều khiển từ xa bằng điện thoại.
Mô tả chức năng của các khối:
a. Telephone line:
Đường truyền tín hiệu điện thoại, truyền tín hiệu giữa điện thoại - tổng đài -
điện thoại. Trong các tín hiệu của điện thoại khi ấn các nút trên bàn phím thì âm
đa tần DTMF phát ra. Âm này đưa vào mạch điều khiển thông qua dắc cắm tai
nghe vào khối phối ghép của mạch.
2
b. Khối phối ghép:
Tín hiệu âm đa tần DTMF được mã hóa thành mã nhị phân “0” và “1” ra 4
bit BCD là Q4Q3Q2Q1. Bộ tín hiệu này được chuyển tới khối MCU tiếp tục sử
lý.
c. Khối MCU:
Nhận bộ tín hiệu số Q3Q2Q1Q0 từ khối phối ghép đưa tới tại đây các tín
hiệu số tương ứng vơi các nút ấn trên bàn phím điện thoại này sẽ được lập trình
điều khiển gán cho các thiết bị ngoại vi tương ứng.
d. Khối relay và LCD:
Các relay đóng ngắt điện áp cao.
Màn hình LCD hiển thị trạng hoạt động của các thiết bị được điều khiển.
1.2. TELEPHONE LINE
Telephone line là đường truyền tín hiệu điện thoại, đường truyền này hình
thành do quá trình hoạt động của điện thoại với tổng đài.
a. Định nghĩa điện thoại và tổng đài
Điện thoại là thiết bị viễn thông dùng để trao đổi thông tin, thông dụng
nhất là truyền giọng nói - tức là "thoại" (nói), từ xa giữa hai hay nhiều
người. Điện thoại biến tiếng nói thành tín hiệu điện và truyền trong mạng điện
thoại phức tạp thông qua kết nối để đến người sử dụng khác.
Tổng đài là hệ thống chuyển mạch có khả năng kết nối nhiều cuộc liên lạc
giữa các thuê bao với nhau.
b. Phương thức thực hiện một cuộc gọi
Thuê bao gọi thực hiện nhấn phím số bằng Tone (Tone - Dialing): Máy
điện thoại phát ra cùng lúc hai tín hiệu với tần số dao động khác nhau tương ứng
với số muốn nhấn (DTMF: Dual Tone Multi Frequence). Mã DTMF là khi bất
kỳ phím "0","1", "2","3","4","5","6","7","8","9","*", "#",.v.v được nhấn mã đặc
biệt được truyền đi. Mã này là bao gồm hai tần số trong số đó là một tần số cao
3
hơn và thứ hai là tần số thấp hơn. Bảng dưới đây cho thấy sự kết hợp của tần số
cho các phím:
Bảng 1.1: Phân loại tần số tín hiệu Tone.
Ví dụ: Theo bảng trên phím "1" là sự kết hợp của tần số thấp hơn 697Hz
và tần số cao 1209Hz, phím "5" là sự kết hợp của tần số thấp hơn 770Hz và tần
số cao hơn 1336Hz, phím "9" là sự kết hợp của tần số thấp hơn 852Hz và tần số
cao hơn 1447Hz ... Vì vậy, đây là tất cả về mã DTMF.
“Tổng đài nhận được các số liệu của thuê bao gọi gửi tới, sẽ xem xét:
Nếu các đường dây nối thông thoại đều bị bận, thuê bao bị gọi bận thì
tổng đài sẽ cấp tín hiệu báo bận (Number Buzy).
Nếu thuê bao được gọi rảnh, tổng đài sẽ cấp tín hiệu chuông cho thuê bao
với điện áp 90Vrms(AC) với tần số 25Hz có chu kì 3s có và 4s không. Đồng
thời cấp âm hiệu hồi chuông (Ring Back Tone) cho thuê bao gọi, âm hiệu này là
tín hiệu sine với tần số 425 ± 25Hz cùng chu kỳ nhịp với tín hiệu chuông gửi
cho thuê bao được gọi. Khi thuê bao được gọi nhấc máy, tổng đài nhận biết
trạng thái này thì tổng đài ngưng cấp tín hiệu chuông để không làm hỏng mạch
thoại. Đồng thời tiến hành cắt âm hiệu (Ring Back Tone) cho thuê bao gọi và
tiến hành kết nối thông thoại cho 2 thuê bao. Trong quá trình thông thoại khi
thuê bao gọi nhấn các phím trên bàn phím, âm bàn phím DTMF sẽ phát ra và
truyền tới thuê bao bị gọi. Tín hiệu trên đường dây đến máy điện thoại tương
ứng với tín hiệu thoại cộng với giá trị khoảng 300mVpp. Tín hiệu ra khỏi máy
4
điện thoại chịu sự suy hao trên đường dây với mất mát công suất trong khoảng
10 ÷ 25dB. Giả sử thêu bao là 20dB, suy ra tín hiệu ra khỏi máy điện thoại có
giá trị khoảng 3Vpp. Tín hiệu thoại trên đường dây là tín hiệu điện mang các
thông tin có nguồn gốc từ âm thanh trong quá trình trao đổi giữa hai thuê bao.
Trong đó âm thanh được tạo ra bởi các dao động cơ học, nó truyền trong môi
trường dẫn âm. Khi truyền đi trong mạng điện thoại thì tín hiệu thường bị méo
dạng do những lý do: Nhiễu, suy hao tín hiệu trên đường dây do bức xạ sóng
trên đường dây do bức xạ sóng trên đường dây với các tần số khác nhau. Để
đảm bảo tín hiệu điện thoại nghe rõ và trung thực, ngày nay trên mạng điên
thoại người ta sử dụng tín hiệu thoại có tần số từ 300 ÷ 3400Hz.
Tổng đài giải tỏa một số thiết biết bị không cần thiết để tiếp tục phục vụ
cho các cuộc đàm thoại khác. Khi hai thuê bao đang đàm thoại mà có một thuê
bao gác máy, tổng đài nhận biết trạng thái gác máy này, cắt thông thoại cho cả
hai bên, cấp tín hiệu bận (Busy Tone) cho thuê bao còn lại, giải tỏa link để phục
vụ cho các đàm thoại khác. Khi thuê bao còn lại gác máy, tổng đài xác nhận
trạng thái gác máy, cắt âm hiệu báo bận, kết thúc chương trình phục vụ thuê
bao.”(http://doantotnghiep.vn/do-an-tot-nghiep-dien-dien-tu/he-thong-bao-dong-
va-dieu-khien-thiet-bi-qua-line-dien-thoai.html668)
1.3. PHỐI GHÉP
1.3.1. IC chuyên dụng MT8870
Nó là một linh kiện CMOS bao gồm các mạch lọc và chức năng giải mã
cho sự ghi nhận một cặp Tone. Các bộ lọc được dùng bằng các tụ lọc nhóm tần
số cao và thấp. Khối này lấy tín hiệu DTMF từ điện thoại thông qua dắc cắm tai
nghe kết nối với mạch. IC MT8870 để giải mã hóa âm đa tần DTMF sang tín
hiệu số 4 bít Q4Q3Q2Q1. Bộ phận đếm ngoài được làm giảm đi nhờ mạch
khuếch đại ngõ vào vi sai, dao động Block và mạch chốt là các ngõ 3 trạng thái.
5
IC MT8870 được sử dụng vào nhiều ứng dụng khác nhau, nhưng thường
xuất hiện ở trong các mạch điều khiển từ xa, mạch thu cho tổng đài, mạch tính
cước điện thoại.v.v.
Dưới đây là kiểu dáng và sơ đồ chân của một linh kiện IC MT8870 hoàn
chỉnh:
Hình 1.2: Kiểu dáng và sơ đồ chân của IC MT8870.
1.3.2. Sơ đồ khối của IC MT8870
Hình 1.3: Sơ đồ khối IC MT8870.
6
a. Bộ lọc
Tín hiệu analog vào MT8870 sẽ được sử lý bởi 2 mạch lọc băng thông
bậc 6 để lọc lấy nhóm tần số cao và thấp tương ứng. Bộ lọc cùng gồm có 1 góc
từ 250 ÷ 400Hz để dùng tách bỏ (Dial Tone). Bằng sự phân chia 2 nhóm tần số
như vậy sự lẫn lộn của các băng âm thanh sẽ giảm đi. Hai nhóm tín hiệu này sẽ
được biến đổi thành xung vuông bởi bộ dò (Zero – crossing) và sau đó được
chuyển qua các mạch lọc thông dải. Tần số trung tâm của các mạch lọc thông
dải được thiết kế theo tiêu chuẩn của Bell. Đầu ra được hạn biên bởi các bộ so
sánh kèm theo bộ trễ để tránh chọn nhầm tín hiệu mức thấp không mong muốn.
Đầu ra của các bộ so sánh cho ta các dao đông toàn mức logic tại tần số DTMF
thu được.
b. Mạch steering
“Trước khi thu nhận 1 cặp Tone đã được giải mã, bộ thu phải kiểm tra
xem thời hằng của tín hiệu có đúng không. Việc kiểm tra này được thực hiện bởi
bộ RC mắc ở ngoài. Khi EST lên HIGH làm cho Vc tăng lên khi tụ xả. Khi EST
vẫn còn ở mức HIGH trong một thời gian hợp lệ (ton) thì Vc đạt đến ngưỡng
Vtst của logic steering để nhận 1 cặp Tone và chốt 4 bit mã tương ứng với nó
vào thanh ghi Receiver Data Register.
Lúc này đầu ra GT kích hoạt và đẩy Vc lên tới Vdd. GT tiếp tục đẩy lên
cao cho tới khi TST lên mức cao trở lại. Cuối cùng sau một thời gian Delay
ngắn cho phép việc chốt Data được thực hiện xong thì cờ của mạch steering lên
HIGH báo hiệu rằng cặp Tone thu được đã được lưu vào thanh ghi.
Mạch chốt ngõ ra được điều khiển bởi chân ngõ vào 3 trạng thái TOE, khi
TOE lên mức 1 thì cho phép xuất Data 4 bit ra Bus.
1.3.3. Phương thức giải mã DTMF
Khi bất kỳ mã DTMF đã được nhận vào điện thoại di động hoặc máy điện
thoại bàn của nó có thể được nghe qua loa. Vì vậy, để giải mã này mã DTMF
7
đầu ra loa nó tự có thể được sử dụng. Đầu ra của loa được kết nối với MT8870
mà là bộ giải mã DTMF (MT8870 Datasheet). Nó được sử dụng rộng rãi để giải
mã mã DTMF. Nó cung cấp cho 4 bit đầu ra kỹ thuật số Q4Q3Q2Q1 và theo các
phím nhận được.
Bảng dưới đây cho thấy sự mã hóa kỹ thuật số tương đương cho mỗi phím
số trên bàn phím điện thoại sử dụng mã BCD 4 bit. Bộ mã này tạo ra 16 tổ hợp
mã nhị phân nhưng chỉ sử dụng đến 12 tổ hợp.
Key Q4 Q3 Q2 Q1
1 0 0 0 1
2 0 0 1 0
3 0 0 1 1
4 0 1 0 0
5 0 1 0 1
6 0 1 1 0
7 0 1 1 1
8 1 0 0 0
9 1 0 0 1
0 1 0 1 0
* 1 0 1 1
# 1 1 0 0
A 1 1 0 1
B 1 1 1 0
C 1 1 1 1
D 0 0 0 0
Bảng 1.2: Mã hóa bàn phím điện thoại.
8
1.4. KHỐI MCU
1.4.1. MCU
a. Khái niệm:
“MCU bao gồm CPU bên trong, Flash (hoặc EEROM), RAM và các
ngoại vi như UART, SPI, I2C, GPIO …, đặc biệt là các loại ngắt và timers.
Chúng ta chỉ cần CPU, Flash, RAM là có thể làm một vài ứng dụng đơn giản
như bộ đếm, cộng, trừ, nhân, chia bằng một hàm main() đơn giản và có thể chạy
trên bất kì con MCU nào.
Khác nhau cơ bản giữa các MCU là các ngoại vi. Các bạn cứ nghĩ đơn giản việc
hiện thực trên MCU cũng chỉ là read, write các thanh ghi và vùng nhớ. Chỉ có
điều với MCU này thì chúng ta phải set giá trị khác, ở một địa chỉ khác so với
MCU khác để điều khiển những gì mà ta muốn MCU làm.
b. Công cụ:
Có 2 công cụ chúng ta cần quan tâm:
Trình biên dịch: tốt nhất là dùng IDE mà nhà sản xuất MCU cung cấp
trong examples
Trình nạp và mạch nạp cho MCU: mỗi MCU sẽ có chương trình và mạch
phù hợp.
c. Các ngoại vi:
Tuy các ứng dụng khác nhau mà ta cần sử dụng các ngoại vi khác nhau.
Ngoại vi các MCU cơ bản là làm việc giống nhau, và là chuẩn giao tiếp cơ bản.
Các bạn chỉ cần biết ngoại vi đó hoạt động ra sao là đủ, không cần thiết phải biết
nó bao gồm thanh ghi gì, cài đặt ra sao vì mỗi MCU có cách set khác nhau.
Hiện nay, thì mỗi MCU đều có một bộ thư viện C giúp chúng ta có thể làm việc
nhanh với các ngoại vi này mà không cần biết thanh ghi đó là gì, chúng ta chỉ
biết cách gọi hàm với các thông số tương ứng mà chúng ta muốn ngoại vi hoạt
động như thế nào.
Tất cả các ngoại vi đề có một trình tự để sử dụng như sau:
9
Cài đặt các thông số: set clock cho bus, cấu hình (ví dụ như USART thì
set baud rate, parity…)
Sau đó là tiến hành giao tiếp dữ liệu với ngoại vi này.
Và tất cả cái này đều có examples, thư viện mà nhà cung cấp MCU đưa
cho. Chúng ta chỉ việc tham khảo và copy, paste, modified những gì ta muốn.”
(http://trueconf.com.vn/cong-nghe/de-lam-project-nhanh-tren-mcu-moi-hoan-
toan-mcu-la-gi-1790.html)
1.4.2. Vi điều khiển ATmega16
ATmega16 là bộ vi điều khiển CMOS 8 bit tiêu thụ điện năng thấp dựa
trên kiến trúc RISC (Reduced Intruction Set Computer). Vào ra Analog – digital
và ngược lại. “Với công nghệ này cho phép các lệnh thực thi chỉ trong một chu
kì xung nhịp, vì thế tốc độ xử lý dữ liệu có thể đạt đến 1 triệu lệnh trên giây ở
tần số 1 Mhz. Vi điều hiển này cho phép người thiết kế có thể tối ưu hoá chế độ
độ tiêu thụ năng lượng mà vẫn đảm bảo tốc độ xử lí.
ATmega16 có tập lệnh phong phú về số lượng với 32 thanh ghi làm việc
đa năng. Toàn bộ 32 thanh ghi đều được nối trực tiếp với ALU (Arithmetic
Logic Unit), cho phép truy cập 2 thanh ghi độc lập bằng một chu kì xung nhịp.
Kiến trúc đạt được có tốc độ xử lý nhanh gấp 10 lần vi điều khiển dạng CISC
(Complex Intruction Set omputer) thông thường.
Khi sử dụng vi điều khiển Atmega16, có rất nhiều phần mềm được dùng
để lập trình bằng nhiều ngôn ngữ khác nhau đó là: Trình dịch Assembly như
AVR studio của Atmel, Trình dịch C như win AVR, CodeVisionAVR C,
ICCAVR. C - CMPPILER của GNU… Trình dịch C đã được nhiều người dụng
và đánh giá tương đối mạnh, dễ tiếp cận đối với những người bắt đầu tìm hiểu
10
AVR, đó là trình dịch CodeVisionAVR.”(http://bkit4u.com/?topic=page&id=8)
Hình 1.4: Kiểu dáng và sơ đồ chân ATmega16.
Chapter 1 1.4.3. Cấu trúc bên trong ATmega16
Sơ đồ khối cấu trúc ATmega16 được trình bày theo sơ đồ dưới đây:
11
Hình 1.5: Sơ đồ khối cấu trúc AVR ATmega16.
1.4.3.1. CPU
a. ALU – Arithmetic Logic Unit
Thực thi cao AVR ALU hoạt động trong sự kết nối trực tiếp với tất cả 32
thanh ghi hỗ trợ làm việc. Hoạt động trong ALU được chia thành 3 chức năng
chính: số học, logic và chức năng bit.
b. Thanh ghi trạng thái (Status Registers)
Chứa thông tin về kết quả của các tính toán được thực thi gần nhất. Chú ý
Status Register được thay đổi sau tất cả các phép tính toán trong ALU.
12