博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
51单片机学习总结系列(0)之单片机最小系统
阅读量:4125 次
发布时间:2019-05-25

本文共 1580 字,大约阅读时间需要 5 分钟。

        51单片机学习总结系列(0)之单片机最小系统

      学习51单片机接近两年了,最近总结一下51单片机学习,加上明年3月报了蓝桥杯大赛单片机类,也算是对比赛的准备。后续主要以蓝桥杯配的板子CT107D更新,还会加上平时遇到板子的模块以及自己做的一些小项目,每周保持更新,如果以下内容有问题,欢迎指正。()

        对于一个初学者来说,我个人认为第一个要了解的就是单片机最小系统,任何开发板也是在此基础上外加一系列外围电路模块。所以足以说明它的重要性。

      下面先贴出51单片机最小系统图。

      如图中所示,51单片机最小系统包括复位电路、时钟电路、EA拉高。图中P0口接了一个10K上拉电阻,主要是P0口驱动能力比较弱。下面分析最小系统各个部分。

      时钟电路:单片机各外围部件运行都以时钟控制信号为基准,有条不紊,一拍一拍的工作。时钟电路为单片机工作提供基本时钟信号,在51系列单片机内部有一个高增益反相放大器,其输入引脚为XTAL1,输出端引脚为XTAL2,只需在XTAL1和XTAL2之间跨接晶振和微调电容,就可以构成一个稳定的自激振荡器。常用的晶振主要为12M、11.0592M,11.0592M主要在串口通信时用,得到一个精准的波特率,电容常用30pF。

     下面来了解一下机器周期、时钟周期、指令周期。

       时钟周期T就是振荡周期,是由单片机片内振荡电路OSC产生,若时钟晶体的振荡频率为fosc,T=1/fosc。在8051系列单片机中,一个振荡周期为一个节拍,用P表示,2个节拍定义为1个状态周期,用S表示,如图所示。机器周期由12个时钟周期组成,指令周期是执行一条指令所需要的时间。不同的指令所包含的周期数是不一定的,单字节和双字节一般为单机器周期和双机器周期,三字节是双字节周期,只有乘除指令占4个机器周期。

       51单片机复位原理,只要在RST引脚上加一个持续时间为24个振荡周期(即两个机器周期)的高电平就可以了。一个机器周期为12个振荡周期(12*1/12M),为1us。所以需要2us高电平。

      复位电路:先不管按键,看上电复位的情况:通电瞬间电容可以当短路(瞬间是交流)所以RST脚为高电平。随着时间的飞逝(电容充电),稳定后VCC的电压实际上是加在电容上的。电容下极板也就是RST脚最终为0V。这样RST持续一段时间高电平后最终稳定在低电平,高电平持续时间由RC时间常数决定。这就是上电高电平复位。在说按键。按键按下去就相当于上电那一瞬,让电容短路。后面原理都一样。

      51单片机复位电路参数计算分析:

      一上电电容充电,电容两端电压为:

     RST端电压为: 即为

     查芯片手册复位要求两个机器周期,复位端电压超过0.7倍的VCC即认为高电平。即超过0.7VCC(3.5V)的高电      平持续时间超过2us,系统复位。

     当,解得,当R=10K C=10uF,得满足复位条件。

    图中为在Multisim中仿真图,以下是示波器图。

      图中可以看到开关闭合后图形,蓝线电压从4.959V到红线3.460V高电平持续时间为102-66=36ms,和理论计算值相差不大,同时也满足了系统的复位要求。

      CPU可以访问片内和片外程序存储器(外扩),可有EA引脚电平确定。

EA=1,CPU从片内0000H开始取指令,当PC(程序计数器)值没有超0FFFH(0000H~0FFFH为片内4KB Flash 存储器的地址范围)时,CPU只访问片内的Flash程序存储器,当PC值超出0FFFH会自动转向读取片外程序存储器空间1000~FFFFH内的程序。

      EA=0,单片机只执行片外程序存储器(地址范围为0000H~0FFFH)中程序,CPU不理会片内4KB(地址范围0000H~FFFFH) Flash 存储器。

      一般我们在编程是访问片内存储器,故EA拉高,即EA=1。

 

 

                                                                                                                            李松泽  2014-12-24   

你可能感兴趣的文章
一篇搞懂Java反射机制
查看>>
【2021-MOOC-浙江大学-陈越、何钦铭-数据结构】树
查看>>
MySQL主从复制不一致的原因以及解决方法
查看>>
RedisTemplate的key默认序列化器问题
查看>>
序列化与自定义序列化
查看>>
ThreadLocal
查看>>
从Executor接口设计看设计模式之最少知识法则
查看>>
OKhttp之Call接口
查看>>
application/x-www-form-urlencoded、multipart/form-data、text/plain
查看>>
关于Content-Length
查看>>
WebRequest post读取源码
查看>>
使用TcpClient可避免HttpWebRequest的常见错误
查看>>
EntityFramework 学习之一 —— 模型概述与环境搭建 .
查看>>
C# 发HTTP请求
查看>>
启动 LocalDB 和连接到 LocalDB
查看>>
Palindrome Number --回文整数
查看>>
Reverse Integer--反转整数
查看>>
Container With Most Water --装最多水的容器(重)
查看>>
Longest Common Prefix -最长公共前缀
查看>>
Letter Combinations of a Phone Number
查看>>