单片机基础

1 单片机概论

1.1 单片机的概念和特点

单片机将微处理器,储存器,IO接口,定时器,通信接口,中断系统等集成到一个芯片上

称为MCU微控制器或者SCM单片机

通用计算机的基本部件:

  • CPU

  • 程序存储器ROM

  • 数据储存器RAM

  • 定时器

  • IO接口

  • 外部通信接口

  • 中断系统

单片机加PCB板得到单片机芯片

单片机的优点:电路可编程,节约经济和人工成本

1.2 单片机的发展和应用领域

  1. INTEL的4位单片机

  2. 低性能8位单片机 1976~1978

  3. 高性能8位单片机1978~今天

  4. 其它高性能单片机1982~今天

16,32位单片机太少,8位处在一个又经济又实用的平衡

单片机的应用:

  1. 工业化的测量

  2. 智能仪器仪表

  3. 计算机外设和智能设备

  4. 家用电器和消费电子产品

1.3 数值在计算机中的表示

8位单片机,位数D7到D0

D7为符号位,D6到D0为数值位

原码 D7 D6~D0 正常数字

反码 D7 D6~D0 原码取反

补码D7 D6~D0 反码加一

8位的范围是-128~+127

补码有回转特性

2 认识51单片机

2.1 51单片机的型号与组成

2.1.1 51单片机的型号

51系列带有128KB储存器

8031芯片不带任何ROM 8051芯片带4KB一次性写入PROM 8751芯片带4KB紫外线擦除EPROM

52系列带有256KB储存器

8032芯片不带任何ROM 8052芯片带4KB一次性写入PROM 8752芯片带4KB紫外线擦除EPROM

厂家前缀-8位机标识-ROM储存器种类-芯片制作工艺-芯片系列-ROM储存容量

2.1.2 51单片机的组成

它由中央处理器,定时器等八部分组成

分别为CPU,ROM,RAM,时钟电路,并行接口,串行接口,定时器,中断系统

2.1.2.1 运算部件CPU

运算部件以8位算术逻辑单元为ALU为核心,包含累加器ACC,B寄存器,标志寄存器PSW等部件,能实现算数运算,逻辑运算,位运算,数据传输等处理

ALU还有一个位运算器,它可以对一位二进制数据进行置位,清零,求反,测试转移,以及位逻辑处理,这对于控制方面很有用

累加器ACC是 CPU中最常用的寄存器

辅助寄存器辅助ACC完成乘法和除法指令

PSW标志寄存器,用来表示指令执行结果的状态

指令效果
D7 C 进位标志位
D6 AC 辅助进位标志位
D5 F0 用户标志位
D4 RS1 寄存器组选择位
D3 RS0 寄存器组选择位
D2 OV 溢出标志位
D1 -  
D0 P 奇偶标志位(判断二进制有几个1)

2.1.2.2 控制部件

单片机的控制中心,包括定时和控制电路,指令寄存器,指令译码器,程序计数器PC,堆栈指针SP,数据指针DPTR等

它先以震荡信号为基准产生CPU的时序,从ROM中取出指令到指令寄存器,然后再指令译码器中对指令译码器进行译码,产生指令执行所需的各种控制信号,送到单片机内部的各功能部件,指挥各功能部件产生相应的操作,完成对应的功能

2.2 单片机的存储结构

和PC的区别:程序和数据储存在两个不同的位置。

2.2.1 程序存储器ROM

存放单片机工作的程序,没有ROM的时候,单片机无法工作

有一个16位程序计数器,用于指示下一时刻CPU要执行的程序在ROM空间中的地址位,从0000H到FFFFH

从物理上区分,有片内存储器和片外存储器

单片机设置了一根控制线EA,EA=1时访问片内存储器,EA=0时访问片外存储器

2.2.2 程序储存器的7个特殊地址

复位后从0000H开始执行

中断源入口地址
外部中断0 0003H
定时/计数器0 000BH
外部中断1 0013H
定时/计数器1 001BH
串行口 0023H
定时/计数器2 0028H

2.2.3 数据存储器RAM

储存临时生成的数据,需要快速的读出和写入数据。此类储存器掉电后,储存的数据会丢失,不能永久保存。

数据存储器包含很多种不同用途的存储器,特性不同访问方式也不同

从物理上区分,有片内存储器和片外存储器

  1. 工作寄存器组区:R0到R7就在这里:00H到1FH

  2. 位寻址区:

  3. 一般RAM区:用户可使用的RAM区:30H到7FH

  4. 堆栈区:栈结构的存储区域,使用时应当避开工作寄存器和位寻址区

  5. 特殊功能寄存器:仅对算术逻辑,并行IO,串行,定时/计数器,中断系统等模块的工作,不能移作他用。分布在80H到FFH

2.3 51单片机的引脚

2.3.1 输入输出IO口

  1. P0口:39~32脚,接有片外储存器和IO口的时候,P0口分时复用为低8位地址总线和双向数据总线

  2. P1口:1~8脚,双向IO口

  3. P2口:21~28脚,接有片外储存器和IO口的时候,P0口分时复用为高8位地址总线

  4. P3口:10~17脚,有第二功能

P3口第二功能
P3.0 RXD 串行口输入端
P3.1 TXD 串行口输出端
P3.2 INT0 外部中断0请求输入,低电平有效
P3.3 INT1 外部中断1输入端,低电平有效
P3.4 T0 定时/计数器0外部计数脉冲输入端
P3.5 T1 定时/计数器0外部计数脉冲输入端
P3.6 WR 外部数据存储器写信号,低电平有效
P3.7 RD 外部数据储存期读信号,低电平有效

2.3.2 控制线

  1. ALE 30脚:地址锁存信号输出端

  2. PSEN 29脚:片外程序存储器读选通信号输出端

  3. RST 9脚:当单片机振荡器工作时,该引脚出现10ms以上高电平可复位

  4. EA:EA为片外程序存储器选用端,确定是内储存器还是外储存器

2.3.3 主电源引脚

VCC 40脚:接+5V电源

GND 20脚:接地

2.3.4 冯诺依曼结构和哈佛结构

2.3.4.1 冯诺依曼结构

使用单一总线结构,使用单一的地址和数据总线,取指令和取操作数都是通过一条总线分时进行。

当进行高速运算时,不但不能同时进行取指令和区操作数,还会咋总成数据传输通道的瓶颈现象,工作速度慢

2.3.4.2 哈佛结构

该结构采用双存储空间,程序和数据存储器分开,其它和冯诺依曼结构一致,可以更快的进行数据传输。

2.3.5 储存设备的引脚

片外数据储存器的读写都通过RD,WR来控制,而片外程序储存器的读通过PSEN信号控制,通过不同的程序指令来实现。

2.3.6 其它引脚

XTAL1及XTAL2是18,19号外接晶体引脚

再单片机内部,它是一个反相放大器的输入端,这个放大器构成了片内振荡器

有源晶体振荡器可以给出更高的精确度

复位方式:时钟电路工作时,出现两个周期以上的高电平,就会系统内部复位。

可以上电自动复位或者手动按钮复位

2.4 单片机并行IO口工作原理

仅了解

2.5 单片机的工作周期和时序

时钟周期分为机器周期和指令周期

机器周期是基本操作周期,每一个机器周期是12个时间周期

分别是S1P1,S1P2,S2P1....S6P2

大多数指令周期都是两个机器周期,乘法和除法是两个机器周期

 

 

posted @   bk0717_sindorei  阅读(632)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
点击右上角即可分享
微信分享提示