十速单片机学习归纳和总结(二):C51复习纲要及核心模块知识点总结

备注:

  1. C51复习纲要为根据单片机老师期末复习总结归纳而来
  2. C51核心模块知识点为课堂所做笔记

51MCU复习纲要

十速的51系列,78B芯片(CPU+RAM+Flash(ROM)+IO+Timer/Counter+Interrupt+AD+PWM+Touch+LED/LCD):
1、时钟的构成:外部时钟内部时钟快时钟慢时钟,时钟的分配。
2、78B单片机的系统时钟是2个周期(执行一条指令的时间),标准的51是12周期的
3、·RAM(数据空间):非常有限,数据空间的访问方式(寻址方式):位寻址直接寻址间接寻址立即数寻址
·数据格式(位,字节,多字节;有符号,无符号;整型,实数,浮点;),多字节的存储方式(小尾大尾)数据的表示范围(整型的范围)。
4、代码空间(flash/ROM):用代码空间存储常量,代码空间的划分(中断向量区调试区用户代码区代码区仿真可擦写的数据区)。
5、IO:IO模式(上拉输入悬浮输入推挽输出开漏输出特殊功能模式),逻辑1对应的高电位(输出高Voh输入高Vih,两者关系),逻辑0对应的低电位(输出低VoL输入低ViL,两者关系),单个IO和整个芯片输出与输入电流的上限。
/*
输出高大于等于输入高
*/
6、Timer/Counter:输入的基准时钟分频时钟加法器(长度)溢出后自动加载时钟的溢出标志位和中断号(中断向量)时钟中断子程序(编程)
7、中断:中断的控制位,中断标志位,中断号,中断子程序,中断子程序与主程序的协作关系(volatile)。
8、AD:AD的字长(12位的),转换时间,通道数量,内置校准电压通道,外部硬件滤波内部数字滤波
9、PWM:脉冲宽度调制技术,调光,调速,声音的生成。
10、Touch:电容触摸的基本原理触摸基值的获取,复杂环境的触摸基值的获取(电源波动电磁干扰环境温度工作环境等),触摸的手势(按下抬起单击双击多点滑动)。
11、LED/LCD
12、C51编程:统一编程风格(工程名文件名变量子函数命名规则功能模块与文件划分等),变量的作用域可见域生命周期全局变量局部变量),变量修饰符(const、code、static、volatile),简单类型数据结构(u8,u16,u32,bit),子函数的作用域可见域生命周期(堆栈的有限性),中断子函数(现场保护、堆栈使用、返回),中断子程序与主程序的协作关系(volatile)。
工具链KeilC51、VSCode、git(github、bitbucket)。

C51外部模块——AD模块

1、其他形式的物理量转换成电量(包括:电压和电流),并送到计算机体系中进行加工,数据处理。
2、用电阻网络测电压(用折半搜索的方式猜测电压值进行AD转换)
3、AD转换的精度:5V / 4096(mv / bit)
4、AD转换的时间;采样速度;信息恢复(奈奎斯特采样定理)
5、采样速度:信息变化周期速度的2倍,同时肯定低于AD转换的时间
6、多路AD转换(一个转换模块时分多路复用
7、用12位二进制表示转换出来的AD值:2^12=4096,
8、AD转换的标定,基于内部参考电压。
9、1MHz刚好为1微妙
10、SYSCLK:系统时钟——>ADC Clock:开关转换的时钟
11、UBG:1.2V的内部基准电压源(降压稳压)
12、如果外部输入电压为5V,则(1.2 / 5)4096 = 983;
如果外部输入电压为4V,则(1.2 / 4)4096 = 1228
因此:外部电压越低,值越大,单片机进行保护模式,可提醒用户,电池没电了,该换电池了
13、I/O端口、时钟、AD转换==》5278B-cn.pdf
14、ADSOC:AD开始转换
15、AD采样数据一定有波动,所以要做滤波(硬件滤波软件滤波
16、NTC电阻特性:负温度电阻PTC电阻特性:正温度电阻
17、AD干扰源分析(在电脑进行分析)
采用合适的滤波方案(软件滤波成本较低)
18、简单的数字滤波:
1)平均滤波,移动窗口滤波
Yn = (X1 + X2 + … + Xn) / n
其中:Xi 为滤波器输入;
Yn为滤波器输出。
2)指数移动滤波
Yn = c1
Yn-1 + c2
Xn
其中:
Xn: 第n次采样
Yn-1:第n-1次滤波器输出;
Yn:第n次滤波器输出;
c1 >= 0; c2 >= 0
c1 + c2 = 1
3)高效实现指数移动滤波器
·c1 = 0.9, c2 = 0.1;
·c1 = 9, c2 = 1, 再除以10
·c1 = 7, c2 = 1, 再除以8
eg: 50Hz的滤波用200Hz的采样频率进行采样

C51外部模块——中断

1、定时/计数器主要受方式寄存器TMOD控制寄存器TCON的控制。
2、定时/计数器的核心是一个加1计数器,脉冲来源有两个:一个是由系统的时钟晶振器输出脉冲经12分频后送来;另一个是由T0或T1引脚输入的外部脉冲源提供
3、每来一个脉冲则加1计数器加1,当加到加1计数器为全1时,再来一个脉冲就使加1计数器回到零;且加1计数器的溢出使得TCON寄存器中的TF0(或TF1)置1,向CPU发出中断请求。如果定时/计数器工作于定时模式,则表示定时时间已到;如果定时/计数器工作于计数模式,则表示计数值已满。
4、定时器的定时时间不仅与计数器的初值有关,而且还与系统的时钟频率有关,需要根据时钟频率来确定定时器的初值
5、定时/计数器有两个控制寄存器,即TMOD和TCON。TMOD用于控制定时/控制器的工作方式,选择定时或计数功能TCON则用于控制定时/计数器的启动和停止,并控制定时/计数器的工作状态
6、启动定时/计数器开始工作之前,需要定义定时/计数器的工作方式,同时对TL0、TH0及TL1、TH1进行初始化编程
7、定时/计数器的初始化需完成以下工作:

  1. 对TMOD赋值,以确定T0和T1和工作方式
  2. 计算初值,并将其写入TH0、TL0或TH1、TL1。
  3. 使用中断方式时,则对IE赋值,开放中断。
  4. 使TR0或TR1置位,启动定时/计数器的定时或计数。

补充

  1. C5178B的代码空间:8K Bytes Flash
  2. C5178B的数据空间:512Bytes SRAM
  3. 时钟 双时钟系统 时钟分频(把高频降为低频) 时钟倍频
    external:表示外部快速时钟
    快时钟
    · 外 FXT(快速晶振)
    · 内 FRC(快速内部)约为7.3728MHz,大约为8MHz
    慢时钟
    ·外 SXT(慢速晶振)大约为32.768kHz
    ·内 SRC(慢速内部)大约为24kHz
    SYSCLK:系统时钟
  4. 刚上电时,单片机按“内部慢时钟”进行
  5. WDT(看门口定时器):(看门狗定时器复位)
    ·“+1程序”
    ·“清零程序”
  6. 复位:
    ·程序从某个位置开始运行
    ·指令的初始位置
  7. 看门狗定时器复位:在空间/停止模式下可选运行或停止
  8. “内部快时钟两分成”在C语言中如何完成?
  9. “.h文件”:封装配置常量
  10. 存储器(8K)内部 ·IRAM ·SFR 时钟—>操作模式
  11. sfr CLKCON = 0xd8;
  12. sbit:位操作 SCKTYPE = CLKCON^7
  13. 低电压复位
  14. 指令周期 = 系统时钟SYSCLK / 2(因为:78B单片机的系统时钟是2个周期)
  15. 对于高级工程师的编程要求:
    (1)程序正确,能跑起来
    (2)程序与硬件能成为一个产品
    (3)模块化松耦合可复用
    (4)代码工作量估算
    (5)代码风格很重要
  16. 1、Alt+N,Ctrl+P:用于快速定位
    2、RCP2H、RCP2L:重载寄存器
    3、ET2:定时器2的中断使能
    4、IE:中断使能寄存器
    5、TF2 = 0:中断标志位清零(TR2可以删除)
    6、程序中“tim1”:表示时间;“timer”:表示定时器
    7、单片机中只有ARM特殊功能寄存器的部分单元有位地址,因此位寻址只能对有位地址的这两个空间进行寻址操作

附录

  1. 51CPU模块的思维导图
    十速单片机学习归纳和总结(二):C51复习纲要及核心模块知识点总结_第1张图片
  2. C51语言模块的思维导图
    十速单片机学习归纳和总结(二):C51复习纲要及核心模块知识点总结_第2张图片
  3. 外部设备模块的思维导图
    十速单片机学习归纳和总结(二):C51复习纲要及核心模块知识点总结_第3张图片

你可能感兴趣的:(十速单片机学习归纳和总结(二):C51复习纲要及核心模块知识点总结)