历史上的今天
返回首页

历史上的今天

今天是:2025年08月06日(星期三)

正在发生

2021年08月06日 | 51单片机之最简系统

2021-08-06 来源:eefocus

电源

这个就不需要太多解释了,没有电源是不可能正常工作的。关键问题在于单片机需要什么样的电源,又应该接在什么那个管脚(引脚)上?见下图:

1

通常我们给一个芯片的管管脚标序号时,使半圆形缺口朝上,逆时针从1开始,依次编号(不仅仅是单片机,很多的芯片都是这样给管脚标序号的)。对于STC89C51RC系列的5V的单片机,供电范围在5.5V-3.3V;3V的单片机,供电范围在3.8V-2.0V(这些信息都可以在官网的数据手册中查到)。针对于常用的5V单片机,电脑的USB口刚好就是5V的,通过下载电路就能供电了,而3V的单片机,下载器也有对应的电源接口。


如果我们制作自己的作品的时候,考虑到需要用电池供电,我们就不得不自己设计一下我们整套的电源电路,如果使用市面上常见的1.5V干电池,大概需要的3节(4.5V),如果用像18650这种的锂电池(4.2V-3.7V),一节就够了。当然了,这只是考虑到单片机的供电,有些模块如果需要3.3V的电压,就需要用到像ASM1117这种的稳压器了。

5

时钟信号

为什么需要它

说到这个,就不得不举一些例子了。军队行军的时候,需要一个领队的来喊口令,“121”,这样才会是每个人的步伐一致,上下一心。同样的道理,单片机执行命令的时候,可能部分电路任务简单,执行的快,有的电路任务重,执行的慢。这就需要有一个信号来把所有的士兵们统一起来,这个信号就叫时钟信号。可想而知,时钟信号的频率决定了单片机的速度,STC89C51系列的单片机甚至支持0~80M的时钟频率(查手册就可以知道)。


晶体or晶振

这的确是两个很容易搞混的概念,有时候有对这两个概念不加区分,其实晶体才是我们常说的那个东西,具体信息可以参考这篇文章

https://blog.csdn.net/tq384998430/article/details/53905584

在电路中通常是这样设计的(官方手册中的)

2

两个小竖线便是电容(陶瓷的),中间那个表示晶体。关于这些参数选择都已查找相应的手册。


三个周期

时钟周期:也就是振荡周期,指的是始时钟频率的倒数。

机器周期:单片机完成一项基本操作(取指令,读寄存器等)需要若干个时钟周期。在12T模式下,一个机器周期包含了12时钟周期:在6T模式下,一个机器周期包含了6个机器周期。STC12/15系列还支持1T模式。


指令周期:一条基本的汇编指令的指令周期包含若干个机器周期。比如一个简单的空指令(nop)就只需要一个机器周期,计数器也是每隔一个机器周期加1。但是其他的指令可能会包含2个或者更多机器周期。


注意:这里说的一条指令并不等同于C语言里面的一条语句。实际上C语言的一条语句编译后是好几条汇编语句。


一个简单的延时程序

接下来我们来一个计算。如果单片机需要1s的延时(比如说让某个LED亮1秒,灭1秒),我们怎么通过程序实现呢?


有两种方法,我们先讲一种简单的(另一种我们在讲定时器时再说):

假设我们使用的是12Mhz的晶体,那么

时钟周期

image.png?imageView2/2/w/550

机器周期(12T模式)

image.png?imageView2/2/w/550

指令周期

对于nop空指令,只占用一个机器周期,也就是1us。那我们立刻想到,需要延时1s的话,那我们用1 000 000个空指令不就行了么。确实是这样的,但是你想想一个延时塞一百万个空指令也太2了,估计会被后来人好好的嘲笑一番。机智的小伙子立马想到,这太简单了,用循环不就搞定了么。确实需要循环,但有一点问题,一个循环到底包含多少条指令我们是不知道的,这就需要借助STC提供的烧录工具了,对于软件延时,这个软件能够精确地帮你计算好,甚至连误差都有,并提供C代码(简直是神器)。


但是在选择的时候,注意晶振的选择,还有适用于STC89C52单片机的指令集的选择。

3

也有可能你会遇到这种问题,这一个函数_nop_()无法识别。你需要在头文件加上#include ,这个头文件里包含了一些移位,测试这样的汇编指令,能够让你在C语言中使用。当然了,如果你不是特别在乎这1us,删掉岂不是更简单。


复位电路

在接上电源的时候,我们希望程序从最开始的地方执行,这是一个很朴素的愿望。或者有时候程序卡住了,我们希望从头开始,这就牵扯到复位的问题。这两种复位的方式通常称为上电复位,按键复位。单片机的9号引脚(RST,reset)就是用来复位的,当这个引脚接收到一定时间的高电平时,就会复位。


可以用以下电路实现

6

其中原理可以这样解释:在接通电源瞬间,电容相当于导通,此时RST引脚为高电平,然后电容充电,RST引脚的电压逐渐降低,充电完成,电容相当于断开,RST始终为低电平。

当电容并联上一个按键时,按下按键,RST也能达到高电平,同样起到了复位的作用。


外部程序存储器访问控制

image.png?imageView2/2/w/550

7

附录

最后,补上我提到过N次的数据手册:

http://www.stcmcudata.com/datasheet/STC89C52.pdf

推荐阅读

史海拾趣

Grande Electronics Ltd公司的发展小趣事
如二极管损坏、老化或光强减弱,导致无法发射红外光或发射的红外光强度不足。
Electronic-Bauteile Goerlitz GmbH公司的发展小趣事

在快速发展的过程中,Electronic-Bauteile Goerlitz GmbH公司非常重视企业文化和团队建设。公司倡导以人为本的管理理念,注重员工的培养和发展。公司定期组织各种培训和学习活动,提高员工的专业素质和工作能力;同时,公司还建立了完善的激励机制和福利待遇体系,确保员工能够全身心地投入到工作中。这些努力使得公司形成了一支高效、团结、富有创新精神的团队,为公司的发展提供了坚实的保障。

请注意,以上故事均为模拟构建,旨在展示一个电子公司可能的发展过程和相关故事。如有需要,您可以根据具体情况进行调整和补充。

台湾富晶(FORTUNE)公司的发展小趣事
对于老化或损坏的元件进行更换,确保触发器的正常工作。
和芯润德(CoreChips)公司的发展小趣事

在技术创新的同时,和芯润德也积极拓展市场。公司凭借卓越的产品性能和优质的服务,成功打入了国内外多个高端市场。特别是在网络通信、智能终端等领域,和芯润德的产品得到了广泛应用。同时,公司还加强了与国际知名企业的合作,共同推动产业链的发展。

BLACK&DECKER公司的发展小趣事

BLACK&DECKER公司的历史可以追溯到1910年,由Alonzo G. Decker和Duncan S. Black在美国马里兰州巴尔的摩共同创立。两位创始人的初始投资来自于Black先生卖掉他的二手车所得的600美元,再加上1200美元的贷款。公司起初主要生产牛奶瓶装盖机、棉花采集机、糖果浸包机等工业用设备。然而,真正让BLACK&DECKER崭露头角的,是1916年他们发明的现代手枪钻原型。这一创新产品解决了当时德国电动工具笨重、难以操控的问题,为电动工具行业带来了革命性的变革。

Ava Electronics Corp公司的发展小趣事

AVA电子的创始人凭借对市场的敏锐洞察和对技术的深刻理解,于2004年决定成立这家以IT产品为主的新兴高科技企业。当时,中国的电子行业正迎来一轮发展高潮,而流媒体技术、网络控制技术和多媒体音视频切换及传输技术则被认为是未来行业发展的关键。然而,创业初期,公司面临着资金短缺、人才匮乏以及市场竞争激烈等多重挑战。创始人带领团队,通过不断研发创新产品,积极拓展市场,逐渐在行业中站稳脚跟。

问答坊 | AI 解惑

安装linux操作系统的问题

公司里有一台电脑,想做为服务器,只装linux操作系统 是否可能像windows 一样(c:系统盘;d:是数据盘),使我的启动分区与数据分开,但系统出现问题时,即使重装系统,我硬备上的数据区的数据仍存在? 如果可以,如何来实现? 望各位帮帮忙,感 ...…

查看全部问答>

求quartus11的破解版啊

版本越新越好 链个地址吧,最好有安装教程。 小女子多谢…

查看全部问答>

请大虾们帮个忙 Quartus :ERROR【10028】【10029】&Can't elaborate top-level user hierarchy

RT 我做的是程序计数器PC.V 以下附源代码和错误 `include \"Defines.v\" module pc (rst, clk, pc_out, alu, pc_wr_sel, op1, op2, op3, wr, rd, int); // rst          reset // clk     &nbs ...…

查看全部问答>

求助!!!!!proteus 7.4

我刚下了个proteus 7.4 破解版的,安装完后就是运行不了一运行就是什么电脑上找不到isis的lxk文件的?哪位大侠给小弟指点指点吧!!!!…

查看全部问答>

linux 2.6 USB的自动挂载问题

  嵌入式开发,要对USB设备进行管理。在linux 2.4 下插入USB设备可以从系统配置文件/proc/scsi/usb-storage*/* 中读出USB设备的插入状态,该文件最好一行Attached为yes就是已经插上USB设备了,若为no就是没有插上。现在linux 2.6下,并没 ...…

查看全部问答>

bluetooth pan

我在wince里添加了bluetooth pan profile,如何实现bluetooth pan:我的xp上连接了usb的蓝牙适配器,wince上连接csr的蓝牙,我想把xp和wince连接起来,能相互ping到对方,并实现共享上网?请大家帮忙了 …

查看全部问答>

用CreateFile打开设备遇到ERROR_OPERATION_ABORTED

打开一个手机上的GSM Phone USB Modem。 每次刚热拔插的第一次可以正常打开。 但是之后再次打开就可能遇到 ERROR_OPERATION_ABORTED的错误了。 此时在设备管理器中的该设备属性对话框\"诊断\"标签中,点击\"查询调制解调器\",弹出报错\"...无 ...…

查看全部问答>

【连载】【ALIENTEK MiniSTM32 开发板】STM32不完全手册--按键输入实验(实验二)

ALIENTEK开发板购买地址:http://shop62103354.taobao.com/   [ 本帖最后由 正点原子 于 2010-8-30 09:35 编辑 ]…

查看全部问答>