导航:首页 > 操作系统 > 单片机分层

单片机分层

发布时间:2022-03-14 23:32:16

单片机程序里面,经常听说底层,中间层,应用层,什么意思 51单片机也需要这么分层吗

一般当程序比较大、功能比较繁多,需要进行结构化程序设计的时候,才会进行分层。分层的好处是可以将应用与硬件剥离,当硬件发生变更(移植,设计更改)时只需改动底层以及少量中间层;当需求发生变更时只需改动上层以及少量中间层。

底层一般是直接访问硬件的接口,以串口而言如寄存器操作函数;中间层一般是在底层与上层之间进行数据及信息的转换,以串口而言如封包/拆包/消息产生/消息响应;上层一般面向应用,在很少考虑硬件实现的前提下以通用的方式实现所需的功能,以串口而言如printf。

分这么多层是为了不同程度的开发人员可以同期工作的原因。比如说,底层就雇佣一个特别熟悉芯片和硬件的人做,中间层大概要找比较熟悉应用的人来把硬件功能来做扩展,应用层就随便抓一把人来开发了。

这样,多个项目可以公用一个硬件层,有两到三组中间层的支持工程师,然后每个项目各有一组应用工程师就好了。51也可以这样做,这和效率无关,层做得好,执行效率不会影响很大,开发效率提高很多。

(1)单片机分层扩展阅读:

单片机的应用:

1,通用专用:

这是按单片机适用范围来区分的。例如,80C51是通用型单片机,它不是为某种专用途设计的;专用型单片机是针对一类产品甚至某一个产品设计生产的,例如为了满足电子体温计的要求,在片内集成ADC接口等功能的温度测量控制电路。

2,线型应用:

这是按单片机是否提供并行总线来区分的。总线型单片机普遍设置有并行地址总线、数据总线、控制总线,这些引脚用以扩展并行外围器件都可通过串行口与单片机连接,另外,许多单片机已把所需要的外围器件及外设接口集成一片内,因此在许多情况下可以不要并行扩展总线,大大减省封装成本和芯片体积。

3,控制型应用:

这是按照单片机大致应用的领域进行区分的。一般而言,工控型寻址范围大,运算能力强;用于家电的单片机多为专用型,通常是小封装、低价格,外围器件和外设接口集成度高。 显然,上述分类并不是唯一的和严格的。例如,80C51类单片机既是通用型又是总线型,还可以作工控用。

❷ 一个单片机的程序,底层,中间层,上层。各是指什么详细点啦,最好能距离,比较笨,看不懂。。

一般当程序比较大、功能比较繁多,需要进行结构化程序设计的时候,才会进行分层。分层的好处是可以将应用与硬件剥离,当硬件发生变更(移植,设计更改)时只需改动底层以及少量中间层;当需求发生变更时只需改动上层以及少量中间层。

底层一般是直接访问硬件的接口,以串口而言如寄存器操作函数;
中间层一般是在底层与上层之间进行数据及信息的转换,以串口而言如封包/拆包/消息产生/消息响应;
上层一般面向应用,在很少考虑硬件实现的前提下以通用的方式实现所需的功能,以串口而言如printf。

❸ 单片机程序里怎么分层

1、最底层的是硬件层,
完成端口
扫描,20ms延时消抖,将端口的数据映射到一个KEY_DAT寄存器上面,KEY_DAT作为对上层驱动层的一个接口。
2、中间的一层是驱动层,驱动层只对
KEY_DAT
寄存器的数值进行操作。
简单点
说,我们无论底层的硬件是怎么接线的,在驱动层都不需要关心,只需要关心
KEY_DAT
这个寄存器的数值是什么就可以了。这样出来的间接效果就是“屏蔽了底层硬件的差异”,所以驱动层写的程序就可以通用了。驱动层的另外一个功能是为了上层提供消息接口。我们用了类似window程序的消息的概念。
3、
应用层
。这里就是根据项目的不同分别写按键功能程序,属于最上层的程序。它使用的是驱动层提供的消息接口。在应用层写程序的思想就是,
我不管
下层是怎么工作的,我只关心按键消息。有按键消息来的时候我就执行功能,没有消息来的时候,就什么也不做。
代码示例:
用一个简单的常用的例子,说明设计思想的用法。秒表调整时间的时候,要求按着某个按键不放,
时间能
连续的向上增加。这个东西很实用,实际的家电中用途很广泛。问:“这东西麻烦吗?”相信很多人肯定会说“很麻烦!!”
这不禁
让我想起
开始学单片机的时候写这种按键的那程序,乱七八糟的结构。如果不相信的话,可以自己用51写一下,那样就更加能体会本文说的
分层结构
的优越性。

❹ 如何才能快速的学习ARM单片机。我有51的基础

想快就要花钱,去买块周立功的ARM9板,里面有实验源代码,实验指导书,把实验全做完就什么都搞懂了,去电驴上下一些ARM的教学视频,比如<手把手交你学ARM>,力天电子出品,不懂得地方看看视频就行了.有51的基础的话在接触ARM你会感觉到挺简单甚至有点枯燥,不过ARM的精华在于它可以移植系统,所以一定要坚持学习,当你把ARM体系结构看懂了之后,可以研究一下启动代码,然后进入移植操作系统的学习,比较经典的就是UCOSII,看看邵贝贝翻译的UCOSii操作系统.
反正我就是这么走过来的.这个学期刚接触的ARM感觉比较简单,大概是学的不够深吧.

❺ 嵌入式微处理器系统的四个分层结构名称

硬件 驱动 内核 应用程序

❻ PLC的CPU和普通单片机有什么区别

其实际,PLC就是一个完整的单片机系统,你可以把它形像化为一个功能专一的单片机开发板.
这个单片机开发板由电源+单片机+继电器或MOS管+端子等等组成.
现在的PLC,多用32位单片机,也有16位,早很多年前的PLC,还有用8位的,比如西门子曾经用的是51单片机.
而梯形图烧录到PLC后内正常运行,是因为PLC的开发软件,把梯形图通过电脑运算,转换成了二进制的机器语言,然后烧录的PLC内部的单片机或者PLC内部的Flash里去了,这点,和你用单片机编程没有什么特别区别.
而你在编写单片机的时候,一般来说是需要硬件图的,我说的是一般,有一种情况不用,那就是,有人把单片机的底层给编写好的,你不需要关心底层驱动是怎么实现的,只需要知道怎么用就行了.在这种情况下,你不需要知道硬件如何实现,就不需要看硬件电路.
举例:
unsigned char Output_Y00 = 0,Output_Y01 = 0;

//-----这是底层函数-------------------------------------
void Output_Process(void)
{
if(Output_Y00) P1_0 = 0;//---打开第一路输出
else P1_0 = 1;//---关闭第一路输出

if(Output_Y01) P1_4 = 0;//---打开第二路输出
else P1_4 = 1;//---关闭第二路输出

}

上面的例子,在编程的时候,如果是分层编程,即一个人写逻辑,一个人写底层,你是看不到那个
Output_Process()的存在的,因为编写底层的人给封装起来了,你可能只看到一个库.
但是他同时也给你留下了接口,就是 Output_Y00,Output_Y01,你通过这两个变量,就能操作
输出口的驱动,同样的道理,什么AD,DA,串口,都是一个样,把底层封装起来,然后由另一个人操作接口变量就行了

这就是单片机分层编程的概念.

而PLC也是基于这种概念,PLC厂商已经把底层做好,并且封装起来了,你在电脑上的梯形图,只是做逻辑控制,等你做好了,翻译成特定的代码,再联合厂商做好的底层,一直编译成二进制机器码,下载到PLC的单片机里.

❼ 单片机c语言编程怎么写一个液晶分层退出键的程序

数据结构建
棵树
或者用点巧

查询变量
X
X=132代表

进入1层1选项
2层3选项
3层2选项
层退

X/10
~
进入
要键盘读取相应
数Y
X=X*10+Y

~
要注意
X

于等于0
于某些超
设置

范围数


些保护~

❽ 单片机,现在起,要学多久才能工作

51学完?

你所谓的51学完就是把它的资源,外部的各个实验做完?现在51单片机的种类那么多,它的外设何其丰富,你能学完吗?你学完51了,那么以下这些你都做到了吗?

1、你的程序中不出现1ms以上的指令延时,比如delay()这样的函数,所有的长时间的延时都是用定时器延时。

2、做一个数据采集系统,你的程序能同时兼顾显示更新、数据采集、数据处理、按键响应......

3、你的程序有没有分层的概念?

4、你对c语言和数据结构真的熟悉了吗?结构、指针、链表、树、图、队列、堆栈等等!

5、你能合理的为每个任务分配占用cpu的时间吗?

如果以上几点你都做到了,那么你不是学完51了,而是学完单片机了。那么你应该往更高的层次发展——arm+linux。如果你还没到那种程度,那么回到原点,好好的去学c语言,数据结构,等核心课程。给你推荐一本老外的书—《时间触发嵌入式系统设计模式:使用8051微控制器开发可靠应用》。

其实单片机只是工具,学它是要学会编程和处理事情的思维,其核心就是c语言和数据结构。现在的c编译器效率那么高,哪款单片机不还是一样的。如果你有51单片机的基础,遇到一种新的单片机时,那就是跟用一款新的芯片没什么区别,把数据手册看几遍就ok了。而arm就不同了(相对与高端的arm,低端的arm还是可以当做一款强大的单片机来用。),它可以跑操作系统,它有与单片机完全不同的处理模式。

如果你的水平比我强,那么你就当我前面的话在放屁!

❾ 单片机开发板2层,6层,8层什么意思

这里讲的是PCB的层数,PCB是印刷线路板的简称。PCB又是由覆铜板和粘合片粘合而成的,有几层覆铜板就是几层板,目前最高级别的是iphone PAD,16层。
回答完毕。

阅读全文

与单片机分层相关的资料

热点内容
jdk目录下的文件夹 浏览:950
好看的带颜色的现代小说 浏览:699
怎么看app什么时候更新 浏览:220
各银行的官方app是什么 浏览:782
吴孟达买花给盲女的电影 浏览:471
你若安好便是晴天pdf 浏览:940
app上续保车险用什么方式付款 浏览:480
wps如何把pdf转成PPT 浏览:63
以太网pdf 浏览:194
泰国剧罪孽父亲出海 浏览:7
叶天明柳韵txt 浏览:825
bch主流算法 浏览:767
免费在线国产片 浏览:200
苹果平板为什么连接服务器错误 浏览:89
穿越东晋成为王凝之 浏览:958
手机里的文件夹怎么拉出来 浏览:281
饥荒怎么输入ip进服务器 浏览:470
美国恐怖三极片 浏览:995
四川虚拟主机云服务器 浏览:780