Chức năng nổi bật của ADC là loại nhiễu, đó là cho phép quá trình chuyển đổi trong chế độ sleep để giảm bớt nhiễu gây ra từ CPU core và thiết bị vào ra khác. Sự
4
loại nhiễu có thể được dùng với giảm nhiễu ADC và chế độ nhàn dỗi. Để sử dụng chức năng này, phải thực hiện các bước sau:
1. Phải đảm bảo rằng ADC được cấp phép và không đang trong quá trình biến đổi. Chế độ biến đổi đơn phải được lựa chọn và ngắt kết thúc quá trình chuyển đổi ADC phải được cấp phép.
2. Khi vào chế độ giảm tiếng ồn ADC (hoặc chế độ nhàn dỗi). ADC sẽ bắt đầu chuyển đổi một khi CPU đã được dừng.
3. Nếu không có ngắt nào xuất hiện trước khi chuyển đổi ADC hoàn thành, thì ngắt ADC sẽ đánh thức CPU và thực hiện thủ tục ngắt hoàn thành chuyển đổi ADC. Nếu có một ngắt khác đánh thức CPU trước khi chuyển đổi ADC hoàn thành, thì ngắt đó sẽ thực thi và một yêu cầu ngắt hoàn thành chuyển đổi ADC sẽ được phát ra khi hoàn thành chuyển đổi ADC. CPU sẽ vẫn trong chế độ hoạt động cho đến khi một lệnh sleep mới được thực thi
Lưu ý rằng ADC sẽ không tự động tắt khi đi vào các chế độ sleep khác và chế độ nhàn dỗi và chế độ giảm nhiễu ADC. Lời khuyên cho người dùng là ghi ‘0’ vào ADEN trước khi đi vào chế độ sleep như vậy để tránh tiêu thụ năng lượng quá mức. Nếu ADC được cấp phép trong chế độ ngủ như vậy và người dùng muốn thực hiện quá trình chuyển đổi khác, nên tắt ADC và sau đó trên sự tỉnh giấc từ giấc ngủ để nhắc một chuyển đổi mở rộng để đạt được kết quả hợp lệ.
3.2.4. Chuẩn giao tiếp RS2323.2.4.1.Giới thiệu 3.2.4.1.Giới thiệu
Ghép nối qua cổng nối tiếp RS-232 là một trong những kỹ thuật được sử dụng rộng rãi nhất để ghép nối các thiết bị ngoại vi với máy tính. Qua cổng nối tiếp có thể ghép nối chuột, modem, thậm chí cả máy in, bộ biến đổi AD, các thiết bị đo lường.
Việc truyền dữ liệu xẩy ra trên 2 đường dẫn qua chân cắm ra TxD, gửi dữ liệu của nó đến thiết bị khác. trong khi đó dữ liệu mà máy tính nhận được dẫn đến chân
4
RxD. các tín hiệu khác đóng vai trò như tín hiệu hỗ trợ khi trao đổi thông tin và vì thế không phải trong mọi ứng dụng đều dùng đến.
Mức tín hiệu trên chân ra RxD tùy thuộc vào đường dẫn TxD và thông tin thường nằm trong khoảng – 12V.. + 12V các bit dữ liệu được đảo ngược lại. Mức điện áp ở mức cao nằm trong khoảng – 3V và – 12V và mức thấp nằm trong khoảng từ + 3Vvà +12V . Trạng thái tĩnh trên đường dẫn có mức điện áp – 12V. 3.2.3.2 Lập trình
Atmega8 hỗ trợ rất tốt cho truyền thông nối tiếp USART. Các đặc điểm nổi bật là: Hoạt động toàn phần Full-duplex.
Hỗ trợ cả hoạt động đồng bộ và không đồng bộ.
Định dạng khung có thể lập trình (với 5,6,7,8 hoặc 9 Data bits và 1 hoặc 2 Stop Bits), tự dò lỗi định dạng khung và lỗi Data Over Run.
Hỗ trợ truyền thông điều khiển ngắt. Hỗ trợ truyền thông đa xử lý.
Các đặc điểm của Bộ thu (Receiver): Dò trạng thái rỗi của đường truyền. Dò lỗi khung, nhiễu, và lỗi overrun.
Báo trạng thái thanh ghi dữ liệu của bộ thu đầy. Các đặc điểm của bộ phát (Transmitter) :
Báo trạng thái thanh ghi dữ liệu bộ phát rỗng. Báo hoàn thành quá trình truyền.
4
Phát trạng thái rỗi lên đường truyền.
3.2.4.2.Thanh ghi
• Thanh ghi điều khiển và trạng thái A (UCSRA).
Bit 7 – RXC: USART Receive Complete. Bit này được set khi có dữ liệu không đọc được vào bộ đệm nhận, hay bộ đệm nhận đã đầy và nó bị xoá khi bộ đệm nhận là rỗng. Cờ RXC có thể sử dụng để phát ra một ngắt báo Receive Complete.
Bit 6 – TXC: USART Transmit Complete: Bit này được set nếu quá trình truyền hoàn thành, đó là tại lúc kết thúc một khung gửi đi. Cờ TXC có thể dùng phát ra một ngắt Transmit Complete.
Bit 5 – UDRE: USART Data Register Empty. Bit này được set nếu thanh ghi dữ liệu phát (bộ đệm truyền) là rỗng và sẵn sàng nhận dữ liệu mới. Cờ này cũng có thể dùng đẻ phát ra một ngắt.
• Thanh ghi điều khiển và trạng thái B (UCSRB) Cho phép ngắt .
• Thanh ghi điều khiển và trạng thái C (UCSRC).
Bit 7 – URSEL: Register Select. Bit này chọn việc truy nhập vào UCSRC hoặc UBRRH. Nếu URSEL = 1 thì sẽ chọn làm việc với UCSRC, URSEL phải được viết là 1 khi thực hiện viết UCSRC.
Bit 6 – UMSEL: USART Mode Select. Bít này dùng để chọn giữa chế độ hoạt động đồng bộ (UMSEL = 1) hay không đồng bộ (UMSEL= 0).
• Thanh ghi tốc độ Baud (UBRRL và UBLLH).
Bit 15 – URSEL: Register Select. URSEL = 0 ( làm việc với UBRRH. Bit 14:12 – Reserved Bits. Các bit này dành cho các ứng dụng tương lai.
4
Bit 11:0 – UBRR11:0: USART Baud Rate Register. Đây là thanh ghi 12 bit chứa tốc độ baud của USART, UBRRH chứa 4 bit cao nhất và UBBRRL chứa 8 bit thấp còn lại.
4