Bộ ADC 1.3.18 B

Chia sẻ: Nguyen Van Dau | Ngày: | Loại File: PDF | Số trang:15

0
75
lượt xem
19
download

Bộ ADC 1.3.18 B

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

T sơ kh i ta có th th y: Tám u vào c a ADC là tám chân c a PORTA và chúng ư c ch n thông qua m t MUX. i u khi n ho t ng vào ra d li u c a ADC và CPU chúng ta có 3 thanh ghi:ADMUX ây là thanh ghi i u khi n l a ch n kênh u vào cho ADC. ADCSR

Chủ đề:
Lưu

Nội dung Text: Bộ ADC 1.3.18 B

  1. B ADC 1.3.18 B chuy n i Analog sang Digital Các c trưng cơ b n: • phân gi i 10-bit • chình xác tuy t i: ±2 LSB • Th i gian chuy n i 13 - 260 µs • Lên t i 15 kSPS khi phân gi i cao nh t • Ph m vi i n áp u vào: 0 - V CC • i n áp tham chi u 2.56V có th l a ch n • Ng t khi chuy n i hoàn thành • Lo i b nhi u trong ch ng 1.ADC (analog to digital converter) Vi i u khi n AVR 8535 có m t b bi n i ADC tích h p trong chip. Có các c i m: phân gi i bit. Sai s tuy n tính:0.5LSB. D chính xác +/-2LSB. Th i gian chuy n i:65-260µs. 8 Kênh u vào có th ư c l a ch n. Có hai ch chuy n i. Có ngu n báo ng t khi hoàn thành chuy n i. Lo i b nhi u trong ch ng . Sơ kh i: http://www.ebook.edu.vn
  2. B ADC T sơ kh i ta có th th y: Tám u vào c a ADC là tám chân c a PORTA và chúng ư c ch n thông qua m t MUX. i u khi n ho t ng vào ra d li u c a ADC và CPU chúng ta có 3 thanh ghi:ADMUX ây là thanh ghi i u khi n l a ch n kênh u vào cho ADC. ADCSR ây là thanh ghi i u khi n và thanh ghi tr ng thái c a ADC. ADCD : ây là thanh ghi d li u. 1.ADMUX: Multiplexer select register ây là thanh ghi i u khi n 8 bit: V i 3 bit ư c nh nghĩa là MUX2,MUX1,và MUX0. ng v i các t h p logic ta có th ch n kênh u vào.C th : Chú ý: N u như ta thay i kênh trong th i i m mà ADC ang chuy n i thì khi quá trình chuy n i ã hoàn thành thì khên vào m i ư c thay i. 2.ADCSR :ADC control and status register ây là thanh ghi i u khi n và lưu tr ng thái c a ADC: Bit 7-ADEN:ADC enable ây là bit i u khi n ho t ng c a ADC.Khi bit này ư c set 1 thì ADC có th ho t ng và ngư c l i.N u như ta ng ng ho t ng c a ADC trong khi nó ang chuy n i thì nó s k t thúc quá trình chuy n i.M c dù chưa chuy n i xong. Bit 6-ADSC: ADC start conversion http://www.ebook.edu.vn
  3. B ADC Trong ch chuy n i ơn thì bit này ph i ư c set lên 1 b t u chuy n i.Trong ch chuy n i t do thì bit này c n ư c set lên 1 b t u l n chuy n i u tiên.Bit này ư c gi s t trong quá trình chuy n i và ư c xóa khi mà chuy n i xong. Bit 5-ADRR :ADC Free Running select Khi bit này ư c set thì ADC ho t ng theo ch chuy n i t do. ây là ch mà ADC t ng l y m u và chuy n i (khi nó ư c phép chuy n i)t m t kênh ã nh s n.Ki xóa bit này thì ch này l p t c ng ng ho t ng. Bit 4-ADIF:ADC interrupt Flag Bit này ư c set lên 1 b i ph n c ng khi mà quá trình chuy n i ã hoang thành và thanh ghi d li u ã ư c update.Bit này ư c xóa b ng ph n c ng nh u như ng t này ư c phép và ư c ph c v .Ho c nó có th ư c xóa b ng cách ghi giá tr logic “0”vào c này.C th khi ng t b c m ta có th s d ng các l nh sbi và cbi tác d ng lên bit này. Bit 3-ADIE:ACD interrupt Enable N u bit này set 1 và ng t toàn c c ư c cho phép thì ng t này ư c phép ph c v (Khi chuy n i xong d li u).Và n u b xóa thì ngư c l i. Bit 2.1.0-ADPS2…ADPS0:Bit l a ch n xung nh p(T c ) Sơ qua v ngu n xung:Ngu n xung ư c l y t ngu n xung c a V K (XTAL)và ư c chia t n thông qua b chia t n: Các bit ADSP có nhi m v ch n s chia cho b chia t n theo b ng sau: 3.Thanh ghi d li u ACDDR: ây là thanh ghi 16 bit và ta có th truy nh p chúng như hai thanh ghi 8 bit v i a ch và các bit tương ng: Khi kh i t o chúng có giá tr 0.Sau khi chuy n i thì d li u s ư c ưa vào thanh ghi này. 4.Các chân u vào: Các chân u vào c a ADC là 8 chân c a PORTA nh nghĩa m t c ng là c ng vào cho ADC thì c ng ó ph i ư c nh nghĩa là m t c ng vào và lo i b i n tr treo. 5.Nguyên t c ho t ng và l p trình i u khi n: ADC có nhi m v chuy n i tín hi u i n áp tương t thành tín hi u s có phân gi i 10 bit.V i giá tr nh nh t c a i n áp t chân AGND và giá tr c c i c a i n áp tương t ư c m c vào chân AREF. Tám kênh tương t u vào ư c ch n l a thông qua ADMUX và ADMUX này ư c i u khi n b i thanh ghi ADMUX. ADC này có th ho t ng ư c hai ch . ó là chuy n i ơn: ch chuy n i http://www.ebook.edu.vn
  4. B ADC m t l n khi có l nh chuy n i và ch t chuy n i (Free mode) ây là ch mà ADC t ng chuy n i khi ư c ho t ng và công vi c chuy n i có tính tu n hoàn (ch c n kh i ng m t l n). ADC ư c phép ho t ng nh thi t l p bit ADEN. Quá trình chuy n i ư c b t u b ng vi c ghi vào bit ADSC m c logic 1 và trong su t quá trình chuy n i bit này luôn ư c gi m c cao. Khi quá trình chuy n i hoàn thành thì bit này ư c xóa b ng ph n c ng và c AIDF ư c b t lên. D li u sau khi chuy n i ư c ưa ra thanh ghi d li u ADCL và ADCH, nhưng chú ý khi c d li u t hai thanh ghi này thì c ADCL trư c r i m i c ADCH. N u c ADCH trư c thì d li u update có th ghi è lên ADCL (V K nghĩ r ng ã c xong d li u). i u khi n vào ra d li u v i ADC: Các bư c th c hi n: Bư c 1: nh nghĩa các c ng vào cho tín hi u tương t Xóa bit tương ng v i chân ó trong thanh ghi DDAR. Sau ó lo i b i n tr treo b ng chách xóa bit tương ng thanh ghi PORTA. Bư c 2: Ch n kênh tương t vào (ch n chân vào cho ADC) thông qua thanh ghi ADMUX (có th thay i trong quá trình ho t ng). Bư c2:Thi t l p các thông s cho ADC T c chuy n i thông qua xung nhip chuy n i. Ch chuy n i : ơn ho c t ng. S d ng ng t ho c không. Bư c3:B t u chuy n i và c d li u. Sau ây là hai Ví d s d ng hai ch c a ADC và dùng theo hai cách vào ra d li u: b ng ng t và b ng chương trình. VD: c 20 byte d li u (10 thông s t ADC vào b nh RAM t a ch 0x065) Cách 1:s d ng vào ra b ng chương trình và ch y v i ch chuy n i ơn, ch n chân vào là chân PA0 ; o n chương trình như sau: .MACRO READ ;d c 10 m u t ADC ;thi t l p các thông s cho c ng Cbi DDAR,0 ; ăt pin PA0 thành l i vào. Cbi PORTA,0 ;Lo i i n tr treo. ;Ch n kênh vào cho ADC http://www.ebook.edu.vn
  5. B ADC ldi R16,0x00 Out ADMUX,R16 ;ch n kênh vào la ADC0 ;Thi t l p ADC ho t ng không dùng ng t ch chuy n i ơn sbi ADCSR,7 ;cho phép ho t ng cbi ADCSR,5 cbi ADCSR,3 cbi ADCSR,2 ;thi t l p t c d cbi ADCSR,1 cbi ADCSR,0 ;Chu n b chuy n i: ;Kh i t o bi n m chương trình. Ldi R17,0x0a ;Kh i t o con tr a ch SRAM Ldi XL,0x65 Ldi Xh,0x00 READ_ADC: Cbi ADSR,4 Sbi ADSR,6 ;bat u chuy n i Sbic ADSR,4 Rjmp READ_ADC ; ã có d li u In R18,ADCL In R19,ACDH Sts X+,R18 Sts X+,R19 Dec R17 Breq exit Rjmp READ_ADC Exit: Nop .ENDMACRO http://www.ebook.edu.vn
  6. B ADC 1.Yêu c u: o ư c nhi t t LM35 hi n th lên LCD. 2.Lý thuy t: i v i ATMEGA 16L: 8 chân c a PORTA s d ng làm 8 kênh u vào ADC. s d ng tính năng ADC c a Atmega 16L chúng ta c n ph i thi t k ph n c ng c a Vi i u khi n như sau : * Chân AVCC chân này bình thư ng khi thi t k m ch chúng ta ưa lên Vcc(5V) nhưng khi trong m ch có s d ng các kênh ADC c a ph n c ng thì chúng ta ph i n i chân này lên Vcc qua 1 cu n c m nh m m c ích c p ngu n n nh cho các kênh ( u vào) c a b bi n i. http://www.ebook.edu.vn
  7. B ADC * Chân AREF chân này c n c p 1 giá tr i n áp n nh ư c s d ng làm i n áp tham chi u, chính vì v y i n áp c p vào chân này c n n nh vì khi nó thay i làm giá tr ADC các kênh thu ư c b trôi (thay i ) không n nh v i 1 giá tr u vào chúng ta có công th c tính như sau: ADCx=(V_INT*1024)/ AREF ch d a vào công th c chúng ta c ng có th th y giá tr ADCx t l thu n v i i n áp vào V_INT. Giá tr ADC thu ư c t các kênh ư c lưu vào 2 thanh ghi ADCH và ADCL khi s d ng chúng ta ph i c giá tr t các thanh ghi này, khi s d ng ché 8 bít thì ch lưu vào thanh ghi ADCL. 3.Mô t : u ra c a LM35 và chân 2 bi n tr 1K trên Kit ư c n i vơi 2 jump ch . V i AMEGA16L có 8 kênh ADC là ch c năng th 2 c a PORTA. Do ó ADC ta dung dây n i 2 chân ó v i 2 bit c a PORTA là bit 0 và bit 1.. Theo datasheet LM35 thì c 10mV tương ng v i 10C, 00C i n áp ra là 0V, tương ng v i giá tr ADC là 0. V i Vref=5V, giá tr c a ADC t 0 n 256, l y tròn 250 m c. M i giá tr ADC ng v i 0 5V/250= 20 mV. V y 1 giá tr ADC ng v i 2 C. Mu n tăng phân gi i ADC ta gi m Vref. 4.Th c hành: Các bư c kh i t o code như sau: Trong tab ADC check vào ADC enable: http://www.ebook.edu.vn
  8. B ADC Kh i t o LCD. C u hình ADC. http://www.ebook.edu.vn
  9. B ADC Ta check vào Use 8 bít, ADC tr v giá tr 8 bít, và ta ADC dùng ng t check vào Interrupt, v i n áp tham kh o AREF thì l y i n áp c a chân AREF c a AVR ư c n i v i 5V. T n s ADC tùy các b n thích nhanh ho c ch m ch n giá tr phù h p. Trong box Automatically Scan Inputs các b n check vào Enabled. Vì chúng ta c n ADC 2 kênh, 1 kênh dùng bi n tr test ADC, m t kênh t LM35 u v i 2 bit 0 và 1 c a PORTA do ó ch n First 0, Last 1. Kh i t o cho LCD vào PORTB như hình bên c nh. Ch n Generate, Save and Exit. ê hi n th ư c m t s b t kỳ lên LCD, trong thư vi n hàm không có và ta ph i t vi t hàm . u vào là m t bi n unsigned char, ta ph i tách l y hàng trăm, hàng ch c, hàng ơn v và ưa l n lư t lên LCD. Code như sau: void lcd_putnum(unsigned char so,unsigned char x,unsigned char y) { unsigned char a,b,c; a=so/100; // lay fan tram b=(so-100*a)/10; // lay fan chuc c=(so-100*a-10*b); // lay hang don vi lcd_gotoxy(x,y); // ve vi tri x,y lcd_putchar(a+48); // day ra hang tram, ma ascii lcd_putchar(b+48); // day ra hang chuc, ma ascii lcd_putchar(c+48); // day ra hang don vi, ma ascii } Trong vòng while(1) trong hàm main ta vi t như sau: while (1) { // Place your code here lcd_putnum(2*adc_data[1],0,0); // dua gia tri ADC tu LM35*2= nhiet do lcd_putnum(adc_data[0],0,1); // dua gia tri ADC tu bien tro delay_ms(3000); // tre 3 s, cap nhat du lieu mot lan }; http://www.ebook.edu.vn
  10. B ADC o nhi t b ng LM35 qua ADC thư ng có sai s và trôi, do ó ta c n hi u ch nh nhi t b ng cách so sánh v i nhi t k . http://www.ebook.edu.vn
  11. B ADC 1.Yêu c u: i u khi n led ơn trên KIT AVR 03 b ng máy tính. o k t qu ADC t bi n tr và c m bi n nhi t LM35 hi n th lên máy tính. • i u khi n led: T o m t Form b ng VB như sau: Trong FORM có: 1 i tư ng picturebox ch a logo c a DKS. Có 10 i tư ng button trong ó 8 i tư ng button Led1...Led8 là m t m ng button có tên t Command1(0) ... Command1(7). Mu n t o m t m ng button ta ch vi c l y ra 8 i tư ng button và s a tên t t c chúng thành Command 1. Hai button còn l i là Ph n h i và Exit. Có m t textbox hi n th d li u ph n h i. Ho t ng c a ph n m m như sau: Khi nh n vào button Led 1 thì truy n d li u là 0x01 xu ng c ng n i ti p c a PC, AVR nh n ư c và ưa d li u ó ra c ng c a AVR 1 led trên Kit sáng. Tương t cho b m các nút Led còn l i. ng th i AVR g i luôn giá tr v a nh n ư c lên PC. Và khi b m nút ph n h i thì d li u ó hi n ra trên Textbox. Khi nh n nút Exit thì thoát kh i ph n m m. Th c hành: Ph n m m trên VB Code như sau: Private Sub Command1_Click(Index As Integer) If Index = 0 Then MSComm1.Output = Chr$(1) End If If Index = 1 Then MSComm1.Output = Chr$(2) End If If Index = 2 Then http://www.ebook.edu.vn
  12. B ADC MSComm1.Output = Chr$(4) End If If Index = 3 Then MSComm1.Output = Chr$(8) End If If Index = 4 Then MSComm1.Output = Chr$(16) End If If Index = 5 Then MSComm1.Output = Chr$(32) End If If Index = 6 Then MSComm1.Output = Chr$(64) End If If Index = 7 Then MSComm1.Output = Chr$(128) End If End Sub Private Sub Command2_Click() MSComm1.PortOpen = False End End Sub Private Sub Command3_Click() If MSComm1.Input = "" Then Exit Sub Else Text1.Text = Asc(MSComm1.Input) End If End Sub Private Sub Form_Load() MSComm1.CommPort = 1 MSComm1.Settings = "9600,n,8,1" MSComm1.PortOpen = True End Sub Firm ware: Kh i t o trong CodeVision AVR cho phép c ng n i ti p ho t ng, PORT D là out put như các bài trư c ã h c. Sau ó l p trình cho hàm main như sau: http://www.ebook.edu.vn
  13. B ADC Trong hàm main có s d ng thêm m t bi n temp nên dĩ nhiên các b n ph i khai báo thêm bi n ó phía ngoài hàm main. N p chương trình vào chip AVR K t n i dây c ng Com t KIT và c ng Com máy tính và test k t qu . o ADC t bi n tr và LM35. Trên VB t o ra m t giao di n ph n m m như sau: http://www.ebook.edu.vn
  14. B ADC Form g m có: 4 label hi n th như hình. 2 text box hi n th d li u. 2 button: Thu du lieu và Thoat kh i ph n m m. Code trên VB như sau: Private Sub Command1_Click() If MSComm1.Input = "" Then Exit Sub Else Text1.Text = Asc(MSComm1.Input) Text2.Text = Asc(MSComm1.Input) End If End Sub Private Sub Command2_Click() MSComm1.PortOpen = False End End Sub Private Sub Form_Load() MSComm1.CommPort = 1 MSComm1.Settings = "9600,n,8,1" MSComm1.PortOpen = True http://www.ebook.edu.vn
  15. B ADC End Sub Firm Ware: Kh i t o b ng CodeWinzard AVR cho c ng n i ti p USART ho t ng, cho phép ADC ho t ng(interrupt) như các bài trư c sau ó vi t code cho hàm main như sau: D ch n p chương trình và test http://www.ebook.edu.vn
Đồng bộ tài khoản