FPGA
文章平均质量分 51
绯红姜梦
梦里遇到姜,意欲美好!
展开
-
基于FPGA的电梯设计
我们是模拟电梯的运行情况,处理里面的上行下行及开关门的逻辑,最简单的情况就是按键输入楼层信号电梯运动到楼层的时候开门关门,led灯来表示或者数码管来表示电梯位置;moster的四相五线步进电机的控制,这个步进电机是四根线进行驱动,按照一定的要求,我把正转和反转的输出都分别写上,再根据主控过来的信号判断是否有效来输出对应的控制。shake_top是按键消抖模块,设计中使用的按键比较多,所以用一个模块封装整个按键的消抖,使用了10个独立按键和16个矩阵按键,把消抖信号进行区分给到主控模块。原创 2023-09-03 09:46:30 · 441 阅读 · 0 评论 -
VivadoWNS、TNS隐藏,并非解决了时序爆红
Vivado优化WNS、TNS原创 2023-07-12 15:22:21 · 2789 阅读 · 0 评论 -
FPGA按键消抖
如果不消除这个抖动,那么我们想要的效果将会得到一个很不确定的值,比如我想要的是按一下数码管显示1,再按一下数码管管显示2,依次显示3,4,5,6;现在换一种思路,按键按下和未按下的电平是不一样的,当我们检测到代表按下的电平时表示有按键的可能,如果这个电平保持时间大于按下抖动的时间那么证明是按键按下,也就是说当按下电平达到20ms左右时就是按键发生,这个时候输出一个脉冲信号代表按键信号。之前有讲解按键消抖的思路是检测按键按下和释放动作,进行20ms计数延时,状态机结束表示我们的按键结束,然后得到消抖信号。原创 2023-03-31 15:31:21 · 307 阅读 · 0 评论 -
FPGA乒乓球(碰碰球)游戏设计
设计难点在于怎么处理球碰撞边界弹回方向的关系,在B站我对本设计的代码和思路做了详解说明。原创 2023-03-08 20:16:59 · 578 阅读 · 0 评论 -
ModelSim取消仿真时的showbase
由于改动位置和前一篇文章位置相近,所以直接用的前文图片,双击进入,编辑查找,查找内容输入DefaultRadix,查找下一个,找到DefaultRadix = ,下一排DefaultRadixFlags = ,后面就是设置是否显示showbase的下下一张图。在仿真时经常因为showbase设置导致界面显示内容多少,且让界面显得繁杂,而且窗口改动只能一次改一个,所以一直想改成默认就不显示showbase。右键属性,取消只读,点击应用,点击确定。保存退出,设置文件为只读。删除showbase。原创 2022-11-17 10:43:23 · 403 阅读 · 0 评论 -
ModelSim仿真默认进制显示设置
双击进入,编辑查找,查找内容输入DefaultRadix,查找下一个,找到DefaultRadix = ,这个后面的就是默认显示的进制,把前两排的unsigned复制粘贴如4,然后保存退出,把文件设置成只读。在观察波形图的时候,默认进制是16进制或者2进制都不方便观察,10进制最方便我们接收信息,虽然有些时候需要16进制和2进制显示,但这个时候可以单独设置。进入ModelSim安装路径,找到modelsim.ini文件。右键属性,取消只读,点击应用,点击确定。下面我说怎么设置这个10进制默认显示。原创 2022-11-17 10:29:12 · 3204 阅读 · 0 评论 -
基于FPGA的自动售货机设计2
再进行商品选择key_CH,默认的商品是商品1,按一次商品编号进行加1,进行循环;用户完成商品选择钱币提交,系统对用户选择的商品进行判断,然后判断钱币是否大于等于商品单价,若大于等于则找零,这个商品库存减一;数码管显示分为两种状态,一种为默认状态,左边四位数码管分别显示商品1、商品2、商品3、商品4的库存,右边两位数码管显示00;另一种为购买状态,左边第一位数码管显示商品编号、第二三位数码管显示商品的单价、第四位数码管显示商品的剩余库存、第五六位数码管显示找零的钱币,每个部分用数码管的dp点分隔开。原创 2022-09-23 23:35:43 · 1077 阅读 · 0 评论 -
基于FPGA的自动售货机设计1
3 该系统可以管理四种货物,每种的数量和单价在初始化时输入,在存储器中存储。用户可以用硬币进行购物,按键进行选择。4 系统根据用户输入的货币,判断钱币是否够,钱币足够则根据顾客的要求自动售货,钱币不够则给出提示并退出。2.该系统能完成货物信息存储,进程控制,硬币处理,余额计算,显示等功能。5 系统自动的计算出应找钱币余额、库存数量并显示。1.设计制作一个自动售货机控制系统。原创 2022-09-17 15:51:33 · 1583 阅读 · 5 评论 -
基于FPGA实践之呼吸灯(含程序)
首先是一个小的周期来实现每一段时间的宽度,再在这每一段时间上加一个判断值,就是固定的PWM波,这判断值变化就实现动态的PWM,我们在这每一段时间上的判断值依次加一,再依次减一,那么灯就会逐渐变亮,再逐渐熄灭,整个过程就是呼吸效果。在单片机中我们调节PWM波的占空比可以实现一个周期内高电平占百分比,这个百分比固定就可以调节亮度,这个百分比是动态的,那么灯的亮度也是动态的,有规律的变化就实现了呼吸灯效果。是指灯光在微电脑的控制之下完成由亮到暗的逐渐变化,感觉好像是人在呼吸。QQ联系方式2943115420。..原创 2022-07-21 09:48:52 · 1253 阅读 · 0 评论 -
基于FPGA的数字秒表设计(含程序)
目录题目要求:(1)利用6位数码管显示时钟分钟秒钟;(2)具备启停功能;(3)具备按键消抖功能;(4)具备按键时间修改功能。单单做一个时钟显示就显得十分简单,仅仅是一个进制的设计,秒钟低位满9进1,秒钟高位满5进1等等。秒钟低位想要1秒加一下就需要一个1hz的时钟信号,通过系统时钟分频得到。增加启停功能,有两个位置可以进行控制,一个是控制1hz时钟的产生,只要暂停了1hz信号,那么根据1hz信号进行改变的值全部都暂停了,二是在每一个时钟增加暂停动作。前者在没有时间...原创 2022-06-18 18:58:45 · 7890 阅读 · 0 评论 -
基于FPGA的RS232串口发送(含程序)
接课程设计RS232通信协议我就不讲了,自己在网上搜,我讲一下怎么发送,怎么用。发送数据前,发送一直是高电平,发送数据前,先发送一个低电平的起始位,然后是八个电平的数据位,再然后是一个低电平的结束位,最后保持高电平,等待下一个数据到来。发送数据为8bit位宽,在9600波特率下依次将bit位输出作为中间8位的数据位。下面给出的是RS232发送的模块,由于没有数据位的输入,所以内部写一个1hz时钟进行自加验证输出,通过串口助手观察发送数据是否正确串口助手接收显示,注意发送的波特率是9600,这里选择96原创 2022-06-01 22:26:33 · 1263 阅读 · 2 评论 -
基于FPGA的交通灯电路设计(含程序)
目录题目要求设计方法部分程序设计全部模块程序题目要求(1) 以车为主体,绿灯、黄灯、红灯、绿灯依次点亮;(2)十字路口,具有两组红绿灯;(3)采用倒计时显示剩余时间,数码管动态显示;(4)红绿灯时间按键可调。设计方法用六位数码管显示,靠左和靠右两位数码管分别显示东西和南北方向的倒计时显示,我开发板刚好6个LED灯,但是是竖着的,上面三位表示南北方向的红黄绿灯,下面三位表示东西方向的红黄绿灯。平面图如下:首先需要一个1hz频率进行倒计时计数,然后对倒..原创 2022-05-26 15:21:32 · 9401 阅读 · 8 评论 -
基于FPGA的数字密码锁电路设计(含程序)
目录题目题目(1)4个按键分别设置4位数码管上的显示数字,当按键设置的数字与设置的4位密码一致时,蜂鸣器响,表示锁打开;(2)具备通过按键手动修改数字密码的功能;(3)具备按键消抖电路功能;(4)一定时间内无操作数字显示回到初始状态,数码管显示倒计时。设计思路我们可以用四个同bit位宽的寄存器把密码寄存起来,在按键时不断将现在按键的值与密码的寄存器对比,当所有对应位都相同时,蜂鸣器响,可以用一个标志位表示所有对应位相同,蜂鸣器工作的条件就是标志位给出的。由于需要按键手原创 2022-05-22 22:16:47 · 10287 阅读 · 24 评论 -
基于FPGA的数码管动态扫描显示(含代码)
数码管的显示有静态显示和动态扫描显示。一个数码管通常有8个段码,当要控制数码管的数量在两个及以上时,动态扫描无疑是一个最好的选择,可以大量节约IO资源。静态显示很好理解,8个段码拼成了数字8.,当我们想要显示对应的数字时只需要对应的段码显示就可以了;那么,什么是动态扫描?动态扫描就是利用肉眼视觉暂留现象,通过快速切换数码管显示位码达到肉眼无法分辨闪烁的效果。设计思路: 数码管要动就需要一个相对快的时钟,...原创 2022-05-20 22:46:40 · 5272 阅读 · 2 评论 -
基于FPGA的按键消抖(含代码)
机械按键在按下和松开有一个抖动的过程,这个过程大概在10ms到15ms之间,具体取决于实际情况。如果不消除这个抖动,那么我们想要的效果将会得到一个很不确定的值,比如我想要的是...原创 2022-05-20 21:57:53 · 5721 阅读 · 0 评论