小蜜蜂笔记
嵌入式开发与物联网应用教育践行者

小蜜蜂的《物联网硬件技术基础》考前死磕概要

电子电路基础知识

  1. 在自然界中,带电是物体的一种固有属性。只要有电荷存在,它周围就存在着电场
  2. 电荷守恒:电荷既不能创造,也不能消灭,它只能从一个物体转移到另一个物体,或从物体的一部分转移到另一部分,在转移的过程中,系统的电荷总数保持不变。
  3. 电源,是一种能把其他形式能量转化为电势能的装置。它能够克服静电力做功,迫使正电荷从低电势处经电源内部移向高电位处。
  4. 电压是推动电荷定向移动形成电流的原因。
  5. 正电荷的定向移动,形成电流。自由电子从负极流向正极,但电流方向规定为从正极流向负极,与自由电子的方向相反。
  6. 做功是能量由一种形式转化为另一种的形式的过程。电流做功的过程,实际就是电能转化为其他形式能量的过程。例如,电流通过电灯发光,电能转化为光能。
  7. 串联电路并联电路是最基本的电路。串联电路中,流过每个元件的电流相等。并联电路中,每条并联支路两端的电压相等
  8. 电路有三种状态:通路短路断路

单片机C语言基础知识

  1. 函数是C语言的基本单位。main函数是整个C语言程序的入口。
  2. C语言中的每一个语句都必须以分号结尾。
  3. 编译过程中,编译器将代码转换成二进制机器语言。
  4. 预处理指令是以#号开头的代码行。整行语句构成了一条预处理指令,该指令将在编译器进行编译之前对源代码做某些转换。
  5. C语言提供的三种预处理功能:宏定义文件包含条件编译
  6. 指针是一个特殊的变量,它里面存储的数值被解释成为一个内存地址
  7. sbit是C51扩展的变量类型,用来定义特殊功能寄存器的位变量,例如,sbit LED = P1^0;
  8. 在嵌入式系统的开发中,通常会用 while(1) 或者 for(;;) 来实现程序的无限循环,也就是死循环。

51单片机原理基础

  1. 单片机的基本结构:内核+外设。内核与外设之间的主要交互方式有两种: 轮询中断
  2. 89C52是一个8位单片机,有4组I/O端口,分别是P0、P1、P2、P3,每组端口都有8个引脚。它有2路外部中断信号输入和2路外部计数信号输入。
  3. 程序在执行过程中由于外界的原因而被中间打断的情况,称为中断。当一个优先级低的中断尚未执行完毕,又发生了一个高优先级的中断,系统转而执行高级中断服务,这种情况称作中断嵌套
  4. 每个中断源都有固定的入口地址,亦称作中断向量。每个中断源都有自己的中断使能位,只有被使能的中断源,其中断请求才会被内核响应,相关的中断服务函数才会被执行。
  5. 每个中断都有自己的自然优先级,该优先级可以根据应用的需要进行改变。
  6. 中断服务函数与一般自定义函数不同,没有返回值,也不能传递参数,有其独特的写法。用interrupt关键字表示该函数是一个中断服务函数。在interrupt关键字后面要加上中断源对应的中断号
  7. 在51单片机中,使能总中断的正确C51代码是:EA = 1;
  8. 51单片机的定时器0具有 4 种工作模式,当采用外部12MHz晶振时,定时器最大定时长度为 65536 us

51单片机应用基础

  1. 二进制数 110 1001 1011 0101 转换为十六进制数是 0x69B5 。十六制数 0x3AD6 转换为二进制数是 11 1010 1101 0110
  2. 逻辑与运算“1011 & 1010”的结果是:1010。逻辑或运算“1011 | 1010”的结果是:1011
  3. 单片机复位之后,总是从程序存储器的第一个地址开始执行。
  4. 一般来说,按键有2个引脚,一个引脚经上拉电阻接到单片机的输入端,另一个引脚则接地 。在进行按键扫描处理的时候,通过去抖动处理,减少外部信号的干扰。可以通过判断按键的按下时间来区分按键的长按与短按。
  5. 数码管动态显示实际上各位数码管并非同时点亮,但只要数码管循环扫描的速度足够快,给人的印象就是一组同时显示稳定数据。对于一个4位共阳数码管来说,其动态显示电路需要12个单片机引脚
  6. 10KHz的系统时钟信号经过10分频后,每个时钟脉冲的周期是1ms
  7. 在嵌入式系统中,微控制器的系统时钟为100Hz,也就是每秒钟产生100个时钟脉冲,如果执行一条指令需要2个系统时钟,那么,该微控制器每秒钟可以处理 50 条指令
  8. 3.在进行C51单片机程序设计的时候,为了可以方便的使用特殊功能寄存器的名字,需要引入一个头文件,其C语言代码是 :#include “reg52.h”
  9. C51的代码程序经过编译后,产生的HEX文件可以通过ISP工具下载到单片机中运行。

简单描述中断响应的五个步骤。

  1. 现场保护。
  2. 切换PC指针。
  3. 执行中断处理程序。
  4. 恢复现场。
  5. 中断返回。

简述用Keil C51进行单片机的开发的基本流程。

  1. 新建一个空的工程文件,并为工程文件选择对应的芯片信号。
  2. 配置工程的选项参数,输出HEX文件。
  3. 新建C代码文件,并将其添加到工程中。
  4. 编写代码,并编译生成HEX文件。
  5. 通过ISP下载工具将HEX下载到单片机中运行。

设计程序,端口通用输入输出应用。

按键K1按下松开后,切换D1灯的开关状态。
#include "reg52.h"
sbit K1 = P1^0;
sbit D1 = P2^0;
//普通延时函数
void Delay(unsigned int time)
{
    while(time--);
}
//按键扫描函数
void Scan_Keys()
{
    if(K1 == 0)                 //判断按键的输入信号
    {
        Delay(100);             //按键去抖动处理
        if(K1 == 0)             //确认按键的按下信号
        {
            while(K1 == 0);     //等待按键松开
            D1 = ~D1;           //切换D1灯的开关状态
        }
    }
}
//主函数
void main()
{
    while(1)
    {
        Scan_Keys();
    }
}

程序设计:数码管显示基本原理应用。

共阳数码管循环一次显示“0”~“9” 。
#include "reg52.h"
//定义共阳数码管的0-9段码表
const char SMG_CA[10]={0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x90};
//普通延时函数
void Delay(unsigned int t)
{
    while(t--);
}
//数码管循环显示0-9的函数
void DisPlay()
{
    char i;
    for(i = 0; i < 10; i++)
    {
        P1 = SMG_CA[i];
        Delay(60000);
    }
}
//主函数
void main()
{
    while(1)
    {
        DisPlay();
    }
}

设计程序,定时器的基本原理应用。

题目要求:89C52单片机采用12MHz晶振作为系统时钟,其12分频作为定时器的计数信号,实现100ms的间隔定时。

秒闪指示灯D1亮0.5秒,灭0.5秒,如此往复循环。
#include "reg52.h"
sbit LED = P1^0;
unsigned char count_t = 0;             //间隔中断次数累计变量
//定时器T0初始化函数
void Init_T0()
{
    TH0 = (65535 - 10000) / 256;       //计数初值的高8位赋值
    TL0 = (65535 - 10000) % 256;       //计数初值的低8位赋值
    TMOD = 0x01;                       //配置TMOD寄存器
    ET0 = 1;                           //使能定时器T0中断
    EA = 1;                            //使能总中断
    TR0 = 1;                           //打开定时器
}
//定时器T0的中断服务函数
void Service_T0() interrupt 1
{
    TH0 = (65535 - 10000) / 256;
    TL0 = (65535 - 10000) % 256;
	
    count_t++;                         //定时中断次数累计
    if(count_t == 5)                   //100ms * 10 = 1000ms = 1s
    {
        count_t = 0;                   //清0,开始下一秒的定时
        LED = ~LED;                    //切换LED的开关状态
    }
}
//主函数
void main()
{
    Init_T0();
    while(1);
}

试题结构:
选择题:2分 × 20题 = 40分。
填空题:2分 × 10空 = 20分。
综合题:10分 + 12分 + 18分 = 40分。

赞(45)
未经允许不得转载:小蜜蜂笔记 » 小蜜蜂的《物联网硬件技术基础》考前死磕概要

小蜜蜂笔记 更专业 更方便 更高效

联系我们精品小店