当前位置:首页 > 单片机 > 单片机
[导读]从业十年,教你单片机入门基础 第3讲:“道生一,一生二,二生三,三生万物。”《道德经》认为,世间万物,缤纷多彩,它们都起源自一个东西,这个“一”的东西就是“道”。电子世界也

从业十年,教你单片机入门基础 第3讲:

“道生一,一生二,二生三,三生万物。”《道德经》认为,世间万物,缤纷多彩,它们都起源自一个东西,这个“一”的东西就是“道”。电子世界也存在“一”这个东西,这个“一”繁衍出手机,电脑,电视机,机器人等丰富多彩的电子世界。这个“一”就是单片机一个最重要的特性:程序下载进单片机的内存后,可以识别管脚上的高低电平信号,管脚也可以输出不同时间长度的高低电平。下面我把这句话的5个重要关健词提取出来,详细解读它的含义。

程序。有3种,C程序,汇编程序,机器程序。能下载进单片机的只有机器程序,C程序和汇编程序都不能直接下载进单片机,所以C程序和汇编程序最终要经过专用编译软件翻译成机器程序后,才能下载进单片机执行。程序就是语言,语言就是用来交流的,交流就必须存在两个对象,这两个对象分别是程序员和单片机。程序员用C语言或者汇编语言,单片机只用机器语言,他们两者交流就必需一个翻译家,这个翻译家就是编译软件,俗称编译器,它专门把C语言或者汇编语言翻译成单片机能识别的机器语言。现在单片机开发的主流是用C语言,我本人出来工作后就从来没有用过汇编语言,所以我的观点是,C语言是必修课,汇编语言是选修课;C语言是白话文简单易懂,汇编语言是文言文繁琐难读。当然汇编也有它的优点和不可替代的场合,汇编的翻译效率高,往往是一句汇编语言对应一句机器语言,而一句C语言有可能对应几句机器语言,所以很多嵌入式系统某段要求简洁高效的源代码都是用汇编来写的,也有少数一些很便宜的单片机不提供C编译器,只能用汇编语言开发。所以要不要学汇编,我的建议是最好根据个人的工作需求来决定。

内存。既然程序可下载进单片机,那么单片机必然有一个存储程序的内存。单片机内存包括ROM和RAM两部分。ROM的优点是掉电后存储的内容不会丢失,缺点是除非在烧录(下载)过程中,否则上电后它存储的内容也不能更改。并且,虽然ROM在烧录(下载)过程中可以更改内容,但是更改的次数有限制,也就是烧录(下载)的次数有限制,一般最大次数是10万次,当然这里所说ROM是指FLASH的单片机,如果是OTP的单片机,那么最大次数是1次。而RAM恰好反过来,RAM的优点是上电后存储的内容可以被程序指令随时更改,而且还没有更改次数限制,缺点是掉电后内容会丢失。正因为ROM和RAM各有特点,所以它们的分工有所不同。程序包括指令和数据两部分。指令是指程序中的判断,跳转,赋值等指令,这些内容是程序烧录进单片机时就固定下来的,不可更改的,所以存储在ROM中。数据也分两种,程序指令可更改的数据和程序指令不可更改的数据。程序指令可更改的数据存储在RAM中,程序指令不可更改的数据存储在ROM中。那么谁在幕后进行这些分类存储?是编译器软件和下载器(烧录器)。编译器除了把C语言翻译成机器语言之外,还帮我们分好了类,分配好了存储的地址和位置,下载器(烧录器)再根据这些信息把程序存储到内存中。

管脚。它是单片机与外部电路进行能量和信息交互的桥梁。有电源,复位,晶振和IO口这4种类型管脚。第一种电源管脚。是给单片机内部电路供电的接口。单片机有两种常用的供电电压,一般不是3.3V就是5V,有的单片机两种电压都兼容。第二种复位管脚。单片机上电后需要外部电路给它一个瞬间高电平或者低电平的复位信号,才能启动工作。这类外部的复位电路通常是用电容和电阻组成的充电电路来实现,也有一些系统是用专门的复位芯片来实现。第三种晶振管脚。任何单片机想要工作必须要有晶振。单片机执行程序指令是按一个节拍一个节拍来执行的。而晶振产生固定频率的脉冲就是这个节拍的基础源泉。所以把晶振比喻成单片机的心脏是非常恰当的。当然,现在很多单片机都把晶振集成到内部了,不用再外接晶振。第四种IO口管脚。这是跟我们编写程序关联最密切的管脚。前面提到的电源,复位,晶振这3种管脚是为了让单片机能工作,俗称单片机工作的三要素。而单片机工作的具体内容就是通过IO口管脚来体现的。比如,IO口能识别按健的输入,也能驱动继电器的开关,也能跟外围器件进行通信。

电平。单片机IO口管脚检测到的电压低于或等于0.8V时是低电平,程序里读取到的是0数字。检测到的电压高于或等于2.4V时是高电平,程序里读取到的是1数字,当然IO口输入的最大电压不能超过单片机的供电电压。单片机输出的低电平是0V,单片机输出的高电平等于它的供电电压值。

时间。时间是单片机程序必不可少的一个元素。跟外围芯片通信的时序节拍需要时间,驱动发光二极管闪烁需要时间,工控自动化的某些延时需要时间。单片机的时间来源自两方面。第一方面源自指令的周期时间。单片机是根据节拍来执行程序指令的,所以每执行一条指令都要消耗一点时间,只要让程序执行一些无实际意义的指令,并且通过调整所执行指令的条数就可以得到所需要的时间长度。第二方面源自单片机内部自带的定时器。假如设置定时器每20毫秒产生一次中断,现在要获取10秒钟的时间,只需程序统记500次定时中断就可以了,因为1秒等于1000毫秒。

下节预告,平台软件和编译器软件的简介。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

本设计的控制系统主要包括:倾斜模块、超声波模块、语音模块、光敏电阻模块及电源等。

关键字: 单片机 STC51

本文针对电动两轮车自燃防控装置的开发与分析进行了研究。通过电动两轮车自燃原因分析,提出了电动两轮车的自燃防控智能装置设计思路,介绍了电动两轮车的自燃防控智能

关键字: STC89C52RC 单片机 微控制器

现在市面上还不存在一种方便实验人员选取芯片,以及方便管理人员对芯片进行智能化管理的芯片柜,为此希望通过研发这款智能芯片柜,来解决以上问题。​

关键字: 单片机 芯片

这款全新的中端MCU系列为设计人员提供了更高水平的安全性和灵活性

关键字: 嵌入式 单片机

单片机是一种嵌入式系统,它是一块集成电路芯片,内部包含了处理器、存储器和输入输出接口等功能。

关键字: 单片机 编写程序 嵌入式

在现代电子技术的快速发展中,单片机以其高度的集成性、稳定性和可靠性,在工业自动化、智能家居、医疗设备、航空航天等诸多领域得到了广泛应用。S32单片机,作为其中的佼佼者,其引脚功能丰富多样,是实现与外部设备通信、控制、数据...

关键字: s32单片机引脚 单片机

在微控制器领域,MSP430与STM32无疑是两颗璀璨的明星。它们各自凭借其独特的技术特点和广泛的应用领域,在市场上占据了重要的位置。本文将深入解析MSP430与STM32之间的区别,探讨它们在不同应用场景下的优势和局限...

关键字: MSP430 STM32 单片机

该系列产品有助于嵌入式设计人员在更广泛的系统中轻松实现USB功能

关键字: 单片机 嵌入式设计 USB

单片机编程语言是程序员与微控制器进行交流的桥梁,它们构成了单片机系统的软件开发基石,决定着如何有效、高效地控制和管理单片机的各项资源。随着微控制器技术的不断发展,针对不同应用场景的需求,形成了丰富多样的编程语言体系。本文...

关键字: 单片机 微控制器

单片机,全称为“单片微型计算机”或“微控制器”(Microcontroller Unit,简称MCU),是一种高度集成化的电子器件,它是现代科技领域的关键组件,尤其在自动化控制、物联网、消费电子、汽车电子、工业控制等领域...

关键字: 单片机 MCU
关闭
关闭