FPGA实验3.2——七段显示数码管
问题描述将8个拨动开关作为8位并行输入,即对应数码为0000_0000—1111_1111,十进制数值为0-255,将编码对应的十进制数值显示在三个七段管上。比如若输入1000_0100对应十进制数为132,则在三个七段上显示1、3、2数字。建议七段管显示译码电路设计成模块,主模块采用模块调用的方式实现3个七段管的驱动。
verilog代码(task方式)12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152module bcdto7(bin,out1,out2,out3); input [7:0] bin; // 8路输入,高电平1为有效电平 output reg[6:0] out1; //个位的数码管 output reg[6:0] out2; // 十位的数码管 output reg[6:0] out3; // 百位的数码管 wire[3:0] bai; wire[3:0] shi; w ...
FPGA实验3.1——实现74LS148的功能定义
问题描述74LS148是带有扩展功能的8-3线优先编码器,它有8个信号输入端,3个二进制码输出端(0-7),一个输入使能端(EI),一个选通输出端(EO)和一个扩展端(GS)。使能端为“0”时,该芯片被选中,否则不被选中。选通输出端和扩展端主要用于功能扩展。
74LS148真值表
0-7 编码输入端(低电平有效)
A0、A1、A2 三位二进制编码输出信号即编码 输 出 端(低电平有效)
GS 片优先编码输出端即宽展端(低电平有效)
EO 选通输出端,即使能输出端
verilog代码12345678910111213141516171819202122232425262728293031323334module code83(in8,out3,EI,GS,EO);input[7:0] in8;input EI;output reg[2:0] out3;output reg GS;output reg EO;always@(in8,EI)beginout3=3'b111;EO=1;GS=1;if(~EI)beginGS=0;case(in8)8'b11111111:b ...
FPGA实验2.2——模24计数器
问题时序电路设计并测试,设计一个模24的计数器。具有高电平的异步复位信号rst、同步置数信号load、上升沿触发时钟clk,置数数输入data,输出计数值sum和进位值cont。测试信号通过monitor或display文本显示。
verilog代码12345678910111213141516171819module count24(rst,load,clk,data,sum,cont); input rst,load,clk;input [4:0] data;output sum;output cont;reg [4:0] sum;initialbeginsum=5'b00000;endalways @(posedge clk or negedge rst)beginif(!rst) sum=5'b00000;else if(load) sum=data;else if(sum==5'b10111) sum=0;else sum=sum+1'b1;endassign cont = sum[0]&sum[1]&sum[2]& ...
FPGA实验2.1——10裁判判决电路
问题组合电路设计并测试,设计一个实现10裁判电路设计,并设计测试文件进行测试,查看测试结果是否符合逻辑要求。每个裁判同意或不同意,裁判结果分为通过(同意人数多)、不通过(不同意人数多)、待定(同意与不同意相等)。
verilog代码12345678910111213module lab10(a,out);input[9:0] a;output out;reg[1:0] out;reg[3:0] sum;always@(a,sum,out)beginsum=a[0]+a[1]+a[2]+a[3]+a[4]+a[5]+a[6]+a[7]+a[8]+a[9];if(sum>5) out=2'b01;else if(sum<5) out=2'b00;else out=2'b10;endendmodule
仿真测试代码12345678910111213141516171819202122232425`timescale 1 ps/ 1 psmodule lab10_vlg_tst();reg eachvec;reg [9:0] a; wire [1:0 ...
远程访问服务器Jupyter Notebook
用python做数据分析或者机器学习项目,jupyter是很好用的工具,如果个人有一台配置好python环境的服务器,就可以随时随地使用浏览器打开jupyter,使用云服务器的算力跑代码了
安装jupyter notebook如果服务器的python环境使用的是ananconda,就不用单独安装 jupyter ,如果是单纯的python环境,可以使用下面的命令安装jupyter
1pip install Jupyter
生成配置文件安装完成后默认是没有配置文件的,诸如端口此类需要在启动命令里填写,比较麻烦,我们可以生成一个配置文件提前设置好
1jupyter notebook --generate-config
设置配置文件直接在主目录搜索jupyter_notebook_config.py这个文件,然后编辑它,主要是以下几个配置信息
c.NotebookApp.ip = ‘*‘ #所有绑定服务器的IP都能访问,若想只在特定ip访问,输入ip地址即可
c.NotebookApp.port = 6666 #将端口设置为自己喜欢的吧,默认是8888
c.Notebook ...
使用IOS快捷指令打开任意支付宝小程序
获取appid如果想用ios的快捷指令打开支付宝小程序,就需要用到快捷指令里面的打开url功能,关键点就在于如何获取支付宝小程序的appid
首先选择要快捷打开的小程序,点击右上角的三个点选择分享(以健康码小程序为例)
在分享界面选择复制链接
把复制后的链接粘贴至任意浏览器进行访问,会弹出“是否打开支付宝”,选择否,如果自动进入支付宝,则切屏回到浏览器,之后全选并复制浏览器上方的链接
这时复制的链接应为https://render.alipay.com/p/s/i/?scheme=alipays%3A%2F%2Fplatformapi%2Fstartapp%3FappId%3D2021001136608745%26page%3Dpages%252Findex%252Findex%26enbsv%3D0.2.2108131409.12%26chInfo%3Dch\_share\_\_chsub\_CopyLink
从链接中我们可以看到有个 %3FappId%3D ,这后面的那串数字(截止到下个%号)就是该小程序的appid
创建快捷指令我们将数字保存下来备用,然后打开快捷指令,点击 ...
wordpress主页弹幕效果
因为换了新主题argon,发现上方有一块banner,空挺大的,只显示个博客名有点浪费了,于是突发奇想在这一块做个弹幕效果
因为我也没学过php和js,所以只能一点点摸索着来,首先是基础的弹幕效果的实现
在html里有个标签叫marquee,可以实现文字的移动效果,我们输入
123<marquee behavior="scroll" direction="left" scrollamount="20"> <font color="#F0F0F0" size="15px" id='mybullet0'>只有风暴才能击倒大树</font> </marquee>
就可以得到一个从右往左移动的弹幕了,是不是很简单
好的现在的问题是,我们怎么把他显示在那块banner上
修改主题的header文件这个主题的banner部分,所有的代码都储存在header.php里,我们可以在宝塔面板上修改,也可以用wordp ...
单向历小工具的实现(反代)
碎碎念我在使用argon这个主题的时候,发现主题作者自己的博客里有一个很好看的小工具,叫做单向历
长这个样子
所以自己也想搞一个,在翻阅了作者文章下面的留言之后,看到了作者的回复,这个图片是调用的一个api:
https://img.owspace.com/Public/uploads/Download/2021/0831.jpg
如果你在浏览器输入这个网址,就能显示上面的图片,但是如果你在html里的img标签的src属性中写上他,这个img就不会显示任何东西
经过翻阅其他的留言,我知道了是需要进行一下反代,才能够使用
这里放上另一个大神的教程:
https://pastebin.ubuntu.com/p/Swn6drYwnD/
但是他是使用的Nginx做服务器,而我使用的apache,但这篇文章还是给我提供了思路
于是我又去搜索apache怎么进行反代,然后收到了这篇文章Apache设置反向代理 - skyfeng713 - 博客园 (cnblogs.com)
按照他的教程进行操作后,还是遇到了问题,我们要代理的这个单向历api是https协议
然后又经过一番查找,发现如果代理h ...
Flask手写数字识别接口第二次调用出现异常
错误描述
使用flask框架开一个基于keras的手写数字识别server的时候,第一次调用接口正常,第二次就报如下错误:
Cannot interpret feed_dict key as Tensor: Tensor Tensor
原因分析
第二次调用model的时候,model底层tensorflow的session中还有数据.
解决方法
在调用模型前清除上次数据 keras.backend.clear_session()
原代码
12from keras import models my_mnist_model = models.load_model(modelpath)
改进后代码
123from keras import models,backend backend.clear_session() my_mnist_model = models.load_model(modelpath)
使用Python+Flask实现一个简单的服务器接口
使用Python实现一个简单的接口服务,可以通过get、post方法请求该接口,拿到响应数据。创建一个api_server.py文件,添加代码如下:
12345678910111213141516171819202122232425262728293031import flask, jsonfrom flask import request '''flask: web框架,通过flask提供的装饰器@server.route()将普通函数转换为服务登录接口,需要传url、username、passwd'''# 创建一个服务,把当前这个python文件当做一个服务server = flask.Flask(__name__)# server.config['JSON_AS_ASCII'] = False# @server.route()可以将普通函数转变为服务 登录接口的路径、请求方式@server.route('/login', methods=['get', ...