- 博客(8)
- 收藏
- 关注
原创 串行移位寄存器驱动数码管显示
74HC595大概原理具有串行=转并功能,通过移位寄存器和输出锁存器实现。驱动开发板上的8位数码管。FPGA需要通过74HC595这个芯片把16位的数据(SEL + SEG)变为并行端口用来驱动数码管74HC595的波形图如图可知:输入数据DS,先输入的数据,在8个时间周期之后,在Q7上数码管结构此结构为一个SPI协议接口第一片74HC595 作为位选信号第二片作为段选要求:对于74HC595芯片,该芯片在SH_CP(SCLK)的上升沿将(DIO)上的数据移入内部寄存器。目的:
2021-06-10 20:55:58 2134
原创 基于状态机的按键抖动消除和状态转移图
按键抖动情况:实际情况与要求:分析状态:状态转移图:IDLE:空闲 P_FILTER:按下滤波 WAIT_R:等待释放 R_FILTER:释放滤波首次设计:module key_filter( Clk, Reset_n, Key, Key_P_Flag, Key_R_Flag ); input Clk; input Reset_n; input Key; output reg Key_P_Flag; output r
2021-06-04 21:15:15 511
原创 使用串口发送5个字节数据到电脑
使用串口发送5个字节数据到电脑因为UART协议规定了,发送的数据位只能有6,7,8位5个字节=40位数据.三种情况:1.没有开始发送(上一次的已经发送完成,新的40位数据的发送请求还没来)2.来了发送40位数据的请求信号。3.依次发送数据中状态机的思想:在第一种情况下,等待传输请求(Trans_Go)的到来,Data40[7:0]给到uart_byte_tx的Data,并同时产生Send_Go信号,启动第一个字节的发送。接着等待Tx_Done信号的到来。40位数据是否发完了?发完了,回
2021-05-06 08:47:50 1212
原创 串行通信发送数据设计
基于FPGA的串口(UART)发送实验1.串口通信模块设计的目的是用来发送数据的,因此需要一个数据输入端口。2.串口通信,支持不同的波特率,所以需要有一个波特率设置端口。3.串口通信的本质就是将8位的并行数据通过一根信号线,在不同的时刻传输并行数据的不同位,通过多个时刻,最终将8位并行数据全部传出。4.串口通信以1位的低电平标志串行传输的开始,待8位数据传输完成之后,再以1位的高电平标志传输的结束。(Send en)5.控制信号,控制并转串模块什么时候开始工作,什么时候一个数据发送完成?须有一个发
2021-04-27 16:42:07 1040
原创 让LED灯按照指定的亮灭模式亮灭
题目:让LED灯按照指定的亮灭模式亮灭,亮灭模式未知,由用户随即指定。每八个变化为一个循环,每个变化状态的时间值可以根据不同的应用场景选择。思路:参考3 8 译码器的设置需要两个计数器源文件:module counter_led_3(Clk,Reset_n,Led,ctr,Time);input Clk;input Reset_n;output reg Led;input [7:0] ctr;input [31:0] Time;reg [31:0]counter; a
2021-04-24 19:37:46 385
原创 设计一个以1秒频率闪烁的LED灯(亮灭各500ms)
源文件:module cnt_1(clk,Reset_n,Led);input clk;input Reset_n;output reg Led;reg [24:0]counter;always@(posedge clk or negedge Reset_n)if(!Reset_n)counter <= 0;else if(counter == 24999999)counter <= 0;elsecounter <= counter + 1’d1;alwa
2021-04-10 11:29:34 2975
原创 fpga 2选1选择器和3_8译码器
二选一选择器源文件:module mux2(a,b,sel,out);input a;input b;input sel;output out;assign out =(sel==1)? a:b;endmoduleTest Bench:module mux2_tb ();reg s_a;reg s_b;reg sel;Wire Out;mux2 mux2_inst0( //前面必须和源文件保持一致,后面的例化名字可以自取.a(s_a),.b(s
2021-04-07 21:06:38 348
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人