单片机的由来及基础原理
在我们的日常生活中所使用的家用电气与电子器件中包含有各种各样的集成电路板。电路板上的零件使电子产品具有多种功能。在集成电路板中最重要的零件莫过于单片机。单片机是一种集成电路芯片,它采用超大规模集成电路技术,把具有数据处理能力的中央处理器CPU和存储器以及多种IO接口集成在一起。
在1971年全球第一个型号为4004的计算机微处理器,由美国英特尔公司推出。同时,单片机的技术也逐渐发展并得到广泛应用。单片机全称单片微型计算机又称为微型控制器,可以理解为精简版的计算机。
单片机主要由三部分组成,分别是CPU,存储器和IO。这三个组成部分的功能是什么呢?
CPU的主要功能是运算和控制。运算就是进行各种数学计算,而控制就是根据程序代码来控制输入输出以及电平的高低。那么程序代码存放在什么地方呢?
程序代码是放在存储器中的。单片机中的存储器一般分为两种,一种是只读存储器ROM,另一种是随机存储器RAM。只读存储器,用来存储用户编译好的程序,运行时CPU直接从只读存储器中读取指令来运行。指令运行过程中产生的临时数据,如变量放在随机存储器中。所以可以理解为只读存储器是用来存放程序的,随机存储器是用来存放数据的。
IO是输入输出模块,主要用于外部电路与CPU进行沟通。
那么这三者的具体工作流程是怎样的呢?
这是一个单片机内部包含CPU,只读存储器,随机存储器和IO输入输出模块。首先将写好的程序通过下载器烧录到单片机的只读存储器ROM,然后程序逐条进入CPU,并在CPU内执行。例如CPU可以按照程序指示并通过IO模块输出高电平,点亮外部发光二极管。
如果程序所对应的指令为运算指令,那么CPU就执行运算过程。如果在运算过程中产生了变量,那么产生的变量将存放在随机存储器中。因为CPU内部没有存放变量的地方。
IO接口是单片机与外界的接口,可以作为数据接口对外部存储器进行读写,也可以作为控制接口输出控制指令,如电机控制继电器控制等。也可作为人机交互接口,如液晶显示,键盘输入等。单片机中的各个模块是按统一的节拍同步工作的,这个统一的节拍来源于单片机的时钟,时钟信号是一个高低电瓶交错的信号。单片机在一个时钟周期内只能执行一条指令,而且单片机的时间单位都是时钟周期的整数倍。时钟信号来源于振荡器,振荡器分为内部RC振荡器和外部晶体振荡器,简称晶振。
由于内部RC振荡器的误差比较大,所以一般采用外部晶振在配合晶振电路,通电后产生一定频率的时钟信号。单片机的各个部件都要根据时钟信号协调工作。时钟周期的长度影响了单片机的速度,所以晶体振荡频率也叫做单片机的主频。主频越高,单片机的性能也越高。单片机的频率一般为百兆赫兹级别,而电脑CPU的频率一般为千兆赫兹级别。
总的来说,单片机是一种集成电路芯片,它采用超大规模集成电路技术,把具有数据处理能力的中央处理器CPU,存储器以及多种IO接口集成在一起。CPU的主要功能是运算和控制,只读存储器ROM是用来存放程序的,随机存储器RAM用来存放数据的。IO是输入输出模块,可以用作数据接口控制接口或人机交互接口。
#单片机##芯片##科技曼曼谈##电路##cpu#
重要提醒,单片机发展史,它到底是一个什么东西
MCU是Microcontroller Unit 的简称,中文叫微控制器,俗称单片机,是把CPU的频率与规格做适当缩减,并将内存、计数器、USB、A/D转换、UART、PLC、DMA等周边接口,甚至LCD驱动电路都整合在单一芯片上,形成芯片级的计算机,为不同的应用场合做不同组合控制,诸如手机、PC外围、遥控器,至汽车电子、工业上的步进马达、机器手臂的控制等,都可见到MCU的身影。
单片机发展简史
单片机出现的历史并不长,但发展十分迅猛。 它的产生与发展和微处理器(CPU)的产生与发展大体同步,自1971年美国英特尔公司首先推出4位微处理器以来,它的发展到目前为止大致可分为5个阶段。下面以英特尔公司的单片机发展为代表加以介绍。
1971年~1976年
单片机发展的初级阶段。 1971年11月英特尔公司首先设计出集成度为2000只晶体管/片的4位微处理器英特尔4004,并配有RAM、 ROM和移位寄存器, 构成了第一台MCS—4微处理器, 而后又推出了8位微处理器英特尔8008, 以及其它各公司相继推出的8位微处理器。
1976年~1980年
低性能单片机阶段。 以1976年英特尔公司推出的MCS—48系列为代表, 采用将8位CPU、 8位并行I/O接口、8位定时/计数器、RAM和ROM等集成于一块半导体芯片上的单片结构, 虽然其寻址范围有限(不大于4 KB), 也没有串行I/O, RAM、 ROM容量小, 中断系统也较简单, 但功能可满足一般工业控制和智能化仪器、仪表等的需要。
1980年~1983年
高性能单片机阶段。 这一阶段推出的高性能8位单片机普遍带有串行口,有多级中断处理系统, 多个16位定时器/计数器。片内RAM、 ROM的容量加大,且寻址范围可达64 KB,个别片内还带有A/D转换接口。
1983年~80年代末
16位单片机阶段。 1983年英特尔公司又推出了高性能的16位单片机MCS-96系列,由于其采用了最新的制造工艺, 使芯片集成度高达12万只晶体管/片。
1990年代
单片机在集成度、功能、速度、可靠性、应用领域等全方位向更高水平发展。
对单片机感兴趣的可以关注我,通过个人简介找到我,打开头像添加
单片机不是一门技术,而是一个工具。
对于工具,我们的目的是会熟练地使用它。
如果你看懂这句话,会少走很多弯路。
下面我来讲一下使用这个工具时,会涉及到的一些知识点。
1.单片机是什么?
2.单片机编程需要掌握哪些知识?
一、单片机是什么?
简单来说就是一个可编程的芯片,它的特点可通过不同程序和不同的电路实现不同产品的功能,价格便宜,功耗也低,所以非常适合去做各种消费类、工业、医疗、航空等智能控制。
这里只要有基本概念就行了,它就是一个芯片,可以通过程序控制它就够了。
二、单片机编程需要掌握哪些知识?
很多人学不会单片机,学不会编程,主要有以下几点:
1.学习方向不对
2.学习过程太枯燥,没正确培养自己的兴趣。
3.没人带
下面,我们逐个击破。
1.学习方向不对
这个我之前有篇文章写的很详细了,要学哪些,学到什么程度都写的很清楚,包括教程+工具都整理好了。
单片机入门到高级开挂学习路径(附教程+工具)
2.学习过程太枯燥
很多小伙伴喜欢先系统学一遍,最后才做项目。
如果你有足够的毅力可以这么做,但很多人都没有。
大多数人在学习过程感到枯燥,说白了缺的就是那种”即时反馈感”,或者叫成就感。
举个例子:
C语言我学完基本的语句,单片机学完定时器,这个时候我完全可以先做一个有意思的东西。
比如说定时炸弹来恶搞一下。
最重要是让自己感觉到,诶,这个单片机和C语言确实能干点实事啊。
很多人可能觉得这样很折腾,耽误进度。
其实最快的学习方法就是从项目中去学习,因为做项目的过程你会碰到很多问题。
解决问题的时候本身对你就是一种成长,当你积累到一定经验以后,再学后面的知识会游刃有余。
3.没人带
毋庸置疑,能找到一个行业经验丰富的人带你,1年顶别人2年甚至更长,这个可遇不可求,看缘分。
很多人可能会选择去培训班,效果有没有我不知道,毕竟自己没去报过。
我建议是找个人带你多做项目,多接触实际产品开发,不管是硬件还是程序,对自己提升都很有帮助,也更接近企业需求。
至于网上开发板以及智能小车之类的,定位是给入门者学习单片机和编程用的,跟实际产品开发还是有点差别。
实际产品更注重产品尺寸、成本、稳定性和开发周期。
相关问答
51 单片机产生 pwm波的c程序是什么?用定时器产生程序如下:unsignedinta=0,b=10;voidmain(){TMOD=0x01;TH0=(65536-50000)/256;TL0=(65536-50000...
单片机 的基本结构有哪些呢?单片机的基本结构:运算器、控制器、主要寄存器。运算器功能:执行各种算术运算;执行各种逻辑运算,并进行逻辑测试,如零值测试或两个值的比较。主要寄存器功...
51 单片机 如何 产生 方波?1、可以用定时器中断实现这样的处理,这种方法重点在于根据你的晶振频率计算出定时器中断的参数,然后就可以很好的控制定时器中断触发的时间了.只要在中断处理...
单片机 和嵌入式的区别是什么[回答]单片机是计算机发展的一个重要分支领域,一个嵌入式系统装置一般都由嵌入式计算机系统和执行装置组成,嵌入式计算机系统是整个嵌入式系统的核心。接...
我想问 单片机 ,你了解多少?想了解单片机,就需要了解单片机的工作原理,开发环境、编程语言、端口、功能模块等等。一、了解单片机的工作原理我们都知道,在学习一项技术的时候,第一条就...
用51 单片机产生 正弦波,那个数据表怎么得到的?谢谢?对一个周期取样256次,也就是说第0个取样点的弧度是0,那么第一个取样点的弧度值就是pi/128,第二个取样点的弧度为(pi/128)*2,依次类推。你的这个表我猜测峰峰值...
如何用 单片机产生 一个三角波?利用DAC资源可以很方便的产生三角波,每个IC配置DAC代码不一样,但是波形生成算法大体是一样的,你用的什么IC网上搜下应该有大把现成代码利用DAC资源可以很方便...
单片机 动态申请内存的原理?是在程序运行时,通过一个特定的地址指针,将程序的运行状态保存起来,并在该地址处创建一个内存空间,以存储程序在运行时所需要的临时数据和变量。这个地址指针...
单片机 是怎样编程的?单片机编程是将计算机指令转换为可执行的二进制代码,并将其储存在单片机中,以便控制硬件执行任务。编程的过程包括选择编程语言、编写代码、编译代码以生成可...
单片机 是用什么编程的?这个问题要从两方面来说:第一是单片机是用什么编程环境(开发平台)编程?第二是单片机是用什么编程语言编程?我们分别来看看:一、单片机的编程环境单片机...这...