- 博客(23)
- 资源 (3)
- 问答 (2)
- 收藏
- 关注
原创 C51延时函数delay的编写
例如,要写一个延迟10ms的delay函数:(12M晶振)void delay_10ms(){ unsigned char i,j,k; for(i=5;i>0;i--) { for(j=4;j>0;j--) { for(k=248;j>0;j--); }
2017-02-26 13:43:26 66315 5
原创 (C51学习五)单片机与PC通过串口通信
1.开发步骤2.串口模块3.SBUF是什么4.串口相应寄存器5.给定波特率求定时值6.代码实现1.开发步骤1.设置串口中断寄存器2.求出给定波特率对应的T1定时器初始值(因为传统的C51是用T1定时器产生波特率的)3.写程序2.串口模块什么是串口?串口就是COM口,串口是串行发送数据的,是一位位地发送数据位,常见的是9针串口。但在一般的C
2017-02-26 01:58:27 85111 33
原创 (C51学习四)外部中断和定时器中断
1.什么是中断2.中断有什么用3.双重功能的P3引脚4.8051的 中断体系5.中断特殊寄存器6.中断的优先级7.中断服务程序的编写8.外部中断实现代码1.什么是中断中断就是指CPU正在执行一项任务A,然后突然停止任务A去执行任务B,执行完任务B再回来继续执行任务A的过程。例如:你正在看电视,然后电话响了,你就停止看电视,跑去接电话,接完电话后由回来
2017-02-25 14:27:52 44096 10
原创 (C51学习三)按键
1.独立按键2.矩阵按键1.独立按键原理:独立按键比较简单,先在单片机开发板的配套资料中找出案件的原理图,如下图:以K1为例,当K1按下时,P3.4就相当于接地GND,所以当K1按下时,P3.4为低电平。即P3.4=0代码:下面写一个按下K1就亮起LED0灯:找出LED的原理图:可以发现LED0对应的引脚为P1.0#includes
2017-02-24 15:55:24 2769 4
原创 (C51学习二)点亮数码管
1.什么是数码管2.共阴极和共阳极3.段选和位选4.用锁存芯片74HC573实现位选1.什么是数码管如图所示,这是二位的数码管一个数码管,要有8个LED灯控制他显示是什么数字,7个LED控制数字,1个LED控制小数点。如上图2.共阴极和共阳极如上图,对于一个数码管,共阴极就是 组成数码管的二极管的阴极是连在一起的,想点亮数码管,就在单片机的对
2017-02-24 11:50:28 13512 4
原创 (C51学习一)如何点亮led灯
1.找出C51最小系统原理图2.找出LED模块原理图3.进行编程1.找出C51最小系统原理图在网上买的开发板,一定有光碟的,光碟中一定有原理图,先找出最小系统原理图,这个原理图标明了CPU的 I/O接口都接什么了。并且给I/O口都标上号2.找出LED模块原理图由下图可以看到,P1组I/O口的8个接口分别接着一个LED灯,并且当P1上的某个口为低电平时,L
2017-02-23 18:40:13 10231 3
原创 利用KEIL生成hex文件
0.C51单片机运行的文件1.建立工程2.创建文件并把文件加入工程中3.生成hex文件0.C51单片机运行的文件直接烧写进C51芯片的文件是HEX文件,所以要通过KEIL把源代码编译成HEX文件1.建立工程打开KEIL后,点解project(项目)中的New uVision Project:然后填写项目的名字并选择保存的地方:再选
2017-02-23 16:08:43 135310 10
原创 python常用结构数据类型
1.列表list2.元组tuple3.字典dict4.集合set1.列表list 列表特点: 1.列表用 [ ] 括住数据 2.列表内的数据允许重复 3.列表内的数据可以修改 4.列表允许用下标访问,例如 l = list[1,2,3],l[ 0 ] = 1; 5.列表支持加法和乘法运算
2017-02-22 20:34:48 1059
原创 (Mysql 七)InnoDB引擎的行锁和表锁
mysql常用引擎有MYISAM和InnoDB,而InnoDB是mysql默认的引擎。MYISAM不支持行锁,而InnoDB支持行锁和表锁。1.行锁和表锁2.行锁的类型3.行锁的实现1.行锁和表锁在mysql 的 InnoDB引擎支持行锁,与Oracle不同,mysql的行锁是通过索引加载的,即是行锁是加在索引响应的行上的,要是对应的SQL语句没有走索引
2017-02-22 00:32:01 21387 9
原创 (Mysql 六)事务
1.存储引擎的使用2.为什么用事务3.事务的特点4.脏读,幻读,可重复读和不可重复读5.隔离级别1.存储引擎的使用:mysql 中,存储引擎使用 InnoDB,对事务有良好的支持2.为什么用事务:事务是应用多多个用户使用数据库的情况的。以银行为例。有用户A要把500块钱转给用户B,那就存在几个步骤:1.检查A的账户是否多于500块钱。2.
2017-02-16 15:26:18 330
原创 MYSQL的创建用户,授权用户,删除用户,查看用户
1.查看用户2.创建用户3.授权用户4.删除用户5.设置与更改用户密码6.撤销用户权限1.查看用户查看用户并没有直接的SQL语句,而是进入 mysql数据库的user表(这个mysql库和user表都是一开始就有的),直接用 select * from user;来查看有什么用户由于在linux下比较难看,因为格式比较乱,所以我用了 SQLyog这个软件登陆
2017-02-15 15:51:26 78234 3
原创 (Mysql 五)触发器的使用
1.触发器的作用2.delimiter的作用 3.触发器的实现4.new 和 old 的使用1.触发器的作用:触发器用于操作一个表的时候同时能够操作另一个表。例如,在A表中,添加一个信息,然后同时自动在B表中添加相同的信息。 当然在A表中,添加数据时,同时自动在B表中删除数据也可以。反正就是只要 发生对A表指定的操作,就会触发设定好的对B表的操作。 这样做,
2017-02-13 17:52:21 384
原创 (Mysql 四)普通索引(BTREE索引)的使用
在mysql中,普通索引,也就是BTREE索引分两类,一个是单列索引 另一个是多列索引1.索引的作用:当一个数据表只有很少量的数据时,索引体现不了他的价值。但若是一个表有10w多的数据时,查找数据就要全表查找,最差要查找10w个数据,太慢了,若是用索引的话,就会大大减少时间,例如对 score字段做一个索引,索引会生成一个文件,查找数据就到索引文件中查找,由因为索引出来的数据是
2017-02-13 02:54:16 9063 2
原创 MYSQL 用 explain 语句判断select查询是否使用了索引
我有一个 zje 表我先用一个普通的 select语句,用explain解析,看看有什么显示:explain select * from zje;主要关注的是,type 和 key:type = ALL :表示全表扫描type = const :表示通过索引一次就找到了key = NULL:表示没有使用索引key = primary :表示使用了主键ke
2017-02-12 20:37:53 11907 2
原创 排序算法之堆排序
堆排序比一般的排序算法略为复杂。1.什么是二叉堆?2.如何用数组描述一个二叉堆?3.如果构建最大堆或最小堆4.构建好最大堆或最小堆后,对堆的排序1.什么是二叉堆?二叉堆是完全二叉树或近似完全二叉树。而且任何父节点的键值都大于等于(或小于等于)任何一点子节点的兼职。父节点键值大等于他的子节点的键值为最大堆,父节点键值小于等于他的子节点的键值为最小堆。如下图,是
2017-02-10 19:38:45 469
原创 排序算法之插入排序
插入排序就像是 打扑克牌时对牌的点数进行排序。假设要排序的数组有n+1个。a[0.....n ]插入排序先把待排序的数组分成两组,一组是已经排好序的,另一组是待排序的。一开始 a[0] 自成一组(暂时当排好序的组),然后在剩下的a[1.....n]中每次取一个元素出来跟排好序的组比较代码如下:#includevoid insert(int a[],int len){
2017-02-08 01:20:00 223
原创 排序算法之选择排序
选择排序核心思想 跟 冒泡排序差不多。冒泡排序做得比较多无用功,而选择排序相对较少。选择排序代码如下:#includevoid swap(int *a,int *b){ int t; t = *a; *a = *b; *b = t;}int main(){ int a[]={5,2,3,1,4}; int i,j,min,len; len = sizeo
2017-02-06 18:24:04 227
原创 C++类实现二叉树的构建和遍历
#include#include #include using namespace std;/*二叉树的结构体*/typedef struct BTree{ int val; struct BTree *left,*right; }BTree;/*二叉树的类,包含着操作二叉树的各种方法*/ class Tree{ public: BTree *create_node
2017-02-06 17:03:56 11970
原创 C++为什么要用引用而不是指针
我相信有很多刚学完C,再学C++的人都会有个疑惑,引用是干嘛的,为什么不用指针?首先,引用 跟 指针 在作用上没有太多区别,作用都是 当遇到较大的 对象(变量)作为函数的 形参 传递时,用引用或指针可以节省内存的开销,因为他不像按值传递那样,额外要创建临时变量。既然这样,那为什么C++要用引用呢?引用是一段内存的别名,引用的大小跟所代表的变量的大小是一样的,而指针他
2017-02-06 14:17:00 8598 3
原创 linux C 递归找出一个路径下的所有文件
#include #include #include #include #include #include void dir_oper(char const*path);int main(int argc, char const *argv[]){ char const*path = argv[1]; struct stat s_buf; /*获取文件信息,把信息放到s
2017-02-05 00:58:50 2536 1
原创 Linux C判断文件是否为目录或者是普通文件
主要函数: stat(),opendir(),readdir(),主要结构体:struct dirent 和 struct stat主要宏:S_ISDIR(), S_ISREG()函数 stat()用于获取一个文件路径的信息,并把获取到的信息放到结构体 struct stat 中函数 opendir()用于生成一个目录指针DIR函数readdir()用于读取目
2017-02-05 00:41:13 23741
原创 Linux C 两种方法实现复制拷贝文件
第一种方法:例如 linux 下的系统调用#include #include #include #include #include #include #include char buff[1024];int len;int main(int argc, char const *argv[]){ char const *src_path = argv[1]; char
2017-02-04 21:04:56 35558 5
原创 Python3爬虫(一)抓取网页的html
因为代码只有几行,所以可以先贴代码:import urllib.requesturl = r'http://douban.com'res = urllib.request.urlopen(url)html = res.read().decode('utf-8')print(html)第一行,导入 urllib库的request模块第二行,指定要抓取的网页url,必须以http
2017-02-03 18:28:11 45031 2
pytorch-FCN-easiest-demo-master.rar
2019-06-17
python3正则表达式匹配字符串时,能不能不匹配字符串中间的某个子字符串
2017-02-03
Linux平台C语言关于UDP广播的问题。
2017-01-05
TA创建的收藏夹 TA关注的收藏夹
TA关注的人