You are on page 1of 27

MÔN HỌC

LẬP TRÌNH VI ĐIỀU


KHIỂN và HỆ THỐNG
NHÚNG
Néi dung
 CÊu tróc chung hä vi ®iÒu khiÓn
AVR
 LËp tr×nh C cho vđK
Tæ chøc Cæng vµo/ra
 Tæ chøc Bé ®Õm/bé ®Þnh thêi
 Tæ chøc Ng¾t
 Tæ chøc truyÒn th«ng nèi tiÕp
Nèi ghÐp thiÕt bÞ thùc
 X©y dùng c¸c hÖ øng dông víi V§K
 Tæng quan về HTN và STM32
Tµi liÖu tham kh¶o
1. Ngô Diên Tập. Kỹ thuật vi điều khiển với
AVR. Hà Nội : Khoa học kỹ thuật, 2003.
Tµi liÖu liªn quan
2. Лебедев М. Б. CodeVisionAVR. Пособие для
начинающих. Додэка-XXI, 2010.
3. Евстифеев А. В_Микроконтроллеры AVR
семейства Tiny. Руководство пользователя.
Издательство: Додэка-XXI, 2007.
4. Шпак Ю.А. Программирование на языке С
для AVR и PIC микроконтроллеров. Санкт-
Петербург: «КОРОНА-ВЕК», 2011
Bµi 1:
VI ĐIỀU KHIỂN AVR
VÀ NGÔN NGỮ LẬP
TRÌNH C
1. Bé vi ®iÒu khiÓn vµ hÖ nhóng
- Bé vi xö lý vµ vi ®iÒu khiÓn
- HÖ nhóng vµ vi ®iÒu khiÓn
2. Tæng quan hä AVR
- S¬ l­îc sù ph¸t triÓn AVR
- Hä vi ®iÒu khiÓn AVR
- C¸c phiªn b¶n AVR
1. Bé vi ®iÒu khiÓn vµ hÖ nhóng
a) Bé vi ®iÒu khiÓn vµ bé vi xö lý

Bus dữ liÖu

CP CPU RA RO
U M M
Bé Cæng
RA RO I/O Time
vi xö lý COM
M M Port r
®a năng nèi
Cæng
tiÕp
COM
I/O Time nèi
r tiÕp

Bus ®Þa chØ

(a) HÖ vi xö lý (b) Bé vi ®iÒu


khiÓn

Hình 1.1. HÖ vi xö lý vµ vi ®iÒu khiÓn


* Bé VXL ®a n¨ng
 Bé VXL ®a n¨ng nh­: 80486, Pentium, 68040
 HÖ thèng víi bé vi xö lý ®a n¨ng, cÇn ®­îc bæ
sung RAM, ROM, cæng I/O vµ bé ®Þnh thêi.
 ¦u:
+ TÝnh linh ho¹t cao.
+ Tuú theo tõng øng dông ®Ó quyÕt ®Þnh
cÊu h×nh, nh­ chän dung l­îng RAM, ROM,
cæng vµo ra phï hîp.
 Nh­îc: Cång kÒnh h¬n, ®¾t tiÒn h¬n
* Bé vi ®iÒu khiÓn:
 Cã s½n trªn chip bé vi xö lý, bé nhí RAM,
ROM, cæng vµo ra vµ bé ®Þnh thêi.
 ThÝch hîp trong nhiÒu øng dông víi gi¸ rÎ,
kh«ng gian sö dông nhá.
 VÝ dô øng dông: Bé ®iÒu khiÓn TV, ®iÒu
khiÓn qu¹t, ®iÒu khiÓn m¸y giÆt...
 Mét sè nhµ s¶n xuÊt ®· tÝch hîp vµo trong bé
vi ®iÒu khiÓn bé ADC vµ mét sè thiÕt bÞ ngo¹i
vi kh¸c.
b) HÖ nhóng
 HÖ nhóng (embedded system) lµ mét
hÖ chuyªn dông ®ư­îc sö dông ®Ó thùc
hiÖn mét hoÆc mét sè chøc n¨ng cô thÓ.
 HÖ nhóng ®­îc hiÓu lµ thiÕt bÞ
“nhóng” trong mét hÖ thèng.
 Bé vi xö lý vµ vi ®iÒu khiÓn ®­îc sö
dông réng r·I trong nhiÒu hÖ nhóng.
VÝ dô vÒ c¸c hÖ nhóng
 M¸y in lµ vÝ dô vÒ mét hÖ nhóng. Bé
xö lý chØ ®­îc dïng cho c«ng viÖc nhËn
vµ in d÷ liÖu.
 Bµn phÝm, modem, bé ®iÒu khiÓn
®Üa, thÎ ©m, bé ®iÒu khiÓn CD-ROM,
chuét ..... ®Òu lµ c¸c hÖ nhóng
 Mçi thiÕt bÞ ngo¹i vi ®Òu cã mét bé vi
®iÒu khiÓn ®Ó thùc hiÖn chØ mét
c«ng viÖc lµ vÝ dô vÒ hÖ nhóng.
B¶ng 1.1. Mét sè s¶n phÈm nhóng dïng V§K
C¸c thiÕt bị ®iÖn M¸y tÝnh gia ®×nh Nh¹c cô ®iÖn tö
ThiÕt M¸y ®iÖn ®µm Tivi M¸y may
bÞ M¸y ®iÖn tho¹i TruyÒn h×nh c¸p §iÒu khiÓn ¸nh
gia HÖ thèng an toµn VCR s¸ng
®×nh Bé më cöa nhµ xe M¸y quay camera §å ch¬i
M¸y tr¶ lêi §iÒu khiÓn tõ xa Dông cô tËp thÓ
M¸y Fax Trß ch¬i ®iÖn tö h×nh

ThiÕt §iÖn tho¹i M¸y Fax M¸y in lazer


bÞ v¨n M¸y tÝnh Lß vi sãng M¸y in mµu
phßng HÖ thèng an toµn M¸y sao chôp M¸y nh¾n tin

ThiÕt M¸y tÝnh hµnh §o l­êng §iÒu hoµ nhiÖt ®é


bÞ tr×nh HÖ thèng b¶o mËt §iÖn tho¹i
tù §iÒu khiÓn ®éng §iÒu khiÓn truyÒn Ch×a kho¸ điÖn tö
®éng c¬ tin
Tói ®Öm khÝ Gi¶i trÝ
2. Tæng quan hä AVR
a) S¬ l­îc sù ph¸t triÓn AVR
b) Hä vi ®iÒu khiÓn AVR
c) C¸c phiªn b¶n cña AVR
a) S¬ l­îc sù ph¸t triÓn 8051
 Vi điều khiển AVR do hãng Atmel ( Hoa Kì ) sản xuất được gới thiệu lần đầu năm
1996. AVR có rất nhiều dòng khác nhau bao gồm dòng Tiny AVR ( như AT tiny 13,
AT tiny 22…) có kích thước bộ nhớ nhỏ, ít bộ phận ngoại vi, rồi đến dòng AVR
( chẳn hạn
AT90S8535, AT90S8515,…) có kích thước bộ nhớ vào loại trung bình và mạnh hơn
là dòng Mega ( như ATmega32, ATmega128,…) với bộ nhớ có kích thước vài Kbyte
đến vài trăm Kb cùng với các bộ ngoại vi đa dạng được tích hợp trên chip, cũng có
dòng tích hợp cả bộ LCD trên chip ( dòng LCD AVR ). 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, Hình 1.1. Đặt biệt, năm 2008, Atmel lại tiếp tục
cho ra đời dòng AVR mới là XmegaAVR, 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 XmegaAVR là dòng MCU 8 bit mạnh mẽ nhất
hiện nay
b) Vi ®iÒu khiÓn ATMEGA32
•Tốc độ tối đa: 16MHz.
•Dung lượng bộ nhớ chương trình: 32 KB.
•Bộ nhớ EEPROM: 1024 Byte.
•Dung lượng bộ nhớ RAM: 2 KB.
•Bộ nhớ chương trình có khả năng ghi 10.000 lần, bộ nhớ
EEPROM có thể ghi 100.000 lần. Hỗ trợ bootloader, có khả
năng tự ghi vào bộ nhớ chương trình, cập nhật chương trình cho
chip mà không cần mạch nạp.
•Timer 8 bit: 2.
•Timer 16 bit: 1.
•ADC: 6 kênh, 10 bit.
•I/O: 32 chân.
•Giao tiếp: TWI (I2C), UART, SPI.
•PWM: 8 kênh.
•Điện áp: 2.7 ~ 5.5V.
while (1)
{
// Place your code here
PORTA=temp;
PORTB=temp;
PORTC=temp;
PORTD=temp;
delay_ms(1000);
temp++;
};

You might also like