1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Báo cáo thí nghiệm kỹ thuật vi xử lý bài 1 gpio

14 3 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 14
Dung lượng 483,62 KB

Nội dung

Direction Register PxDIR P1DIR, P2DIR: Đây là các thanh ghi 8 bit điều khiển chiều của 8 chân port.. Input Register PxIN: Đây là các thanh ghi 8 bit chứa giá trị đọc được từ các chân PO

ĐẠI HỌC BÁCH KHOA – ĐẠI HỌC ĐÀ NẴNG KHOA ĐIỆN TỬ - VIỄN THÔNG  - - BÁO CÁO THÍ NGHIỆM KỸ THUẬT VI XỬ LÝ NHÓM 20.38B Giáo viên hướng dẫn: ThS.Trần Văn Líc Sinh viên thực hiện Lớp sinh hoạt : Nguyễn Ngọc Huy-106200019 Nguyễn Đình Phúc-106200031 Nguyễn Văn Trọng-106200041 : 20DT1 Bài 1: GPIO Các ghi liên quan đến GPIO: 1.1 Direction Register PxDIR (P1DIR, P2DIR): Đây ghi bit điều khiển chiều chân port P1DIR điều khiển PORT1, P2DIR điều khiển PORT2 ▪ Bit = 1: Chân PORT tương ứng cấu hình thành output ▪ Bit = 0: Chân PORT tương ứng cấu hình thành input 1.2 Input Register (PxIN): Đây ghi bit chứa giá trị đọc từ chân PORT ▪ Bit = 1: Chân PORT tương ứng mức cao Bit = 0: Chân PORT tương ứng mức thấp 1.3 Output Register (PxOUT): Đây ghi điều khiển ngõ PORT ▪ Bit = 1: Xuất mức cao chân PORT tương ứng ▪ Bit = 0: Xuất mức thấp chân PORT tương ứng 1.4 Function Select Register: Đây ghi chọn chức cho chân PORT Mỗi chân PORT cấu hình chọn chức Input/Output chức đặc biệt khác ▪ Bit = 1: Chọn chức đặc biệt Bit = 0: Chọn chức GPIO Các lưu ý viết chương trình cho lab này: 2.1 Watchdog Timer Trong lab này, không cần sử dụng Watchdog timer Để tắt Watchdog timer, ghi giá trị 5A vào bit cao ghi WDTCTL set thứ ghi WDTCTL WDTCTL = 0x5A00 | 0x0080 Hoặc: (WDTCTL = WDTPW | WDTHOLD ) 2.2 Delay: Bởi chương trình chưa định nghĩa clock nên CPU sử dụng thạch anh 32.768 kHz Để có thời gian delay khoảng 1s, vịng delay đếm xuống từ 30.000SV dùng câu lệnh dưới để tạo delay: for(int i=30000;i>0;i++); Bài 1.1 Yêu cầu: Sinh viên viết chương trình cho LED1 LED2 sáng tắt luân phiên Thời gian lần sáng tắt khoảng 1s Hình 1.1 Sơ đồ nguyên lý kết nối LED1 LED2 với MSP430G2553 Câu hỏi 1: Các LED kết nối với MCU hình Điền vào chỗ trống để trả lời câu hỏi dưới + LED1 nối vào chân MCU? (Cổng (Port) nào?) Trả lời: LED1 nối vào chân MCU Cổng P1.0 + LED2 nối vào chân MCU? (Cổng (Port) nào?) Trả lời: LED2 nối vào chân 14 Cổng P1.6 + Để điều khiển LED, chân port phải input hay output? Trả lời: Các chân port Output + Để LED sáng, phải xuất giá trị chân port? Trả lời: LED sáng phải xuất giá trị chân port Câu hỏi 2: Hồn chỉnh chương trình cách điền vào chỗ trống: #include "msp430.h" int main( void ) { WDTCTL = WDTPW + WDTHOLD; // Stop watchdog timer to prevent time out reset P1DIR |= BIT0 +BIT6; P1OUT &=~BIT0 +BIT6; P1OUT |= BIT0; // P1.0=1 while(1) { int i=10000; do(i ); while(i!=0); { P1OUT^= BIT6 +BIT0; //Toggle Port P1.0 and P1.6 delay_cycles(1000000); } } } Bài 1.2 Yêu cầu: Sinh viên viết chương trình để đảo trạng thái LED1 SW1 nhấn Câu hỏi 1: Các SW(switch) kết nối với MCU hình Điền vào chỗ trống để trả lời câu hỏi dưới + SW1 nối vào chân MCU? (Cổng (Port) nào?) Trả lời: SW1 nối vào chân 16 MCU Cổng RST/SBWTDIO + SW2 nối vào chân MCU? (Cổng (Port) nào?) Trả lời: SW2 nối vào chân MCU Cổng P1.3 + Để đọc trạng thái switch, chân port phải input hay output? Trả lời:INPUT Câu hỏi 2: Hồn chỉnh chương trình cách điền vào chỗ trống: #include int main(void) { volatile unsigned int i; WDTCTL = WDTPW | WDTHOLD; P1DIR |= BIT0; P1REN |= BIT3; P1OUT |= BIT3; while (1) { while (P1IN & BIT3); for( i=0;i

Ngày đăng: 30/01/2024, 06:12

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w