Giáo trình vi điều khiển phần 2 lâm quang chuyên

20 4 0
Giáo trình vi điều khiển phần 2   lâm quang chuyên

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Chương Biến đổi tương tự sang số Bài giảng vi điều khiển Atmega16 Chương BỘ BIẾN ĐỔI TƯƠNG TỰ SANG SỐ (ANALOG TO DIGITAL CONVERTER) -57/115- Biên soạn: Lâm Quang Chuyên Chương Biến đổi tương tự sang số Bài giảng vi điều khiển Atmega16 6.1 GIỚI THIỆU 6.1.1 Giới thiệu Bộ biến đổi ADC biến đổi tín hiệu từ tương tự sang tín hiệu số, tùy thuộc vào độ phân giải (số bit biến đổi) tốc độ biến đổi độ sai số mà ta có chất lượng biến đổi khác nhau, tùy vào ứng dụng cụ thể mà ta chọn biến đổi ADC cho phù hợp với cơng việc Việc biến đổi tín hiệu từ tương tự sang số có nhiều ứng dụng thực tế: Đo lường nhiệt độ, độ ẩm, cân điện tử, biến đổi tín hiệu âm để lưu trữ sang dạng số… Đối với vi điều khiển atmega16 ta có thơng số sau:  Là biến đổi tín hiệu tương tự (0 – VCC) sang tín hiệu số với giá trị tương ứng, độ phân giải tối đa 10 bit ~ 1023 bước  Độ xác ± 2LSB  Các chân biến đổi ADC từ PA.0 đến PA.7 thời điểm có chân biến đổi  Mối quan hệ điện áp ngõ vào (điện áp cần biến đổi), điện áp tham chiếu độ phân giải: a Vin b Vref (6.1) Trong đó: o a: Giá trị số sau biến đổi (thay đổi từ đến 1023) o Vin: Điện áp ngõ vào (0 – 5VDC) o Vref: Điện áp tham chiếu (0 – 5VDC) o b: số bit biên đổi (độ phân giải) atmega b = 10 -58/115- Biên soạn: Lâm Quang Chuyên Chương Biến đổi tương tự sang số Bài giảng vi điều khiển Atmega16 Việc chọn điện áp tham chiếu phụ thuộc vào độ phân giải số bit thiết bị tính sau: Vref  dpg.2b Với: (6.2) dpg: độ phân giải thiết bị, cảm biến Hình 6.1 Tín hiệu tương tự tín hiệu số 6.1.2 Bài tập ví dụ Ví dụ 1: Một biến đổi ADC có điện áp ngõ vào 1,35 volt, độ phân giải 5mv, số bit biến đổi 10 bit, hỏi giá trị ngõ điện áp tham chiếu bao nhiêu? Giải: Dựa vào công thức 6.2 ta có điện áp tham chiếu là: Vref = dpg.2b = 0.005.210 = 5.12 (volt) Giá trị ngõ theo công thức 6.1 là: a Vin b 1.35  *1024  270 Vref 5.12 Ví dụ 2: Sau biến đổi ADC, ngõ nhận là: 0x253, hỏi điện áp tham chiếu giá trị điện áp ngõ vào bao nhiêu, biết số bit sử dụng bit, độ phân giải 10mVolt Giải: Điện áp tham chiếu theo công thức 6.2 là: Vref = dpg.2b = 0.01.28 = 2.56 (volt) Điện áp ngõ vào theo công thức 6.1 là: Vin  a.Vref b  595 * 2.56  1.49 volt 1024 -59/115- Biên soạn: Lâm Quang Chuyên Chương Biến đổi tương tự sang số Bài giảng vi điều khiển Atmega16 6.2 CÁC THANH GHI LIÊN QUAN 6.2.1 Thanh ghi ADMUX Bit Read/ Write Giá trị ban đầu REFS1 REFS0 ADLAR MUX4 MUX3 MUX2 MUX1 MUX0 RW RW RW RW RW RW RW RW 0 0 0 0 Hình 6.2 Thanh ghi ADMUX  Bit – 6: REFS0.1 chọn điện áp tham chiếu xem bảng bên Stt REFS1 REFS0 Nguồn điện áp tham chiếu 0 AREF, không sử dụng điện áp tham chiếu nội 1 AVCC với tụ đặt chân AREF Không sử dụng 1 Điện áp tham chiếu nội 2.56V với tụ chân AREF BẢNG 6.1 Chọn điện áp tham chiếu  Bit 5: ADLAR (ADC Left Adjust Result): bit dùng để chọn byte cao, byte thấp liệu, ADLAR = 0, ADCL lưu bit0 7, ADCH lưu bit8.9 Khi ADLAR = ngược lại Hình 6.3 Thanh ghi liệu ADC ADLAR = Hình 6.4 Thanh ghi liệu ADC ADLAR = -60/115- Biên soạn: Lâm Quang Chuyên Chương Biến đổi tương tự sang số Bài giảng vi điều khiển Atmega16  Bit 4:0 MUX4:0 Dùng chọn kênh ngõ vào độ lợi biến đổi ADC MUX4 00000 00001 00010 00011 00100 00101 00110 00111 01000 01001 01010 01011 01100 01101 01110 01111 10000 10001 10010 10011 10100 10101 10110 10111 11000 11001 11010 11011 11100 11101 11110 11111 Single Positive Negative Ended Input Differential Differential Input Input ADC0 ADC1 ADC2 ADC3 ADC4 ADC5 ADC6 ADC7 KHÔNG SỬ DỤNG Gain KHÔNG SỬ DỤNG ADC0 ADC1 ADC0 ADC1 ADC2 ADC3 ADC2 ADC3 ADC0 ADC1 ADC2 ADC3 ADC4 ADC5 ADC6 ADC7 ADC0 ADC1 ADC2 ADC3 ADC4 ADC5 ADC0 ADC0 ADC0 ADC0 ADC2 ADC2 ADC2 ADC2 ADC1 ADC1 ADC1 ADC1 ADC1 ADC1 ADC1 ADC1 ADC2 ADC2 ADC2 ADC2 ADC2 ADC2 10x 10x 200x 200x 10x 10x 200x 200x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1.22V (VBG) KHÔNG SỬ DỤNG 0V (GND) Bảng 6.2 Các chân ngõ vào độ lợi -61/115- Biên soạn: Lâm Quang Chuyên Chương Biến đổi tương tự sang số Bài giảng vi điều khiển Atmega16 6.2.2 Thanh ghi ADCSRA Bit Read/ Write Giá trị ban đầu ADEN ADSC ADATE RW RW RW 0 ADIF RW ADIE ADPS2 ADPS1 ADPS0 RW RW RW RW 0 0 Hình 6.5 Thanh ghi ADCSRA  Bit (ADEN): Bit cho phép hoạt động ADC, không không cho phép hoạt động Nếu bit viết vào giá trị khơng lúc biến đổi ADC hoạt động ADC bị hủy bỏ  Bit 6(ADSC): Bắt đầu hoạt động ADC, bit bắt đầu biến đổi ADC, trở mức logic không sau biến đổi xong, viết logic vào bit khơng có giá trị  Bit 5(ADATE): Khi bit cho phép nguồn kích hoạt ADC  Bit 4(ADIF): Cờ ngắt hoạt động ADC, sử dụng ngắt cờ bật lên biến đổi ADC hoàn tất, hoạt động ngắt cờ tự động xóa khơng, khơng sử dụng ngắt muốn xóa cờ phải ghi mức logic vào  Bit 3(ADIE): Cho phép ngắt hoạt động ADC, bit cho phép hoạt động ADC, hoạt động ADC hồn thành kiện ngắt kích hoạt  Bit – (ADPS2 0): Chọn chia (thời gian biến đổi ADC) hoạt động ADC Stt ADPS2 ADPS1 ADPS0 Hệ số chia 0 2 0 4 1 0 16 1 32 1 64 1 128 BẢNG 6.3 Chọn tần suất lấy mẫu -62/115- Biên soạn: Lâm Quang Chuyên Chương Biến đổi tương tự sang số Bài giảng vi điều khiển Atmega16 Hình 6.6 Bộ chia hoạt động ADC Hình 6.7 Giản đồ thời gian cho lần biến đổi ADC Hình 6.8 Giản đồ thời gian cho lần biến đổi ADC thứ -63/115- Biên soạn: Lâm Quang Chuyên Chương Biến đổi tương tự sang số Bài giảng vi điều khiển Atmega16 6.2.3 Thanh ghi SFIOR Bit Read/ Write Giá trị ban đầu ADTS2 ADTS1 RW RW 0 ADTS0 RW RW ACME RW PUD RW PSR2 RW PSR10 RW 0 0 0 Hình 6.9 Thanh ghi SFIOR  Bit – (ADTS2 0) Các nguồn kích hoạt ADC Stt ADTS2 ADTS1 ADTS0 0 0 1 1 0 1 0 1 1 1 Nguồn kích hoạt Biến đổi ADC liên tục So sánh điện áp chân AIN0 AIN1 Tác động chân ngắt vi điều khiển Khi OCR0 = TCNT0 Khi Timer/Counter0 tràn Khi OCR1B = TCNT1 Khi Timer/Counter1 tràn Khi đọc giá trị ghi TCNT1 Bảng 6.4 Các nguồn kích hoạt ADC Hình 6.10 Các tác nhân kích hoạt ADC  Bit – 0: Các bit không sử dụng hoạt động ADC -64/115- Biên soạn: Lâm Quang Chuyên Chương Biến đổi tương tự sang số Bài giảng vi điều khiển Atmega16 6.3 BÀI TẬP VÍ DỤ Ví dụ 1: Cho ghi ADMUX có giá trị 0xED, điện áp chân ADC3 300mV, ADC2 = 500mV, hỏi giá trị ADCH, ADCL bao nhiêu? Giải: Ta có gán bit vào ghi ADMUX hình vẽ sau Bit Read/ Write Giá trị REFS1 REFS0 ADLAR MUX4 MUX3 MUX2 MUX1 MUX0 RW RW RW RW RW RW RW RW 1 1 1 Bit – 6: REFS1=1; REFS0=1 dựa vào bảng 6.2, ta thấy điện áp tham chiếu điện áp nội có giá trị 2.56 volt Bit 5: ADLAR = nên giá trị lưu ghi ADCH ADCL là: ADCH = bit9 ADCL = bit1.0 Bit – 0: MUX = 01101 dựa vào bảng 6.3 trang ta nhận thấy độ lợi GIAN = 10 = ( − ) 512 Như giá trị ghi ADCR ADC = 512*10*(300-500)/2560= -400 = 1024 – 400 = 0x270 = 0b1001110000 Vậy ADCH = 0b10011100 = 0x9C ADCL = 0b00 . .=0x00 Ví dụ 2: Viết chương trình nhấn nút SW chân 16 (INT0 – PB2) vi điều khiển biến đổi tín hiệu ADC từ chân PA5 sau hiển thị kết PORTD cho byte cao (bit9.8) PORTC cho byte thấp (bit7 0) Giải: Các bước thực hiện:  Xác định tác nhân kích hoạt ADC  Xác định điện áp tham chiếu  Xác định liệu lưu ghi ADCL, ADCH  Xác định tần suất lấy mẫu  Xác định chân cần biến đổi ADC  Xác định xem có ngắt hay khơng Tác nhân kích hoạt ADC: Ngắt ngồi INT0 ADTS2.0 = 010 ADATE = Điện áp tham chiếu: -65/115- Biên soạn: Lâm Quang Chuyên Chương Biến đổi tương tự sang số Bài giảng vi điều khiển Atmega16 Ta chọn Vref = 2.56v (internal reference) nên REFS1.0 = 11 Xác định liệu ghi Vì PORTB = bit9.8 PORTC = bit7.00 nên bit ADLAR = Tần suất lấy mẫu: Trong đề không đề cập đến tần suất biến đổi ADC nên ta chọn tùy ý, ta chọn thời gian nhanh fadc = fck / 2, ADPS2.0 = 000 Chân cần biến đổi ADC: PA5 nên MUX4 0: 00101 Xác định ngắt: Có sử dụng ngắt nến ADIE = Dựa vào phân tích ta có ghi có nội dung sau: ADMUX, ADCH, ADCL, ADCSRA, SFIOR ADMUX = 0b1100.0101 ADSRA = 0b1011.1000 bit ADSC = điều khiển ngắt ngồi để kích hoạt biến đổi ADC SFIOR = 0b0101.0000 Ví dụ 3: Tính thời gian biến đổi ADC cho lần đầu lần thứ 2, biết tần số thạch anh Mhz, sử dụng chia 32 Giải: Tính tần số CK = Sử dụng chia 32 nên =4 ℎ = = 125 ℎ Lần biến đổi ADC 25 ADCCLK nên thời gian biến đổi là: = 25 ∗ = 200 Lần biến đổi ADC 25 ADCCLK nên thời gian biến đổi là: = 12.5 ∗ = 100 6.4 CÂU HỎI ƠN TẬP HẾT CHƯƠNG Câu 1: Atmega có chân biến đổi ADC, chân nhận tín hiệu biến đổi ADC Port nào, số chân? Câu 2: Atmega16 có nguồn điện áp tham chiếu, nêu khác việc chọn điện áp tham chiếu -66/115- Biên soạn: Lâm Quang Chuyên Chương Biến đổi tương tự sang số Bài giảng vi điều khiển Atmega16 Câu 3: Hãy nêu ý nghĩa prescaler hoạt động ADC Câu 4: Tần suất lấy mẫu lớn nhỏ hoạt động ADC biết fclk = 2Mhz Câu 5: Hoạt động ngắt xảy thời điểm hoạt động ADC Câu 6: Độ phân giải gì, cho ví vụ minh họa Câu 7: Bit cho phép không cho phép hoạt động ADC Câu 8: Bit nhận biết hoạt động ADC hoàn tất, thực Câu 9: Hãy trình ứng dụng thực tế có liên quan đến hoạt động ADC Câu 10: Khi điện áp ngõ vào cần biến đổi 1,36v, điện áp tham chiếu 2.56v, độ phân giải bit, hỏi giá trị sau biến đổi bao nhiêu? Câu 11: Khi giá trị sau biến đổi có giá trị 672, điện áp tham chiếu 4,5v, độ phân giải 10 bit, hỏi giá trị điện áp ngõ vào bao nhiêu? Câu 12: Sau biến đổi ADC giá trị thu là: 0x2d5, hỏi ADCH, ADCL có giá bị bao nhiêu, ADLAR = = Câu 13: Điện áp tham chiếu chân AREF = 3v, Điện áp chân 36 2v a Hỏi giá trị lưu ghi ADCH ADCL (xét trường hợp ADLAR = = 1) b Giá trị ghi ADMUX bao nhiêu? Câu 14: Xác định ghi hoạt động ADC: a Nguồn kích hoạt ADC (INT0) b Điện áp tham chiếu (3v) c bit cao, bit thấp d Tần suất lấy mẫu (chia 64) e Chân cần biến đổi ADC.6 f Không sử dụng ngắt Câu 15: Xác định ghi hoạt động ADC: a Nguồn kích hoạt ADC (Khi điện áp chân lớn chân 4) b Điện áp tham chiếu (5v) -67/115- Biên soạn: Lâm Quang Chuyên Chương Biến đổi tương tự sang số Bài giảng vi điều khiển Atmega16 c bit cao, bit thấp d Tần suất lấy mẫu (chia 32) e Chân cần biến đổi 35 f Không sử dụng ngắt g Nếu giá trị ghi ADCH = 0x03 ADCL = 0b11001101 điện áp chân 35 bao nhiêu? Câu 16: Viết chương trình nhấn nút SW chân 16 (INT0 – PB2) vi điều khiển biến đổi tín hiệu ADC từ chân PA5 hiển thị kết PORTD cho byte cao (bit9.8) PORTC cho byte thấp (bit7 0) Điện áp tham chiếu VREF Bộ prescaler = 16 Câu 17: Viết chương trình điện áp chân lớn chân biến đổi ADC tín hiệu chân 39, 40 (39 điện áp dương, 40 điện áp âm) độ lợi 200x, điện áp tham chiếu AVCC, hiển thị kết PORTD cho byte cao (bit9 2) PORTC cho byte thấp (bit1.0) Bộ prescaler = 128 Câu 18: Viết chương trình điều khiển tốc độ động thông qua biến trở chân PORTA.0, biến trở có giá trị nhỏ động quay thấp (ngừng quay), biến trở có giá trị cao động quay nhanh Câu 18: Viết chương trình điều khiển tốc độ động thông qua biến trở chân PORTA.0, biến trở có giá trị nhỏ động quay thấp (ngừng quay), biến trở có giá trị cao động quay nhanh Câu 19: Tính thời gian biến đổi ADC biết tần số thạch anh 5Mhz, biết ghi ADCSRA = 0bxxxx.x101 Câu 20: Hãy cho biết thời gian biến đổi nhanh chậm hoạt động ADC biết tần số thạch anh Mhz -68/115- Biên soạn: Lâm Quang Chuyên Chương Truyền nhận liệu nối tiếp Bài giảng vi điều khiển Atmega16 Chương TRUYỀN NHẬN DỮ LIỆU ĐỒNG BỘ VÀ BẤT ĐỒNG BỘ (THE UNIVERSAL SYNCHRONOUS AND ASYNCHRONOUS SERIAL RECEIVER AND TRANSMITTER USART) -71/115- Biên soạn: Lâm Quang Chuyên Chương Truyền nhận liệu nối tiếp Bài giảng vi điều khiển Atmega16 7.1 GIỚI THIỆU Đây truyền nhận liệu nối tiếp đồng không đồng bộ, biên độ thay đổi từ -12v đến 12v thích hợp mơi trường cơng nghiệp, có nhiều tín hiệu nhiễu, việc truyền nhận liệu thực chân vi điều khiển RxD TxD 7.1.1 Hoạt động đồng Dữ liệu truyền đồng với xung clock, hoạt động có phối hợp chân XCK RxD/TxD, hoạt động đồng khơng địi hỏi phải có cài đặt thông số (bắt tay) thiết bị, thời điểm nhận thay đổi liệu phụ thuộc vào bit UCPOL ghi UCSRC 7.1.2 Hoạt động bất đồng Là hoạt động phụ thuộc vào chân RxD/ TxD kết hợp với thời gian (tốc độ baud) mà không phụ thuộc vào chân CLK, khung liệu hoạt động bất đồng bao gồm: xung start bit, số bit liệu (5,6,7,8,9 tùy mục đích sử dụng), stop bit, hoạt động bất đồng địi hỏi phải cài đặc thơng số thiết bị phải giống nhau, cụ thể thông số sau: Số lượng stop bit (1,2) Tốc độ baud (1200, 2400, 9600,…) Kiểm tra chẵn lẻ (parity bit) Số bit truyền khung (5, 6, 7, 8, 9) Hình 7.1 Khung liệu giao tiếp nối tiếp -72/115- Biên soạn: Lâm Quang Chuyên Chương Truyền nhận liệu nối tiếp Bài giảng vi điều khiển Atmega16 7.1.3 Đặc tính giao tiếp USART  Hoạt động truyền nhận song công  Đồng không đồng  Tốc độ truyền nhanh  Hỗ trợ khung 5,6,7,8 bit liệu, stop bit (bất đồng bộ)  Giao tiếp nhiều vi điều khiển theo nghi thức Master, Slaver 7.2 CÁC THANH GHI LIÊN QUAN UDR (read), UDR (write), UCSRA, UCSRB, UCSRC, UBRRH, UBRRL 7.2.1 Thanh ghi UDR Là ghi đệm dùng để truyền UDR (write) nhận UDR (read) liệu có địa chỉ, việc viết liệu vào ghi đệm thực cờ UDRE ghi UCSRA Bit Read/ Write Giá trị ban đầu RW RW RW RXB[7:0] TXB[7:0] RW RW 0 RW RW RW PE R U2X RW 0 MPCM RW Hình 7.2 Thanh ghi UDR 7.2.2 Thanh ghi UCSRA Bit Read/ Write Giá trị ban đầu RXC R TXC RW UDRE R FE R DOR R Hình 7.3 Thanh ghi UCSRA Bit – RXC USART (USART Receive Complele) RXC = liệu ghi UDR (read) chưa đọc, RXC = liệu ghi đọc, ghi UDR (read) xem ghi trống Bit – TXC (USART Transmit Complete) dùng thông báo cho hoạt động truyền liệu hồn tất, TXC = tồn liệu ghi dịch (shift register) dịch chuyển ngồi khơng cịn liệu ghi UDR (write) Bit tự động xóa thực thi hoạt động ngắt, ghi giá trị vào bit này, bit kích hoạt hoạt động ngắt -73/115- Biên soạn: Lâm Quang Chuyên Chương Truyền nhận liệu nối tiếp Bài giảng vi điều khiển Atmega16 Bit – UDRE (USART Data Register Empty) bit dùng để báo cho biết ghi UDR (write) có sẵn sàng nhận liệu hay khơng Nếu bit = đệm trống, ghi UDR (write) sẵn sàng nhận liệu Bit kích hoạt hoạt động ngắt ghi đệm trống Bit = sau hoạt động reset Bit – FE (Frame Error) FE = thông báo lỗi hoạt động nhận liệu, bit phải viết = ghi UCSRA Bit – DOR (Data OverRun) DOR = xảy trình tràn liệu, bit phải viết = ghi UCSRA Bit – PE (Parity Error) PE = có lỗi Parity xảy ra, bit phải viết = ghi UCSRA Bit – U2X (Double the USART Transmittion Speed) bit có tác dụng hoạt động bất đồng bộ, bit viết = hoạt động đồng Khi bit giảm tốc độ baud xuống ½ Bit – MPCM (Multi-processor Communication Mode) bit cho phép hoạt động đa vi điều khiển, bit = tất liệu nhận không chứa đựng thông tin địa bị bỏ qua (không nhận), xem phần giao tiếp đa vi điều khiển 7.2.3 Thanh ghi UCSRB Bit RXCIE TXCIE UDRIE RXEN TXEN UCSZ2 RXB8 TXB8 Read/ Write RW RW RW RW RW RW RW RW Giá trị ban đầu 0 0 0 0 Hình 7.4 Thanh ghi UCSRB Bit – RXCIE (RX Complete Interrupt Enable) bit = cho phép ngắt cờ ngắt RXC Khi muốn thực hoạt động ngắt nhận liệu ta cần phải cài đặt sau (theo thứ tự ưu tiên): bit I ghi SREG, bit RXCIE ghi UCSRB Hoạt động xảy bit RXC = Bit – TXCIE (TX Complete Interrupt Enable) bit = cho phép ngắt cờ ngắt TXC Hoạt động ngắt xảy bit RXC = Khi muốn thực hoạt động ngắt truyền liệu ta cần phải cài đặt sau (theo thứ tự ưu tiên): bit I ghi SREG, bit TXCIE ghi UCSRB -74/115- Biên soạn: Lâm Quang Chuyên Chương Truyền nhận liệu nối tiếp Bài giảng vi điều khiển Atmega16 Bit – UDRIE (USART Data Register Empty Interrupt Enable) bit = cho phép ngắt cờ UDRE Hoạt động xảy bit UDRE = Khi muốn thực hoạt động ngắt truyền liệu ta cần phải cài đặt sau (theo thứ tự ưu tiên): bit I ghi SREG, bit UDRIE ghi UCSRB Bit – RXEN (Receiver Enable) bit = cho phép nhận liệu Bit – TXEN (Transmitter Enable) bit = cho phép truyền liệu Bit – UCSZ2 (Character size) bit kết hợp với bit UCSZ1.0 để xác độ dài liệu để nhận truyền liệu Bit – RXB8 (Receive Data Bit 8) bit thứ hoạt động nhận bit liệu, bit phải đọc trước đọc bit thấp ghi UDR (read) Bit – TXB8 (Transmitte Data Bit 8) bit thứ hoạt động truyền liệu, bit phải ghi trước ghi ghi bit thấp ghi UDR (write) 7.2.4 Thanh ghi UCSRC (USART Control and Status Register C) Bit URSEL UMSEL UPM1 UPM0 USBS UCSZ1 UCSZ0 UCPOL Read/ Write RW RW RW RW RW RW RW RW Giá trị ban đầu 0 0 1 Hình 7.5 Thanh ghi UCSRC Bit – URSEL (Register Select) dùng để chọn ghi UBRRH ghi UCSRC, bit ghi UBRRH chọn, bit ghi UCSRC chọn Bit – UMSEL (USART Mode Select) dùng để chọn hoạt động đồng bộ/ không đồng UMSEL Chế độ Asynchronous Operation (hoạt động bất đồng bộ) Asynchronous Operation (hoạt động đồng bộ) Bảng 7.1 Chế độ làm việc giao tiếp nối tiếp Bit 5.4 – UPM1.0 (Parity Mode) bit dùng để xác định hoạt động parity trình nhận truyền liệu -75/115- Biên soạn: Lâm Quang Chuyên Chương Truyền nhận liệu nối tiếp UPM1 Bài giảng vi điều khiển Atmega16 UPM0 Parity Mode 0 (Disabled) Không sử dụng (Reserved) Không sử dụng Cho phép kiểm tra chẵn (even parity) 1 Cho phép kiểm tra lẽ (odd parity) Bảng 7.2 Cài đặc bit Parity Bit – USBS (Stop Bit Select) dùng để chọn số stop bit hoạt động truyền liệu, hoạt động nhận bỏ qua hoạt động USBS Stop Bit(s) bit bit Bảng 7.3 Cài đặc bit USBS Bit 2.1 – UCSZ1.0 chọn kích thước liệu Stt UCSZ2 UCSZ1 UCSZ0 Kích thước bit 0 bit 0 bit bit 1 bit 0 Không sử dụng 1 Không sử dụng 1 Không sử dụng 1 bit Bảng 7.4 Cài đặc số bit liệu Bit – UCPOL (Clock Polarity) bit sử dụng hoạt động đồng bộ, bit phải viết = hoạt đồng bất đồng UCPOL Truyền liệu (ngõ ra, chân TxD) Nhận liệu mẫu (ngõ vào, chân RxD) Cạnh lên xung XCK Cạnh xuống xung XCK Cạnh xuống xung XCK Cạnh lên xung XCK Bảng 7.5 Cài đặc bit UCPOL -76/115- Biên soạn: Lâm Quang Chuyên Chương Truyền nhận liệu nối tiếp Bài giảng vi điều khiển Atmega16 Hình 7.6 Dữ liệu thay đổi cạnh lên lấy mẫu cạnh xuống Hình 7.7 Dữ liệu thay đổi cạnh xuống lấy mẫu cạnh lên 7.2.5 Thanh ghi UBRRL UBRRH Hình 7.8 Thanh ghi UBRRL UBRRH Thanh ghi UBRRH có địa với ghi UCSRC Bit – URSEL (Register Select) dùng để chọn ghi UBRRH ghi UCSRC, bit ghi UBRRH chọn, bit ghi UCSRC chọn Tất bit lại sử dụng để chọn tốc độ baud hoạt động truyền/ nhận liệu, việc lựa chọn tốc độ baud phải đồng với sai số 0.5% cho kết truyền khơng xác -77/115- Biên soạn: Lâm Quang Chuyên Chương Truyền nhận liệu nối tiếp Bài giảng vi điều khiển Atmega16 Bảng 7.6 Chọn tốc độ baud tần số từ 1Mhz đến 2Mhz Bảng 7.7 Chọn tốc độ baud tần số từ 3Mhz đến 7Mhz -78/115- Biên soạn: Lâm Quang Chuyên ... ADC0 ADC0 ADC2 ADC2 ADC2 ADC2 ADC1 ADC1 ADC1 ADC1 ADC1 ADC1 ADC1 ADC1 ADC2 ADC2 ADC2 ADC2 ADC2 ADC2 10x 10x 20 0x 20 0x 10x 10x 20 0x 20 0x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1 .22 V (VBG) KHÔNG... theo công thức 6 .2 là: Vref = dpg.2b = 0.01 .28 = 2. 56 (volt) Điện áp ngõ vào theo công thức 6.1 là: Vin  a.Vref b  595 * 2. 56  1.49 volt 1 024 -59/115- Biên soạn: Lâm Quang Chuyên Chương Biến... tham chiếu là: Vref = dpg.2b = 0.005 .21 0 = 5. 12 (volt) Giá trị ngõ theo công thức 6.1 là: a Vin b 1.35  *1 024  27 0 Vref 5. 12 Ví dụ 2: Sau biến đổi ADC, ngõ nhận là: 0x253, hỏi điện áp tham chiếu

Ngày đăng: 03/03/2023, 07:29

Tài liệu cùng người dùng

Tài liệu liên quan