登录  | 立即注册

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

扫一扫,访问微社区

QQ登录

只需一步,快速开始

开启左侧

[寒假笔记] 51单片机复习-2

[复制链接]
发表于 2022-1-14 19:55:05 | 显示全部楼层 |阅读模式
学习笔记
学习科目: 51单片机技术
学习安排: 进行手把手教你学51单片机第六章和第七章的学习
开始时间: 2022-01-12
结束时间: 2022-01-14
本帖最后由 自动01白鸿宇 于 2022-1-15 09:14 编辑

一月十二日至一月十四日进行单片机第六章至第七章的复习。
复习内容如下:
数组:具有相同数据类型的有序数据的组合
满足条件:
    数据名称相同;
    名称相同;
    在存储器中连续存放;
声明格式:
    数据类型 数据名  [数组长度]
初始化操作格式:
    数据类型 数组名  [数组长度]={初值列表};
    注意:
        初值列表中的数据用逗号隔开;
        初值列表里处置的数量必须等于或小于数组长度,当小于数组长度时,数组后面没有赋值的元素自动赋0;
         给数组所有元素赋初值时数组长度可省略;
         系统为数组分配连续的存储单元时,数组元素的相对次序由下标来决定。
注意:一次只能使用数组的单个元素,不能使用整个数组。
If语句:
默认形式:
If(条件表达式)
{
  语句;
}
(if后边只有一条执行语句时大括号可省略)
If  else基本语法形式:
If(条件表达式)
{
  语句;
}
Else
{
  语句;
}
If else if语句基本语法格式:
If(条件表达式1) {语句1;}
Else if(条件表达式2) {语句2;}
Else if(条件表达式3) {语句3;}
……
Else {语句n;}
Switch语句基本语法格式:
Switch(表达式)
{
  Case 常量表达式1:语句1;
Case 常量表达式2:语句2;
……
Case 常量表达式n:语句n;
Defalt:语句n+1;
}
数码管显示消隐:
方法:延时(数码管亮度会普便降低)
      在位段转换期间避免一切数码管的赋值;
         方法:
              刷新之前关闭所有的段,即在switch(i)这句程序之前加上P0=0xFF;给ADDR赋完值后,再给P0赋值;
                  关闭数码管的位,即在switch(i)这句程序之前加上ENLED=1;在P0=LedBuff[0];这条程序后加上ENLED=0;然后进行break。
中断:
51单片机中控制中断的两个寄存器:
   中断使能寄存器;
   中断优先级寄存器;
中断服务函数固定格式: void InterruptTimer0() interrupt 中断函数编号(其中void表示函数返回空)
中断优先级:
    抢占优先级;
    固有优先级;
变量;
变量的作用域:变量起作用的范围,也是变量的有效范围。
分类:局部变量与全局变量;
局部变量:在函数内部声明的变量;
全局变量:在函数外声明的变量;
注意:局部变量只有在声明它的函数范围内可以使用,而全局变量可以在作用域内的所有函数直接使用。
变量的存储类别:
自动;
静态;
寄存器;
外部;
自动变量:也叫动态存储变量,局部变量中不加static修饰的变量都属于自动变量,
关键字auto,可省略,故平时不用。
静态变量:全局变量均是静态变量,加static修饰的也是静态变量,静态变量在整个生存期中只赋一次初值。
因为学习板上没有点阵配件,故点阵学习只能延后。


预计会在十七日完成前十章的复习,进行下一步的学习。

好懒~~不想说~~~
 楼主| 发表于 2022-1-15 09:14:05 | 显示全部楼层
修正:中断服务函数固定格式应为:void InterruptTimer0() interrupt 中断函数编号(其中void表示函数返回空)
好懒~~不想说~~~
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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