自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 微机原理——并行接口8255学习1

1 数据线:单字节双字节 四字节 八字节的宽度,传输很快。2 除数据线外,可设置握手联络信号,易于实现异步互锁协议,提高传输可靠性。3 数据格式,数据宽度和工作时序由外设来决定,因此很自由。4 一般不做差错检验和传输速率控制。5 用于近距离传输。6 并行接口使用很广泛。

2023-12-03 14:50:12 2359

原创 微机原理——定时器8253(8254)学习2应用与设计

流水线的工作过程:向通道0写入计数初值时,即开始对流水线上的罐头进行计数,计满24个罐头,计数器输出波形OUT0的上升沿,触发通道1开始定时,定时器输出波形OUT1的下降沿使工作台暂停,经5s后OUT1的上升沿启动工作台,流水线又开始工作,通道0开始计数。把被测量的脉冲作为门信号连到某个计数器通道(如通道1)的GATE端,GATE为低电平时,装计数初值,GATE变为高电平时开始计数,直到被测脉冲信号变为低电平停止计数,并锁存,然后读出通道1的当前值n,最后脉冲宽度就是(65536-n)us。

2023-12-02 15:48:21 1423 2

原创 微机原理——定时器8253(8254)学习1

(对于重复计数过程,因为能自动重装载,计数过程会反复进行,不能自动停止,要停止计数必须加控制信号,方法是置GATE=0),8253有三个命令字:方式命令,锁存命令,读回命令。因为只有方式2和方式3有自动重装载功能,所以只有方式2和方式3能输出连续波形,其他方式只能输出单次波形。装入:16位减法计数器,8253外部数据线只有8位,所以先装低八位,后装高八位,写入同一个端口。格式: (方式命令用来初始化8253,所以必须使用,剩下两个根据需要使用)例:计数器1,只读/写低字节,方式1,二进制。

2023-12-01 21:57:09 1810 3

原创 蓝桥杯—stm32g431rbt6串口中断和定时器输出pwm学习

配置异步模式,使能中断,选择波特率。串口接收中断开启printf ("接收到的数据是:%s \r\n",data);//重新使能接收中断,不然只进一次串口重定向:#include "stdio.h"

2023-04-07 10:18:39 591 1

原创 I2C总线改变MCP4017阻值和ADC多通道采集电压

MCP4018适合做分压,MCP4017可以做可变电阻,滑到左边是R(AB),滑到中间是R(AB)/2,滑到右边是0Ω。100kΩ的阻值,可以分成127个档。掉电然后重新上电会恢复到中间电阻50kΩ。MCP4017器件地址:R/W=0:写 0101 1110 0x5eR/W=1:读 0101 1111 0x5fMCP4017电阻网络:R(AB)=R(S) X N。

2023-04-05 09:40:12 999

原创 I2C协议

时钟信号SCL为高时,SDA必须保持稳定,SCL为低时,SDA才可以变化。写数据时:SCL为低时,改变SDA。读数据时:SCL为高时,读取IO电平。

2023-04-05 00:29:25 419

原创 基于stm32G431RBT6蓝桥杯嵌入式—新建工程和点灯

PD2是高电平,D、Q电平相同,PD2是低电平,D的数据不会影响到Q。所以需要先给PC口赋值,在打开门锁,再关闭门锁,让Q端数据保持稳定。P-MOS和N-MOS组成推挽结构,一个导通另一个截止,可以输出高电平或低电平,具有驱动能力20mA左右。这个锁存器相当于一个门锁,PD2相当于钥匙,采用共阳接法,即LED负极接低电平点亮。只用N-MOS,只能输出低电平,输出高电平的话需要外接上拉电阻。输入0,输出GND;输入1,输出3.3V。开漏输出模式open-drain。时钟树配置:一般使用内部时钟。

2023-01-28 16:05:30 876

原创 PCB学习笔记—3D PCB封装的创建

放置3D元件体:常规的、自定义、圆柱形、球体。第一个是厚度,第二个是焊盘和芯片的悬浮高度。一般电阻的高度设置成0.6mm就够了,电容1.25mm,悬浮高度为0。按键:放置3D元件体,Tab键,选择常规,选择3d素材路径,放置在中心。

2023-01-11 19:29:09 1970

原创 PCB入门学习—PCB封装的创建2

注:PCB封装的名字一定要和原理图上填写的封装名字一样,不然对不上。焊盘尺寸、相邻焊盘间距、左右上下焊盘中心距、丝印大小、引脚标识、原点设置到中心。:显示单层,隐藏PCB其他层,再次操作恢复正常。2.4 CAN&24C02及DS18B20温度传感单元的绘制。快捷键2:2D视图,3:3D视图。快捷键RM:测量两点之间距离,Shift+C删掉测量。2.12 原理图PCB封装完整性的检查。4.9 PCB的扇孔、PCB敷铜及编辑。4.14 PCB电源及GND走线的处理。2.8 COM口及PS/2接口的绘制。

2023-01-09 19:26:28 1003

原创 PCB入门学习— CHIP类PCB封装的创建

2.4 CAN&24C02及DS18B20温度传感单元的绘制。www.digikey.com搜索规格的网站。放焊盘——确定大小——画丝印——确定原点EFC。2.12 原理图PCB封装完整性的检查。4.9 PCB的扇孔、PCB敷铜及编辑。4.14 PCB电源及GND走线的处理。2.8 COM口及PS/2接口的绘制。2.10 原理图的统一编号及编译检查。4.1 器件封装的导入及常见问题解决。4.6 接插件固定器件的摆放及固定孔。2.7 NRF24L01单元的绘制。2.9 DCDC电源输入单元的绘制。

2023-01-06 20:01:48 1057

原创 AD入门学习—原理图的绘制3

至此,原理图部分就都画完了,然后修改图纸大小,先把所有原理图全选移动到图纸最左侧,然后修改到合适的长和宽。2.4 CAN&24C02及DS18B20温度传感单元的绘制。2.12 原理图PCB封装完整性的检查。4.9 PCB的扇孔、PCB敷铜及编辑。4.14 PCB电源及GND走线的处理。2.8 COM口及PS/2接口的绘制。4.1 器件封装的导入及常见问题解决。4.6 接插件固定器件的摆放及固定孔。2.9 DCDC电源输入单元的绘制。3.1 CHIP类PCB封装的创建。3.3 USB接口的PCB封装创建。

2022-12-26 22:53:31 4008

原创 PCB入门学习—原理图的绘制2

继续绘制以太网模块:点击右侧components,把需要的座子拖进来,剩下需要的电阻电容之类的可以直接从上面复制过来。然后就是按照原理图摆放元件、连线,连好线之后还是画一根线把这个模块包围起来。首先有个问题:为什么这个电容放在原理图上怎么移动也对不齐?2.4 CAN&24C02及DS18B20温度传感单元的绘制。4.9 PCB的扇孔、PCB敷铜及编辑。4.14 PCB电源及GND走线的处理。2.8 COM口及PS/2接口的绘制。2.10 原理图的统一编号及编译检查。4.6 接插件固定器件的摆放及固定孔。

2022-12-16 18:13:49 2607

原创 PCB入门学习—原理图的绘制1(MCU部分)

把电阻电容电感等元件的Value值改了,然后开始连线,注意这里下面图上的线是没有电气属性的线,我们要连的线是导线,有电气属性,是上边那个,快捷键。标完网络标签之后可以发现出现很多错误,点击快捷键“T”“A”,(标注,原理图标注),先点reset all,ok,然后再点更新更改列表,ok,该打勾的打勾,接收更改创建,执行变更,关闭,关闭。如果有元件需要改动的,可以在元件库里改,改完后右击选择更新到原理图,点OK就好了。至此,关于MCU部分的原理图就绘制好了,另外重要的一点是,记得保存。

2022-12-08 18:46:44 4347 1

原创 AD入门学习—元件库的创建2

目录 1.3 IC芯片类元件创建 1.4 晶体类元件创建 1.5 接插件座子元件创建学习目录填写ID放置在原理图上才会有名字。STM32F103VET6芯片:主要用到的还是阵列式粘贴,先复制,然后向上粘贴是正的,向下粘贴是负的,往右正,往左负。并且管脚号是主增量,名字是副增量。 SST25VF016B芯片: 其他芯片: ENC28J60芯片:怎么加上划线:把设置里的这个勾选上,表示单一"\"符号代表负信号。 晶体:(Y?) 耳机:(PJ?) 麦克风:(MK?) 串口:(J?)画线按空格改变线的走向。

2022-12-05 21:03:28 3174

原创 AD入门学习—元件库(原理图库)的创建

目录 1.1 电阻类、电容类、电感类元件创建 1.2 LED灯、按键类元件创建 1.3 IC芯片类元件创建学习目录创建一个PCB工程,原理图库,原理图。左侧的菜单栏不见了:视图,panels,projects。按住shift是拖动,Tab暂停,空格旋转,双击设置属性。添加元件,写ID名字,改Designator(R? L? S?......芯片:U?),写备注,双击设置属性。电阻:放置管脚的时候有四个白点的朝外放,名字隐藏掉,点击放置在原理图上。 电容:(添加封装意义不大) 电感:二极管:(注意检查管脚号)

2022-12-03 21:30:34 15938 3

原创 2022.12.1 html5学习

主要部分在body里面,所有内容包在html中,头部和body,头部里有个主要标签是tittle,都是成对出现的。 这是第一个网页数据

2022-12-01 20:57:16 207

原创 Python入门学习P26~P30

目录字典集合文件1.字典是映射类型,用大括号表示,由多个键值组成,键:key,值:value。2.fromkeys()3.访问字典中的项:get方法,dict1.get (7)。4.清空一个字典:clear(),不要直接dict1={ }。 5.全拷贝copy(),查看地址id()。6.pop()是给一个键,把这个键对应的值弹出去,popitem()是随机弹出一个值。7.setdefault()和get()方法类似,如果键不存在就添加一个新的键。8.a.update(b)把字典b的键

2022-07-14 14:50:36 447

原创 Python入门学习P21~P25

目录 递归:1.global作用:把局部变量变为全局变量。2.内嵌函数:允许在函数内部定义一个新函数,注意,fun2()的定义和调用都在fun1()中,出了fun1()不行。 3.闭包:在内部函数里对外部函数的变量进行引用(只能访问不能修改)。要想修改:在变量前加 nonlocal。 3.lambda x:2*x+1 冒号前边是原函数的参数,冒号后边是原函数返回值。g=lambda x:2*x+1 g(5)=11。少了def的过程。两个参数:lambda x,y : x+y 使用lamb

2022-07-13 13:40:14 227

原创 关于“堆栈”的含义及理解

其实平时所讲的堆栈一般都指栈,为了好听我们叫它堆栈==1.什么是堆栈?堆栈是一段连续的存储器空间,主要有两个动作:推入push和取出pull,遵循先入后出,后入先出原则,堆栈可以用来完成参数传递和返回值的传递(函数调用),也可以用来保存局部变量、寄存器的值,典型用处是中断,保存案发现场(函数执行断点)。栈:栈由操作系统自动分配释放 ,用于存放函数的参数值、局部变量、函数返回地址、寄存器内容等。函数中定义的局部变量按照先后定义的顺序依次压入栈中(从高地址开始放),栈中存储的数据的生命周期随着函数的执行完成而结

2022-07-13 13:39:28 7145

原创 Python入门学习P16~P20

目录函数1:1.format有两种参数,位置参数012和关键字参数abc,如果综合使用的话,位置参数必须在关键字参数之前。2.冒号表示格式化字符串的开始。3.4. 5.list()不带参数生成一个空列表,带参数表示把一个可迭代对象转换为列表。6.tuple()把一个可迭代对象转换为元组。7.str()把参数转换为字符串。8.max()返回序列或者参数集合中的最大值,负数也支持,字符是ascii码。min()返回序列或者参数集合中的最小值。但使用这两个要保证类型统一。9.sum(ite

2022-07-11 17:20:36 134

原创 Python入门学习P11~P15

目录字符串:1.python不同于C语言,C中每个数组的类型是唯一的,python不用,一个列表可以存放多种元素。2.append() 需要一个参数,用于把这个参数添加到列表中。3.expend()可以把多个元素添加到列表中,但需要[ ] ,就是用一个列表来扩充另一个列表,这两种方法都是将元素自动追加到列表末尾。而+要求左右两边类型相同,所以添加元素不用+。4.insert()需要两个参数,第一个参数是想要添加元素所在列表的位置(从0开始),第二个参数是要添加的元素。5.从列表中获取元素member

2022-07-10 18:46:55 295

原创 STM32智能门锁学习三[完],AS608指纹解锁

先来看一下指纹模块: 到手的模块应该是只有6根线,不过我们只需要接前4根线即可,不需要接后面的,因为指纹模块是通过串口发送指令,让模块识别有无手指按下。我们要先用上位机软件对其进行调试,用串口和指纹模块连起来接在电脑上,打开我们的软件,进行录入指纹,搜索指纹等操作,用来判断模块是否是好的,不过这并不代表已经录入指纹了,到时候还是得通过程序录入指纹。 测试没问题之后,就进行我们的cube配置,这里用的是串口3,并使能中断。 然后是代码部...

2022-07-08 15:07:52 4660 4

原创 PCB入门学习1 新建工程(AD22)

目录一 新建工程二 原理图库三 原理图 四 PCB学习pcb设计的第一天:新建一个项目之后需要新建原理图、原理图库、pcb、pcb库这四部分,每新建一个先保存再进行之后的操作。 (以电阻电容模型的创建为例)放置元器件从这里面搜索,res电阻,npn三极管,Battery电池,led等。Tab键设置相关参数,空格键旋转。加载完元器件之后先布局再连线。 画好电路图后要填写右下角的表格,按P键然后选择文本字符串填在标题处,也可用这一方法在图纸的适当位置添加文字注释。 【制图流程总结】1.新建工程和原理图2.

2022-07-05 17:19:31 11499 4

原创 Python入门学习P6~P10

1.三种数值类型:整型、浮点型(E记法)、布尔类型(True1 False0)。 整型:十六进制0x开头;八进制0o开头;二进制0b开头。2.type(a) 可以查看数据类型,isinstance(a,int)比较两种数据类型是否相同,返回True False。3.强制类型转换 int() float() str() 同C语言。4.算数运算符: + - * / % ** // ** 的意思是几次方 例如 2**3=8,其优先级比左侧高比右侧低,

2022-07-05 12:14:11 295

原创 Python入门学习P1~P5

1.IDLE是一个Python Shell,它就像DevC++里那个运行程序的黑框框,用来显示运行结果。2.print ("用来输出内容") 相当于printf 没有f 没有分号。3.>>>print("Hello world\n" * 5)会输出5遍,单引号双引号相同。4. +起到拼接两个字符串的作用,比如‘5’+'8'=58,但不能把两个不同的东西连在一起,比如>>>print('Hello world ' + 5) 会报错。5.Tab键可以起到代码提示功能,比如打pr再按Tab键会提示print

2022-07-04 14:36:46 214

原创 STM32智能门锁学习二,RFID刷卡解锁

目录效果如图:cube配置:代码部分:个人认为,这个比之前的按键解锁和蓝牙好玩哈哈哈哈==首先,这个模块叫做RFID RC522射频模块,上面一共有8个引脚,其中IRQ引脚保持悬空即可,我们只需要接另外7个引脚。SDA引脚为数据接口,SCK引脚为时钟接口,MOSI引脚为SPI接口主出从入,MISO引脚为SPI接口主入从出,GND接地,RST为复位信号,3.3V接单片机3.3V。...

2022-07-02 17:05:08 4985 4

原创 STM32基于HAL库的HC-SR04超声波测距学习

本章要实现的功能是实现超声波测距并将距离显示在oled屏上,所用的板子仍是stm32f103c8t6。目录效果: cube配置:代码部分:关于溢出问题的补充:首先来看一下HC-SR04超声波测距模块:1.选择定时器2通道3作为echo管脚,选择PA1作为trig管脚,并使能定时器中断。2.使能I2C2,为了实现将距离显示在oled屏上,或者使用串口查看测量结果也可。3.生成工程。全局变量定义:第一个是标志位,用来判断是不是第一次被捕获,第一次捕获是上升沿,第二次是下降沿,两次相减才是我们需要的中间高电平的时

2022-07-02 14:20:59 3056 4

原创 STM32智能门锁学习一,按键解锁,蓝牙解锁、oled显示,步进电机

基于stm32f103c8t6的oled显示屏、步进电机、薄膜按键、蓝牙模块的学习。

2022-06-25 21:47:43 5457 5

原创 2022/5/19 matlab入门学习矩阵1

matlab中变量不用提前定义声明把一个函数名比如 cos 称当做变量时,变量优先级高,一般不建议。把一个变量消除:clear cos加分号:不显示结果ans输入一个矩阵:空格是挨着,分号是换行。找矩阵里的那个数:可以B(行,列) 也可以直接B(数)从列开始数的P2 1:14:24...

2022-05-19 23:23:42 257 1

原创 51“motorrr”寻迹小车学习1电机和寻迹模块

目录一 硬件二 软件前几天完成了寻迹小车的电机和寻迹模块的学习,这里板子用的是51最小系统板。一 硬件电机驱动模块L298N 和 寻迹模块其实也没什么,pwm控制速度再加上寻迹模块,主要是遇见了一些玄学问题,这里来总结一下:1.用下载器烧不进程序,总显示什么芯片加载超时==,解决方法:用51板子烧进去芯片再按上去就好了,(注意芯片的方向不要按反)就是比较麻烦。。2.按进去芯片之后,上边那个数码管的数字一闪一闪的,车有想动的趋势但是不动,差点想把车拆了换个芯片重新装了,结果发现

2022-05-10 15:38:37 1675

原创 算法第三章 数组和字符串

比较大的数组应尽量声明在main函数外,否则程序可能无法运行。从数组a复制k个元素到数组b,可以这样做:memcpy(b,a,sizeof(int)*k);#include <string.h> 全复制过去:memcpy(b,a,sizeof(a));...

2022-04-26 16:12:46 160

原创 51矩阵按键学习(包含库)

矩阵按键:按键数量较多时,为了减少IO口的使用,将按键排列成矩阵形式。

2022-04-14 21:49:13 415

原创 作业1 按键控制电机笔记1

没完成计算器的抓紧时间;这段时间,做一个电机控制电路,51单片机,5个按键(正转,反转,加速,减速,停止),L298驱动直流电机,protues仿真@全体成员问题:一开始用那个电机MOTOR_DC不能马上反转,先得慢慢正转到0,再开始反转。然后换了一个电机MOTOR就好了。一开始设置电机停止没用,ENA=0 1 没用。想用数码管显示速度,但是不太行。。而且数码管用P0引脚不亮。。。void Timer0_init()//100us{ TMOD &= 0xF0; /..

2022-04-12 16:41:31 433

原创 51单片机LCD1602学习(包含库)

关于实际引脚:RS ~ P2^6 RW ~ P2^5 E ~ P2^7 数据/指令 ~ P0关于LCD1602:可以显示两行,每行16个字符void writedat(unsigned char dat)//写数据{ RS=1; RW=0; E=0; P0=dat; delay(5); E=1;//拉高,数据传完之后拉低 E=0;}void writecom(un...

2022-04-12 16:14:21 3517

原创 Proteus对直流电机的控制

目录总结源代码:AT89C52 L293D motor_DC(直流电机)最大值:-192 +192通过延时改变占空比,或者通过定时器实现:#include <reg52.h>#define uint unsigned intsbit IN0=P2^0;sbit IN1=P2^1;sbit E=P2^2; void delay(uint n){ uint i=0,j=0; for(i=0;i<n;i++) { for(j=0;j&l.

2022-04-07 22:19:09 11824 5

原创 Proteus按键控制数码管+1仿真学习

搜索:RES电阻 BUTTON按键 7seg是数码管,要选对,我的一开始不亮,换了之后就亮了。源代码:用按键消抖再判断,延时的效果不明显,要使反应更灵敏的话我们采用引入标志位的方法,这样的效果:按一次,数码管+1一次。#include <reg52.h>sbit key0=P1^0;unsigned char s[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};unsigned char num=...

2022-04-07 18:51:53 5243 1

原创 4.6Proteus流水灯学习

目录参考链接:(51条消息) Proteus使用教程并仿真51程序——LED流水灯_可乐有点好喝的博客-CSDN博客_proteus流水灯程序学习总结:流水灯代码:参考链接:(51条消息) Proteus使用教程并仿真51程序——LED流水灯_可乐有点好喝的博客-CSDN博客_proteus流水灯程序学习总结:选AT89C52,然后选别的灯啊,电阻啊,再连线,蓝色的那个是自己画的主线,注意连在主线上的线要用LBL标号才能用,然后怎么把代码烧进去呢,双击芯片,把路径...

2022-04-06 21:18:42 1601

原创 窗口看门狗WWDG学习笔记

2022-04-03 08:49:04 403

原创 独立看门狗IWDG学习笔记

目录一 独立看门狗简介1.键值寄存器IWDG_KR2.预分频寄存器IWDG_PR3.重装载寄存器IWDG_RLR二 代码wdg.cmain.cstm32有两个看门狗:独立看门狗IWDG和窗口看门狗WWDG。使能了看门狗,在程序里面就必须间隔一定时间喂狗,否则将导致程序复位。一 独立看门狗简介先介绍几个寄存器1.键值寄存器IWDG_KR向键值寄存器写入0xCCCC,开始启用独立看门狗,此时计数器开始从其复位值0xFFF递减计数。当计数器计数到末尾 0x.

2022-04-02 23:56:02 523

原创 关于stm32GPIO和中断的笔记补充

都写在笔记本上了,就不手敲了。。不过都是基于HAL库的函数。GPIO:外部中断:

2022-03-27 15:56:04 701

空空如也

空空如也

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

TA关注的人

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