- 博客(27)
- 收藏
- 关注
原创 联想拯救者键盘失灵的处理方式
1、官方给出的是释放静电方式:先将电脑关机,在关机状态下,移除电脑的充电器以及u盘、鼠标等所有的外接设备,在不接充电器的情况下,长按开机按钮持续20秒左右,然后再接上充电器,再按开机键开机,尝试是否正常。最后:以上方式来源于网络大佬,在本人不断尝试后,最后一种方案对本机生效,或许都是玄学,多开关机几次或许就好了。设备管理器-->蓝牙和人体学输入设备中的选项依次排查,在电源管理项中取消勾选允许关闭此设备以节约电源。5、同时长按十秒 fn+空格+开机键,会自动关机,开机启动发现键盘能够正常使用。
2024-06-13 20:27:59
10003
3
原创 基于单片机的语音风扇的设计与实现
本设计作品目的是用语音方式去控制调整风扇的工作状态,主要是针对常规需要使用风扇的家庭环境现状,以及如今风扇市场现状,解放人们的双手,方便了人们的生活,摆脱了传统按键方式的操作,同时也避免找不到遥控器的尴尬,并且在扫描到语音关键词的状态下,利用语音播报形式进行回复,做到人机交互的形式,使它变得更加智能,人性化,合理化。该设计以STC11L08XE型号的单片机作为核心的芯片,加上语音识别模块YS-LDV7上的语音识别芯片LD3320对语音信号进行采集识别,并且将信号传送给单片机,由单片机控制继电器的开合状态
2022-11-22 17:02:40
1989
原创 VS2019登录不上
VS登录问题搜索各种方式,登录好久,记录一下(虽然我怀疑是个玄学)一步一步来吧1、电脑连接自己手机热点2、在账户选项中:账户——>系统Web浏览器——>保存3、将电脑默认应用浏览器更改自带浏览器因为我的电脑点击登录以后不能跳转到浏览器登录账号然后再次登录,就成功啦...
2022-05-30 20:25:15
1000
原创 MATLAB 生成.mexw64文件
在这个特别的日子里,记录一下这个有点冷门的知识点吧,搞了很久,终于可以了。基础内容就不讲了,大家都有讲到。我是因为最开始得到的是.dll文件,由MATLAB进行调用,用的是MATLAB7现在我需要用运算更快,内存更大的MATLAB18,所以我需要重新用MATLAB18生成64位的.mexw64文件。进入正题:首先你得有Mingw-w64 ,注意你的MATLAB用的是什么版本(其他大佬有提到怎么查询自己的版本),MATLAB18b用的是Mingw-w64 gcc6.3.0将你的文件放在
2022-04-18 16:52:56
8613
原创 PLL时钟分频(运用ODDR2)
要求:利用锁相环IP核将系统的50MHz进行分频,同时也可以改变占空比(具体数值不重要)为什么要用ODDR2?如果不用,PLL_ip核得到的时钟信号在BUFG,直接连接到OBUF上,在编译map时会出现错误,为了避免错误可以在约束文件加一条约束,让编译器忽略时序约束的要求,直接通过普通逻辑资源连接,但是这样CLOCK输出的时延和JITTER都会变差(这种方式不好) (该解释来源于开发板数据手册)IP核调用的时候,注意复位信号有取反哦。问题:锁相环IP核可以输出4个时钟数据,但是使用ODD
2022-03-10 16:04:51
2128
1
原创 动态数码管显示
要求:数码管以0.5秒为间隔依次显示0——999999数码管动态显示利用的是人的视觉暂留效应和数码管的余晖效应每毫秒只有一个数码管亮,显示数据,数码管依次循环亮,形成同时亮的效果。程序模块主要要分成:数码管的显示(具体在什么时候显示什么内容),数码管显示的内容分解在单个数码管上该是怎样(涉及到BCD码)74hc595的控制module top( input wire sys_clk , input wire sys_rs
2022-03-10 10:06:20
2448
原创 十进制数转换BCD码
有必要仔细阐述这一节,目前就是用在数码管显示,在单片机使用时,我们通常是将十进制数字进行/和%运算,得到每个位置的十进制数字,在这里可能是为了节省使用存储器的量,运用的是加三移位法具体其实就是将每个数字不顾位置,各自转换为二进制形式例如:255 变成 0010 _0101_0101 的过程移位的次数一定是该数字的二进制位数,加三不确定(加三也是要判断每4位的二进制大于4才加三,所以是每次移位以后都要判断)module bcd_8421( input wire sys_cl
2022-03-09 15:42:02
11091
原创 静态数码管
要求:六个受到74HC595芯片控制的数码管以0.5秒为周期循环显示0到F说明:74HC595串行输入是从低位到高位依次输入根据开发板的连接方式,可得输入的数据应该是data = {seg[0],seg[1],seg[2],seg[3],seg[4],seg[5],seg[6],seg[7],sel[5:0]}; 控制模块的分频是符合芯片要求(四分频)DS:串行输入shcp:每一个上升沿就往移位寄存器送入一位stcp:每一个上升沿就讲移位寄存器数据送入存储寄存器oe:低电..
2022-03-08 17:27:58
289
原创 无源蜂鸣器唱歌
要求:让无源蜂鸣器依次循环发出七个音阶的响声,每个音阶持续0.5秒说明:让蜂鸣器发出固定音阶的声音,需要让蜂鸣器工作的频率固定,并且循环七个不同的音阶,所以这里要用到PWM波形调制,指定频率,占空比为50%。这里蜂鸣器每个音阶持续0.5秒的话,不可能每个音阶频率计算下来刚好有整数个周期,这里做的操作是,循环计数,但是到了0.5秒,计数做清零处理各个音阶的频率:DO:262 RE:294 MI:330 FA:349 SO:392 LA:440 ...
2022-03-08 09:48:28
1578
原创 状态机(下)
要求:以2.5元售卖一瓶可乐的可乐机,有找零功能说明:投币在同一时刻不可能有一元和五毛,所以两个钱是输入不可能同时为高电平分析:输入:1/0.5/0 (10/01/00)状态:0/0.5/1/1.5/2 (00001/00010/00100/01000/10000)输出:不出可乐不找零/只出可乐/可乐加找零(00/10/11)module state_2( input wire sys_clk, input wire rst_n, input w
2022-03-08 09:44:25
149
原创 状态机(上)
要求:实现一个可乐机,投三颗币出一瓶可乐分析:money有一个时钟周期高电平,相当于投币一颗,投三颗出一瓶可乐,所以应该是有三种状态module state_1( input wire sys_clk, input wire rst_n, input wire money, output reg cole ); parameter IDLE = 3'b001; //state状态表示采用独热码,相对节省组合电路,稍
2022-03-08 09:34:39
140
原创 呼吸灯的实现
//说明:呼吸灯,灯慢慢的由亮到灭,再由灭到亮,(1ms亮灭程度变化,由亮到灭实现用1s,由灭到亮的实现用1s)//定义一个1us其实是时钟的作用,如果直接对系统时钟周期计数的话,1ms和1s的最大阈值会变大很多,要用的储存器宽度增大,所以要1us是为了节省存储空间//定义一个使能信号,呼吸灯是两个过程,由使能信号控制高低电平的翻转,//整个过程其实就是pwm的原理,只是使用方式要注意module breathe_led#( parameter count_1us_max=6'd49, p
2022-03-08 09:25:42
1966
原创 流水灯的两种方式
要求:流水灯,每隔0.5秒,四个灯由右向左依次循环亮module water_led#( parameter clk_max = 25'd24_999_999)( input wire sys_clk, input wire rst_n, // output reg [3:0] led //方式1 output wire [3:0] led //方式2 );reg clk_flag;reg [24:0] count;
2022-03-07 16:48:06
390
原创 触摸按键(电容式按键)
按键按下一次控制灯的状态发生变化按键按下是低电平module touch_key( input wire sys_clk, input wire rst_n, input wire touch_key, output reg led );reg touch_key_1;reg touch_key_2;wire touch_flag;///////touch_key在系统时钟的控制下的边沿触发///方式一//always@(
2022-03-07 16:45:54
1128
原创 按键 消抖
//说明:还是采用标志方式,通过计数1000_000即为20ms,设定按键输入为低电平时计数,高电平就置为0,当连续计数到1000_000就表明不是抖动,是正常按键的按下,//所以我们在计数count在最后一个时钟周期时,将key_flag置定为高电平表明有按键按下//注意:1、如果我们将count计满又置定为0 的话,那么可能一次按键我们会识别为多次,所以将count就等于最大值不变,直到key_in 变为高电平2、如果我们让count有最大值时,将key_flag置定为1,本来标志信号是维持一
2022-03-07 15:57:25
163
原创 奇分频的两种方式
七分频方法一:module jifenpin( input wire sys_clk, input wire rst_n, output wire clk7 );parameter M=3'd7; //分频倍数reg [2:0] count;reg clk_1;reg clk_2;always @ (posedge sys_clk or negedge rst_n) if (~rst_n) count <=
2022-03-07 14:47:27
249
原创 偶分频(八分频)
八分频意味着时钟在一半的时刻就要取反(1~7的计数,在3就要判断发生翻转)方式1 最常见的方式,但是在高精度情况使用容易出现误差module oufenpin( input wire sys_clk, input wire rst_n, output reg clk );parameter M=4'd8; //分频数reg [2:0] count; always@(posedge sys_clk or neg
2022-03-07 10:11:11
2135
原创 LED闪烁
说明:LED以一个固定时间周期,状态进行翻转,即闪烁module counter#( parameter count_max = 25'd24_999_999 //在综合多次调用程序时,可以是同一个变量,便于修改,仿真时如果将它定义为其他值,这里赋值就不起作用了)( input wire clk, input wire rst_n, output reg led );reg [24:0] count;reg
2022-03-07 10:05:55
254
原创 时序 逻辑
说明:时序逻辑延迟一拍,时序逻辑中传输led_out <=key_in,当时钟上升沿来临时起作用,是当前时钟周期的led_out 等于上一时钟周期的key_inmodule shixu( input wire clk, input wire rst_n, input wire key_in, output reg led_out );always@(posedge clk)//同步复位 只有当rst_n为0了,并且在时钟上升沿时刻才会进行复位
2022-03-07 10:00:54
321
原创 以半加器实现全加器
module fulladder( input wire in_1, input wire in_2, input wire cin, //进位 output wire sum, output wire count );wire hfsum1;wire hfcount1;wire hfcount2;halfadder halfadder_inst1( .in_1(in_1), .in_2(.
2022-03-07 09:43:33
2303
原创 两种方式半加器
module halfadd( input wire in_1, input wire in_2, output wire count,//进位 output wire sum );///////方法一,拼接形式assign {count,sum}=in_1+in_2;//////方法二//assign count = in_1 & in_2;//assign sum = in_1 ^ in_2;endmodulemodule v.
2022-03-07 09:35:57
241
原创 FPGA LED闪烁
要求:开发板四个LED以1ms依次闪烁`timescale 1ns/1psmodule led_text( clk, //开发板的时钟50Mhz rst_n, led );input clk;input rst_n;output [3:0] led;reg[31:0] timer; //计数寄存器reg[3:0] led;always @(posedge clk or negedge rst_n) begin if
2022-03-07 09:25:32
611
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人