单片机学习

> 单片机的背景知识


  • 单片机概述

    1. 注意一下几个名词:冯诺依曼计算机,存储程序计算机,通用计算机,运算器,控制器,存储器,输入设备,位数,容量,字长,外存和内存,输入设备,电子管计算机,晶体管计算机,集成电路计算机,量子计算机,工作站,服务器,个人计算机,嵌入式计算机,云计算机。
    2. 嵌入式系统是一种完全嵌入空间内部,为特定应用而设计的专用计算机。
  • 单片机的特点

    1. 存储结构上采用哈弗结构,ROM和RAM完全分开,功能和寻址方式不同。
    2. 芯片引脚,采用分时复用技术,有程序决定引脚在当前起什么作用
    3. 内部资源访问,使用寄存器SFR。
    4. 采用面向控制流的指令系统。
    5. 内部集成全双工的串行接口,用于同其他外设进行通信。
    6. 具有很强的扩展能力,很方便地在外部扩展各种电路,与许多微机接口芯片兼容。
  • 单片机与DSP,CPLD,FPGA的区别

    1. DSP digital signal processor 数字信号处理器,独特的微处理器。强大的数据处理能力和高运行速度。
    2. 单片机,主要操纵的是控制流,对数据处理能力不如DSP,
    3. FPGA field programmable gate array (综合了PAL,GAL,CPLD发展而来),可编程门阵列。可编程逻辑器件CPLD和FPGA。硬件描述语言:Verilog,VHDL。从数电实验课上得到的启发,这个FPGA就是一堆电路元件的阵列,可以通过某些设计软件,或者硬件描述语言,对这些阵列进行编程,使他们具有一定的逻辑性,然后烧录到FPGA当中,使他们具有一定的功能。这个也是嵌入式系统地一部分吧。他针对的不是程序,而是一种硬件的逻辑。
    4. FPGA是对CPLD的电路规模,功能,性能等方面的强化之后的产物。

> 数制与编码


  • 机器码的理解
    1. 原码,正数不变,负数在正数的最后一个值得基础上加负数的绝对值,中间没有零做间隔。特点:正数变大,原码变大;负数变小,原码变大(单调性不统一)
    2. 反码,正数不变,负数绝对值按位取反,相当于在机器码最大的情况下减去负数的绝对值,即加上负数。特点:正数变大,反码变大,负数变大,反码变大,但是有两个零,0和0的按位取反都是零。
    3. 不骂,正数不变,负数是反码加一。特点:正数变大,补码变大,负数变大,补码变大,单调性相同,只有一个零。最小值为最大正数的按位取反,也是最大正数的补码加一后形成的补码。
  • 信息编码
    1. 8421BCD编码,ascii码

>单片机的其他知识


  • 51单片机的系列

    1. 8031无内部存储器、8051ROM不可擦除、8751EPROM紫外线擦除、8951EEPROM电擦除
    2. ATM公司,flash闪存集成到单片机内部。
    3. 飞利浦公司,添加了can总线
    4. 32/52加强系列,增加了可擦除存储器,增加了数据存储器的大小,怎加了数模转化器。
  • 微控制器(单片机)的改进

    1. 增加cpu内核数
    2. 采用多级流水线结构,取指令、译码、执行,三级流水线结构,可以在任何时候都有cpu执行代码。
  • 对并行接口和串行接口的理解

    1. 并行接口再多跟数据献上同时传送信息,串行接口是在一根数据线以一位数据为单位进行数据传送。并行适用于近距离告诉的场合。
    2. 并口存在的问题:干扰问题,并口多条数据线之间会产生耦合电容,增大传输速率会导致错误,如果加强屏蔽,会消耗更多的金属,截面面积更大。同步问题,八条线的延迟不同,如果单线传输速率变高的话,可能会出现数据撞车(不同步的现象)并口单线100Mb/s时不能再增加,二串行传输,可以达到1Gb/s
  • io口的改进

    1. 增加io的驱动能力
    2. 增强逻辑控制能力,一秒钟亮,一秒钟灭,通过一个管脚即可实现控制能力,控制一个输出位,然后一秒钟翻转一次。
    3. 增加特殊的串行接口。
    4. 外围电路内装化

ADC analog Digital Converter 数模转换器
PWM pulse width modulation 脉冲宽度调制
WDT watch dog timer 程序监控定时器,看门狗电路