单片机个人笔记

在做毕设的前期学了一点单片机,舍不得删掉,就放这里吧。

常识

  • 内存理论上可以无限次擦写。
  • 电压表测量:红正黑负。晶振测量:红笔对晶振引脚,黑笔接 GND ( 粗略测量 )。
  • 硬件底层驱动程序编写必须参考相应芯片的数据手册: Datasheet,因此必须学会看电路图和查找数据手册。
  • 不同的单片机厂商的程序下载软件都是不一样的。
  • EMI:电磁干扰;ESD:静电放电;EFT:快速瞬间脉冲群; Surge:浪涌 ( 热插拔 );静电电压高电量少对人体无害但对半导 体器件却有可能造成破坏。
  • 电容:通交流;阻直流;高频电容阻高频;低频电容稳定电压;所 有 IC 器件旁边都需要电容。
  • 对于数字电路来说,三极管只有两种状态:导通和饱和。而要使三 极管具有开关作用,必须工作在饱和状态,只要基集的电流大于集 电极和发射集的100分之一,即:100Ib > Ie + Ic。( 但是集电极和 发射集之间的电流大小关系,大于小于都有可能 ) 0:19
  • 单片机内部寄存器有的可以位操作,有的却不可以位操作,比如定 时器特殊寄存器 TMOD 就不可以位操作。 发射集之间的电流大小关系,大于小于都有可能 )
  • 单片机内部寄存器有的可以位操作,有的却不可以位操作,比如定 时器特殊寄存器 TMOD 就不可以位操作。
  • 不是所有的机器周期都等于 12 个时钟周期。
  • 单片机的 IO 口仅作控制不作驱动 ( 因为其输出电流要求要小 )。
  • 尽量避免单片机引脚悬空,需要的时候加上上下拉电阻。
  • 做技术不是考试,不会的,查!!!

基础

  • 自学单片机的步骤?
    1. 鹦鹉学舌
    2. 照葫芦画瓢
    3. 他山之石可以攻玉
    4. 理论实践结合
  • 单片机内部资源?
    1. Flash;程序存储空间
    2. RAM;数据存储空间
    3. SFR;特殊功能寄存器
  • 单片机最小系统三要素?
    1. 电源电路;
    2. 复位电路;把单片机内部电路设置成为一个确定的状态,所 片机能够正常、安全工作。
    3. 晶振电路;
  • 去耦电容的作用?
    1. 低频滤波电容:去除电源低频纹波,稳定电压和电流。( 钽
    2. 高频滤波电容:去除高频干扰,通常放在电源附近 ( 104 容
  • 三极管的分类及功能? 分为 PNP;NPN。
    1. 开关控制;
    2. 信号放大;( 模拟电路 )
    3. 电平转换;小电压控制大电压。
  • 时钟周期和机器周期? 时钟周期T ( 振荡周期 )是时序中最小的时间单位。具体计算就是 片机使用的时钟周期= 1/11059200 s。 机器周期CPU完成一个操作的最短时间。 普通51一个机器周期是12个时钟周期。

  • 定时器? 每经过一个机器周期,寄存器加1。因此,可以 如何使用定时器。

  • 动态显示? 轮流向各位数码管送入数据,并且将数据输入速度控制在人 内,利用发光二极管的余晖让人的视觉能够识别的过程。

  • 静态变量和局部变量、全局变量的区别? 静态是指只能被赋值一次,同时属于局部变量,只能在程函 过程中一直占用内存。静态变量多用于同一个函数会被调用。 静态是指只能被赋值一次。 单片机内存有限,建议多使用局部变量。

  • 上下拉电阻? 嵌位在高电平;限流。
  • 如何调试? - ISP 在线系统编程,是相对于通过专用编程器将用户程序 通过系统中的CPLD拥有的ISP直接对其进行编程,器 作状态。这种CPLD编程方式的出现,改变了传统的使 诸多不便。
  • ICE 在线仿真,一种用于替代目标机上CPU的设备。对目 于它的CPU。可以边调试程序,实时在单片机和 PC 上 事实上,ICE本身就是一个嵌入式系统,有自己的CPU CPU比较特殊,可以执行目标机CPU的所有指令,但 号输出到被控制的目标机上。在线仿真器的存储器也 上。因此,即使没有目标机,仅用ICE也可以进行程序 ICE和宿主机一般通过串口、并口或网络相连。在连接 标机的CPU取下,然后将ICE的CPU引出线接到目标机 调试程序时,在宿主机上也有一个调试器用户界面,通过ICE来控制目标机上的程序。

  • 中断? 中断标号 x 计算:中断向量地址的十进制表示 = 8 * x + 3。 中断函数比较特殊,即使不写在 main() 函数前面也可以不 忽略主程序中的死循环而被调用。
  • 定时器中断有什么用? 通过编程使能定时器中断可以自动地定时刷新相应数 功能。而仅仅有定时器计数出来的仅仅只是秒数。

Q&A

  • 什么叫在线仿真? 可以单步调试,而不需要将程序完整下载到单片机查看运行结果。
  • 单片机最小系统的特点? 具有 “可以运行程序” 能力。是单片机控制系统的核心。可以独立 工作。
  • 如何计算限流电阻? U/I=R。
  • 为什么需要死循环? 为了防止单片机运行无法控制的代码导致单片机复位。
  • 什么叫冷启动? 即不能边往 MCU 下载程序便更新并运行新程序,而是只有在上点 的时候才检测程序是否被修改过,如果被修改过,则运行新程序; 如果没有被修改过,则运行以前的程序。 0:22
  • 如何判断三极管的三个极 (b,e,c)? 如果没有被修改过,则运行以前的程序。
  • 如何判断三极管的三个极 (b,e,c)? 箭头朝哪腿朝哪;导通电压顺箭头过;电压导通;电流控制。
  • 38译码器有什么作用? 扩展系统 IO 口数量 ( 但是没有 IO 灵活:不能同时有 2 个及其以 上的低电平输出 )。
  • 到底什么是时钟频率?它有什么用?
  • 为什么需要延时?延时有什么用?
  • 为什么将使用 T1 计数器计数的时候频率那么快?
  • 如何操作不能直接支持位操作的 SFR? & |。
  • 什么时候用位操作?什么时候用字节操作?位操作有什么好处? 要对寄存器的所有标志位进行全局设置的时候就使用字节操作。如 果全局操作会对其他操作造成干扰,比如定时器 1 和定时器 0 同时 使用的时候,某个定时器对 TMOD 寄存器如果采用字节操作,则 会干扰到另外一个定时器,所以这里就需要采用位操作,精确地只 是改变真正需要改变的位。
  • 上位机和下位机 会干扰到另外一个定时器,所以这里就需要采用位操作,精确地只 是改变真正需要改变的位。
  • 上位机和下位机 上位机和下位机指什么? 上位机是指:人可以直接发出操控命 令的计 算机, 一般是PC ,屏幕 上显示 各种 信号变化(液压,水位,温度等)。 下位机 是直接 控制设 备获取 设备状 况的的 计算机,一般是PLC/单片机之类的。上位机发出的命令首先给下位机,下位机 再根据此命令解释成相应时序信号直 接控制 相应设 备。下 位机不 时读取 设备状 态数据(一般模拟量),转化成数字 信号反 馈给上 位机。 简言之 如此, 真实情 况千差万别不离其宗。上下位机都需 要编程 ,都有 专门的 开发系 统。 在概念上 控制者和提供服务者是上位机 被控制者和被服务者是下位机 也可以理解为主机和从机的关系 但上位机和下位机是可以转换的 两机如何通讯,一般取决于下位机。TCP/IP一般是支持的。但是下位机一般具 有更可靠的独有通讯协议,购买下位 机时, 会带一 大堆手 册光盘 ,告诉 你如何 使用特有协议通讯。里面会举大量例 子。一 般对编 程人员 而言一 看也就 那么回 事,使用一些新的API罢了。多语言支 持功能 模块, 一般同 时支持 数种高 级语言 为上位机编程。 http://baike.baidu.com/view/554441.htm 下位机 下位机是直接控制设备获取设备状况的的计算机,一般是PLC/单片机之类的。 http://baike.baidu.com/view/1289019.htm

Keil

  • 如何进行软件仿真与调试?
    1. 找到“Options for target ‘Taget - 1’”;
    2. 然后找到 ‘Target’ -> ‘Xtal(MHz)’,填写开发板中晶振频率,比如 STC89C52 的 11.0592MHz;
    3. 然后找到 ‘Debug’-> ‘Use simulator’,保持默认勾选;
    4. 回到 Keil 主界面,点击工具栏上的 “Start/Stop Debug Session( Ctrl + F5 )”,然后左边区域就会出现寄存器和系统的一些 信息;
    5. 单步调试直接点击想要调试的代码所在行行号,不过需要注意的是 需要先编译之后才能启用单步调试,然后 Reset -> Run,就可以 看到程序运行到断点所在行时系统的一些状态值。
  • 如何进行在线仿真? 需要有一块专门的替代目标机器 CPU 的设备,配合 Keil 的在线仿 真功能,实时程序每一步的结果反应到单片机上去。该替代宿主机 的 CPU 和宿主 CPU 功能是相同的,所以能够准确反映宿主机的执 行结果。

参考

本文最后修改时间: 2016年01月01日 22:46:04 (完) CC BY-NC-ND 3.0

若您发现文章中的错误,并愿告知于我,或想与我交流,我的联系方式在: Contacts


上一篇 为树莓派 2 编译安装无线网卡驱动 ( RT3070/Mt7601 )

All The Best

下一篇 Nginx 基础:安装与配置