关于“单片机”的一些小计算机系统的借鉴价值!

1.什么是单片机?简单地说,单片机就是一个小计算机系统。2.单片机是如何工作的?随着技术的发展,编程方式越来越多,但总的概念是这样的,具体的细节,将在另一个问题“单片机编程器是什么”中回答。单片机编程器、仿真器、烧写器、下载线各是什么?6.自学单片机必备的硬件设备有哪些?

1.什么是微控制器?

简单地说,微控制器是一个小型计算机系统。 为了把这个问题解释清楚,我们还得从计算机说起。 说到计算机,您可能会立即想到“显示器、鼠标和键盘”。 然而,这些都不是计算机的核心和关键。 计算机的核心部分位于机箱的一侧。 打开机箱可以看到机箱内有主板、硬盘、光驱等。 仔细观察主板。 它包含CPU、内存模块、BIOS 芯片,通常还有一个 25 针打印机接口。 这些组件都通过主板上的连接相互连接。

无论计算机多么复杂,它总是由运算器、控制器、存储器、输入/输出接口和总线五部分组成。 通常运算单元和控制器做成一块芯片,这就是CPU(中央处理单元)。 在电脑主板上,内存条和BIOS芯片就是内存,25针打印机接口就是输出/输出设备,主板上设计了总线,也就是将各部件相互连接的线路。

在某些应用中,人们并不需要计算机来完成非常复杂的操作,但他们希望计算机体积小、可靠且价格低廉。 于是人们将计算机的所有五个部分集成到一个芯片中。 也有人说,一颗芯片可以构成一台独立的计算机。 在当时的技术条件下,这是一件了不起的事情,所以人们就用这个功能来命名,称为“单片机”。

如果构成一台计算机所需的所有五个部件都集成到一个芯片中,那么这个芯片是否需要非常大且昂贵? 并非如此。 如果要将图1所示主板上的所有组件集成到一颗芯片中,这当然会非常昂贵,而且在技术上可能不可行。 然而,许多微控制器所需的功能不一定那么强大。 因此,许多微控制器的尺寸很小,价格也很低。 例如,市场上常见的单片机有8、14、16、18、20、28、40、84等引脚,有的甚至只有6引脚。 如图2所示,是Microchip发布的6引脚微控制器的模型。 价格从几元到几十、几百元不等,有的品种大批量订购时甚至可以低至1元以下。

刚接触单片机的人常常会有一个疑问:既然人们已经有能力制造功能强大的计算机,为什么还要制造功能较弱的计算机呢? 事实上,功能的强弱并不是决定是否生产的决定性因素。 市场需求这是关键。 例如,用于控制电器箱的计算机显然不需要使用“奔腾”芯片强大的计算能力。 它只需要进行非常简单的计算并进行比较,看看温度是否在控制范围内,然后做出决定。 只要相应控制即可。

单片机在人们的生活和工农业生产设备中随处可见,如计时装置、自动控制装置等。学习单片机的爱好者要注意观察事物,寻找周围可以使用单片机的场合,从而将学到的知识运用到实践中。 例如,利用单片机技术改造传统机电设备、在特定场合用单片机代替PLC等,具有广阔的应用前景; 又如用单片机控制风扇、抽油烟机、空调等,从而创造出功能更强的产品。 也可以尝试通用控制器。

2、单片机是如何工作的?

单片机的工作过程是一个“取指令——分析指令——执行指令”的连续过程。 单片机的程序以指令的形式一一存储在程序存储器中。 微控制器开始工作后,开始从程序存储器中的特定位置读取指令。 然后单片机内部的控制器对指令进行分析,并根据指令要求进行“取指”。 计数、送数、算术运算、逻辑运算、跳转等基本运算中的一项或多项。 这些操作在指定的周期内完成。 执行完成后,从下一个内存单元中取出指令并重复执行。 重复刚才的操作(当然,这些操作的具体内容可能与上次不同),直到关闭电源。 这里所说的“具体存储位置”、“指定周期”等与单片机的型号有关。 下面以51系列单片机为例。

在51系列单片机中,有一个寄存器叫PC(是用来存储数字的容器)。 微控制器复位后,该寄存器的内容被设置为0000H。 微控制器内部的控制器始终基于PC寄存器中的值。 该值进入相应的程序存储单元以获取指令。 因此,启动后,将从0000H单元中取出第一条指令,进行分析和执行。 同时,PC值也会相应调整,指向下一条要执行的指令的位置。 指令的位置在哪里? 对于51单片机来说,一条指令可能占用一个字节、两个字节或三个字节。 如果第一条指令是单字节指令,则取第一条指令后,PC 的值将变为 0001H。 因此,第一条指令执行完毕后,就会从0001H单元中取出第二条指令执行,以此类推。 如果程序是顺序执行的,PC的值就会一直增加。 如果程序中存在跳转指令,则该指令会影响PC中的值,使PC中的值指向下一条要执行的指令的地址单元。 这个跳转可以是正向的,比如从0000H跳转到0030H,也可以是反向的,即向后跳转,比如从200H跳转到100H。 正是因为指令可以影响PC中的值,程序才可以实现“分支”、“循环”等各种功能。 那么,执行一条指令需要多少时间呢? 对于51单片机来说,有三种可能的指令执行时间,单周期、双周期和四周期。 无论指令需要做多少工作,都必须在规定的时间内完成。 。

3、单片机程序的作用是什么? 怎么写呢? 如何将其写入单片机中?

单片机程序的目的就是让单片机“听话”,按照人们预定的设计完成一系列动作,最终实现某个特定的功能。

例如,如果用单片机控制流水灯,通电后,灯会第一次亮,然后延时一段时间,灯会第二次亮,然后延时一段时间,灯第三次亮……再延时一段时间,又回到第三次。 一旦灯亮起,循环就会继续。 这里有一些问题:第一次打开多少个灯,延迟多长时间,一个周期设置多少次不同的灯……这些决定了水灯的图案和水流的速度,而这些,单片机显然没有自我判断能力,必须依靠人给它“分配”任务,它按照人的设计依次执行。

要让单片机“听话”,就需要用单片机能理解的语言发出命令。 单片机能够理解的语言称为“指令”。 任何类型的微控制器可以接受的指令都是有限的。 51单片机能接受的指令数为111条,而PIC单片机的指令只有35条。每条指令完成一个基本动作。 为了完成特定的功能,人们必须将这些指令排列组合成指令序列,这就是程序。

指令有两种表示形式:机器语言和汇编语言。 以51为例。 如果想让P1.0引脚变为低电平,机器语言表达为C2H 90H。 将这两个数字放入微控制器的程序存储器中。 单片机执行完毕后,就可以让P1. 0脚变为低电平; 使P1.0引脚变为高电平,机器语言表达为D2H、90H。 至于为什么会有这两个数字,无需追究。 这是设计这个芯片的设计工程师规定的。 我们无法改变它,我们只能学习。

C2H、90H是一条指令。 显然,这样的指令形式很难记住,编程也很困难,所以人们用“助记符”来代替这些数字。 例如,C2H和90H的助记符是CLR P1.0,而D2H和90H的助记符是SETB P1.0。 由于助记词采用英文字母的缩写,具有一定的含义,因此比数字指令更容易使用。 记住并且易于使用。 使用助记符形式的指令编写的程序称为“汇编语言源程序”。 然而,汇编语言源程序没有办法直接发送到单片机内部。 使用助记符形式的指令编写的程序最终会变成:C2H、90H、D2H、90H。 只能发送此形式的指令。 到微控制器的程序存储器中。 将助记符形式的指令转换为数字形式的指令的过程称为“汇编”。 装配方法有两种,一种是“手工装配”,即人们通过查表找到书面装配指令的数字形式,然后写下来;另一种是“手工装配”,即人们通过查表找到书面装配指令的数字形式,然后写下来。 另一种是“机器汇编”,即编写汇编语言源程序后,用计算机软件对这些源程序进行处理,得到数字形式的指令序列。 这种指令序列通常称为“机器代码”,即机器可以直接执行的代码。

机器组装后得到的数字指令序列以文件的形式保存在磁盘上。 这个文件的扩展名一般是HEX,也就是常说的HEX文件。 获得HEX文件后,即可将其写入程序存储器。 要将程序写入芯片,通常需要一种称为“编程器”的特殊设备,在计算机上运行附带的编程软件,然后在该软件中打开HEX文件,将其写入芯片中。 随着技术的发展,编程方式也越来越多,但大体概念就是这样,具体细节会在另一个问题“什么是单片机编程器?”中解答。

4、8位、16位、32位单片机中的“XX位”是什么意思?

8位、16位、32位是指单片机的“字长”,即一次运算所涉及的数据长度。 该位指的是二进制位。 以8位为例,8位二进制的表达范围为0000、0000~1111,1111换算为十进制为0~255,即每次运算涉及的最大数据不能超过255。 16位计算机为16位,其数据表达范围为0~65535,即每次运算涉及的最大数据不能超过65535; 32位单片机的字长为32位,其数据表达范围为0~4294967295,即每次运算涉及的最大数据不能超过4294967295。

8位、16位、32位与微控制器的性能密切相关。 一般来说,32位机器的性能高于16位机器,16位机器的性能高于8位机器。 为什么会发生这种情况? 这需要从两个方面来分析。 首先,位数不同,计算效率不同。 对于8位计算机来说,由于一次运算中每个数字不能超过8位,所以即使是100+200=300这样的运算也无法一次完成,因为300超出了8位所能表达的范围。 最大范围为 (255)。 因此,要对这样的方程进行运算,必须编写程序一步步完成运算,最后结合起来才能得到正确的结果。 而如果使用16位单片机进行计算,那么一次运算就足够了。 显然,一步一步完成所需要的时间,要比一步一步完成所需要的时间要大得多。 同理,当某个运算的结果或中间值大于65535时,16位机无法一次运算完成该运算,必须一步步执行,而32位机则可以完成该运算在一次操作中。 第二,商业因素。 通常,计算能力越高,单片机的性能就越强。 当然,较高的价格人们也能接受。 凭借价格空间,制造商通常会在这些芯片中提供更多其他功能,从而提高芯片的整体性能。 较大改进。

典型的单片机中,80C51系列、PIC系列、AVR系列都是8位单片机; 80C196和MSP430系列是16位微控制器; 而目前非常流行的ARM系列是32位微控制器。

5、什么是单片机编程器、仿真器、编程器、下载线? 它们的用途是什么?

微控制器编程器是用于将程序代码写入存储芯片或微控制器的工具。 当芯片为双列直插时,直接插入插座即可编程。 另一种方法是使用下载电缆。 随着技术的进步,越来越多的单片机芯片开始支持“ISP”功能,即In System Programmer,在线编程技术。 利用这种技术,将空白的(尚未编程的)芯片直接焊接到印刷电路板上,利用预先留下的少数引脚即可对芯片进行编程。 不需要把芯片拆下来放到编程器上,这样,给小批量生产带来了很大的方便,也省去了购买昂贵的适配器的需要。

6、单片机自学需要哪些硬件设备?

除了电脑之外,学习单片机还需要以下设备。

1. 实验板

如果您对微控制器一无所知,那么自己制作或购买实验板是更好的选择。 通常实验板上会设计一些常见的器件如开关、LED指示灯、数码管、各种接口芯片等。 通过在这些设备上进行编程练习,可以逐步掌握单片机的编程技术。

2. 模拟机

模拟器的目的是取代电路板上的微控制器芯片。 模拟器通过串口、USB接口等与PC机在线通信,接收PC端控制软件的指令,单步运行、单步处理、全速运行。 当以单步或过程单步方式执行程序时,每次执行程序后都可以将执行结果反馈给PC上的控制软件进行显示。 由于在对单片机进行编程时,需要知道每条指令执行后的结果是什么,以及实际结果与预期结果是否一致。 因此,仿真功能对于单片机的学习和开发能够起到非常重要的作用。 有帮助作用。

3. 编程器或下载线

其目的是将代码写入微控制器芯片中。 对于学习者来说,如果有模拟器的话,暂时不需要编程器或者下载线,因为用实验板和模拟器就可以做实验了。 不过,建议配置一个,以便您能够了解微控制器开发的各个方面。

4、万用表、烙铁等电子生产工具

微控制器开发不是简单的编程。 到目前为止,纯粹的“微控制器程序员”还很少。 开发人员通常需要熟悉软件和硬件。 所以,这些电子生产任务还是需要配备的。

需要说明的是,这里提到的仿真器、实验板、下载线或者编程器都是一般概念,不涉及具体产品。 市场上也有一些产品采用实验板,将部分或全部仿真功能、下载或编程功能集成在一块板上,形成一个完整的实验系统。

7、国内常用的单片机有哪些?

1.80C51及其兼容系列

(1)80C51系列,这是最基本的系列。 包括80C31、80C51、87C51、80C32、80C52、87C52等芯片。 虽然这些芯片基本不再使用,但它们是后续芯片开发的基础。 其中,80C31单片机芯片内部没有ROM,80C51内部有一次性可写的4K PROM,87C51内部有4K EEPROM。 这些芯片的内部RAM为128字节。 后三个芯片的内部RAM为8K,后两个芯片的片内ROM为8K字节。

(2)80C51兼容系列

这些芯片通常在指令层面与51系列微控制器兼容,但它们扩展了许多新功能。 常见的包括以下几种。

STC89系列单片机的主要特点是:通过串口对单片机直接编程; 可编程以双倍速度运行; 超低功耗; 内置看门狗; 内部FLASH ROM可用作EEPROM,断电时保存数据。

STC12系列单片机的主要特点是:单时钟周期,工作频率0~35M,相当于普通80C510~420M; 电压范围宽; 低功耗; 芯片内置E2PROM功能; 内置硬件看门狗; 通用I/O口可设置四种工作模式,并能在强上拉模式下“吐出”电流。

飞利浦LPC系列的主要特点是:内置RC振荡器,选择RC振荡器时无需外部振荡器器件; 所有接口线均具有20mA LED驱动能力; 和宽工作电压范围。

C8051F系列的主要特点是:一个机器周期只有一个时钟周期; 添加中断源; 它具有内部独立时钟源或连接外部时钟,并且可以在程序运行时在内部和外部时钟之间切换。 每个 I/O 端口引脚均可设置为推挽或开漏输出。 C8051F系列微控制器的I/O端口最独特的地方是增加了数字交叉开关。 数字纵横开关可用于将内部数字系统资源引导至P0、P1和P2端口I/O引脚。 该系列芯片很多型号都具有ADC、DAC、PCA等功能。

2.PIC系列

PIC单片机的开发思路与51单片机不同。 不搞简单的功能积累,而是从实际出发,高度重视产品的性能价格比,依靠多型号的开发来满足不同层次的应用需求; 精简指令,使执行效率大大提高。 目前PIC10、PIC12、PIC16、PIC18系列有数百个品种。 以PIC16F676芯片为例。 该芯片内置1K字FLASH ROM、128字节EEPROM、64字节RAM、8通道10位AD转换器、内置振荡器,精度高达±1%,功耗极低,和宽工作电压。 如此高性能的14针芯片成本不到7元,性价比非常高。

3.AVR系列

AVR系列单片机是增强型RISC结构单片机。 其主要特点是:速度快,一个机器周期仅为一个时钟周期; 品种丰富,与PIC系列类似,依靠多种型号的开发,满足不同层次的应用需求; 支持ISP和IAP功能,可在线编程,方便远程维护; 工作范围宽,抗干扰能力强。 以ATMEGA8芯片为例。 该芯片内置8K Flash ROM、512字节EEPROM、1K字节RAM、8通道10位AD、内置RC振荡器。 如此高性能的28针芯片价格仅为7元左右,性价比相当高。

4.其他

其他常用的单片机还有:ST、EMC、摩托罗拉、三星等,其中一些单片机在市场上应用广泛,但我们没有重点关注,因为我们介绍的内容主要是针对业余爱好者的。 有些芯片虽然功能强大,性价比高,但并不是针对业余爱好者,而且是小批量芯片。 很难买到,而且模拟器、C编译器等开发工具也极其昂贵,这里就不介绍了。 如果您有兴趣,可以在网上搜索相关信息。

8、常用的单片机价格大概是多少?

微控制器的价格差别很大,少则不到1元,多则几十元、几百元。 下面简单介绍一下常用的单片机的价格。

9、单片机编程、仿真、调试常用的软件有哪些?

不同型号的微控制器需要不同的开发软件。 我们以80C51系列、PIC系列、AVR系列为例分别进行说明。

编写单片机程序不需要任何特殊的软件,只要是文本编辑软件即可,比如WINDOWS自带的记事本、WORD等。 但这些软件编写起来并不方便。 有一些更好的文本编辑器可用。 可供选择的有UltraEdit、PE2等。当然,人们最常使用的是开发软件自带的编辑器来编写。 以80C51系列单片机为例,最流行的软件是Keil软件。 Keil软件是一个综合开发工具,内置编辑器、ASM汇编器、C51编译器、调试器等部分。

10. 您能推荐学习微控制器的书籍或其他形式的教程吗?

市场上有很多关于微控制器的书籍。 作为初学者,一般选择80C51系列比较好。 如果你有明确的工作目标,那就另当别论了。

感谢您仔细阅读本文。 希望小编分享的《单片机编程如何写》一文对大家有所帮助。 也希望大家支持易速云,关注易速云行业资讯频道,获取更多相关信息。 知识等你来学习!

单片机

(教师招聘)文都共性问题对照修改,建议收藏!

2024-4-25 7:04:15

单片机

这些水果竟然是生长在树干上的,你看完一定会惊叹!

2024-4-25 8:06:02

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索