
lqb
开天辟地之大菠萝三
硬件不整
展开
-
51单片机实现智能手表(秒表功能、读取温度、显示和修改时间日期、设置闹钟、显示星期)
智能手表项目说明硬件设计温度传感器计算温度读取温度软件设计temp.h项目说明用普中51和keil uVision4实现智能手表,功能包括:显示秒表、时间、日期、星期、设置闹钟,读取温度,指示灯亮等。综合的实验主要有独立按键、指示灯亮、温度传感器、定时器、动态数码管显示、蜂鸣器实验,其中本篇博文重要讲解定时器和温度传感器实验,其他结合的实验比较简单,自行查阅资料即可明白。硬件设计温度传感器这个项目我用的是精度较高的外部 DS18B20 数字温度传感器,由于此传感器是单总线接口,所以需要使用 51原创 2020-07-01 17:31:39 · 9277 阅读 · 5 评论 -
一文搞定图的存储表示及DFS(无向图、有向图、网的邻接矩阵及邻接表)
目录图存储表示邻接矩阵邻接表图图是由顶点的有穷集合V(G)和边的有穷集合E(G)组成的,用G=(V,E)表示图,是多对多关系,其中分为有向图和无向图,带权图又被称为网。存储表示图常用的存储表示----------邻接矩阵法和邻接表法。邻接矩阵图有N个顶点,那么这个图的邻接矩阵是一个N*N的二维数组。代码中设置两点没边,则这两点对应的二维数组值为0,其他有边的两点看是否为带权图,是则二维数组值就为两点的权值,不是则用一个特定的数字来代表这两点有边,当然还要判断这个图是有向图还是无向图了,具体实现看原创 2020-06-19 21:12:11 · 1758 阅读 · 1 评论 -
51单片机制作简易计算器(动态数码管、矩阵按键)
简易计算器实验说明硬件设计动态数码管介绍矩阵按键介绍行列扫描线翻转法硬件实物连接软件设计`AC代码:`实验现象实验说明利用51单片机和keil uVision4共同完成通过按键来控制8位共阴数码管显示数据,并且通过按键来完成连续的加减乘除运算,文章中还有实物连接图。硬件设计动态数码管介绍多位数码管,即是两个或两个以上单个数码管并列集中在一起形成一体的数码管。当多位一体时,它们内部的公共端是独立的,而负责显示什么数字的段线全部是连接在一起的,独立的公共端可以控制多位一体中的哪一位数码管点亮,而连接在原创 2020-06-10 15:58:04 · 47174 阅读 · 52 评论 -
循环队列实现杨辉三角形
最近在上数据结构与算法,期末老师要求同学抽问题,然后写这个算法问题的实验报告;其中就包含了用队列来实现杨辉三角形,这里就先提前练下手,万一运气好我就刚好抽到这个呢了(好了,不开玩笑了,进入正题吧)算法思想:首先先创建一个循环队列:typedef struct sq{ int a[MAXSIZE];//队列元素空间 int front,rear;//队头和队尾指针}*SeqQue;SeqQue InitQue(){ SeqQue q; q=(SeqQue)malloc(sizeof原创 2020-05-28 22:57:09 · 3697 阅读 · 1 评论 -
转换逆波兰式(栈的应用)
栈的应用:表达式求值学完栈后,就可以利用栈来计算表达式了:我们输入的是中缀表达式,首先我们要把它转换成逆波兰式(后缀表达式):思想:从左到右依次扫描中缀表达式:1.是操作数,直接输出;2.是’(’,入栈;3.是’)’,取出栈顶元素放入逆波兰式,直到栈顶元素为’('时为止;4.是操作符,与栈顶元素比较(高于栈顶元素优先级,入栈;低于栈顶元素优先级,取出栈顶元素放入逆波兰式,弹出栈顶元素,直到栈顶元素优先级低于当前操作符的优先级)。涉及到的操作符优先级关系:* = / > + = - &原创 2020-05-23 22:26:20 · 702 阅读 · 2 评论 -
最长滑雪道(递归 dfs dp)
问题描述滑雪区域由一个二维数组给出。数组的每个数字代表点的高度。如下:一个人可以从某个点滑向上下左右相邻四个点之一,当且仅当高度减小。在上面的例子中,一条可滑行的滑坡为24-17-16-1。当然25-24-23-…-3-2-1更长。事实上,这是最长的一条。你的任务就是找到最长的一条滑坡,并且将滑坡的长度输出。 滑坡的长度定义为经过点的个数,例如滑坡24-17-16-1的长度是4。递归+dfs思想:首先一个点要向上下左右四个方向移动,就可以定义两个一维数组(也可以是一个二维数组)来组成这四个方向:原创 2020-05-20 00:48:12 · 1031 阅读 · 3 评论