本帖最后由 自动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修饰的也是静态变量,静态变量在整个生存期中只赋一次初值。 因为学习板上没有点阵配件,故点阵学习只能延后。
预计会在十七日完成前十章的复习,进行下一步的学习。
|