- 博客(25)
- 收藏
- 关注
原创 Numpy用法
返回一个包含5个数值的数组,数值大小是[0,1)的随机数。返回一个包含3行4列的数组,数值大小是[0,1)的随机数。返回一个包含3个数值的数组,数值大小是[0,1)的随机数。返回一个包含3行4列的数组,数值大小是[0,1)的随机数。返回一个长度为5的数组,数值位于[0, 5)之间的随机数。返回一个数值,数值大小是[0,1)的随机数。返回一个数值,数值大小是[0,1)的随机数。返回一个[0, 5)之间的随机数。
2023-04-26 17:14:21
198
原创 二叉树的线索化
1、用土方法找到中序前驱2、中序线索化思路3、中序线索化具体代码4、线序线索化注意左孩子那边死循环的问题5、后续线索化6、总结注意先序线索二叉树的死循环问题,而后续不会出现,因为左右孩子已经路过。...
2021-07-18 21:06:30
108
原创 栈在表达式求值中的应用
一、栈在表达式求值中的应用重点:操作数、运算符、界限符二、具体方法1、中缀表达式转后缀表达式(手算)2、中缀表达式转后缀表达式(机算)3、后缀表达式的计算(手算)4、后缀表达式的计算(机算)5、中缀表达式转前缀表达式(手算)6、前缀表达式的计算(机算)7、中缀表达式的计算(机算)...
2021-07-13 14:20:20
877
原创 数据结构栈
一、栈只允许在一端进行插入和·删除操作的线性表。二、顺序栈的初始化#define MaxSize 10typedef struct{ ElemType data[MaxSize]; int top;//指向栈顶元素}SqStack;bool StackEmpty(SqStack S)//判断栈空{ if(S.top==-1) return true; else return false;}void testStack(){ SqStack S; InitStac
2021-07-11 17:05:40
109
原创 数据结构链表
一、单链表的定义typedef struct LNode{ ElemType data; struct LNode *next;}LNode, *LinkList;LNode * GETElem(LinkList L,int i){ int j=1; LNode *p=L->next; if(i==0) return L; if(i<1) return NULL; while(p!=NULL && j<1) { p=p->next; j+
2021-07-05 21:57:13
342
原创 lcd1602显示
(1)lcd1602相关知识:(2)lcd1602配置过程:1602配置写命令要将RS E RW全为0,配置写命令要将RS设值为1。1、功能设定功能:设定数据总线位数、显示的行数及字型。参数设定的情况如下:位名 设置DL 0=数据总线为 4 位 1=数据总线为 8 位N 0=显示 1 行 1=显示 2 行F 0=5×7 点阵/每字符 1=5×10 点阵/每字符2、显示开关指令功能:控制显示器开/关、光标显示/关闭以及光标是否闪烁。参数
2021-02-01 13:38:33
937
1
原创 温度传感器DS18B20的使用
(1)DS18B20原理:a、测温范围-55℃~+125℃,在-10~+85℃时精度为±0.5℃。b、可编程的分辨率为9~12位,对应的可分辨温度分别为0.5℃、0.25℃、0.125℃和0.0625℃,可实现高精度测温。c、内部结构:d、温度转换规则:DS18B20的核心功能是它可以直接读出数字的温度数值。温度传感器的精度为用户可编程的9,10,11或12位,分别以0.5℃,0.25℃,0.125℃和0.0625℃增量递增。在上电状态下默认的精度为12位。DS18B20启动后保持低功耗等待状态,当
2021-01-28 14:36:21
3850
原创 I2c总线
(1)I2c总线具有掉电保存数据的功能,可以保存一百年的时间。由于单片机没有I2c的硬件接口,所以用软件来模拟。(2)原理:I2C总线只有两根双向信号线。一根是数据线SDA,另一根是时钟线SCL。一、数据位的有效性规定I2C总线进行数据传送时,时钟信号为高电平期间,数据线上的数据必须保持稳定,只有在时钟线上的信号为低电平期间,数据线上的高电平或低电平状态才允许变化。二、起始和终止信号SCL线为高电平期间,SDA线由高电平向低电平的变化表示起始信号;SCL线为高电平期间,SDA线由低电平向高电平
2021-01-26 12:44:53
802
2
原创 串口通信
(1)原理:利用51单片机内部特殊寄存器进行通信。TMOD主要用于选择定时器T1的工作方式;TCON主要用于计算TH1,TL1的值,就是计算波特率;SCON用于选择方式。1、SCON 是一个特殊功能寄存器,用以设定串行口的工作方式、接收/发送控制以及设置状态标志:2、3、SM2,多机通信控制位,主要用于方式2和方式3。当接收机的SM2=1时可以利用收到的RB8来控制是否激活RI(RB8=0时不激活RI,收到的信息丢弃;RB8=1时收到的数据进入SBUF,并激活RI,进而在中断服务中将数据从SBUF读走)
2021-01-23 18:55:20
801
1
原创 定时器\计数器中断
(1)工作原理:定时和计数可以一样理解,设置一定的数量,满足条件进行中断,这个满足条件成为溢出。(2)如何配置定时器\计数器中断:对TMOD赋值,以确定T0和T1的工作方式。计算初值,并将其写入TH0、TL0或TH1、TL1。中断方式时,则对EA赋值,开放定时器中断。使TR0或TR1置位,启动定时/计数器定时或计数。(3)源代码:1秒钟开关8位LED灯#include<reg51.h>#define LED P2typedef unsigned char u8;typedef
2021-01-20 14:08:40
2939
原创 中断系统
(1)中断概念:CPU正在执行一个事件,然后响应中断源的请求,进而去执行另外一件事,执行完毕后,返回继续原来的事件,这是一个完整的中断系统。(2)中断知识:对于51单片机来说,有5个中断源,分别是外部中断0、定时器/计数器中断0、外部中断1、定时器/计数器中断1、串行中断。中断优先级也是按照这个顺序来的。(3)中断原理:要实现触发一个中断,要满足条件。1、中断允许寄存器IE中的中断允许位要允许。EX0(IE.0),外部中断0允许位;ET0(IE.1),定时/计数器T0中断允许位;EX1(IE.2
2021-01-19 21:49:11
439
原创 8*8点阵动态显示 I 爱 U
(1)8*8点阵原理:通过动态扫描方法,运用74HC595芯片进行操作。让74HC595的数据端输出想要的数据,通过P0口,进行点亮。(2)原理图:(3)源代码:#include<reg51.h>#include<intrins.h>typedef unsigned char u8;typedef unsigned int u16;sbit RCLK=P3^5;sbit SRCLK=P3^6;sbit SER=P3^4;u8 ledduan1 []={0x
2021-01-18 14:45:00
2817
原创 矩阵按键值在8位数码管流动显示
(1)矩阵按键原理:话不多说,对于16个矩阵按键来说,要想知道哪个按键被按下,可以设置16个IO口,但是这样硬件电路过于繁琐,所以可以采用行列扫描法,由行推列,再由列推行。首先给四个行为低电平,四个列为高电平;如何某个按键被按下,那么该按键所在的列就变为低电平;再给四个行为高电平,四个列为低电平,那么刚才那个按键的所在的行就变为低电平,由此经过行列扫描就是锁定了具体是哪个按键被按下。(2)矩阵按键原理图:(3)源代码:#include<reg51.h>typedef unsigned ch
2021-01-13 12:12:39
2348
原创 独立按键实现8位数码管0~7的循环
(1)按键原理:按键正常状态为默认高电平,当按键按下之后就变成低电平。利用这个特性,我们可以检测出按键是否按下。(2)数码管原理:想实现数码管的点亮,首先要有位选,即点亮哪一个数码管;其次要有段选,即具体的数码管显示哪一段(一个数码管由8段构成,包括一个小数点)(3)按键原理图:(4)74HC138原理图:(5)数码管原理图:(6)源代码:#include<reg51.h>sbit K4=P3^3;sbit LSA=P2^2;sbit LSB=P2^3;sbit LSC=P2^4
2021-01-12 13:46:33
3950
原创 点亮第一个LED灯
**点亮第一个LED小灯**(1)LED原理:LED灯由一个发光二极管构成,一端连接单片机的VCC,另一端连接单片机的IO口。要想实现LED灯的点亮,只需LED灯一端为高电平,另一端为低电平。(2)LED原理图:(3)源代码:#include<reg51.h>#define LED P2 //宏定义P2端口void main(){while(1){LED=0; //点亮8个LED灯}}...
2021-01-12 13:19:45
346
<悲惨世界图>图数据集
2023-02-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人