Hình 2. 15. Cu trúc thanh ghi TIMSK

Một phần của tài liệu (LUẬN văn THẠC sĩ) thiết kế chế tạo mạch điều khiển tủ sấy (Trang 28 - 35)

t pro Ch di t th dinh ng (dd) kích thích th nha bào chuy n thành th dd r di t th dd Làm oxy hóa các thành ph n t bào m C n th i gian ng n và nhi th s c nóng khô Không c nhi cao, dùng kh trùng sinh ph m, thu Dùng cho các s n ph m không ch khô các s n ph m. 2.1.3.2. Nhiệt độ thấp M c dù m t s vi sinh v t có th s ng u ki n nhi l i 0

oC thì bao gi c ch vi sinh v t. Khi h nhi xuông th p , m vi sinh v t gi m chuy t n t c lâu, vì v

th b o qu n vi sinh v b o qu n vi sinh v t trong nhi nhi âm m c sâu -20oC (l oC (l nh âm vc), -70

195oC (l nh âm v i nito l ng).

ng th i v ng chân không ( u ki c không qua tr

o qu n sinh ph m và sinh v t t t nh t.[3] 2.2. Lý thuy v ết ề ngắt trong VĐK 2.2.1 Lý thuyết về ngắt c g i là ng t, là m t tín hi u kh n c p g c u b x lí t m ng ng t c kh c các ho ng hi n t n m th c hi n m t nhi m v kh n c m v này g i là trình ph c v n (interrupt service routine ). Sau khi k t thúc nhi m v trong ISR, b

s c tr v giá tr b x lí quay v th c hi n ti p các nhi dang d y, ng t có m lí cao nh t, ng

17

x lí các s ki n b t ng ng t n quá nhi u th i gian. Các tín hi u d ng t có th xu t phát t các thi t b bên trong chip (ng t báo b m timer/counter tràn, ng t báo quá trình g i d li u b ng RS232 k

ngoài (ng c nh n, ng t báo có 1 gói d li

Hình 2. 3. Hoạt động c a ng t [4] ủ ắ

Ng t là m t trong 2 k thu t b t s ki n là h i vòng (Polling) và ng Khi c n thi t k m t m u khi n hoàn ch nh th c hi n nhi u nhi m vcó g m nh n thông tin t i dùng qua các phím b m hay keypad (ho c keyboard), nh n tín hi u t các c m bi n, x lí thông tin, xu t tín hi u khi n, hi n th thô tin tr n hoàn toàn có th c v i AVR) các nhi m v này vi c nh i dùng (start, stop, mode,up down, hi m x y ra (so v i các nhi m v i r n c

u. N u dùng h i vòng n c n vi tr ng thái c a các nút b m (g

t nhi u v

h p b sót các l nh t is d ng u này th t lãng phí th i gian th c thi. G quy t cho v này là s d ng ng t, b ng cách k t n i các nút b m v ng

c a chip và s d c v

không c n ph c thi và vì th kh nó, Input() ch c g i s d ng nh n các nút b m

ng t.[4]

Hình 2.3 minh h a cách ho ng c a ng ng trong các chip S ng ng t trên m i dòng chip là khác nhau, ng v i m i ng t s có vector ng t,

vector ng a ch c

u c a b nh vector ng t ngoài 0 (external interrupt 0 a ch là 0x001 (theo datasheet t

c thi, n u có m t s i d n ng t x y ra chân INT0 (c a ch 0 t 1 l n m t trình ph c v ng t (IRS1 l n n a b th c thi trình ph ISR1, b i quay v v

trình ng t k t thúc. Không mang tính b t bu n nê t tránh nh ng l

trình.[4]

Th t m d a ch c INT1 có m t. Trong quá trình ch

x y ra thì ng t nào có th t c th th t c

Bảng 2. 2. B ng th t ả ứ ự ưu tiên của các vecto ngăt

STT Tên ng t ắ Địa ch trình ỉ chương Miêu t ả chức năng 1 RESET 0X000 2 INT0 0x001 3 INT1 0x002 4 TIMER2 COMP 0x003 5 TIMER2 OVF 0x004 6 TIMER1 CAPT 0x005 7 TIMER1 COMPA 0x006 sánh A timer 1 8 TIMER1 COMPB 0x007 9 TIMER1 OVF 0x008 10 TIMER0 OVF 0x009 11 SPI STC 0x00A 12 USART, RXC 0x00B 13 USART, UDRE 0x00C 14 USART, TXC 0x00D 15 ADC 0x00E

19

STT Tên ng t ắ Địa ch trình ỉ chương Miêu t ả chức năng 16 EEP_RDY 0x00F

17 ANA_COMP 0x010 18 TWI 0x011 19 SPM_RDY 0x012

sàng

Do trong quá trình thi t k và l p trình m u khi n cho t s y có s d ntôi ph n m m CodeVision AVR vi t các l nh nên chúng ta s tìm hi u qua b ng các vecto ng t dùng trong CodeVision AVR:

Bảng 2. 3. B ng vecto ng t dùng trong CodeVision AVR ả ắ STT Tên ngắt Vector ngắt

1 RESET

2 INT0 EXT_INT0 3 INT1 EXT_INT1 4 TIMER2 COMP TIM2_COMP 5 TIMER2 OVF TIM2_OVF 6 TIMER1 CAPT TIM2_CAPT 7 TIMER1 COMPA TIM1_COMPA 8 TIMER1 COMPB TIM1_COMPB 9 TIMER1 OVF TIM1_OVF 10 TIMER0 OVF TIM0_OVF 11 SPI, STC SPI_STC 12 USART, RXC USART_RXC 13 USART, UDRE USART_UDRE 14 USART, TXC USART_TXC 15 ADC ADC_INT 16 EEP_RDY EEP_RDY 17 ANA_COMP ANA_COMP 18 TWI TWI 19 SPM_RDY SPM_RDY 2.2.2. Ng t ngoài ắ

Là lo i ng t duy nh c l p v i các thi t b c a chip, các ng v i ho ng c a 1 thi t b

Trong AVR cung c p cho chúng ta 2 ng ng gi ng h t nhau, có 4 ki u là:

- Ng t m c th p Low level - Ch x y ra ng t khi chân INT0 ho c INT1 m c th p - Ng i logic Any change - B t k i logic nào trên chân INT0 INT1

- Ng n lên Rising Edge (logic 0 lên logic 1)

- Ng n xu ng Falling Edge (logic 1 xu ng logic 0) n ng u khi n MCU MCUCR

Thanh ghi điề ể – (MCU Control Register) là thanh ghi

xác l p ch ng t cho ng t ngoài. Thanh ghi MCUCR ch a các bits cho phép chúng ta ch n 1 trong 4 MODE trên cho các ng u trú

c trích ra t datasheet c a chip atmega16.

Hình 2. 4. C u trúc thanh ghi MCUCR ấ [2]

MCUCR là m i v i ho ng ng t

n 4 bit th p c a nó (4 bit cao dùng cho Power manager và Sleep Mode). B n bit th

cho INT1 và 2 bit ISC01:ISC00 dùng cho INT0. Hãy nhìn vào b ng tóm t i bi t ch

chân tr . [2]

Bảng 2. 4. Bảng điều khiển của MCUCR

ISC01/ISC11 ISC00/ISC10 Kiểu ngắt

0 1

1 0

1 1

21

Thanh ghi điều khi n ng t chung GICR ể ắ – (General Interrupt Control Register).

Là thanh ghi m t n ng t cho ng t ngoài có 3 bit cho phép ng c datasheet c a atmega16

Hình 2. 5. C u trúc thanh ghi GICR[2] ấ

Bit 7 INT1 g i là bit cho phép ng t 1(Interrupt Enable), set bit này b

b n cho phép ng t INT1 ho u khi n u khi n ng t INT2.

không quan tâm thanh ghi này trong l p trình mà ch bi t là nó có 3 bit c là INTF1, INTF0,INTF2 .

Hình 2. 6. C u trúc thanh ghi GIFR[2] ấ 2.3. Lý thuyết về Timer/Couter trong VĐK

c l p v i CPU. Ch

i c nh thì (t o ra m th m s ki n. Trên các chip AVR, các b Timer/Counter còn có th ch o ra u r ng PWM (Pulse Width Modulation), m

AVR, m t s c

(calibration) trong các ng d ng th i gian th c. Các b c chia r ng thanh ghi ch a giá tr nh th i hay giá tr m c a chúng, c th trên chip Atmega8 có 2 b Timer 8 bit (Timer/Counter0 và Timer/Counter2) và 1 b 16 bit

(Timer/Counter1). Ch ho u khi ng nhau, ví d chip A Timer/Counter0: là m t b nh th n v i 8 bit. G

này ch có 1 ch ho ng (mode) so v i 5 ch c a b Timer/Counter1. Ch ng c a Timer/Counter0 th c ch t có th nh

Timer/Counter1: là b nh th 16 bit. B Timer/Counter 5 ch ho ng chính. Ngoài các ch ng, Timer/Co

t u r ng PWM dùng cho các m

t o 2 tín hi c l p trên các chân OC1A (chân 15) và OC1B (chân 16) b ng Timer/Counter1. Các b Timer/Counter ki c tích h p thêm khá nhi u trong các chip AVR sau này, ví d Atmega128 có 2 b , Atmega2561 có 4 b

Timer/Counter2: tuy là m

n 4 ch ho

c s d t modul canh ch nh th i gian cho các ng d ng th i gian th (ch asynchronous).[4]

Có m t s ng mà chúng ta c n n m b c Timer/Counter trong AVR:

BOTTOM: là giá tr th p nh t mà m t Timer/Counter có th c, giá tr này luôn là 0.

MAX: là giá tr l n nh t mà m t Timer/Counter có th c, giá tr

nh b i b i giá tr l n nh m c a Timer/Counte c. Ví d v i m t b Timer/Counter 8 bit thì giá tr MAX luôn là 0xFF, v i b Timer/Counter 16 bit thì MAX b MAX là giá tr

m i Timer/Counter.

TOP: là giá tr mà khi Timer/Counter n nó s i tr ng thái, giá tr không nh t thi t là s l n nh

i b u khi u khi ng ho c có

qua m t s thanh ghi. Chúng ta s hi u rõ v giá tr TOP trong lúc kh o sát Timer/Counter1.

2.3.1. Timer/Counter 0

Thanh ghi c thi t k cho ho

TCNT0 (Timer/Counter Register): là 1 thanh ghi 8 bit ch a giá tr v n hành c a Timer/Counter0. Thanh ghi này cho phép b c và ghi giá tr m t cách tr c ti p.

c a Timer/Counter0 c ch t ch là CS00, CS01 và CS02.

23

Hình 2. 7. C u trúc thanh ghi TCCR0ấ [2]

Các bit CS00, CS01 và CS02 g i là các bit ch n ngu n xung nh p cho Timer/Counter0 (Clock Select). Ch c mô t trong b

Bảng 2. 5. Chức năng các bit CS0x

CS02 CS01 CS00 Miêu tả chức năng

0 0 0 Không có xung clock - Timer0 Stop 0 0 1 Fosc/1 - 0 1 0 Fosc/8 - 0 1 1 Fosc/64 - 1 0 0 Fosc/256 - 1 0 1 Fosc/1024 - 1 1 0 1 1 1

TIMSK (Timer/Counter Interrupt Mask Register): Là thanh ghi m t n ng t ta ch quan tâm t i bit TOIE0, n u set bit này lên 1 thì s có ng t tràn x y ra khi b m tràn

Hình 2. 8. C u trúc thanh ghi TIMSK ấ [2]

tràn c a t t c các timer, timer 0 ch có bit TOV0 là c c ch

Một phần của tài liệu (LUẬN văn THẠC sĩ) thiết kế chế tạo mạch điều khiển tủ sấy (Trang 28 - 35)

Tải bản đầy đủ (PDF)

(83 trang)