Professional Documents
Culture Documents
PHN I .............................................................................................................................. 2
TNG QUAN TI ........................................................................................................ 2
1.
2.
3.
PHN II ............................................................................................................................. 3
C S L THUYT ......................................................................................................... 3
S lc v vi iu khin: .......................................................................................... 3
I.
1.
2.
II.
1.
2.
3.
4.
III.
Led : .................................................................................................................. 12
IV.
Led 7 on : ....................................................................................................... 13
Ngn ng C, CodeVision v Progisp : .................................................................... 14
V.
1.
Ngn ng C :...................................................................................................... 14
2.
CodeVision : ....................................................................................................... 15
3.
Progisp : ............................................................................................................ 17
Phn III............................................................................................................................ 18
THIT K V THI CNG ................................................................................................ 18
Tnh ton v la chn linh kin : ............................................................................ 18
I.
1.
2.
3.
II.
M phng : ........................................................................................................ 23
III.
KT LUN ...................................................................................................................... 25
Ti liu tham kho: .......................................................................................................... 25
PH LC ........................................................................................................................ 26
Code chng trnh: ...................................................................................................... 26
PHN I
TNG QUAN TI
1. n giao thng:
n giao thng rt thng dng v quan trong cuc sng hng ngy ca chng
ta. K c ngy hay m, n vn m bo ngi tham gia giao thng an ton,
nhanh chng v gim ti tnh trng chen ln, kt xe, v.v.
2. L do chn ti:
n giao thng khng qu kh, cng khng qu d. n 2 cng l n m
chng ta mi ln u tip xc vi vi iu khin v lm. Bi th c th ni n
kh hp l chn n giao thng, ngoi ra cn v:
Nng cao s t tin cho sinh vin lm n tt nghip.
Gim thiu thi gian v cn tp trung nhng mn hc khc v cng vic.
Lm n th n ny cng tng i.
Ph bin, p dng thc t.
3. Ni dung thc hin:
Lm mch n giao thng ng t, s giy m l 29 cho n v 25 cho n
xanh, 3 giy n vng.
Ngn ng c s dng: C
Vi iu khin c s dng: Atmega8L
Phn mm: codevision, Progisp, Proteus.
M hinh thc t : c.
PHN II
C S L THUYT
I.
S lc v vi iu khin:
Vi x l
Vi iu khin
cng
Tp lnh
t sang s),
p dng
Trong cc h my vi tnh
khin, o lng, iu
chnh
b. V Atmel Corporation
c thnh lp vo nm 1984 bi George Perlegos ngi tng lm vic
cho Intel, Atmel Corporation l mt nh sn xut bn dn da trn tp trung
vo thit b nh, vi iu khin, cc sn phm tn s v tuyn, v cc thit b
ng dng c th. Atmel cung cp cc sn phm ph hp cho ngi tiu dng,
thng tin lin lc, mng my tnh, cng nghip, t, hng khng v tr, v
cc lnh vc qun s. Trong thp k qua, Atmel bt u tp trung nhiu
hn trn cc dng sn phm vi iu khin. Ngy nay, Atmel co hn $ 1 t
USD doanh thu hng nm, trong 60 % doanh thu ca h t vi iu khin
v l nh cung cp ln nht cc gii php cm bin cm ng.
c. V AVR:
Tm hiu v ATmega8L:
1. Tng quan:
Nh ni trn ATmega8 thuc h AVR do Atmel sn xut. Sau y chng
ta s tm hiu cc c trng ca ATmega8:
Hiu sut cao, nng lng cung cp thp.
S dng kin trc RISC hin i.
B nh ln, n nh cao:
o B nh Flash: 8 Kbytes.
o EEPROM: 512 Bytes.
o SRAM ni: 1 Kbyte.
o Chu k vit xa: 10.000 ln cho Flash/100.000 ln cho EEPROM.
o Kh nng duy try b nh: 20 nm 85 C v 100 nm 25 C.
o C kh nng bo mt chng trnh.
o 2 b nh thi timer/counter 8 bit
1 b nh thi timer/counter 16 bit.
3 knh PWM v 14 knh ADC.
23 ng xut nhp chng trnh.
Dng cung cp t 2.7V-5.5V
Dao ng ni tch hp: 0 8 MHz.
2. Tm hiu chn v chc nng c bn.
Chn, tn
M t
Chn 7- VCC
Chn 8, 22 GND:
Ni t.
Chn 9,10,1419.
PortB( PB0-PB7)
tr ko ln d c tch hp sn bn
XTAL1/TOSC1
trong.
XTAL2/TOSC2
Chn
2328,
PortC( PC0PB5)
xut nhp vi in tr ko ln bn
trong. B
Khi ci t Fuse bit RSTDISBL cho
chng trnh, PortC.6 s dng nh l
chn xut nhp. Tuy nhin nu
RSTDISBL Fuse khng c ci t,
chn PortC.6 tr thnh chn reset.
Chn
26,
vi in tr ko ln bn trong.
Chn 20 Avcc
Chn 21 AREF
Chn
ADC0ADC5
i tng t/s(A/D)
Bng 2.2: Chc nng c bn ca cc chn ATmega8L
y chng ta khng nu chi tit v k cng v ATmega8L, v n ny
khng s dng cc tnh nng hay lin quan trc tip n vn . u ny
s tit kim thi gian ca thy c v n gin hn trong vic trao i thng
tin.
3. Dao ng ngoi v reset :
S dng thch anh ngoi :
11
Fuse bit l mt phn rt quan trng trong np chng trnh cho AVR, n
thng bo cho AVR bit rng, ngi s dng s la chn cc tnh nng, cng
nh thng s no AVR hot ng. Ni cch khc, nu ngi dng khng
bit Fuse bit th chng khc no chy xe m khng bit ln ga v vo s vy,
tnh trng ny dn n li chip v gy ra ti t cho h thng.
Khi xut xng, mt nh chip c FUSE s dng dao ng ni vi tn s
1MHz.
Sau y l cch Fuse bit c bn:
- WTDON : lun l 1- chng reset chip.
- Cu hnh thch anh :
o CKSEL0 = 1 & CKSEL3 = CKSEL2 = CKSEL1 = 0 : s dng thch
anh ni tn s 1MHz.
o CKSEL1 = 1 & CKSEL3=CKSEL2 = CKSEL0 = 0 : s dng thch
anh ni tn s 2MHz.
o CKSEL0 = CKSEL1 = 1& CKSEL3 = CKSEL2 = 0 : s dng thch
anh ni tn s 4MHz.
o CKSEL2 = 1 & CKSEL3=CKSEL1 = CKSEL0 = 0 : s dng thch
anh ni tn s 8MHz.
o CKSEL0 = CKSEL1=CKSEL2 = CKSEL3 = 1 : S dng thch anh
ngoi.
** Lu : Chng trnh s dng np y l PROGISP, cc thng s khc
iu gi nguyn nh mc nh.
III.
Led :
LED Light Emitting Diode( diode pht quang)- l diode c kh nng
pht ra cc bc sng khc nhau t hng ngoi n nh sng nhn thy,
c cu to t khi bn dn loi p ghp vi loi n. y chng ta s
dng 3 loi LED l xanh, vng v c trng cho n giao thng.
Loi LED
Bc sng
in th phn cc thun
12
Xanh
500<<590
2 2,8 V
Vng
570<<590
2 2,5 V
610<<760
1,4 1, 8 V
Led 7 on :
2D
3 GND
4C
5 DP
6B
7A
8 GND
9F
10 G
2. CodeVision :
L phn mm c pht trin bi hng HP InfoTech. Nhn vo slogan ca
hng chng ta cng c th nhn thy c mc h tr ngi dng ca
phn mm ny : Embedded tools that make the difference . Phn mm c
th chy trong cc h iu hnh window hin nay : XP, Vista, 7, 8 c 32 v 64
bit. S dng trnh bin dch C v h tr rt nhiu cho ngi dng bng nhng
cu lnh tch hp sn k c cho AVR v thit b ngoi vi nh : LCD, thit b
c cu trc I2C, SPI th nh FLASH, v.v
15
16
17
Phn III
b. LED:
18
c. LED 7 on:
19
S lng
ATmega8L
LED 7 on
LED
LED xanh
LED vng
T phn cc 1 F
Cng tc nhn
in tr 330
in tr 150
22
II.
M phng :
Mch in:
23
24
KT LUN
T l thuyt n thc tin, mch hot ng tt. Thi gian hon thnh n
sm hn d nh. n hon thnh tt p m khng s dng n ri ro
d tinh( thi gian v chi ph).
ti hn ch ng t giao thng v thi gian khng c thay i theo gi.
V d gi cao im hot ng bao nhiu giy, nhng gi khc hot ng bao
nhiu giy v khi nhu cu khng nhiu, nh v m, th ch c n vng sng
nhp nhy bo hiu chy chm li. V th khi pht trin ti ln mc cao
hn, chng ta c th lm mch n giao thng ng 5 hoc ng 6 v thi gian
m c quy nh theo gi.
25
PH LC
Code chng trnh:
Chip type
: ATmega8
Program type
: Application
: Small
:0
: 256
*****************************************************/
#include <mega8.h>
#include <delay.h>
#define PB0 0
#define PB1 1
#define PB2 0
unsigned
short
lenh[]=
{0x40,0x18,0x00,0x78,0x02,0x12,0x19,0x30,0x24,0x79,0x40};
unsigned short lenh1[]={0x24,0x79,0x40};
unsigned char i,j,l,h,k;
void main(void)
{
PORTB=0x00;
DDRB=0x00;
PORTC=0xFF;
DDRC=0x00;
PORTD=0xFF;
DDRD=0x00;
26
TCCR0=0x00;
TCNT0=0x00;
TCCR1A=0x00;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;
ASSR=0x00;
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;
MCUCR=0x00;
TIMSK=0x00;
UCSRB=0x00;
ACSR=0x80;
SFIOR=0x00;
ADCSRA=0x00;
SPCR=0x00;
TWCR=0x00;
DDRB = 0x00;
PORTB = 0;
delay_ms(200);
while (1)
{
//trang thai xanh1-do2
27
DDRB = 0x2E ;
PORTB = 0x24;
{
j=1;
for(l=5;l<11;l++)
{
i=0;
k=0;
for(h=0;h<10;h++)
{
DDRC=0x01;
PORTC=0X00;
PORTD=lenh1[i];
delay_ms(1);
DDRC=0x02;
PORTC=0x00;
PORTD=lenh[j];
delay_ms(1);
DDRC=0x04;
PORTC=0X00;
PORTD=lenh1[k];
delay_ms(1);
DDRC=0x08;
PORTC=0X00;
PORTD=lenh[l];
delay_ms(1);
}
j++;
}
28
{
j=7;
for(l=1;l<5;l++)
{
i=0;
k=1;
for(h=0;h<5;h++)
{
DDRC=0x01;
PORTC=0X00;
PORTD=lenh1[i];
delay_ms(1);
DDRC=0x02;
PORTC=0x00;
PORTD=lenh[j];
delay_ms(1);
DDRC=0x04;
PORTC=0X00;
PORTD=lenh1[k];
delay_ms(1);
DDRC=0x08;
PORTC=0X00;
PORTD=lenh[l];
delay_ms(1);
}
j++;
}
29
}
{
j=1;
for(l=5;l<11;l++)
{
i=1;
for(h=0;h<15;h++)
{
DDRC=0x01;
PORTC=0X01;
PORTD=lenh1[i];
delay_ms(1);
DDRC=0x02;
PORTC=0x02;
PORTD=lenh[j];
delay_ms(1);
DDRC=0x04;
PORTC=0X04;
PORTD=lenh1[i];
delay_ms(1);
DDRC=0x08;
PORTC=0X08;
PORTD=lenh[l];
delay_ms(1);
}
j++;
}
30
{
j=7;
for(l=1;l<5;l++)
{
i=1;
k=2;
for(h=0;h<20;h++)
{
DDRC=0x01;
PORTC=0X01;
PORTD=lenh1[i];
delay_ms(1);
DDRC=0x02;
PORTC=0x02;
PORTD=lenh[j];
delay_ms(1);
DDRC=0x04;
PORTC=0X04;
PORTD=lenh1[k];
delay_ms(1);
DDRC=0x08;
PORTC=0X08;
PORTD=lenh[l];
delay_ms(1);
}
j++;
}
31
}
{
j=1;
for(l=5;l<11;l++)
{
i=2;
for(h=0;h<10;h++)
{
DDRC=0x01;
PORTC=0X01;
PORTD=lenh1[i];
delay_ms(1);
DDRC=0x02;
PORTC=0x02;
PORTD=lenh[j];
delay_ms(1);
DDRC=0x04;
PORTC=0X04;
PORTD=lenh1[i];
delay_ms(1);
DDRC=0x08;
PORTC=0X08;
PORTD=lenh[l];
delay_ms(1);
}
j++;
}
32
for(i=7;i<11;i++)
{
for(j=0;j<10;j++)
{
DDRC=0x01;
PORTC=0X01;
PORTD=lenh1[2];
delay_ms(1);
DDRC=0x02;
PORTC=0x02;
PORTD=lenh[i];
delay_ms(1);
DDRC=0x04;
PORTC=0X04;
PORTD=lenh1[2];
delay_ms(1);
DDRC=0x08;
PORTC=0X08;
PORTD=lenh[i];
delay_ms(1);
}
}
}
33
for(h=0;h<3;h++)
{
DDRC=0x01;
PORTC=0X01;
PORTD=lenh1[0];
delay_ms(1);
DDRC=0x02;
PORTC=0x02;
PORTD=lenh[l];
delay_ms(1);
DDRC=0x04;
PORTC=0X04;
PORTD=lenh1[0];
delay_ms(1);
DDRC=0x08;
PORTC=0X08;
PORTD=lenh[j];
delay_ms(1);
}
j++;
34
}
}
{
j=7;
for(l=1;l<5;l++)
{
for(h=0;h<10;h++)
{
DDRC=0x01;
PORTC=0X01;
PORTD=lenh1[1];
delay_ms(1);
DDRC=0x02;
PORTC=0x02;
PORTD=lenh[l];
delay_ms(1);
DDRC=0x04;
PORTC=0X04;
PORTD=lenh1[0];
delay_ms(1);
DDRC=0x08;
PORTC=0X08;
PORTD=lenh[j];
delay_ms(1);
}
j++;
}
35
}
{
j=1;
for(l=5;l<11;l++)
{
for(h=0;h<10;h++)
{
DDRC=0x01;
PORTC=0X01;
PORTD=lenh1[1];
delay_ms(1);
DDRC=0x02;
PORTC=0x02;
PORTD=lenh[l];
delay_ms(1);
DDRC=0x04;
PORTC=0X04;
PORTD=lenh1[1];
delay_ms(1);
DDRC=0x08;
PORTC=0X08;
PORTD=lenh[j];
delay_ms(1);
}
j++;
}
36
{
j=7;
for(l=1;l<5;l++)
{
for(h=0;h<10;h++)
{
DDRC=0x01;
PORTC=0X01;
PORTD=lenh1[2];
delay_ms(1);
DDRC=0x02;
PORTC=0x02;
PORTD=lenh[l];
delay_ms(1);
DDRC=0x04;
PORTC=0X04;
PORTD=lenh1[1];
delay_ms(1);
DDRC=0x08;
PORTC=0X08;
PORTD=lenh[j];
delay_ms(1);
}
j++;
}
}
{
37
j=1;
for(l=5;l<11;l++)
{
for(h=0;h<10;h++)
{
DDRC=0x01;
PORTC=0X01;
PORTD=lenh1[2];
delay_ms(1);
DDRC=0x02;
PORTC=0x02;
PORTD=lenh[l];
delay_ms(1);
DDRC=0x04;
PORTC=0X04;
PORTD=lenh1[2];
delay_ms(1);
DDRC=0x08;
PORTC=0X08;
PORTD=lenh[j];
delay_ms(1);
}
j++;
}
}
DDRB = 0x35;
PORTB = 0x11;
{
for(i=7;i<11;i++)
{
for(j=0;j<10;j++)
{
DDRC=0x01;
PORTC=0X01;
PORTD=lenh1[2];
delay_ms(1);
DDRC=0x02;
PORTC=0x02;
PORTD=lenh[i];
delay_ms(1);
DDRC=0x04;
PORTC=0X04;
PORTD=lenh1[2];
delay_ms(1);
DDRC=0x08;
PORTC=0X08;
PORTD=lenh[i];
delay_ms(1);
}
}
}
}
}
39