- 博客(15)
- 资源 (6)
- 收藏
- 关注
原创 定时/计数器的原理和应用
定时/计数器实质上是一个加1计数器,计数值是存在THX,TLX(X取0或1)这2个8位的寄存器里的.它随着计数器的输入脉冲进行自加1,也就是每来一个脉冲,计数器就自动加1,,当加到计数器为全1时,再输入一个脉冲就使计数器回零,且计数器的溢出使相应的中断标志位置1,向CPU发出中断请求(定时/计数器中断允许时)。如果定时/计数器工作于定时模式,则表示定时时间已到;如果工作于计数模式,则表示计...
2018-05-26 22:41:32 15221 2
原创 8*8点阵
8*8点阵相当于64个led。我的点阵的原理图如下:8行8列,每一行有一个行控制线,连着这一行的led的阳极,每一列也同样有一个 列控制线,连着这一列的led的阴极.然后第一行到第8行的行控制线分别通过D7到D0管脚接在75hc595的QH到QAio口,第一列到第8列的列控制线分别接在P07到P00io口。因此要控制点阵还需要用的74hc595芯片,,原理图如下我们只需通过mcuP34 P35 P...
2018-05-19 21:02:59 12876 6
原创 数码管动态显示
相当于是循环点亮第一个到最后一个数码管,不过循环速度很快,由于人眼的视觉暂留效果,所以我们看到的就是这8个数码管一直亮着,原理和看电影差不多#include<reg51.h>sbit lsa=P2^2;sbit lsb=P2^3;sbit lsc=P2^4;int zxm[]={0x7f,0x06,0x3f,0x5b,0x7f,0x06,0x3f,0x5b};void del...
2018-05-16 21:56:00 4320
原创 矩阵键盘+数码管动态显示
我把矩阵键盘和数码管动态显示综合起来写了个程序。这个代码的意思是在一开始8个数码管什么也不显示,因为p0的初始值是0x00,当我们按下矩阵按键里的按键时,8个数码管动态显示该按键的键值,直到按下了下一个按键,8个数码管显示的内容才可能改变。#include<reg52.h>//目的是每按下一个按键,8个数码管就动态显示对应的键值sbit lsa=P2^2;sbit lsb=P2^3...
2018-05-16 21:45:42 16227 7
原创 矩阵键盘的原理及应用
矩阵键盘原理图:第一行的行控制线接到p17,第二行的行控制线接到p16,第三行的行控制线接到p15,第4行的行控制线接到p14第一列的列控制线接到p13,第二列的列控制线接到p12,第三列的列控制线接到p11,第四列的列控制线接到p10矩阵键盘的原理和独立按键类似,另外我们可以把矩阵键盘的任意一行或一列作为一个独立键盘使用,假如我们把第一行作为独立键盘,那么我们只需要让P17输出高电平,其余7个i...
2018-05-16 11:55:24 55237 6
原创 中序线索化二叉树
#include<stdio.h>//A R # T # # Y E # # ##include<iostream>using namespace std;struct threadnode{ char v; int ltag,rtag; threadnode*ls,*rs;};// 定义pre为全局变量可以class thread...
2018-05-15 08:46:03 218
原创 设置算法将一棵以二叉链表存储到一个一维数组中
#include<stdio.h>#include<iostream>#include<queue>#include<stdlib.h>using namespace std;#define maxn 1000struct node{ char v; struct node*ls,*rs;}tree[maxn];//...
2018-05-13 23:48:58 2347 2
原创 哈夫曼树的创建及求wpl
注释很详细-1表示不存在#include<iostream>#include<stdio.h>#include<string.h>#include<queue>using namespace std;#define maxn 100struct node{ int v,f,ls,rs;}tree[4*maxn];int n...
2018-05-13 14:34:49 4395 4
原创 51单片机独立键盘原理
我这按键是机械弹性按键,所以具有弹性,按键在按下和松开的瞬间均伴随有一连串的抖动,键抖动会引起一次按键被误读多次,然后为了保证cpu对键的一次闭合仅作一次处理,所以我们必须去除抖动。去除抖动有2种,硬件消抖和软件消抖。其中一软件消抖最方便。所以我就以软件消抖为例。 独立按键的原理图和led的原理图如上,8个led的阳极都接了vcc(vcc认为是电源正极,gnd认为是电源负极),所以只需要l...
2018-05-11 00:41:06 16983
原创 hdu3085 Nightmare Ⅱ
Nightmare ⅡTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 3068 Accepted Submission(s): 874Problem DescriptionLast night, little erriyue had ...
2018-05-09 00:01:31 272
原创 复制一颗二叉树
和建树差不多,只不过节点的值不是手动输入了#include<stdio.h>#include<iostream>#include<queue>#include<stdlib.h>using namespace std;struct node{ char v; int num; int depth; stru...
2018-05-08 12:38:29 1911
原创 判断一颗二叉树是不是完全二叉树
还有一种特殊的完全二叉树就是叶子节点都在同一层的,如下图完全二叉树定义,若设二叉树的深度为h,除第 h 层外,其它各层 (1~h-1) 的结点数都达到最大个数,第 h 层所有的结点都连续集中在最左边,这就是完全二叉树。思路是:用bfs,一层一层的遍历二叉树的节点,一但遍历到空节点,那么不在往队列里加入节点了,遍历队列里的已有元素,若有一个不是空节点,那么就不是完全二叉树,若全是空节点那么就是完全二...
2018-05-08 12:36:06 9009 4
原创 求二叉树的深度及每一个节点的深度
思路:用dfs的方法求,节点的儿子若就是该节点的拓展方向。然后所有的叶子节点中,深度最大的叶子节点的深度就代表了这棵二叉树的深度。#include<stdio.h>#include<iostream>#include<stdlib.h>using namespace std;struct node{ char v; int num; ...
2018-05-08 11:56:15 8181 1
原创 2018年长沙理工大学第十三届程序设计竞赛 G 题:逃离迷宫
思路:一开始从起点开始bfs搜,每搜到一把钥匙对应的k[i][j]的值更新为起点到该钥匙的距离,没有搜到的钥匙则为初始值-1。然后再从终点开始一次bfs,搜到一把钥匙之后,先判断k[i][j]是否为-1,是的话说明无法从起点走到该钥匙位置,即通过这把钥匙从起点到终点是不可行的,那么继续向该位置的4个方向搜索,否的话说明从起点走到这把钥匙是有路的,且路长度存在k[i][j]里,那么k[i][j]+n...
2018-05-07 00:36:54 307
原创 线段树模板
#include<cstdio>#include<cstring>#include<algorithm>#include<queue>#include<cmath>using namespace std;#define maxn 100010long long sum[maxn<<2],add[maxn<...
2018-05-06 18:59:44 108
qpsk_AWGN.m
2019-12-24
基于matlab的QPSK系统仿真.doc
2019-12-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人