自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 收藏
  • 关注

原创 FPGA实现UART通信(1)---发送数据

由于数据在传输线上是定时传输的,并且每一个设备有自己的时钟,很可能在通信中两台设备之间出现了小小的不同步,因此停止位不仅仅是表示数据传输的结束,并且提供计算机校正时钟的机会。在奇校验时,发送方应使数据位中1的个数与校验位中1的个数为奇数,接收方在接收数据时,对1的个数进行检测,若1的个数不为奇数个,则说明数据在传输过程中存在差错。波特率表示每秒钟传送码元符号的个数(表示一秒钟能传输的最大的bit数),它是对符号传输速率的一种度量,用单位时间内载波调制状态改变的次数来表示,1波特指每秒传输1个字符。

2023-04-26 13:56:24 1505 1

原创 计数器到可控线性序列机(6个练习题)

4.让LED灯按照指定的亮灭模式亮灭,亮灭模式未知,由用户随机指定。8个变化状态为一个循环,每个变化状态的时间值可以根据不同的应用场景选择。3.让LED灯按照指定的亮灭模式亮灭,亮灭模式未知,由用户随机指定。6.每隔10ms,让LED灯的一个8状态循环执行一次(每个状态的变化时间值小一点,方便测试,比如设置为10us)2.让LED灯按照亮0.25秒,灭0.5秒,亮0.75秒,灭1秒的状态循环亮灭。1.让LED灯按照亮0.25秒,灭0.75秒的状态循环亮灭。LED4-7频率0.5s(0.5s亮、0.5s灭)

2023-04-08 23:26:16 201

原创 阻塞赋值和非阻塞赋值详解

按照标准,上例中两个always块是并行执行的,若复位信号已经从0变为1,无论哪个always块的有效沿先到,两个always块中的非阻塞赋值都在赋值时刻计算RHS表达式,在结束时刻更新LHS表达式,因此无论哪个always块的时钟沿先到达, y1 =1,y2 =0。阻塞赋值的执行可以认为是只有一个步骤的操作,所谓阻塞的概念是指在同一个always块中,其后面的赋值语句从概念上是在前一句赋值语句结束后才开始执行的。5、在同一个always块中不要既用非阻塞赋值又用阻塞赋值。

2023-04-08 12:21:00 994

原创 练习参数化设计---不同频率LED灯闪烁

所以累加次数为:2.5 * 10^6 = 2,500,000。所以累加次数为:5 * 10^6 = 5,000,000。这样做就可以使仿真时间减少,但是也可以满足设计要求。4、方案二:想要仿真时间少一点但不影响板级验证时间。系统频率为50MHZ,则计算出周期为20ns。

2023-03-29 11:11:13 822

原创 Verilog参数化设计

input Clk;//系统时钟//全局复位,低电平复位//led输出//定义计数器寄存器//参数化定义//计数器计数进程else//led输出控制进程elseled

2023-03-28 16:30:23 395

原创 时序逻辑计数器(2)

循环移位就相当于让8’b0000_0001在时钟上升沿来临时进行一个左移操作,将移出的最高位放置在最低位上,如此便可实现0000_0001~1000_0000的循环。引用3-8译码器的模块,前面有3-8译码器的文章,在此不做过多解释。

2023-03-28 09:48:27 75

原创 时序逻辑计数器(1)

(2)关于代码中为何是24999999而不是25000000,个人理解是因为从0开始累加,0-24999999为25000000次。若按照25000000来写代码,仿真图像会多出20ns,其原因上面已经解释。则计数器需要累加到25000000次,才为500ms。(1)若开发板基本时钟频率为50MHZ。LED等灯以1s闪烁。

2023-03-27 21:40:59 219

原创 Verilog实现3-8译码器

【代码】Verilog实现3-8译码器。

2023-03-25 21:46:30 1343

原创 Verilog刷题(一)------四选一多路器

1、制作一个四选一的多路选择器,要求输出定义上为线网类型。则sel=3时,mux_out=3,通过图可知2为d0。sel=0时,mux_out=2,通过图可知2为d3。sel=1时,mux_out=1,通过图可知2为d2。sel=2时,mux_out=0,通过图可知2为d1。输入信号 d1,d2,d3,d4 sel。输出信号 mux_out。

2023-03-15 16:15:44 961

原创 同步复位、异步复位和异步复位同步释放

(1)建立时间与保持时间的概念?建立时间:触发器在时钟上升沿到来之前,其数据输入端的数据必须保持不变的最小时 间。保持时间:触发器在时钟上升沿到来之后,其数据输入端的数据必须保持不变的最小时间。(2)为什么触发器要满足建立时间和保持时间?因为触发器内部数据的形成是需要一定的时间的,如果不满足建立和保持时间,触发器将进入亚稳态,进入亚稳态后触发器的输出将不稳定,在0和1之间变化,这时需要经过一个恢复时间,其输出才能稳定,但稳定后的值并不一定是你的输入值。

2023-03-15 14:38:21 1467 1

原创 【freeRTOS系统基础知识】

Free RTOS基础知识

2022-08-02 15:39:40 762 1

原创 【C语言--练习题求最大最小值】

题目为:/*输入三个值:求最大最小值 */#include <stdio.h>int main(){ int a,b,c,max,min; printf("请输入三个整数:"); scanf("%d,%d,%d",&a,&b,&c); if(a>b){ max=a; min=b; }else{ max=b; min=a; } if(max<c){ max=c; }else if(min>c){

2022-04-19 17:14:19 655

原创 【C语言-练习题计算三角形面积】

计算三角形面积题目如下:/*输入三角形的三边长,求三角形面积 */#include <stdio.h>#include <math.h>int main(){ float a,b,c,s,area; scanf("%f,%f,%f",&a,&b,&c); ys = (a+b+c)/2.0; area = sqrt(s*(s-a)*(s-b)*(s-c)); printf("a=%7.2f,b=%7.2f,c=%7.2f,s=%7.

2022-04-19 16:52:41 717

原创 【C语言--字符数据的输入输出】

1、putchar函数–字符输出函数功能是在显示器上输出单个字符。形式为:putchar(字符变量);例如:putchar('A');//输出大写字母Aputchat(x);//输出字符变量x的值2、getchar函数–键盘输入函数功能是从键盘上输入一个字符。形式为:getchar();char c;c=getchar();//给c获取字符例子:#include <stdio.h>int main(){ char c; printf("请输入一个字符:");

2022-04-19 16:38:15 10339

原创 【C语言--switch语句】

switch语句用法:switch (表达式){case 常量表达式1:语句1;break;case 常量表达式2:语句2;break;case 常量表达式3:语句3;break;case 常量表达式4:语句4;break;…case 常量表达式n:语句n;break;default:语句n+1;break;}break可以跳出switch语句,不用执行下面的语句。#include <stdio.h>/*a--f大小写字母的转换 */int main(){ ch

2022-04-19 15:49:26 794

原创 【C语言--sizeof运算符】

sizeof运算符*sizeof运算符用于获得数据类型或表达式的长度sizeof有三种表示方式(1)sizeof(对象)(2)sizeof(类型)(3)sizeof 对象#include <stdio.h>int main(){ printf("char:%d\n",sizeof(char));//char的大小 printf("int:%d\n",sizeof(int));//int的大小 printf("float:%d\n",sizeof(float));//flo

2022-04-12 19:18:29 1359

原创 【C语言--变量】

变量名:(1)变量名只能是英文字母和数字或者下划线组成。(2)第一个字母必须是字母或者是下划线。(3)变量名区分大小写(4)不能使用关键字来命名变量int a;//整数型float b;//单精度型double c;//双精度型char d;//字符型...

2022-04-12 18:55:02 457

原创 单片机---独立按键和矩阵按键

独立按键S2接口为:P3^0=0;//代表按下,反之为高电平1则为没有按下 ![独立按键矩阵按键区别](https://img-blog.csdnimg.cn/20191021125248483.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubm...

2019-10-21 13:00:15 521

原创 单片机---数码管

位选锁存器口为:P2^7;打开P0为8个数码管打开位选:we=1;关闭位选:we=0;段选锁存器口为:P2^6;打开P0为一个数码管上的8个位置打开段选:du=1;关闭段选:du=0;a-dp,从低八位到高八位;且1为亮,0为暗;[0-9]对应的数组是:{0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}//静态数码管代码/...

2019-10-21 12:45:00 1832

原创 单片机---蜂鸣器

蜂鸣器:接口为:sbit beep=P2^3;//代码实现流水灯和蜂鸣器#include <reg52.h> #include <intrins.h> sbit beep=P2^3; void delay(unsigned int z) { unsigned int x,y; for(x=z;x>0;x--) for(y=114;y>0;y--); }...

2019-10-21 12:34:48 785

原创 JAVASE--递归方法

一个方法体内调用它自身,被称为方法递归。public class febi { public static void main(String[] args) { System.out.println(fb(4)); } public static int fb(int n){ if(n==1||n==2){ retu...

2019-08-13 22:41:27 163

原创 JAVASE--可变参数

使用前提:当参数列表数据类型已经确定,但是参数的个数不确定就可以使用可变参数。、格式:修饰符 返回值类型 方法名 (数据类型 …变量名){ }public static void main(String[] args) { int i = add(10,20,30,40);} public static int add(int...arr){ System.out.p...

2019-08-13 22:01:09 105

原创 JAVASE--对象的创建及使用

上面为对象的创建和使用;下面为代码的实现;使用对象类型作为方法的参数:使用对象类型作为方法的返回值:

2019-08-13 21:44:59 108

原创 JAVASE--static关键字的使用

一旦用了static关键字,那么这样的内容不再属于对象自己,而是属于这个类的。所以凡是本类的对象,都共享一份。且可以只给一个对象赋值,多个对象均可以使用。...

2019-08-13 20:40:50 136

原创 JAVASE---this关键字的使用

当程序中出现这样的代码的时候先创建了一个对象pubic class Dog{ public void jump() { System.out.println("正在执行jump方法"); } public void run(){ Dog d = new Dog(); d.jump(); System.out.println("正在执行run方法"); } } ...

2019-08-12 20:39:14 153

原创 单片机---数码管(一)

//此篇只有基本代码实现位控制8个显示灯段控制1个显示灯中的8个LED灯下面为静态数码管实现代码#include <reg52.h>//静态数码管代码 void delay(unsigned int z){//延时函数 unsigned int x,y; for(x=z;x>0;x--) for(y=114;y>0;y--); } sbi...

2019-06-09 15:24:24 398

原创 单片机---LED灯课后练习

在这里插入代码片1.点亮开发板上的LED2,然后每隔200ms闪烁一次。#include <reg52.h> void delay(unsigned int z){//延时函数 unsigned int x,y; for(x=z;x>0;x--) for(y=114;y>0;y--); }vo...

2019-06-09 15:12:41 1264

原创 单片机---LED灯

有两种编程方法:(1)并行操作:P0=0x80;(一定赋值一个十六进制数,直接复制一个十六进制数,来代表某个灯亮)(2)位操作:sbit LED1=P1^0;LED1=0;LED1=1;(可以直接赋给0,1。确定好哪个灯后,直接给灯赋值,0为开,1为关)1.LED灯闪亮(代码)#include <reg52.h>unsigned int i;void main()//...

2019-06-09 15:02:27 1034

原创 字符与字符串

字符与字符串1.字符串的两种赋值方法<1>单引号char a3={‘a’,‘b’,‘c’};char a3={‘a’,‘b’,’\0’};由这两个我们可以看出,第一个不是字符串,因为字符串必须以空字符结尾,所以第一个属于普通字符型数组的赋值。<2>双引号(字符串常量)例如:char a3=“ab”;对于字符串常量系统会自动在所有字符后面加个’\0’作为结束,...

2019-05-26 17:54:32 139

原创 C语言链表

本博客没有解释只有代码实现://代码实现#include <stdio.h>#include <stdlib.h>#include <string.h>//链表结点typedef struct node{ int data; struct node *next; }Node,*Linkedlist;//头插法 Linkedlis...

2019-05-26 17:52:07 1103

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除