- 博客(53)
- 资源 (10)
- 收藏
- 关注
原创 51单片机HC-SR04超声波模块距离报警LCD1602显示距离例程
超声波模块就是那最常见的HC-SR04为了实用,不用每次断电后再设置距离,我后来又加了eeprom存储最新距离设定功能,自己做了个小东西又怕lcd焊接麻烦,所以把lcd代码都注释掉了,基本上应该取消注释就是带lcd显示了,保证能用,目前在用没出现问题//更新保存上次设置距离到eeprom 保存间隔为每5分钟保存一次 下次开启自动启用上次设置数据/******************...
2019-09-23 22:48:35
4832
2
原创 51单片机 STC89C52RC可用 自用DS18b20温度传感器库文件
不用再找什么例程了,直接可以在自己的代码中加两行代码就可以直接读取传感器温度了,注释的话基本是最详细了,看一眼就会用,看代码也很容易懂,就是自己做的库比较简陋,茅屋虽小,可以档风雨,砖瓦房虽破,只要有学区!18b20.h头文件#ifndef _18B20_H //如果没有定义_18B20_H,那么定义它 #define _18B20_Hextern void ds18b20_chan...
2019-09-19 10:50:42
3220
原创 51单片机HC-SR04超声波模块测距lcd1602显示例程
没啥多说的,超声波测试用,因为我一开始用89c52rc例程没准备用串口通信,所以我大多数都改成12M晶振,貌似有的时候计时能够更准一点,误差小点,虽然也没啥大用#include <reg52.h>#include <intrins.h> #include "delay.h"#include "lcd.h"//晶振是12M算法sbit Trig = P3^7;...
2019-09-19 10:43:56
5705
5
原创 51单片机 自用STC89C52RC lcd1602库文件 拿来就能用
别太讲究,只要三个IO口设置了就很好用,lcd1602接P0口,因为这个是自己做的库文件,很简单易懂,而且函数名字很好记的说使用方法main.c #include “lcd.h” 先初始化lcd_init();然后函数按照参数说明使用就行lcd.h文件#ifndef _LCD_H //如果没有定义__LCD_H,那么定义它 #define _LCD_Hsbit lcdrs=P2^5...
2019-09-19 10:36:09
3694
1
原创 51单片机ds18b20温度传感器库文件,可以直接拿来用
之前自己随便弄的,反正只要两个函数,很简单方便,需要读取温度只要先转换然后延迟,然后gettemp就行了下面是依赖的库delay延迟函数库,至于为什么有delay50us();delay200us();你们后面就知道了,还有delay库默认是12M晶振,11.0592也不影响,除非需要精确定时的情况,或者自己改下函数delay.h文件#ifndef _DELAY_H //如果没有定义_D...
2019-09-17 22:52:56
3722
原创 51单片机读取DS18b20温度传感器LCD1602显示例程
很久前测试过没问题,应该绝大部分来源于网络,供大家参考,后面会发简单的可以直接拿来用的自己瞎写的一看就明白的ds18b20库#include <reg52.h>#include <intrins.h>#define uint unsigned int#define uchar unsigned char#define delayNOP() {_nop_();_no...
2019-09-17 22:43:07
9121
2
原创 51单片机LCD1602显示电子时钟 带按键设置和星期显示
当时看书看到lcd那章,就想利用定时器做一个电子时钟,当时也不知道有时钟模块的,以为都是定时器定时产生的时间,也是一个main文件从头到尾的版本,注释倒不少,不要说什么代码优化,想到什么就写什么,业余的就是可以随便写,所以思路肯定比别人的清楚明白,随便谁都看得懂#include <reg52.h>#include <string.h>#define uchar u...
2019-09-16 21:03:12
10182
12
原创 配置Visual Studio Code用作51单片机C51代码编辑器,替代KeilC编辑代码事半功倍!
用keilC写代码写了差不多一个月,真是造了什么孽啊,当时以为没有办法,现在写多了越写越垃圾,毕竟也是见过世面的,好多年以前还用过vs写过代码的,实在受不了了,然后了解下大家写代码都用什么IDE。 发现vscode真是身材小,界面漂亮,编辑方便,各种功能添加很给力,虽然没人发用来编译的配置,但是用来写代码足够了,推荐给还在keilC里苦战的兄弟。(PS:keilC C51版本不支持代码自动补全!...
2019-09-15 22:19:41
17295
3
原创 51单片机keilC软件安装和开发板 学习板串口驱动下载及安装 使用
这里写自定义目录标题keilC碰到的问题软件下载安装软件使用开发板问题开发板选择驱动问题其他keilC碰到的问题软件下载安装1.一开始不知道keilC居然还有两个版本,下了个keil4和keil5都是ARM开发板的,结果研究了好一会儿才搞明白怎么用ARM版本编译,具体就是下载个C51的目录文件压缩包放到keilC目录下,然后修改下TOOLS.INI里面的内容[C51]PATH=“C:\K...
2019-09-07 21:50:09
9651
转载 <string>头文件
string构造函数string s 生成一个空字符串sstring s(str) 拷贝构造函数,生成str对象的复制品string s(str,stridx) 将字符串str对象内"始于位置stridx"的部分当作字符串的初值string s(str,stridx,strlen) 将字符串str对象始于stridx且最长为strlen部分作为字符串的初值strin
2014-10-11 13:04:11
540
转载 STL算法概述
STL算法概述简介:STL算法部分主要由头文件,,组成。要使用 STL中的算法函数必须包含头文件,对于数值算法须包含,中则定义了一些模板类,用来声明函数对象注意:编译器无法检测出所传递的迭代器是一个无效形式的迭代器,当然也无法给出算法函数错误的提示,因为迭代器并不是真实的类别,它只是传递给函数模板的一种参数格式而已STL中算法分类:操作对象直
2014-10-11 13:02:22
439
转载 STL 概述
STL概述STL头文件和容器类#include Container Class deque list map, multimap queue, priority_queue set, multiset stack vector相关重
2014-10-11 13:01:20
352
转载 <climits>头文件
头文件定义的符号常量CHAR_MIN char的最小值SCHAR_MAX signed char 最大值SCHAR_MIN signed char 最小值UCHAR_MAX unsigned char 最大值SHRT_MAX short 最大值SHRT_MIN short 最小值USHRT_MAX
2014-10-11 13:01:15
416
转载 STL 容器
vector模板函数表简介vector对象是stl提供最简单,也是最常用的容器模板之一它与数组之间的相似性在于提供了对序列中的元素进行随机访问,但是与传统的数组不同之处在于vector对象在运行时候可以动态的改变自身的大小以便容纳任何数目的元素,它提供了对数组元素的快速随机访问,以及在序列尾部快速插入和删除操作,当然它也支持在序列中的其他地方插入和删除元素,但是这时效率会有所降低.
2014-10-11 12:59:24
330
转载 <cmath>头文件
ceil (x) x取整为不小于x的最小整数值cos(x) x(x弧度)的余弦值fabs(x) x的绝对值floor(x) x取整为不大于x的最大整数值fmod(x,y) x/y的浮点余数值log(x) x(底数为e)的自然对数值log10(x) x(底数为10)的自然对数值pow(
2014-10-11 12:58:33
766
转载 <ctype>头文件
函数 isalpha原型: int isalpha(int ch);返回值: 检查 ch 是否是字母.返回值: 是字母返回非 0 ,否则返回 0 函数 iscntrl原型: int iscntrl(int ch);返回值: 检查 ch 是否控制字符(其 ASCII 码在 0x00 到 0x1F 之间).返回值: 是返回非 0,否则返回 0.函数 isdigit原型:
2014-10-11 12:57:55
989
转载 <ctime>头文件
“时间”和“日期”的概念 Coordinated Universal Time(UTC):协调世界时,又称为世界标准时间,也就是大家所熟知的格林威治标准时间(Greenwich Mean Time,GMT).比如,中国内地的时间与UTC的时差为+8,也就是UTC+8.美国是UTC-5Calendar Time:日历时间:是用“从一个标准时间点到此时的时间经过的秒数”来表示的
2014-10-11 12:57:25
557
转载 <cstdlib>头文件
字符串转整形形式: char *_itoa( int value, char *string, int radix );参数:value 表示需要被转换的整形值string 表示转换后字符串被存放的地址radix 表示被转换成几进制字符串转成 double 型形式: double atof( const char *string );参数: string 表示需要被
2014-10-11 12:55:19
1231
转载 <cstring>头文件
函数 strcpy原型: char* strcpy (char *s1, const char *s2);作用: 将字符串 2 复制到字符数组 1 当中去说明:字符数组 1 的长度应不小于字符串2的长度"字符数组 1" 必须写成数组名形式,"字符串 2" 可以为字符数组名,也可以是一个字符串常量在未对字符数组 1 赋初值时,复制时将 "字符串 2" 中的字符串和其后的 "/0" 一
2014-10-11 12:34:32
942
原创 c++内置类型的默认初始化
内置类型是编程语言自己定义的一些类型在C++中内置类型有:整型:①整数 int、short和long②字符型 char和wchar_t③布尔型 bool整型可用修饰:unsigned浮点:float、double和long double
2014-10-10 14:45:15
4418
转载 函数参数列表后的const关键字
该const用来修饰类的成员函数,类的设计者通常把成员函数声明为const,以表示它们不修改类对象。a、const成员函数不可以修改类中的数据成员(mutable修饰的除外),编译时将进行检查,若const成员函数修改了类的数据成员,则无法通过编译;b、声明为const的类对象,只能访问const成员函数,而非const的类对象可以访问任意的成员函数,包括const成员函数;c、对于一
2014-10-10 10:12:37
774
转载 C++ getline的使用
C++ getline的使用分类: C++2014-02-24 13:54 1709人阅读 评论(1) 收藏 举报getline(istream &in, string &s)从输入流读入一行到string s•功能:–从输入流中读入字符,存到string变量–直到出现以下情况为止:•读入了文件结束标志•读到一个新行•达到字符串的最大长度
2014-10-07 20:17:23
499
转载 计算表达式的值c++逆波兰式实现方法
#include//栈容器的头文件#include#include //数学 头文件 次方函数using namespace std;int Precedence(char op)//运算符优先级判断{ switch(op) { case '+': case '-': return 1; //定义加减运算的优先级为1 case '*': case '/': ret
2014-10-05 22:10:51
6394
原创 C++primer第5版课后练习习题答案7.23
#include #include #include #include using namespace std;class Screen{public: //friend void clear(Screen & sc); friend class Window_mgr; typedef string::size_type pos; Screen & movCursor(pos
2014-10-05 22:07:57
672
原创 C++primer第5版课后练习习题答案9.52
#include #include using namespace std;int jisuan(string & str){ char op; int in2,isum; auto pos=str.find_first_not_of("0123456789"); string sn; isum=stoi(str.substr(0,pos)); cerr<<"isum"<<is
2014-10-05 22:06:24
805
原创 C++primer第5版课后练习习题答案9.51
#include #include using namespace std;unsigned getmonth(const string & smonth);class cdate{public : friend void print_cdate(cdate & cd) { cout<<cd.year<<"年"<<cd.month<<"月"<<cd.day<<"日"<<endl
2014-10-05 22:05:06
779
原创 C++primer第5版课后练习习题答案9.47
#include #include #include #include #include using namespace std;int main(){ string str="ab2c3d7R4E6",str2="0123456789"; string::size_type pos=0; while((pos=str.find_first_of(str2,pos))!=str
2014-10-05 22:04:22
776
原创 C++primer第5版课后练习习题答案9.26
#include #include #include #include #include #include using namespace std;int main(){ int ia[]={0,1,1,2,3,5,8,13,21,55,89}; vector ivec(ia,ia+11); list ilist(ia,ia+11); while (iter!=i
2014-10-05 22:01:21
733
原创 C++primer第5版课后练习习题答案9.28
#include #include #include #include #include #include using namespace std;bool fliststr(forward_list &flstr, string str1, string str2){ auto prev = flstr.before_begin(); auto curr = flstr.b
2014-10-05 22:00:59
593
原创 C++primer第5版课后练习习题答案 9.20
#include #include #include using namespace std;int main(){ list ilist; deque ideque1,ideque2; int ival; cout<<"输入n个数字 :"<<endl; while(cin>>ival) ilist.push_back(ival); auto ibegin=ilis
2014-10-05 21:59:28
785
原创 C++primer第5版课后练习习题答案9.5
#include #include #include using namespace std;vector::const_iterator& getval(vector::const_iterator& ibegin, vector::const_iterator& iend, int val){ while (ibegin != iend) { if (*ibegin == v
2014-10-05 21:57:10
768
原创 C++primer第5版课后练习习题答案9.16
#include #include #include #include #include #include using namespace std;bool comparelv(list & lint, vector & vint){ auto ibegin=lint.begin(); auto vbegin=vint.begin(); if (vint.size() ==
2014-10-05 21:57:02
526
原创 C++primer第5版课后练习习题答案 9.4
#include #include #include using namespace std;bool getval( vector::iterator& ibegin,vector::iterator& iend, int val){ while (ibegin!=iend) { if(*ibegin==val) return true; ++ibegin; }
2014-10-05 21:55:52
743
转载 c++中vector的用法详解
vector(向量): C++中的一种数据结构,确切的说是一个类.它相当于一个动态的数组,当程序员无法知道自己需要的数组的规模多大时,用其来解决问题可以达到最大节约空间的目的. 用法: 1.文件包含: 首先在程序开头处加上#include以包含所需要的类文件vector 还有一定要加上using name
2014-10-05 20:43:02
249
转载 C++中string erase函数的使用
erase函数的原型如下:(1)string& erase ( size_t pos = 0, size_t n = npos );(2)iterator erase ( iterator position );(3)iterator erase ( iterator first, iterator last );也就是说有三种用法:(1)erase(pos,n); 删除从pos开始的n个
2014-10-05 19:14:54
364
转载 标准C++中的string类的用法总结
相信使用过MFC编程的朋友对CString这个类的印象应该非常深刻吧?的确,MFC中的CString类使用起来真的非常的方便好用。但是如果离开了MFC框架,还有没有这样使用起来非常方便的类呢?答案是肯定的。也许有人会说,即使不用MFC框架,也可以想办法使用MFC中的API,具体的操作方法在本文最后给出操作方法。其实,可能很多人很可能会忽略掉标准C++中string类的使用。标准C++中提供的str
2014-10-05 19:04:54
188
转载 accumulate与自定义数据类型
C++ STL中有一个通用的数值类型计算函数— accumulate(),可以用来直接计算数组或者容器中C++内置数据类型,例如:[html] view plaincopy#include numeric> int arr[]={10,20,30,40,50}; vectorint> va(&arr[0],&arr[5]); int
2014-09-29 13:28:07
968
转载 c++输出缓冲区刷新
在c++中,io操作都是有io对象来实现的,每个io对象又管理一个缓冲区,用于存储程序读写的数据。只有缓冲区被刷新的时候缓冲区中的内容才会写入真实的文件或输出设备上。那么,什么情况下会刷新输出缓冲区呢,有如下五种情况:1.程序正常结束。作为main返回工作的一部分,将清空所有的输出缓冲区。2.在一些不确定的时候,缓冲区可能已经满了,在这种情况下,缓冲区将会在写下一个
2014-09-28 21:38:13
3855
转载 C++ 构造函数,析构函数,全局变量
/** * 书本:【ThinkingInC++】 * 功能:构造函数,析构函数,全局变量 * 时间:2014年9月17日18:07:43 * 作者:cutter_point */ #include using namespace std; ofstream out("statdest.txt"); class Obj
2014-09-28 20:37:49
680
c++primer 第五版 Lippman著 第12章 课后习题答案 下
2015-09-19
c++primer 第五版 Lippman 第12章 课后习题答案 上
2015-09-19
c++primer 第五版 第8章 课后习题答案
2015-09-19
c++primer 第五版第11章 课后习题答案
2015-09-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人