Частина тексту файла (без зображень, графіків і формул):
Міністерство освіти та науки України
Національний університет ”Львівська політехніка”
ІКТА
Кафедра СКС
Лабораторна робота №3
з дисципліни «ДОСЛІДЖЕННЯ ТА ПРОЕКТУВАННЯ СПЕЦІАЛІЗОВАНИХ КОМП’ЮТЕРНИХ СИСТЕМ Ч.1»
Лабораторна робота №3
Тема робота: Дослідження роботи семисегментного індикатора на лабораторній платі DE0.
Мета роботи: ознайомлення з принципами роботи семисегментних індикаторів плати DE0.
Хід роботи:
Вибираєм проект з попередньої лабораторної
Вписую код для сегметного ідекатора
Компілювання
module lab2 ( clk, seg7 );
input clk;
output [7:0] seg7;
wire clk;
reg [7:0] seg7 = 0;
reg [3:0] dec_code = 0;
reg [24:0] delay_reg = 0;
//кожному десятковому значенню присвоюємо код цифри на 7сег. індикаторі
always @(posedge clk)
case(dec_code)
// P6543210
4'h0 : seg7 <= 8'b11000000;
4'h1 : seg7 <= 8'b11111001;
4'h2 : seg7 <= 8'b10100100;
4'h3 : seg7 <= 8'b10110000;
4'h4 : seg7 <= 8'b10011001;
4'h5 : seg7 <= 8'b10010010;
4'h6 : seg7 <= 8'b10000010;
4'h7 : seg7 <= 8'b11111000;
4'h8 : seg7 <= 8'b10000000;
4'h9 : seg7 <= 8'b10010000;
endcase
//оскільки вхідна частота 50MHz для того, щоб бачити зміну індикатора
//використовуєм рег. delay_reg як подільник частоти
always @(posedge clk)
if(delay_reg[24] == 1'b1) begin
if(dec_code == 4'h9)
dec_code <= 0;
else
dec_code <= dec_code + 1'b1;
delay_reg <= 0;
end else
delay_reg <= delay_reg + 1'b1;
endmodule
КОНТРОЛЬНІ ЗАПИТАННЯ
Призначення семисегментних індикаторів на платі DE0.
Можливість налаштовувати довільні значення в простих пристроїв відображення не потрібен в типових проектних робіт. Тим не менш, вона дає користувачеві простий механізм для перевірки того, що ці пристрої функціонують правильно в разі несправності підозрюється. Таким чином, він може бути використаний для усунення неполадок.
Принципи роботи семисегментних індикаторів.
Який логічний рівень змушує сегменти індикатора загорятись?
Висновок:
Націй лабораторній роботы я ознайоммвся з принципами роботи семисегментних індикаторів плати DE0.