C语言:51单片机 结构体系(带最小系统设计图)

注:本案例采用AT89C51系列单片机

单片机的内核

89系列单片机型号由3个部分组成,分别是前缀型号后缀,格式为AT89C(LV\、S)XXXX。

前缀

由字母组成,表示某某公司的产品。

型号

型号由89 CXXXX或89 LVXXXX或89 SXXXX等表示。

9表示芯片内部含Flash存储器,

C表示是CMOS产品,

S表示含可串行下载的Flash存储器

XXXX为表示型号的数字,如51、52、2051等。

后缀

后缀由XXXX4个参数组成,与产品型号间用-隔开。

第一个X 表示速度,如12MHz

第二个X表示封装

J表示PLV封装

P表示塑料双列直插DIP封装

S表示SQIC封装

Q表示PQFP封装

A表示TQFP封装

W表示裸芯片

第三个X表示温度范围

C表示商业用产品,0~+70°

I表示个工业用产品,-40~+85°

C表示汽车用产品,-40~+125°

C表示军用产品,-55~+150°

第四个X表示处理工艺

X为空 表示采用标准处理工艺

X为=/883 表示采用MIL-STD-833标准

单片机的引脚功能

主电源引脚Vcc和GND

Vcc:Vcc接+5V电压。

GND:GND接地。

时钟电路引脚XTAL1和XTAL2

XTAL1接外部晶振和微调电容的一端。

XTAL2接外部晶振和微调电容的另一端。

常见的晶振选择 11.0592MHz、12MHz以及22.1184MHz。

控制信号引脚

RST:复位

在引脚加上持续时间大于2个机器周期的高电平,可以使单片机复位,单片机将从0000H单元开始执行程序。

ALE(不重要):地址锁存器/编程脉冲输入端

PSEN(不重要):访问外部程序存储器选通信号,低电平有效。

EA/Vpp:内部和外部程序存储器选择信号。

该引脚为低电平时,读取外部的程序代码来执行程序。

为高电平时,使程序运行时访问内部程序存储器。

并行I/O口P0~P3端口引脚

51系列单片机有4个双向并行I/O端口;P0、P1、P2和P3,它们的输出锁存器属于特殊功能寄存器。

51单片机的存储器

存储结构

单片机的存储结构有两种:

哈佛(Harvard)结构:即程序存储器和数据存储器分开相互独立的。

普林斯顿(Princeton)结构:即程序存储器和数据存储器是统一的,地址空间统一编址。

程序存储器

程序存储器(ROM)的内部地址为0000H~0FFFH,共4KB;最多可外接64KB程序存储器。

数据存储器

数据存储器(RAM)用于存放程序运行的中间结果、状态标志位等。

片内数据存储器的配置

分为内部数据存储器和外部数据表存储器,是两个独立的地址空间。片内RAM为256字节,地址范围为00H~FFH。

(1)底128字节(00H~7FH)为真正的 RAM区。

(2)高128字节(80H~FFH)为特殊功能寄存器区。

51单片机的时钟与复位

CPU时序

时序是计算机指令执行是各种微操作在时间上的顺序关系。

时钟周期

时钟周期也叫震荡周期,是时序中最小的时间单位。

使用12MHz石英晶体震荡器,此时的时钟周期为1/12us。

机器周期

执行一条指令的过程可分为若干个阶段,每一阶段完成一项规定的操作。机器周期为时钟周期的12倍。

使用12MHz晶振时,机器周期为1up。

指令周期

指令周期定义为执行一条指令所用的时间。指令周期通常为1~4个机器周期。

乘除指令消耗 为4个机器周期。

时钟电路

51单片机时钟电路由两种接法,通常采用 1个晶振、2个30pF微调电容。

复位电路

当外界给单片机的9角(RST)一小段高电平时,单片机就会复位。

单片机最小系统硬件设计图

相关推荐
C_V_Better12 分钟前
Spring Security 如何防止 CSRF 攻击?
java·开发语言·数据结构·后端·算法·spring·csrf
练习&两年半27 分钟前
C语言:51单片机 基础知识
开发语言·51单片机
推敲模拟35 分钟前
Chapter 4 Noise performance of elementary transistor stages
单片机
充满诗意的联盟1 小时前
DDD该怎么去落地实现(4)多对多关系
java·开发语言
wyz09231 小时前
python 之协程笔记
开发语言·笔记·python
快乐非自愿1 小时前
Java中使用FFmpeg拉取RTSP流
java·开发语言·ffmpeg
武昌库里写JAVA2 小时前
【Redis学习】Redis Docker安装,自定义config文件(包括RDB\AOF setup)以及与Spring Boot项目集成
java·开发语言·spring boot·学习·课程设计
原来是猿2 小时前
蓝桥备赛(六)- C/C++输入输出
c语言·开发语言·c++
coderSong25682 小时前
【零基础C语言】第四节 数组
c语言·开发语言
蟹至之2 小时前
类和对象(6)——Object类、内部类
java·开发语言·接口·深拷贝与浅拷贝·内部类·object类