登录  | 立即注册

游客您好!登录后享受更多精彩

扫一扫,访问微社区

QQ登录

只需一步,快速开始

开启左侧

[寒假笔记] 寒假学习笔记

[复制链接]
发表于 2018-1-24 12:50:10 | 显示全部楼层 |阅读模式
学习笔记
学习科目: C语言基础以及单片机基础
学习安排: 跟随着学姐学长的学习,本人对C以及单片机已经有了一个小小的印象,但这也仅仅只是印象。所以本人准备利用寒假的时间,结合《C程序设计》这本书以及“51自学网”中51单片机的课程来真正的去打好学习基础,真正的去接触它们。
开始时间: 2018-01-24
结束时间:
本帖最后由 邓湘帅 于 2018-2-10 23:48 编辑

第一次更

     第一次更并不写些什么东西,先来试试怎么发帖,怎么续更,第二更再上干货。Fighing!
第二次更
     但愿这次不会未保存。下面步入正题:
1. 学习单片机的四个步骤:① 鹦鹉学舌,② 照葫芦画瓢,③ 他山之石,可以攻玉,④ 理论实践结合,温故知新。意思显而易见。
2.
     
解释:
     单片机内部三大资源:FLASH(程序储存空间,也就是所谓的ROM,其具有断电数据不丢失以及有限次写入的特点)、RAM(也就是内存,它具有断电后数据丢失,读写速度快以及可无限次写入的特点)、SFR(是指特殊功能寄存器,本人现对其不很了解,放在后面细说)。
     单片机最小系统包括电源电路,晶振电路以及复位电路。其中复位电路有上电复位,手动复位,程序自动复位三种复位方式。
  
     晶振电路:晶振电路中一个重要的东西就是晶振,晶振有很多种,比如11.0592MHZ,12MHZ,24MHZ,32MHZ等。拿12MHZ晶振来说,12MHZ就是它的振荡周期,也称时钟周期。这就要引出单片机的那几个周期,有振荡周期,状态周期,机器周期,指令周期。(这几个周期的解释本人有疑问,暂不说明)
     发光二极管:即我们常见的LED小灯,一般来说它的工作电流为1—20mA,在电流为1—5mA时小灯亮度随电流的增大逐渐增大,5—20mA时,小灯达到最大亮度,当电流超过20mA时,小灯烧坏。但具体数据还需以实际测量为准。小灯工作时一般都要串联电阻,电阻阻值大小需依据实际情况计算。(附发光二极管正负极判断方法:① 引脚,长正短负,② 灯帽内部有两金属片,大的位负,小的为正)
     以单片机驱动一个小灯为例,将小灯与电阻串联,一端接正极VCC,另一端接单片机引脚(也成为IO口,IO口即单片机输入与输出的接口,即引脚),当单片机该引脚输出为高电平,也就是输出为1时,小灯不亮,当单片机该引脚输出为低电平,也就是输出为0时,小灯亮。由此可推知,单片机就是通过控制各个引脚的高低电平的转换来达到控制元器件工作的目的,单片机引脚越多,控制的东西也越复杂,控制难度也增大。
(......第二更就到这里,中午没更上,下班回来补更,但这样一来学习的时间就挤没了,真是失误,现在唯一的感觉就是累累累!唉,坚持!加油!另外如果有哪位同学想要设计图片或者设计WordPPT什么的,可以找我要QQ,本人免费帮忙,本人是本着帮助他人提升自我的目标去的,定会倾心倾力去做好!)
第三次更
常用元器件的基本特性
1. 电阻(Resister)
符号:
常用单位:mΩ(毫欧)、Ω(欧姆)、kΩ(千欧)、MΩ(兆欧)。单位转换  10^-3  。
用途:限流(用LED小灯时需串联一适当阻值电阻以保证小灯不被烧坏)、分流、分压、将电能转化为内能(不严谨的可以认为是一种热能)。
常见:金属膜电阻、碳膜电阻、贴片电阻、排阻。
2. 电容()
符号:左侧无极性,右侧有极性。
常用单位:pF(皮法)、nF(纳法)、uF(微法)、mF(毫法)、F(法拉)。单位转换  10^-3 。
用途:隔直通交(隔直流,通交流)、储能。
种类:独石电容、钽质电容、陶瓷电容、聚酯电容、电解电容。
3. 半导体
     某原子核外最外层电子数目为4个,其处在一种既能够吸纳电子从而达到负极性又能丢掉电子从而达到正极性的状态,这种材料称为半导体材料,其导电特性介于导体与半导体之间。常见半导体有硅(Si)、锗(Ge)。某种半导体利用掺杂工艺,掺杂上一种材料,使其处于正极性,便形成P型半导体,反之则为N型半导体。两种不同类型半导体接在一起,便形成了PN结,这是半导体最简单存在形式,再将P和N两端各引出一段导线,再经封装工艺,便形成了二极管。
4. 二极管(Diode)
符号:
特性:隔直通交、反向截止。
正向电压:硅管0.7V,锗管0.3V。
分类:LED(Light Emitting Diode ,发光二极管,电子以光的形式散发)、稳压二极管(也称齐纳二极管,此元器件电压在各种电路中都一样,利用二极管反向截止特性制造)、肖特基二极管。
第四次更
这几天加班,一直加到过完年了,就把这几天学的C语言先总结一下吧,希望有人会回复我一起讨论。
     个人认为,C语言中的那些关键字是十分重要的,学C语言,首先要弄明白这些个关键字的意义,用法,至少也要先了解。
一 . C语言关键字(32个)。
     auto  const  default  enum  extern  struct  union  volatile  break  case  char  continue  do  double  else  float  for  goto  if  int  long  register  return  short  signed  (size of)  static  switch  typedef  unsigned  void  while
二 . 关键字的解读。
     在解读之前,大家需要明白,变量是什么,个人简单理解,变量就是一个临时存放数据的单元,也就是一块内存区的内存。然后1字节(byte)是8位(bits),由0x开头的字符串代表16进制,由0b开头的字符串代表2进制。
     首先从与数据类型有关的关键字开始。
1. char:声明字符型变量或者函数,提供8位(bits)1字节(byte)内存。比如
char name;
这里面name是一个随便取的名字,其自动存入某区域并对其命名为name,此后name便为该地址中所存储的数据。
2. int:声明整型变量或者函数(这里的整型变量就是是整数的数),提供16位2字节内存。比如
int name;
释义与char类似。
3. long:声明长整型变量或者函数,提供32位4字节内存。比如
long name;
Int和long声明的都是整型变量,其中int的全称其实是(short) int,而long是long (int)。
4. float:声明浮点型变量或者函数,该变量是单精度型,提供32位4字节内存。浮点数就是带有小数点的数。例如
float name;
5. double:声明双精度浮点型变量或者函数,该变量是双精度型,提供64位8字节内存,例如
double name;
这里float与double都表示带有小数点的数,只不过double表示的数小数点后位数多,精度高。
6. signed:表示有符号类型变量或者函数,这里的符号是指正负号,它是配合着char或int来用的,起一个修饰作用。比如
signed char name;  //其与char name;意思相同。
signed int name;  //其与int name;意思相同。
7. unsigned:表示无符号类型变量或者函数。其用法与signed类似。
8. void:表示函数无返回值或无参数,声明无类型指针。不过我也只会用一个
void main()
然后其后面不需要加一个return 0;  //其他的我也不了解,不过好像听学长说过最好不要用void。
9*. register:声明寄存器变量或函数。
10*. stasic:声明静态变量或函数。比如
register char name;  //直接将数据存在某个寄存器中,速度比内存快。
static char name;  //将数据存在某一个内存空余的单元中。
11*. volatile:说明某变量在程序执行时可被隐含的改变并使其不被改变,结果是不改变,其常用于硬件的定义时。
12*. const:声明只读变量,顾名思义就是只允许被读取的变量,与ROM有关。
13*. enum:声明枚举类型。
14*. extern:声明变量或函数是在其它文件或本文件其它位置定义。
15*. union:声明共用体类型。
16*. struct:声明结构体类型。
(注:编号后带有*号的是本人也不了解其大概用法的关键字)
     与程序结构有关的关键字(It's very essential.)。
     程序结构包括顺序结构
#include<stdio.h>
int main()
{
        int a,b,c;
        printf("请输入一个数值赋给a\n");
        scanf("%d",&a);
        printf("请输入一个数值赋给b\n");
        scanf("%d",&b);
        c=a+b;
        printf("两数值之和为:%d\n",c);
        return 0;
}//这种做完上一步再做下一步的程序结构就叫做顺序结构
循环结构
#include<stdio.h>
int main()
{
        int a;
        scanf("%d",&a);
        for(a;a>5;a--)
        {
                printf("continue\n");//此语句可判断该程序循环了几次
        }
        return 0;
}//这种存在循环的部分程序结构叫做循环结构
选择结构(暂时不会编)。
1. if:条件语句。
#include<stdio.h>
int main()
{
        int a;
        scanf("%d",&a);
        if(a>10)//小括号中是判断条件
        {//如果if后小括号里的内容为真就做下面大括号里的事情,只做一次,也可在此括号内再嵌套if
                a--;
                printf("a=%d\n",a);
        }
        return 0;
}
2. else:条件语句的否定语句,与if连用。
#include<stdio.h>
int main()
{
        int a;
        scanf("%d",&a);
        if(a>10)//小括号中是判断条件
        {//如果if后小括号里的内容为真就做下面大括号里的事情,只做一次,也可在此括号内再嵌套if
                a--;
                printf("a=%d\n",a);
        }
        else//上面的判断条件不成立则执行下面大括号中内容
        {
                a++;
                printf("a=%d\n",a);
        }
        return 0;
}
3. for:一种循环语句。
#include<stdio.h>
int main()
{
        int a,b;
        b=0;
        scanf("%d",&a);
        for(a;a>5;a--)//for(这里是循环的起始条件;这里是跳出该循环的条件;这里是本次循环不满足跳出条件时对起始条件做出的改变内容)
        {//大括号内的是某次循环时计算机可以做的事情
                b++;
                printf("b=%d\ncontinue\n",b);//此语句可判断该程序循环了几次
        }
        return 0;
}
4. while:循环语句的循环条件。
#include<stdio.h>
int main()
{
        while(某条件)
        {
                当上述条件成立时,做该括号内的事情
        }
}
5. do:循环语句的循环体。
#include<stdio.h>
int main()
{
        do
        {
                某件事
        }
        while(某条件);

}
下面来讲while和do while的区别:
while
该程序至while处无法启动循环,因其不满足循环条件,故输出结果为:
do...while
该程序先进行了一次循环,故输出结果为:
所以二者之间的区别就是一个最少进行0次循环,一个最少进行1次循环。
6. switch:用于开关语句。
7. case:用于开关语句的分支。
8. continue:用于跳出本次循环,开始下一轮新循环。
9. break:用于跳出当前整个循环。
10. default:开关语句中一种分支。
11. goto:一种无条件跳转语句。
12. return:函数的返回语句。
(时间很晚了,明天还要继续加班呢,下次再把与程序结构有关的关键字更上,比较麻烦哟,还得用到例子。不过为什么我总感觉自己寒假的学习方向越来越偏了呢,貌似我注重的东西与别人看的都不一样诶,表示心塞,一脸懵。先不想了,学一点是一点。睡觉觉!
(睡觉,下次再补!)
1.jpg
2.jpg
6.png
7.png
8.png
9.png
好懒~~不想说~~~
 楼主| 发表于 2018-1-24 14:29:38 | 显示全部楼层
哭泣啊,第二次更竟然没保存上,就点了一下保存,所有打上去的字都白了......真是。。。。怎么续贴的?
好懒~~不想说~~~
发表于 2018-1-24 17:03:04 | 显示全部楼层
邓湘帅 发表于 2018-1-24 14:29
哭泣啊,第二次更竟然没保存上,就点了一下保存,所有打上去的字都白了......真是。。。。怎么续贴的?

您好,持续更新可以选择以回复的方式更新,也可以在重新开帖更新。
该会员没有填写今日想说内容.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表