1. Trang chủ
  2. » Luận Văn - Báo Cáo

báo cáo hệ thống nhúng ct399 đề tài mạch đếm xuống hiển thị led 7 đoạn

22 7 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Mạch đếm xuống hiển thị LED 7 đoạn
Trường học Đại học Cần Thơ
Chuyên ngành Hệ thống nhúng
Thể loại Báo cáo
Năm xuất bản 2023-2024
Thành phố Cần Thơ
Định dạng
Số trang 22
Dung lượng 12,87 MB

Nội dung

ĐẠI HỌC CẦN THƠ TRƯỜNG BÁCH KHOA KHOA ĐIỆN TỬ-VIỄN THÔNG... // Nếu bộ đếm dừng, giữ nguyên giá trị hiện tại và không làm gì cả displaycount_con, dec_digit; } } } #ifdef KEYS_BASE static

Trang 1

ĐẠI HỌC CẦN THƠ TRƯỜNG BÁCH KHOA KHOA ĐIỆN TỬ-VIỄN THÔNG

Trang 2

MỤC LỤC

I CÁC BƯỚC THỰC HIỆN 1

1 Tạo hệ thống mới 1

2 Xây dựng hệ thống QSys 2

3 Gán chân cho hệ thống 8

4 Lập trình phần mềm nhúng 10

II KẾT QUẢ 19

III ĐÁNH GIÁ VÀ NHẬN XÉT 20

Trang 8

Hình 2.9

- Bước 9: Gán địa chỉ nền cho các thành phần

Hình 2.10

Trang 9

- Bước 10: Lưu hệ thống và sinh tập tin HDL

Hình 2.11

Hình 2.12

3 Gán chân cho hệ thống

Trang 10

- Bước 1: Thực hiện gán chân cho sơ đồ hệ thống

Hình 3.1

- Bước 2: Chọn tập tin quy ước gán chân

Hình 3.2

Trang 11

Hình 3.4

Hình 3.5 Kết quả gán chân

Hình 3.6

- Bước 4: Nạp thiết kế phần cứng xuống chip FPAG

Trang 13

Hình 4.3

- Bước 3: Cửa sổ Properties dự án lập trình

Hình 4.4

Trang 14

volatile int *JTAG_UART_ptr = (int *) JTAG_UART_BASE;

volatile int edge_capture;

char count, count_con;

int check=0;

static int running = 0;

char seven_seg[] ={0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f,0x67, 0x40, 0x00};

char hex_segs[]= {0,0,0,0,0,0,0,0};

char contant[4]={0,0,0,0};

char dec_digit[]= {0,0,0,0};

char i;

void hex_display(char number , char order_7seg){

volatile int *HEX3_0 = (int *)HEX3_0_BASE;

hex_segs[order_7seg]= seven_seg[number];

*(HEX3_0) = *(int*)(hex_segs);

Trang 15

dec_digit[1] = ((number -(number % 100)) /100)%10;

dec_digit[2] = ((number -(number % 10)) /10)%10;

}}

Trang 16

// Nếu bộ đếm dừng, giữ nguyên giá trị hiện tại và không làm gì cả display(count_con, dec_digit);

}

}

}

#ifdef KEYS_BASE

static void handle_key_interrupts (void* context){

volatile int* edge_capture_ptr = (volatile int*) context;

*edge_capture_ptr =

IORD_ALTERA_AVALON_PIO_EDGE_CAP(KEYS_BASE);

handle_interrupt (*edge_capture_ptr);

IOWR_ALTERA_AVALON_PIO_EDGE_CAP(KEYS_BASE,0);}

static void init_key_pio(){

volatile void* edge_capture_ptr = (void*) &edge_capture;

IOWR_ALTERA_AVALON_PIO_IRQ_MASK(KEYS_BASE,0xf);IOWR_ALTERA_AVALON_PIO_EDGE_CAP(KEYS_BASE,0x0);alt_irq_register(KEYS_IRQ,edge_capture_ptr,handle_key_interrupts);}

Trang 17

usleep(1000000); // Wait for 1 second

Trang 18

Hình 4.7

Hình 4.8

Trang 19

Hình 4.9

- Bước 5: Biên dịch chương trình

Hình 4.10

Trang 20

Hình 4.11

- Bước 6: Thiết lập kết nối hệ thống nhúng và máy tính

Hình 4.12

Trang 21

Hình 4.13

II KẾT QUẢ

Dưới đây là kết quả chạy trên kit FPAG tại phòng thí nghiệm

Trang 22

III ĐÁNH GIÁ VÀ NHẬN XÉT

- Mạch chạy đúng theo yêu cầu đề ra của đồ án

- Kết hợp reset về 0, tạm dừng và tiếp tục khi nhấn nút

- Hoàn thành được mục tiêu đề ra

Ngày đăng: 10/06/2024, 15:03

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

TÀI LIỆU LIÊN QUAN

w