草庐IT

verilog仿真

全部标签

基于AT89C52单片机的简易电子琴设计与仿真

点击链接获取Keil源码与ProjectBackups仿真图:https://download.csdn.net/download/qq_64505944/87853299?spm=1001.2014.3001.5503源码获取主要内容:本设计是基于51系列的单片机进行的设计,利用所给键盘的八个键,能够发出8个不同的音调,并且要求按下按键发声,松开延时一段时间停止,中间再按别的键则发另一音调的声音。并在LED上相应的设计过程在硬件与软件方面进行同步设计。硬件方面从功能考虑,首先选择内部存储资源丰富的AT89C51单片机。编程语言方面从程序总体设计以及高效性和功能性对C语言和汇编语言进行比较分析

Keil调试技巧-利用仿真找出程序死机的地方

我遇到的问题:程序下载到实验板后,我的手一伸到板子的某处区域的上方,板子就死机了,板子上做了一秒闪烁一次的主板LED小灯也不闪烁了,停止了。查找问题:怀疑是板子上连接的杜邦线太多太乱,其中有短路造成。然后拔掉了所有杜邦线,但问题依旧。怀疑是面包板坏了,有些区域联通了,短接了,造成死机。然后去掉了面包板,但问题依旧。问题解决:在keil中下载一次程序后,再进入仿真。然后手伸到板子某处区域的上方,板子死机。重点!!!此时,点击红色x号,退出仿真,keil就会停留在死机处的对应代码那里!!!顺利找到原因:我写了UART2中断,但是中断里面忘记写清除中断标志位了。然后我的手一伸到板子的UART2相关引

Proteus仿真--1602LCD显示仿手机键盘按键字符(仿真文件+程序)

本文主要介绍基于51单片机的1602LCD显示仿手机键盘按键字符(完整仿真源文件及代码见文末链接)仿真图如下其中左下角12个按键模拟仿真手机键盘,使用方法同手机键一样,长按自动跳动切换键值,松手后确认选择,同步可以在1602LCD液晶上显示出来仿真运行视频Proteus仿真--1602LCD显示仿手机键盘按键字符(仿真文件+程序)附完整Proteus仿真资料+代码资料百度网盘链接:https://pan.baidu.com/s/1jF_bed2WUIvWkou23kXapQ?pwd=bf2z提取码:bf2z

ROS仿真机器人学习笔记二:创建4轮小车模型及相关xraco文件修改

系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章Python机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录前言一、构建新的XACRO文件1.变圆形底盘为方形底盘2.设置左右4个轮子3.设置激光雷达二、惯性矩阵设置1.head.xacro2.修改car_base.xacro三、运动控制设置1.修改运动模型总结前言提示:这里可以添加本文要记录的大概内容:跟着上一节博主的教程,可以把ROS内的机器人仿真大概走一遍。不过大家最好还是在一个性能比较好的机器上运行,后来我把虚拟机拷贝到了台式机,运

FPGA:IIC验证镁光EEPROM仿真模型(纯Verilog)

目录日常·唠嗑一、程序设计二、镁光模型仿真验证三、testbench文件四、完整工程下载日常·唠嗑      IIC协议这里就不赘述了,网上很多,这里推荐两个,可以看看【接口时序】6、IIC总线的原理与Verilog实现,还有IIC协议原理以及主机、从机Verilog实现。      前者是对IIC协议详细介绍、以及主机发送,主机接收两种方式。后者,是在前者基础上做设计,讲的是主机、从机两种设计实例。关于IIC从机,网上例程较少,可以参考这个博主的。不过,这个博主的状态机写的很乱,也没什么注释,看了两天才搞明白Verilog描述的什么,如果有FPGA爱好者需要用到,又看不懂的,可以私信我:bu

Carsim联合Simulink的车辆AEB仿真(时间、距离算法)

最近在做关于AEB的联合仿真,做一个简单的记录以及教学。Carisim版本:Carsim2019.0Matlab版本:Matlab2021b一、AEB算法1.1TTC算法碰撞时间算法TTC是指从当前时刻开始,两车保持当前车速行驶直到发生碰撞所需的时间,两车前后行驶在路上时,只有当后车车速大于前车车车速时才会进入TTC算法。为了避免碰撞,前后车应满足以下关系式:式中:v1、a1表示前车速度、加速度,v2、a2表示后车速度、加速度,Drel表示两车相对距离,d0表示安全停车距离(一般为2mor3m)。由上述公式得到如下解: 式中:vrel、arel表示两车相对速度、相对加速度。然后是TTC的触发逻

【FPGA】Verilog:计数器 | 异步计数器 | 同步计数器 | 2位二进制计数器的实现 | 4位十进制计数器的实现

目录Ⅰ.实践说明0x00计数器(Counter)0x01异步计数器(AsynchronousCounter)0x02同步计数器(SynchronousCounter)Ⅱ.实践:2位二进制计数器0x00实践说明0x01输出表0x02代码和仿真Ⅲ.实践:四位十进制计数器0x00实践说明0x01输出表0x02代码和仿真Ⅰ.实践说明0x00计数器(Counter)计数器是一种状态周期性循环的顺序电路(sequentialcircuit)。计数器接收一个时钟值(high /low)和一个要计数的输入值,输出结果是接收到输入的次数,并使用触发器对输入的累积次数进行计数。计数器根据其工作方式分为同步(Syn

repeat语句 及 赋值语句说明---verilog HDL

参考:verilog数字系统设计教程【第四版】夏宇闻repeat语句用阻塞赋值语句,与用非阻塞语句产生的结果差别非常大,所以将二者放在同一篇文章中。1、赋值语句2、repeat语句介绍 2.1、用法要点 2.2、代码举例  代码1:always语句实现repeatn次赋值  代码2:initial语句实现repeatn次赋值  代码3:给memory类型数据赋值  代码4:实现memory类型储值1、赋值语句在verilogHDL语言中,信号有两种赋值方式,两者的区别见下表:非阻塞赋值方式 (non_blocking) b阻塞赋值方式 (blocking) b=a在语句块中,上面语句所赋值的变

verilog实现二进制转BCD码-加3移位法

简介BCD码用4位二进制数表示一个十进制数,最常用的BCD码是8421码,用4’b0000-4’b1001表示十进制数字0-9,接下来默认BCD码就是8421码。在FPGA中使用数码管时,段选信号不好记,所以我们用BCD码表示一个数码管的数值,将BCD码转化为段选信号驱动数码管,数码管驱动可以这篇文章:74hc595驱动数码管。例如,当我们想要6个数码管显示123456时,只需要给数码管驱动模块传入{4’h1,4’h2,4’h3,4’h4,4’h5,4’h6}即可。但这样做依然不够方便,例如,当我们采集到某个10bit二进制数时,想要将其显示在数码管上,该怎么办?此时就需要进行二进制转BCD码

ADAMS&Simulink 机器人动力学仿真入门(一):使用Solidworks创建三维模型并导入ADAMS(代码已开源)

文章目录前言0软件介绍1Solidworks画图2从Solidworks导出并导入ADAMS总结前言最近有两个文章马上要投出去了,用了一些很怪的东西,但是效果还是不错的,感觉还挺有意义,所以想着开个新坑分享一下。这块儿主要介绍一下机器人怎么使用ADAMS与Simulink进行联合仿真。在做的过程中发现做偏机械的这一块很少有人进行分析,相关的教程找的比较吃力,所以就简单以四旋翼无人机为例,抛砖引玉一下子。0软件介绍在开始之前,先简单介绍一下两个软件。对于做机器人的同学来说,V-REP、Gazebo啥的肯定不陌生,但是ADAMS见得就不多了。ADAMSADAMS,即机械系统动力学自动分析,是一款虚