Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 46 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
46
Dung lượng
5,26 MB
Nội dung
LAB 3-1 GIAO TIẾP SERIAL PORT, EEPROM, RTC Danh sách thành viên Bùi Ngọc Khương Duy 2112991 Lê Hữu Minh Duy 2011000 Lê Mạnh Cường 2110877 MỤC TIÊU: Hiểu sử dụng ngoại vi UART, I2C, SPI Hiểu cách giao tiếp với RTC, EEPROM THAM KHẢO: Tài liệu hướng dẫn thí nghiệm, chương 7, 9, 11 Atmel-2505-Setup-and-Use-of-AVR-Timers_ApplicationNote_AVR130.pdf BÀI a) Kết nối chân TxD RxD UART0 vào vào tín hiệu UART_TxD0 UART_RxD0 header J85 khối UART b) Kết nối dây USB-Serial vào kit thí nghiệm c) Setup chương trình Hercules với baudrate 9600, bit data, no parity, stop, no handshake d) Sử dụng ví dụ mẫu tài liệu thí nghiệm, viết chương trình khởi động UART0 với thông số trên, chờ nhận byte từ UART0 phát ngược lại UART0 e) Dùng Hercules truyền ký tự xuống kit quan sát liệu nhận để kiểm tra hoạt động chương trình (Lưu ý: tần số xung clock cho CPU kit thí nghiệm 8Mhz) LAB 3-1 GIAO TIẾP SERIAL PORT, EEPROM, RTC BÀI a) Kết nối tín hiệu SDA SCL AVR vào tín hiệu tương ứng module RTC Kết nối chân port vào tín hiệu MFP Kết nối LCD 16x2 vào port AVR b) Viết chương trình khởi động RTC với thời gian hành, cấu hình xung MFP tần số 1Hz Sau cạnh lên MFP, đọc giá trị ngày tháng năm phút giây RTC cập nhật lên LCD c) Biên dịch chương trình quan sát LCD để kiểm tra chương trình BÀI a) Kết nối tín hiệu MOSI, SCK port SPI từ AVR đến tín hiệu SDI CLK khối ghi dịch Kết nối chân port khác vào tín hiệu nCLR LATCH Kết nối ngõ ghi dịch vào Bar LED b) Kết nối tín hiệu UART c) Viết chương trình nhận giá trị từ UART xuất Bar Led sử dụng SPI BÀI a) Kết nối tín hiệu MOSI, MISO, SCK port SPI từ AVR tín hiệu tương ứng header J80 Kết nối chân port khác vào tín hiệu nCS b) Kết nối tín hiệu UART c) Kết nối port vào Bar LED d) Viết chương trình đếm số ký tự nhận từ UART xuất Bar Led, lần có byte nhận được, số đếm tăng lên ghi vào EEPROM Khi vi xử lý điện có lại, số đếm đọc từ EEPROM lấy làm giá trị bắt đầu BÀI a) Kết nối tín hiệu UART b) Kết nối port vào Bar LED c) Viết chương trình đếm số ký tự nhận từ UART xuất Bar Led, lần có byte nhận được, số đếm tăng lên ghi vào EEPROM nội AVR Khi vi xử lý điện có lại, số đếm đọc từ EEPROM nội lấy làm giá trị bắt đầu BÁO CÁO Nhóm: Tổ 02 Nhóm mơn học: L20 Mơn thí nghiệm: Vi xử lý BÀI 1 Trả lời câu hỏi a Với tần số 8Mhz, baudrate thực tế sai lệch với mong muốn 9600 nào? Sai số 0.16%, baudrate thực tế 9615,385 b Cờ UDRE dùng để làm gì? Cờ báo liệu đếm phát chuyển đến ghi dịch phát, cờ khơng nên ghi liệu c Sự khác hardware UART software UART (bit-banging UART) Hardware UART: phần cứng tích sẵn chip vi điều khiển, khơng tốn tài nguyên CPU, tốc độ truyền nhanh ổn định so với sorfware Sorftware UART: Sử dụng CPU vi điều khiển,tốc độ truyền chậm hơn,không yêu cầu phần cứng UART d Chân TxD0 chân RxD0 UART0 chân port nào? Là chân PD1 PD0 port D e Atmega324 có phần cứng UART? Có hai phần cứng UART0 UART1 Mã nguồn chương trình với thích BÁO CÁO Nhóm: Tổ 02 Nhóm mơn học: L20 ORG RJMP MAIN Mơn thí nghiệm: Vi xử lý BÁO CÁO Nhóm: Tổ 02 Nhóm mơn học: L20 Mơn thí nghiệm: Vi xử lý ORG $40 MAIN: DEF DATA_RX = R16 DEF DATA_TX = R18 EQU DDR_DATA_OUT=DDRA EQU DATA_OUT=PORTA LDI R16, HIGH(RAMEND) OUT SPH, R16 LDI R16, LOW(RAMEND) OUT SPL, R16 SER R16 OUT DDR_DATA_OUT,R16 CLR DATA_RX CLR DATA_TX RCALL USART_INIT START: CALL USART_RECEIVER_CHAR MOV DATA_TX, DATA_RX OUT DATA_OUT,DATA_TX CALL USART_SEND_CHAR RJMP START USART_INIT: PUSH R16 LDI R16, (1