自定义博客皮肤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)
  • 收藏
  • 关注

原创 【51单片机】IO扩展技术与存储器映射扩展

在用存储器扩展时,除了开头要加上一个头文件,还要注意它的用法。当想要开关指示灯的时候,不用再用SelectHC573函数再对P0口赋值来操作了,直接用。总结就是存储器扩展就是直接用 XBYTE[地址映射关系],这样不用选择锁存器,直接对扩展资源进行操作。这句话相当于用IO扩展时的SelectHC573(4);第一次运行出了一点问题,写Delay函数的参数的时候必须写。用存储器扩展时,如果要操作数码管位选。平时都是用的IO扩展,比较简单。用存储器扩展,必须要加上开头的。

2023-11-09 15:50:14 326

原创 【51单片机】串口通信进阶应用案例解析

用到串口就要对辅助寄存器AUXR进行操作,只有两步,首先在开头加上,然后在串口初始化函数中对。

2023-11-08 20:17:29 279

原创 【51单片机】串口通信的基本原理

即数据传输只在一个方向上传输,方向是固定的,不能实现双向通信。半双工传输方向可以切换,允许数据在两个方向上传输。但是某个时刻,只允许数据在一个方向上传输,可以基本双向通信。允许数据同时在两个方向传输,发送和接收完全独立,在发送的同时可以接收信号,或者在接收的同时可以发送。它要求发送和接收设备都要有独立的发送和接收能力。:串口每秒钟传输的位数。比如波特率为9600,每秒传输9600位,传输的单位是以数据帧。

2023-11-07 20:07:27 440

原创 【51单片机】PWM脉宽调制信号的发生与控制

pwm_duty占空比由按键S7决定。这里定义了一个stat,来表明现在按键处在的状态。

2023-11-06 19:43:43 227

原创 【51单片机】定时器实现表秒功能

要在主函数while循环前调用,第一次运行显示00-00-00就是因为没有初始化定时器,没有开始定时,导致t_50ms一直都是0。2.编程的思路,50ms、秒、分的逻辑关系和赋值都在中断服务函数。3.暂停启动按键:通过控制TR0控制中断的开关,来暂停启动秒表。清零按键:就是给3个时间变量赋0。里完成,不断地去更新它的值,

2023-11-06 15:29:26 634

原创 【51单片机】定时器的基本原理与应用

定时/计数器,是一种能够对内部时钟信号或外部输入信号进行计数,当计数值达到设定要求时,向CPU提出中断处理请求,从而实现定时或者计数功能的外设。定时/计数器的最基本工作原理是进行计数。作为定时器时,计数信号的来源选择周期性的内部时钟脉冲;用作计数器时,计数信号的来源选择非周期性的外部输入信号。不管是定时器还是计数器,本质上都是计数器。外部事件信号是随机的,内部脉冲时钟信号是周期性的,所以要定时一般都选择内部脉冲计数。

2023-11-04 18:03:20 1714

原创 【51单片机】中断系统与外部中断应用

外部中断0方式由TCON的IT0来选择,IT0为1时是下降沿触发,为0是低电平信号触发。IE:中断控制寄存器,中断的开关,EA是中断总开关。T0:计数器输入端RX,TX串口输入和输出。

2023-11-04 15:32:21 181

原创 【51单片机】矩阵键盘的扫描原理与基本应用

注意J5的跳帽要连接1、2,矩阵键盘。还有电路图有点不一样,右下角两个引脚不同。

2023-11-02 19:46:28 213

原创 【51单片机】独立按键的基本操作与扩展应用

消抖就是Delay一小段时间后再次判断检测信号是否有效,如果有效,再执行相关的程序。注意开头sbit的用法。LED灯都是低电平点亮,灯在按键按下时一直时亮的,松手马上熄灭,只需要while(S?==0),表示按键按下时(S?此时是低电平)一直处在死循环中,松手后跳出循环,马上熄灭灯。

2023-11-02 17:04:14 136

原创 【51单片机】共阳数码管的动态显示

非常简单,唯一的注意事项是动态显示时用到的Delay函数里面要调用Display_Dynamic。

2023-10-31 22:31:22 286

原创 【51单片机】共阳数码管的静态显示

共阳数码管,低电平有效,例如要显示 “6” ,需要a,c,d,e,f,g段亮,所以给这些位以低电平,由上面的电路可以看到P00~P06对应a~g,注意a是低位,这样出来一个二进制数,1000 0010转化成十六进制数,0x82,所以给P0口写入0x82就可以输出“6“了。第二个问题是循环显示“6”的时候,显示出来的内容是8.,也就是全部都亮了,鉴于它是共阳极的数码管,很轻松就能知道是送值的时候没有送进去,值是0x00,导致它所有段都亮了。这里找到是对数组赋值的时候,应该用{},错用了(),导致值没赋进去。

2023-10-28 17:31:41 1245 1

原创 【51单片机】蜂鸣器与继电器的基本控制

P06——D7——Q7—— IN7——OUT7——N_BUZZ (蜂鸣器)低电平有效。注意 P04——D5——Q5——IN5——OUT5——N_RELAY (继电器)注意函数的封装,这里写了InitHC138和OutPutP0两个函数,简化了代码。继电器:二极管起保护作用,N_RELAY低电平时,开关K1工作闭合。

2023-10-28 15:50:40 248 1

原创 【51单片机】LED指示灯

高低低。

2023-10-26 21:45:30 132

原创 数据结构复习题 选择题部分

答案错了,正确答案为6,2,10,4,8,12,28,30,20,16,18。aij(i

2023-06-04 20:32:59 66

原创 数据结构期末试卷笔记

Get Tail不能去掉括号,因为当广义表LS非空时,称第一个元素a1为LS的表头,称其余元素组成的表是LS的表尾。kruskal(克鲁斯卡尔算法就是纵观全图把权最小的边先连起来,不产生回路。可得任何一个非空列表其表头可能原子,也可能是列表,而其表尾必定为列表!深度和长度也要会算。其中prim(普利姆算法就是找一个点开始,一直走路径最短的那条边,不产生回路。一棵树度为4意思是它里面度最多的结点的度数是4。最小生成树的构造方法。

2023-05-22 15:40:52 75

原创 排序123

1.快速排序:需要注意index是坑的位置,选定了基准元素后,每个元素都是和基准元素比较判断是移动还是不移动,不是和index位置上的元素比较。2.堆排序:最大(小)堆是指在树中,存在一个结点而且该结点有儿子结点,该结点的data域值都不小于(大于)其儿子结点的data域值,并且它是一个。注意:二叉排序树、二叉搜索树、二叉查找树都是一个玩意,平衡二叉树是在二叉排序树、二叉搜索树、二叉查找树的基础上,对子树间的高度做了约束。

2023-05-20 13:24:31 64

原创 图1234

如果一个图有n个顶点和小于n-1条边,则是非连通图。(其实意思就是说极大连通子图你加任意一个顶点,这个图就不连通。极小连通子图就是有全部n个顶点n-1条边的生成树,你加任意一条边就会形成回环)3.一个连通图的生成树(只在无向图里讨论生成树)是一个极小连通子图,它含有图中全部顶点,但只有足以构成一棵树的n-1条边。广度优先遍历要利用到队列,依次入队,出队前看它周围有没有没有访问过的,如果有就直接让他入队,注意出队的顺序。1.所谓连通分量,指的是无向图中的极大连通子图(再添加任何一个顶点,这个图就不连通了)。

2023-05-19 21:18:27 61

原创 树/森林与二叉树的转换

左边的是孩子,右边的是兄弟。

2023-05-19 18:54:20 44

原创 排序「 数据结构选择练习题(有解析)」2023年5月14日

排序总结easy。

2023-05-15 16:21:30 95

原创 图的存储与遍历「 数据结构选择练习题(有解析)」2023年5月14日

入度表示有多少条边指向该顶点。入度可以帮助我们了解有多少个其他顶点可以直接到达该顶点。出度表示有多少条边从该顶点出发。出度可以帮助我们了解该顶点可以直接到达多少个其他顶点。

2023-05-14 19:16:25 56

原创 二叉树 博客摘录「 数据结构选择练习题(有解析)」2023年5月13日

平衡二叉树的要求更加严格。

2023-05-14 17:29:05 76

原创 线性表和队列 博客摘录「 数据结构选择练习题(有解析)」2023年5月13日

8、对顺序存储的线性表,设其长度为n,在任何位置上插入或删除操作都是等概率的,那么插入一个元素时平均要移动表中的( B )个元素。

2023-05-13 15:32:00 79

原创 博客摘录「 数据结构(C语言版) 第 八 章 排序 知识梳理 + 习题详解」2023年5月13日

2023-05-13 14:27:32 82

原创 博客摘录「 数据结构(C语言版) 第 五 章 树与二叉树 知识梳理 + 作业习题详解」2023年5月9日

以字符串的形式定义一棵二叉树的先序序列,若字符是‘#’, 表示该二叉树是空树,否则该字符是相应结点的数据元素。读入相应先序序列,建立二叉链式存储结构的二叉树,然后中序遍历该二叉树并输出结点数据。性质3:对于任何一棵二叉树,若2度的结点数有K个,则叶子数必定为K+1个。性质1:在二叉树的第i层上,最多有2的i-1次方个节点。性质2:深度为i的二叉树至多有2的i次方减1个节点,最少有i个节点。这些都是递归的算法,有非递归的算法,但是比较复杂,懒得去看了。树的层次遍历,这个也很重要,答案为A,根的高度为1。

2023-05-12 19:42:52 102

原创 博客摘录「 数据结构(C语言版) 第 三 章 栈与队列 知识梳理 + 作业习题详解」2023年5月8日

正常情况下,top和base都是从栈底开始,但是栈底一般都是地址低的那一边,这道题栈底是地址高的那一边,所以栈底地址从4开始,栈顶地址为0。队列:一般情况下,front和rear都在队列位置0的地方,因为队列时先入先出,所以入队是rear在改变,把这想象成排队买票,队头不动,队尾在改变。第三题是因为删除的可能是最后一个节点,此时头尾指针都要修改,而且根据队列实现方式的不同,在删除时可能要修改头指针或者尾指针中的一个。下面是入队和出队的算法,在入队和出队前,分别判断了队列是否满了和是否为空。

2023-05-09 14:50:46 227

原创 顺序表删除元素

2023-05-08 14:44:02 53

原创 博客摘录「 数据结构(C语言版) 第二章 线性表 知识梳理+作业习题详解」2023年5月8日

八、编程题。

2023-05-08 14:41:27 107 1

原创 博客摘录「 数据结构(C语言版) 第二章 线性表 知识梳理+作业习题详解」2023年5月8日

2023-05-08 14:19:49 78 1

原创 博客摘录「 数据结构(C语言版) 第二章 线性表 知识梳理+作业习题详解」2023年5月7日

5 . 线性表 L = ( a 1 , a 2 , . . . , a n ) L=(a_1, a_2, ..., a_n)L=(a 1​ ,a 2​ ,...,a n​ ) 用数组表示,假定删除表中任一元素的概率相同,则删除一个元素平均需要移动元素的 (n-1)/2。

2023-05-07 21:30:59 81

原创 博客摘录「 数据结构(C语言版) 第二章 线性表 知识梳理+作业习题详解」2023年5月7日

3.设一个链表最常用的操作是在末尾插入结点和删除尾结点,则选用( D)最节省时间。(2分)A单链表B单循环链表C带尾指针的单循环链表D带头结点的双循环链表。

2023-05-07 21:30:27 96 1

空空如也

空空如也

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

TA关注的人

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