Giáo trình AVR - Chương 2: Các chức năng đặc biệt của AVR - Cao Bá Vinh

Mục đích:
• giúp cho Sinh viên tìm hiểu về các thiết bị ngoại vi của ATmega.
• Tìm hiểu về port điều khiển.
• Tìm hiểu về timer, ngắt ngoài .
• Tìm hiểu ADC, EEPROM.
• Tìm hiểu các chuẩn giao tiếp(SPI,USART,I2C…)
Yêu cầu:
• Sinh viên phải nắm được các thanh ghi xuất nhập(PORTx,DDRx,PINx)
• Phải hiểu rõ phần tính toán timer , cấu hình ngắt ngoài.
• Nắm rõ chuyển đổi ADC và lưu dữ liệu eeprom.
• Biết cách sử dụng các chuẩn giao tiếp (spi,usart,i2c)
pdf 36 trang thamphan 27/12/2022 1500
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình AVR - Chương 2: Các chức năng đặc biệt của AVR - Cao Bá Vinh", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.

File đính kèm:

  • pdfgiao_trinh_avr_chuong_2_cac_chuc_nang_dac_biet_cua_avr_cao_b.pdf

Nội dung text: Giáo trình AVR - Chương 2: Các chức năng đặc biệt của AVR - Cao Bá Vinh

  1. Giáo trình AVR Khoa ðinðin TTrưng ðH Lc Hng Cao bá vinh Nguyên tc hot ñng ca khi ADC: Tín hiu tương t ñưa vào các ngõ ADC0:7 ñưc ly mu và bin ñi thành tín hiu s tương ng. Tín hiu s ñưc lưu trong hai thanh ghi ACDH và ADCL. Mt ngt có th ñưc to ra khi hoàn thành mt chu trình bin ñi ADC. Thc t, b ADC ca ATmega32 phc tp hơn nhiu, tuy nhiên cơ s vn da vào nguyên tc trên. ð kho sát b ADC ca ATmega32 ta cn tìm hiu các khi chc năng sau: ðin Th Tham Chiu : là giá tr ñin th dùng ñ so sánh vi ñin th ca tín hiu tương t cn bin ñi ngõ vào ADC. ATmega32 có 3 la chn ñin th tham chiu là AVCC bng vi VCC, ñin th tham chiu ni 2.56v, và Vref là tùy chn. Bn ñc cn ñ ý là AVR có 2 ngun ñin th tham chiu ni là internal reference = 2.56v và bandgap reference = 1.24v. ðin th bandgap reference là mt hng s vt lý, nó luôn là 1.24v, còn ñin th internal reference thì có th thay ñi tùy theo các dòng chip khác nhau. Trong AVR, internal reference ñưc to ra t bandgap reference. Trong tài liu này, tác gi ñiu dch hai dng ñin th trên ñiu là ñin th tham chiu ni, tuy vy, bn ñc nên hiu s khác nhau gia hai khái nim trên. Tn S Clock ADC : là tn s clock cung cp cho b bin ñi ADC, giá tr có th thay ñi t vài KHz ñn vài MHz. Tuy nhiên, tn s thích hp khong t 50KHz ñn 200KHz cho ñ phân gii 10 bit và có th cao hơn 200KHz nu ñ phân gii thp hơn. Ngõ Vào Tương T: ATmega32 có hai la chn ngõ vào tương t: 10 ngõ vào ñơn hưng (single ended): 10 ngõ vào này là ADC0:7, AGND và bandgap reference. Thc t ta thưng dùng 8 ngõ vào ADC0:7. Vì có 8 ngõ vào ADC0:7 nên ta có th ñưa vào 8 tín hiu tương t khác nhau. Khi la Biên son : Ks.Cao Bá Vinh 11
  2. Giáo trình AVR Khoa ðinðin TTrưng ðH Lc Hng Chuyn ñi liên tc : là ch ñ mà sau khi khi ñng thì b ADC thc hin chuyn ñi liên tc không ngng. Chuyn ñi tng bưc : là mà b ADC sau khi hoàn thành mt chuyn ñi thì s ngng, mt chuyn ñi tip theo ch ñưc bt ñu khi phn mm có yêu cu chuyn ñi tip. 2.4.2. Các Thanh Ghi Ca B ADC . a. Thanh ghi ADC Multiplexer Selection – ADMUX • Bit 7:6 – REFS1:0 : Reference Selection Bits : hai bit này dùng ñ la chn ñin th tham chiu là mt trong 3 ngun: AVCC, ðin th tham chiu ni 2.56v và VREF như bng 97. Nu chn ñin th VREF thì các tùy chn còn li không ñưc s dng ñ tránh b ngn mch, ñiu này có nghĩa là nu ta chn ñin th tham chiu là VREF ri, thì trong sut quá trình hot ñng ca b ADC ta không ñưc la chn ñin th tham chiu khác, vì nu không, ngun ñin th VREF bên ngoài do chưa ñưc tháo ñi s làm hng chip do ngn mch. • Bit 5 – ADLAR : ADC Left Adjust Result : Bit này la chn cách b trí d liu trong hai thanh ghi d liu ADCH và ADCL. Xem phn mô t hai thanh ghi d liu ADCH và ADCL ñ bit chi tit. • Bits 4:0 – MUX4:0 : Analog Channel and Gain Selection Bits : Các bit này la chn kiu ngõ vào (ñơn hay vi sai) và ñ li, xem bng 98. Biên son : Ks.Cao Bá Vinh 13
  3. Giáo trình AVR Khoa ðinðin TTrưng ðH Lc Hng bit này b xóa v 0, ta phi set li bit này ñ bt ñu mt bin ñi tip theo. Trong ch ñ chuyn ñi liên tc, ta ch cn set bit này mt ln. • Bit 5 – ADFR : ADC Free Running Select : Set bit này lên 1 ñ la chn ch ñ hot ñng bin ñi liên tc. Bit này là 0 s cho phép ch ñ bin ñi tng bưc. • Bit 4 – ADIF : ADC Interrupt Flag : Bit này s ñưc set thành 1 khi mt chu trình bin ñi ADC hoàn thành, bit này ñưc xóa bi phn cng khi trình phc v ngt tương ng ñưc thc thi. Chú ý là khi ta chnh sa thanh ghi ADCSRA (như dùng các lnh CBI, SBI) thì bit này s b xóa. Vì vy, ñ xóa bit này bi phn mm, ta ch cn ghi giá tr 1 vào nó. • Bit 3 – ADIE : ADC Interrupt Enable : Bit này cho phép ngt ADC, khi bit ADIE (cho phép ngt ADC) và bit I (cho phép ngt toàn cc) trong thanh ghi SREG ñưc set lên 1 s cho phép ngt ADC hot ñng. • Bits 2:0 – ADPS20: ADC Prescaler Select Bits : Vì tn s clock ADC ñưc ly t xung clock h thng (hình 109), nên các bit ADPS2:0 s cho phép chia xung clock h thng vi các h s xác ñnh (bng 99) trưc khi ñưa vào ngun clock ADC. Vi ñ phân gii 10 bit, tn s clock ADC khong t 50 – 200 KHz, nên tùy theo tn s clock h thng mà ta la chn h s chia thích hp. ð ý: Trình biên dch AVRStudio 4 ca Atmel xem ADCSRA và ADCSR là mt, c hai ñiu ch ti thanh ghi ADCSRA. Chn hn, lnh sbi ADCSRA, ADSC và sbi ADCSR, ADSC là tương ñương . Biên son : Ks.Cao Bá Vinh 15
  4. Giáo trình AVR Khoa ðinðin TTrưng ðH Lc Hng out ADCSRA, r16 // không dùng ngt, h s chia clock là 32, chy tng bưc sbi ADCSRA, ADSC // khi ñng b ADC Wait: sbis ADCSRA, ADIF // ñi ADC hoàn thành rjmp Wait in r16, ADCL // lưu kt qu ADC in r17,ADCH 2.4.3 B SO SÁNH TƯƠNG T Sơ ñ ñơn gin ca b so sánh tương t (Analog Comparator) như hình 5.1. B so sánh có hai ngõ vào tương t là AIN0 và AIN1 và mt ngõ ra s ACO. Nguyên tc hot ñng ca b so sánh tương t là : Khi ngõ vào AIN0 có ñin th cao hơn ngõ vào AIN1 thì ngõ ra ACO s mc cao (tương ng vi logic 1), ngưc li khi ngõ vào AIN0 có ñin th thp hơn ngõ vào AIN1 thì ngõ ra ACO s mc thp (tương ng vi logic 0) . Thưng thì trong hai ngõ vào, có mt ngõ vào có ñin th ñưc gi c ñnh ñ dùng làm ñin th tham chiu (VRef ), ñin th ngõ còn li có th thay ñi ñ tham chiu vi ngõ vào VRef. Trng thái ca ngõ ra ACO ca b so sánh có th ñưc dùng ñ to ra mt ngt, kt ni ti b ñnh thi 1 ñ s dng chc năng input capture ca b ñnh thi này (xem mô t sau). Cn chú ý là có s khác bit v chi tit b so sánh tương t ñi vi các dòng AVR khác nhau, chn hn b so sánh tương t ca AT90S8535 hơi khác vi b so sánh tương t ATmega128, tuy nhiên cu trúc cơ bn thì vn như nhau. Sau ñây là mô t c th v b so sánh tương t ca ATmega128. hình 5.1 ta thy hai ngõ vào AIN0 và AIN1 tương ng vi hai chân PBx và PBy (x = 2, y = 3 ñi vi AT90S8535), ATmega128 ta có nhiu la chn ngõ vào hơn, các thanh ghi liên quan s giúp ta tht lp các la chn này. 1. Thanh ghi Special Function IO Register – SFIOR Biên son : Ks.Cao Bá Vinh 17
  5. Giáo trình AVR Khoa ðinðin TTrưng ðH Lc Hng ñng. Ta có th thay ñi bit này bt c lúc nào ñ cho phép hay không cho phép b so sánh tương t hot ñng. Nhưng cn chú ý là bt c s thay ñi nào ca bit ACD cũng có th to ra mt ngt (ngt ca b so sánh tương t), do ñó nu không cn thit ta nên cm ngt ca b so sánh tương t bng cách xóa bit ACIE ca thanh ghi ACSR. • Bit 6 – ACBG : Analog Comparator Bandgap Select : Khi bit này là 1 ngõ vào dương s ñưc gi mc ñin th c ñnh khong 1,23 V ( 25 0 C và Vcc = 5 V) và ñưc dùng làm ñin th tham chiu, gi là ñin th tham chiu ni (Internal voltage reference). Như vy, trong trưng hp này ngõ vào âm s thay ñi giá tr và tham chiu ti giá tr 1,23 V. Chú ý là khi ta s dng ñin th tham chiu ni 1,23 V như ñã nêu trên thì ta cn thit lp bit ACBG thành 1 trưc khi cho phép b so sánh tương t hot ñng, bi vì khi ñin th tham chiu ni ñưc cho phép nó cn mt khong thi gian khi ñng là 40 s ñ có th n ñnh ñin th 1,23 V. Khi bit này là 0 chân AIN0 (tương ng vi chân s 4 ca vi ñiu khin) tr thành ngõ vào dương. • Bit 5 – ACO : Analog Comparator Output : Bit này chính là trng thái ngõ ra ca b so sánh, ñc bit này ta s bit ñưc trng thái hin thi ca ngõ vào. Khi tương quan so sánh hai ngõ vào thay ñi, cn t 1 ti 2 chu kì máy ñ phn ánh kt qu này ngõ ra ACO. • Bit 4 – ACI : Analog Comparator Interrupt Flag : ðây là bit c ngt ca b so sánh tương t, khi xy ra ngt b so sánh tương t bit này s ñưc set lên 1 bi phn cng, trình phc v ngt ñưc thc thi nu ngt ñưc cho phép (bng cách set bit ACIE trong ghi ACSR và bit I trong thanh ghi SREG). Véc tơ ngt ca b so sánh tương t có ña ch là $002E. Bit ACI s ñưc t ñng xóa bi phn cng khi trình phc v ngt ñưc thc thi. Chú ý : Bit ACI s t ñng xóa khi có bt c s thay ñi nào ca thanh ghi ACSR. Chn hn khi ta ghi vào bit này giá tr logic 1 thì sau khi thc hin xong lnh ghi ta vn nhn ñưc giá tr logic 0 bit này . Do ñó ta không th nào set ñưc bit này bng phn mm . • Bit 3 – ACIE : Analog Comparator Interrupt Enable : ðây là bit cho phép ngt ca b so sánh tương t. Khi bit này là 1 thì ngt b so sánh tương t ñưc cho phép. Ngưc li, khi bit này là 0 thì ngt b so sánh tương t b cm. • Bit 2 – ACIC : Analog Comparator Input Capture Enable : bit này liên quan ti tính năng input capture ca b ñnh thi 1 (xem li b ñnh thi 1). Khi bit này là 1 ngõ ra ca b so sánh ñưc ni trc tip ti li vào ca khi input capture ca b ñnh thi 1, nh cách này ta có th tn dng tính năng kh nhiu ngõ vào input capture ca b ñnh thi 1, trong cách thit lp này ngt input capture vn có th hot ñng nu ñưc cho phép (bng cách cho phép ngt toàn cc và set bit TICIE1 trong thanh ghi TIMSK lên 1). Khi bit này là 0 ngõ ra ca b so sánh tương t không ñưc kt ni vi ngõ vào ca khi input capture ca b ñnh thi 1. • Bits 1, 0 – ACIS1, ACIS0 : Analog Comparator Interrupt Mode Select : Hai bit này qui ñnh cách thc to ra ngt khi có s thay ñi trng thái ngõ ra ACO. Chn hn, khi ta thit lp { ACIS1, ACIS0 } = { 0, 0 } thì khi có s thay ñi mc (bao gm mc cao xung mc thp hoc mc thp lên mc cao) ngõ ra ACO s to ra ngt. Các thit lp khác ñưc mô t bng 93 . Biên son : Ks.Cao Bá Vinh 19
  6. Giáo trình AVR Khoa ðinðin TTrưng ðH Lc Hng Tóm li ñ lp trình cho b so sánh tương t ta thc hin các bưc sau: 1. Chn ngõ vào dương (là ñin th tham chiu ni hay chân AIN0) bng cách thit lp bit ACBG. 2. Chn ngõ vào âm (là các chân ADC hay chân AIN1) bng cách thit lp các bit ACME và ADEN. 3. Chn kiu hot ñng ca b so sánh tương t như: s dng ngt, kt ni ti b ñnh thi 1 4. Ghi bit ACD thành 0 ñ cho phép b so sánh tương t hot ñng. Câu hi hiu bài phn ADC: Câu 1:ng dng ca ADC ñ làm gì. Câu 2: cho các ng dng thc t liên quan ti ADC. Câu 3:ch “ADC” vit tt t cm t nào?gii thích? Câu 4:có bao nhiêu thanh ghi tác ñng ti ADC? Câu 5: trong AVR b adc có my cp phân gii? Câu 6: ch ñ canh l trái vi bên phi là như th nào? Bit nào qut ñnh? Câu 7: chuyn ñi Free running vi Single conversion khác nhau th nào? Câu 8: bit ADEN dùng làm gì? Nó có ña ch ñâu? Trong thanh ghi nào? Câu 9: bit ADSC dùng làm gì? Nó có ña ch ñâu? Trong thanh ghi nào? Câu 10: bit ADATE dùng làm gì? Nó có ña ch ñâu? Trong thanh ghi nào? Câu 11: bit ADIF dùng làm gì? Nó có ña ch ñâu? Trong thanh ghi nào? Câu 12: bit ADIE dùng làm gì? Nó có ña ch ñâu? Trong thanh ghi nào? Câu 13: chuyn ñi ADC cn có xung clock không? Có bao nhiêu cp b chia? Câu 14: hãy vit 1 bài chuyn ñi 2 kênh adc0,1 ch ñ single conversion? Câu 15: hãy vit 1 bài chuyn ñi 8 kênh adc ch ñ Free running? Câu 16: ng dng khuych ñi vi sai ñ làm gì?ñ li có ý nghĩa gì? Câu 17: có my kênh adc trong mega 8,32,64? Câu 18: so sánh tương t có liên quan ti adc không? Câu 19: cho 2 ng dng liên quan ti so sánh tương t? Câu 20: lp trình 1 bài so sánh tương t không dùng ngt? 2.4 B nh EEPROM : ðây là b nh d liu có th ghi xóa ngay trong lúc vi ñiu khin ñang hot ñng và không b mt d liu khi ngun ñin cung cp b ct. Có th ví b nh d liu EEPROM ging như là cng (Hard disk) ca máy vi tính. Vi vi ñiu khin ATmega128, b nh EEPROM có kích thưc là 4 Kbyte. EEPROM ñưc xem như là mt b nh vào ra ñưc ñánh ña ch ñc lp vi SRAM, ñiu này có nghĩa là ta cn s dng các lnh in, out khi mun truy xut ti EEPROM. ð ñiu khin vào ra d liu vi EEPROM ta s dng 3 thanh ghi sau : 2.4.1 Thanh Ghi EEAR (EEARH và EEARL) Biên son : Ks.Cao Bá Vinh 21
  7. Giáo trình AVR Khoa ðinðin TTrưng ðH Lc Hng Cao Bá Vinh 11 liu vào EEPROM. Trong sut quá trình ghi d liu vào EEPROM bit EEWE luôn gi là 1. vai trò ca mt bit c khi quá trình ghi d liu vào EEPROM hoàn tt, phn cng s t ñng xóa bit này v 0. Trưc khi ghi d liu vào EEPROM ta cn phi bit chc là không có quá trình ghi EEPROM nào khác ñang xy ra, ñ bit ñưc ñiu này ta cn kim tra bit EEWE. Nu bit EEWE là 1 tc là EEPROM ñang ñưc ghi, ta phi ch cho cho quá trình ghi vào EEPROM hoàn tt thì mi ghi tip. Nu bit EEWE là 0 tc là không có quá trình ghi EEPROM nào ñang din ra, lúc này ta có th bt ñu ghi d liu vào EEPROM. Khi bit EEWE ñưc set lên 1 (bt ñu ghi vào EEPROM) CPU s tm ngh trong 2 chu kì máy trưc khi thc hin lnh k tip. Bit 0 – EERE: EEPROM Read Enable : Khi bit này là 1, s cho phép ñc d liu t EEPROM, d liu t EEPROM có ña ch lưu trong thanh ghi EEAR lp tc ñưc chuyn vào thanh ghi EEDR. Khi bit EERE là 0 thì không cho phép ñc EEPROM. Trưc khi ñc d liu t EEPROM ta cn bit chc là không din ra quá trình ghi EEPROM bng cách kim tra bit EEWE. ð ý là sau khi quá trình ñc EEPROM hoàn tt, bit EERE s ñưc t ñng xoá bi phn cng. Nu EEPROM ñang ñưc ghi thì ta không th ñc ñưc d liu t EEPROM. Khi bt ñu quá trình ñc d liu t EEPROM, CPU s tm ngh 4 chu kì máy trưc khi thc hin lnh k tip. Tóm li ñ ghi vào EEPROM ta cn thc hin các bưc sau: 1. Ch cho bit EEWE v 0. 2. Cm tt c các ngt. 3. Ghi ña ch vào thanh ghi EEAR. 4. Ghi d liu mà ta cn ghi vào EEPROM vào thanh ghi EEDR. 5. Set bit EEMWE thành 1. 6. Set bit EEWE thành 1 . 7. Cho phép các ngt tr li. Nu mt ngt xy ra gia bưc 5 và 6 s làm hng quá trình ghi vào EEPROM bi vì bit EEMWE sau khi set lên 1 ch ñưc gi trong 4 chu kì máy, chương trình ngt s làm ht thi gian (time out) duy trì bit này mc 1. Mt ngt xut hin cui bưc 4 cũng có th làm cho ña ch và d liu cn ghi vào EEPROM tr nên không chính xác nu trong chương trình phc v ngt có chnh sa li các thanh ghi EEAR và EEDR. ðó là lí do ta cn cm các ngt trưc khi thc hin tip các bưc 3, 4, 5, 6. Quá trình ghi d liu vào EEPROM cũng có th không an toàn nu ñin th ngun nuôi (Vcc) quá thp. ðon chương trình sau thc hin quá trình ghi d liu vào EEPROM. EEPROM_write: ; ch cho bit EEWE v 0 sbic EECR,EEWE rjmp EEPROM_write ;cm các ngt cli ; ghi ña ch vào thanh ghi EEAR out EEARH, r18 Biên son : Ks.Cao Bá Vinh 23
  8. Giáo trình AVR Khoa ðinðin TTrưng ðH Lc Hng Bn ñ b nh ATmega128 Hình 2.5. Tóm tc bn ñ b nh ATmega128 Câu hi hiu bài phn EEPROM: Câu 1: ng dng ca EEPROM ñ làm gì. Câu 2: cho các ng dng thc t liên quan ti EEPROM. Câu 3:B nh Eeprom ging và khác Sram. Câu 4:có bao nhiêu thanh ghi tác ñng ti eeprom? Câu 5: trong AVR b eeprom có bao nhiêu ô nh ñi vi mega8163264128? Câu 6 : nêu quy trình ghi data vào eeprom ? Câu 7: chuyn ñi Free running vi Single conversion khác nhau th nào? Câu 8: bit EERIE dùng làm gì? Nó có ña ch ñâu? Trong thanh ghi nào? Câu 9: bit EEMWE dùng làm gì? Nó có ña ch ñâu? Trong thanh ghi nào? Câu 10: bit EEWE dùng làm gì? Nó có ña ch ñâu? Trong thanh ghi nào? Câu 11: bit EERE dùng làm gì? Nó có ña ch ñâu? Trong thanh ghi nào? Câu 15: hãy vit 1 bài lưu giá tr 12345 vào eeprom vi ña ch 10 và 11 ? Câu 16: hãy vit 1 bài ñc eeprom t ña ch 0 ti 100 ? Câu 18: vit lưu d liu eeprom bng ngt t ña ch 0 ti 512? 2.5 Giao din SPI(serial peripheral interface) Spi cho phép truyn d liu ñng b tc ñ cao gia avr vi nhau hoc các thit b ngoi vi cho chc năng SPI như là b nh , chuyn ñi ADC Giao din SPI có các chc năng sau: Full duplex(truyn song công),truyn 3 dây(mosi,miso,sck). Ch ñ ñiu khin master/slave. Truyn d liu MSB hoc LSB. C ngt cui ca quá trình truyn. Có ch ñ truyn tc ñ nhanh gp ñôi. Biên son : Ks.Cao Bá Vinh 25
  9. Giáo trình AVR Khoa ðinðin TTrưng ðH Lc Hng ss trên mi slave nhưng có th có nhiu ñưng ss trên mi master, tùy thuc vào thit k ca ngưi dùng. Hot ñng: mi chip mater hay slave ñu có mt thanh ghi data 8 bit, c mi xung nhp do mater to ra trên ñương SCK thì có 1 bit trên thanh ghi d liu ca mater truyn ñn slave trên ñương MOSI và ñng thi cũng có 1 bit ca thanh ghi data slave truyn ñn mater trên ñưng MISO .do 2 gói d liu ca 2 chip ñưc truyn ñng thi nên gi là truyn song công.hình sau mô t cách hot ñng ca chun SPI. Các thanh ghi liên quan ñn SPI: có 3 thanh ghi nh hưng ñn SPI ñó là SPDR,SPCR,SPSR. SPCR(spi control register): là thanh ghi 8 bit ñiu khin toàn b hot ñng ca spi. 7 6 5 4 3 2 1 0 SPIE SPE DORD MSTR CPOL CPHA SPR1 SPR0 R/W R/W R/W R/W R/W R/W R/W R/W Biên son : Ks.Cao Bá Vinh 27
  10. Giáo trình AVR Khoa ðinðin TTrưng ðH Lc Hng SPI2X SPR1 SPR0 F=SCK 0 0 0 Fosc/4 0 0 1 Fosc/16 0 1 0 Fosc/64 0 1 1 Fosc/128 1 0 0 Fosc/2 1 0 1 Fosc/8 1 1 0 Fosc/32 1 1 1 Fosc/64 SPSR(Spi Status Register): là 1 thanh ghi trng thái ca modul SPI.trong thanh ghi này ch có 3 bit ñưc s dng . Bit 7 –SPIF : là c báo ca spi khi thc hin xong 1 cuc truyn hay nhn d liu. thì bit này t ñng set lên 1 , vic xóa bit này khi có thc hin chương ngt hay tác ñng ñn thanh ghi SPDR. Bit 6WCOL: ñây là bit báo có s xung ñt khi nó lên 1 thì ñang có s xung ñt trên bus , khi ta c tình ghi data vào thanh ghi spdr trong khi nó chưa truyn xong data. Bit 0SPI2X: ñây là bit cho phép nâng tc ñ truyn nhanh gp ñôi. SPDR(Spi data Register): là 1 thanh ghi d liu ca modul SPI.ghi data vào thanh ghi này s kích hot 1 quá trình truyn data mi. còn trên chip slave , d liu nhn ñưc t master s ñưc lưu li trong thanh ghi này, d liu ñưc lưu sn trong thanh ghi spdr dùng ñ truyn cho master. 2.6 Truyn thông ni tip (USART). USART là b truyn thông ni tip có các tính năng sau. • hot ñng song công. • Có kh năng làm vic ñng b và không ñng b. • Có 3 ngt hot ñng là ngt phát, ngt thu, ngt khi b ñm rng. • Khung truyn có th t 59 bit data. • Tc ñ truyn rt cao. • Truyn thông ña x lý. • Tc ñ truyn có th ñưc nhân ñôi. • Phát hin khung truyn và nhn b li. Có các thanh ghi nh hưng ñn b usart như sau: Biên son : Ks.Cao Bá Vinh 29
  11. Giáo trình AVR Khoa ðinðin TTrưng ðH Lc Hng Bit 6UMSEL: bit la chn ch ñ hot ñng ñng b hay không ñng b UMSEL=1 ñng b. UMSEL=0 không ñng b. Bit 5,4UPM1,0 : 2 bít này cài ñt hot ñng ch ñ chn l. Bit 3USBS: la chn s bit stop trong khung truyn. USBS=0 có 1 bit stop trong khung. USBS=1 có 2 bit stop trong khung. Bit 2,1UCSZ1,0: S bít data trong khung truyn. Bit0UCPOL: bít cu hình cc xung nhp. Bít này ch hot ñng ch ñ ñng b là s dng chân XCK • Thanh ghi UBRRLUBRRH ca USART : thanh ghi tc ñ baud Biên son : Ks.Cao Bá Vinh 31
  12. Giáo trình AVR Khoa ðinðin TTrưng ðH Lc Hng Biên son : Ks.Cao Bá Vinh 33
  13. Giáo trình AVR Khoa ðinðin TTrưng ðH Lc Hng kin Stop ñưc dò thy , và sau ñó mi sinh ra ñiu kin start mi , bit này phi xóa bng phn mm khi mà nó va thc thi xong. Bit 4TWSTO : bít ñiu kin stop ca TWI. Bit 3TWWC : C báo ghi b xung ñt. C này ñưc set lên 1 khi ñang c gng vit lên thanh ghi d liu TWDR khi mà TWINT mc thp.cò này b xóa khi ghi lên thanh ghi d liu TWDR khi mà TWINT mc cao. Bit 2TWEN : Bit kích hot TWI. ðây là bít cho phép twi hot ñng khi lên 1 , còn khi bng 0 thì không có 1 hot ñng nào xy ra na bt chp mi hot ñng nào ca twi ñang tin hành. BIT 1d tr. Bit 0TWIE: kích hot ngt ca TWI. Khi bit =1 và bit I s sinh ra ngt ch khi bit TWINT=1. C. TWSR : thanh ghi trng thái ca TWI. BIT 73 : ñây là 5 bit phn ánh trng thái hot ñng tun t ca twi. BIT 2: d tr. BIT 1,0: TWPS ñây là 2 bit nh hưng ñn tc ñ xung nhp ca SCL. D. TWDR : thanh ghi d liu ca TWI Biên son : Ks.Cao Bá Vinh 35