2.2.2-电阻丨电容丨二极管丨三极管 - 基础知识
电阻(Resistor)
贴片电阻的识别方法(两种):
三位:它的第一位和第二位为有效数字,第三位表示在有效数字后面所加“0”的个数.这一位不会出现字母。
例如:“472”表示“4700Ω”;“151”表示“150”
四位:前三位表示有效数字,第4位表示在有效数字后面所加“0”的个数。
例如:“2702”表示27000Ω=27kΩ
电容
电容器在调谐、旁路、耦合、滤波等电路中起着重要的作用。
在直流电路中,电容器是相当于断路的。电容器是一种能够储藏电荷的元件,也是最常用的电子元件之一(通交流 隔直流)。
二极管
判别正、负电极
观察外壳上的符号标记。通常在二极管的外壳上标有二极管的符号,带有三角形箭头的一端为正极,另一端是负极。
观察外壳上的色点。在点接触二极管的外壳上,通常标有极性色点(白色或红色)。一般标有色点的一端即为正极。还有的二极管上标有色环,带色环的一端则为负极。
以阻值较小的一次测量为准,黑表笔所接的一端为正极,红表笔所接的一端则为负极。
观察二极管外壳,带有银色带一端为负极。
分类
发光二极管、光电二极管、稳压管、面接触型二极管、点接触型二极管…
(肖特 ...
2.2.1-交流电丨直流电
交流电(Alternating Current, 简称AC)
家用单相交流电,工业用三相交流电,每一相有效值都为220V,峰值为311V,震荡频率为50hz,每两相之间的相位差为π3\frac{π}{3}3π。
直流电(Direct Current,简称DC)
电子产品中大多数为弱电,且为直流电。锂电池,输出电压3.7V。
一般不会自己设计电源模块,直接购买合适的成品模块更节约成本。
直流电与交流电的关系:
在电源正常工作期间,恒定直流电 的电压大小和方向都不随时间的变化而变化,比如干电池。
在电源正常工作期间,脉动直流电 的电压方向不变,但大小随时间变化。比如:50Hz的交流电经过二极管整流后得到的就是典型脉动直流电,半波整流得到的是50Hz的脉动直流电,如果是全波或桥式整流得到的就是100Hz的脉动直流电,它们只有经过滤波(用电感或电容)以后才变成平滑直流电,当然其中仍存在脉动成分(称纹波系数),大小视滤波电路的滤波效果。
2.1.2.7-C语言数组和多维数组的定义与赋值以及code、const关键字的使用
数组
数组的定义
指存储一个固定大小的、类型相同的顺序集合。数组用来存储一组类型相同的变量。
数组的语法结构
数组定义语句的基本结构:
1datatype arrayName[length];
各部分定义:
123datatype // 数据类型arrayName // 数组名称length // 数组长度,不能为变量
例:
1char l602Dat[16];
定义与初始化数组的方法
方法1:
1char unm[10]={0,1,2,3,4,5,6,7,8,9};
方法2:
1char unm[]={0,1,2,3,4,5,6,7,8,9};
在单片机程序中还有最常见的一种定义,是keil特有的关键字,对数组进行了修饰。
例:char code str[7]=”LCD1602”;
加了code之后,变量存储到ROM FLASH中;若没有code,则变量存储到RAM中。
变量存储在ROM和RAM的区别:写入到ROM中的变量不可在程序运行过程中发生改变,而存放在RAM中的变量可以随着程序的运行不断改变。
由于单片机追求 ...
2.1.2.6-C语言条件预编译命令(#if-#ifdef-#ifndef)
条件编译命令最主要还是在工程头文件中使用,主要是是属于硬件层的代码。
#if语句的语法结构
语法结构:
123456789#if 表达式1 // 程序代码块1#elif 表达式2 // 程序代码块2#elif 表达式3 // 程序代码块3#else // 程序代码块4#endif
注意:表达式必须为一个整数型常量
#if 表达式1
若表达式1为真,则执行程序代码1;若为假,则不执行代码1 ,同时跳转到elif,去判断表达式2是否为真。若没有#elif,直接跳转到#else。若没有#else,直接跳转到#endif。
#elif 表达式2
若#if条件判断为假,则跳转到本语句,需要判断表达式2是否为真,若为真,则执行程序代码块2;若为假,则跳转到下面的语句继续判断。
#else
若以上的表达式皆假,则执行#else包含的程序代码块。
#endif
和#if是配套使用的,不能省略。
(#if-#elif-#else-#endif)代码示例
1234567891011121314151617#include <stdio.h>#define O ...
2.1.2.5-C语言#include-sfr-sbit关键字用法
include关键字用法
12345#include // 包含一个源代码文件的头文件#include <文件名> // 如果需要包含标准库头文件或者实现版本所提供的头文件#include “文件名” // 如果需要包含针对程序所开发的源文件#include <math.h>#include “myfile.h”
使用尖括号< >和双引号" "的区别在于头文件的搜索路径不同:
使用尖括号< >,编译器会到系统路径下查找头文件;
使用双引号" ",编译器首先在当前目录下查找头文件,如果没有找到,再到系统路径下查找。
系统路径:在开发软件的INC文件夹中
tip:双引号" “比尖括号< >功能更加强大,可以导入工程中的其他函数,但是一般来讲我们会使用”"引用自己的函数,而用<>引用官方库函数,提升代码可读性。
sfr关键字用法(特殊功能寄存器sfr)
写程序的过程就是对特殊功能寄存器赋值,sfr 定义特殊功能寄存器中的字节 ...
2.1.2.4-C语言函数的定义及调用
C语言函数的定义及调用
函数语法结构:
1234返回参数变量类型 函数名(参数声明){ // 函数体}
返回参数变量类型:char/unsigned char/int/unsigned int/float/double/…
定义主函数不要使用void,要用int,最后加上return 0。
函数名:英文字母或者下划线开头,可由英文字母、下划线和数字组成。
参数声明:可以说多个参数,也可以是无参数(void)
例1:
123456void Delay_1ms(void) // 简单的延时函数,但因为没有指定单片机型号,所以i的大小并不准确{ unsigned int i; i = 1000; while(i--);}
例2:
12345int readkey(void) // int函数示例{ unsigned char KeyValue; return KeyValue;}
例3:
12345678void Delay_ms(unsigned int sec){ ...
2.1.2.3-C语言中常见语句的用法以及流程图的绘制
常见语句的用法
C语言if语句格式用法
例1:
1234if(条件表达式){ // 语句1}
条件表达式成立 -> 为真 1 -> 可运行语句1
条件表达式不成立 -> 为假 0 -> 不能运行语句1
例2:
12345678if(条件表达式){ // 语句1}else{ // 语句2}
应用实例:实现门磁开门检测
C语言while语句用法
while语句格式1(先判断再执行)
1234while(表达式){ // 语句1};
基本规则: 表达式如果成立 -> 为真 1 -> 执行语句1。
通常用法: 表达式如果成立 -> 为真 1 -> 一直循环:while(1)
用于单片机的任务轮询,在语句1中加入需要调用的任务列表(即任务函数),那么单片机就会轮流运行任务。
while语句格式2(先执行再判断)
1234do{// 语句1}while(表达式 ...
2.1.2.2-C语言中运算符的定义与应用
C语言算数运算符
运算符
名称
+
加法运算符
-
减法运算符
*
乘法运算符
/
除法运算符
%
求余运算符
++
自增运算符
–
自减运算符
a和a的不同:
1a++是先参与运算再自增,++a反之。
C语言关系运算符
运算符
名称
备注
>
大于
<
小于
>=
大于等于
常见错误:=>
<=
小于等于
常见错误:=<
==
等于
!=
不等于
特别说明:
12= 表示的是赋值== 判断功能
关系运算符的使用
在关系运算中,0为假,其他数字都为真。
一般情况下配合if语句使用
1234if(关系运算符的表达式){ //语句1}
如果关系运算符为真 则执行语句1
关系运算符的表达式成立 -> 运算结果为真 -> 返回1 -> 执行语句1
关系运算符的表达式不成立 -> 运算结果为假 -> 返回0 -> 不执行语句1
有时也在while语句中使用
1 ...
2.1.2.1-C语言中变量的定义与应用
变量的概念
变量(官方定义):是用来存储单片机/计算机系统中 计算的过程或结果数值的一个抽象概念
变量:就是一种在程序执行过程中其值不断变化的量。
常量:就是其定义之后数值不会变化的量
变量的数据类型
类型
适用范围
定义方法
布尔型
(bool)1-真 0-假
常用bit ,用bool和bit都能定义。
字符型
1byte,8个bit
char
整数型
整数型与字符型存储的数据长度不一样
int、short、long
浮点型
小数
float、double
不同单片机中不同的数据类型所对应的位数也有所不同。
在stm32中,short为16bit,int和long为32bit。
对于有符号的数据类型,最高位表示正负,1为负,0为正。
单片机变量定义及其范围:
数据类型
关键字
所占位数
表示数的范围
无符号字符型
unsigned char
8
0 ~ 255
有符号字符型
char
8
-128 ~ 127
无符号整型
unsigned int
16
0 ~ 65535
有符号整型
int
16
-32768 ~ 32 ...
2.1.1.1-单片机基本理解
很长一段时间以来在word上记了一些笔记,但却一直没能回头复习。再三斟酌,决定将笔记以博客的形式写出来,并借此机会对所学内容进行一次复习,我想应该不用太多时间就能搬运完。
C语言基础将从单片机开始写,直接学习C语言未免过于乏味,但如果通过C语言在单片机上的应用来间接学习C语言,就能让理论与实际充分结合,达到事半功倍的效果。
单片机可以做什么
单片机:CPU、存储器、IO接口、定时器集成到一个硅片上,具有小而完整的微型计算机系统。
单片机使用灵活,经过二次硬件和软件开发,实现不同功能,满足不同需求。
硬件工程师:根据单片机资源设计硬件电路、原理图设计、PCB绘制、硬件功能调试。
软件工程师:单片机C语言基础、程序开发环境、程序的烧录、软件功能调试与测试。
单片机资源有哪些
STC15W104接口资源介绍:
名称
资源数量或大小
资源作用
工作电压
2.4-5.5V
程序空间(FLASH ROM)
4K=4096bytes
用于存储单片机代码(code)
SRAM
128bytes
用来存储单片机代码中的变量(变量的定义不能大于128字节)
EEPROM
1 ...