Truyền khung 9 bit dữ liệu

Một phần của tài liệu 253154 (Trang 63 - 68)

Nếu sử dụng 9 bit dữ liệu, bit thứ 9 phải đƣợc ghi vào bit TXB8 trong thanh ghi UCSRB trƣớc khi byte cũn lại đƣợc ghi vào UDR.

2.2.6. Bộ biến đổi a/d

Vi điều khiểnATmega16 cú một bộ biến đổi ADC tớch hợp trong chip với cỏc đặc điểm:

 Độ phõn giải 10 bit

 Sai số tuyến tớnh: 0.5LSB  Độ 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 free running và single conversion  Cú nguồn bỏo ngắt khi hoàn thành chuyển đổi

 Loại bỏ nhiễu trong chế độ ngủ.

 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 là thanh ghi điều khiển lựa chọn kờnh đầu vào cho ADC, ADCSRA là thanh ghi điều khiển và thanh ghi trạng thỏi của ADC, ADCH và ADCL là 2 thanh ghi dữ liệu.

Hỡnh 2.22 Sơ đồ bộ biến đổi A/D

2.2.6.1. Thanh ghi dữ liệu ACDH và ADCL

Thanh ghi này chứa dữ liệu chuyển đổi từ tƣơng tự sang số, đƣợc sắp xếp nhƣ hỡnh dƣới đõy.

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 một lần khi cú lệnh chuyển đổi và chế độ tự chuyển đổi (Free running 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 cập nhật cú thể ghi đố lờn ADCL (Vi điều khiển 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 nhƣ sau: 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 DDRA. Sau đú loại bỏ điện trở treo bằng cỏ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ƣớc 3: 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ƣớc 4: Bắt đầu chuyển đổi và đọc dữ liệu.

2.2.7. Phần mềm CodeVision AVR

Đõy là một chƣơng trỡnh chuyờn dụng để viết chƣơng trỡnh ngụn ngữ C và biờn dịch để nạp cho cỏc loại vi điều khiển AVR của cụng ty Atmel. Phần mềm này do cụng ty HP Info Tech phỏt triển. Cửa sổ làm việc chớnh của chƣơng trỡnh hỡnh 2.22

Chƣơng trỡnh đƣợc thiết kế để chạy trong mụi trƣờng hệ thống Windows 95, 98, Me, NT 4, 2000, XP và Vista 32bit. Ngụn ngữ C sử dụng trong chƣơng trỡnh hầu hết theo chuẩn ANSI C với một số cải tiến đặc biệt để phự hợp với cấu trỳc của vi điều khiển AVR và cỏc hệ thống nhỳng.

Phần mềm này là một IDE trong đú đó xõy dựng sẵn nhiều cụng cụ lập trỡnh cho hệ thống nhỳng. Đỏng chỳ ý nhất là cụng cụ cho phộp lập trỡnh trực tiếp trờn hệ thống (In System Programming) khi code đƣợc viết xong. Phần mềm cho phộp kết nối với nhiều thiết bị lập trỡnh cho AVR chip. Đú là Atmel STK500, AVRISP, AVRISP MkII, AVR Dragon, JTAGICE MkII, AVRProg, Kanda Systems STK200+, STK300, Dontronics DT006, Vogel Elektronik VTEC-ISP, Futurlec JRAVR and MicroTronics ATCPU, Mega2000…

Để phõn tớch gỡ rối cho hệ thống dựng vi điều khiển cú sử dụng truyền thụng nối tiếp, trong CodeVisionAVR cũng đƣợc tớch hợp hộp cụng cụ gỡ rối Terminal giỳp ngƣời thiết kế dễ dàng hơn rất nhiều.

Đồng thời với việc đó cú cỏc thƣ viện chuẩn của ngụn ngữ C, trong CodeVision cũng cú cỏc thƣ viện dành riờng cho:

Màn hỡnh hiển thị ký tự LCD Bus I2C của Philips (adsbygoogle = window.adsbygoogle || []).push({});

Cảm biến nhiệt độ Đồng hồ thời gian thực

Giao thức truyền thụng 1 dõy Bộ nhớ EEPROM

Giao tiếp ngoại vi nối tiếp Quản lý nguồn nuụi

Trễ

Chuyển đổi mó Gray

CHƢƠNG 3

Một phần của tài liệu 253154 (Trang 63 - 68)