该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

如今C语言已经成为单片机程序设计公认的语言。我用C语言进行单片机程序设计也有两年多的时间了,C语言程序的特点使我对单片机开发更加感兴趣。让我从一个了解单片机的彷徨者到今天能用单片机开发一些产品,这期间我深有感触。 众所周知,单片机实际上就是一个典型的微型计算机系统。作为一款单片机,无论大小,都集成了计算机最基本的五大部件,运算器、控制器、存储器、输入输出。但单片机在用途上是与通用微处理器不同的。单片机是面向特殊用途的,常作为某一个设备的控制单元,所以单片机又常称为微控制器,英文缩写MCU。 最初的单片机开发语言是汇编语言,但汇编语言会随着单片机种类的不同而不同。程序设计起来难度较大。后来人们改用C语言作为单片机程序设计的通用语言。这种不依赖于机器硬件的语言,可以方便的在各类单片机系统中移植,极大的加快了单片机程序开发的时间。 我们知道,从总的方向来讲,指令是按顺序被执行的,除非遇到中断。但作为单片机软件系统,我们不能用指令流的思想去构建一个单片机软件系统。通常我们会借助PC软件系统的思想,对单片机软件系统在宏观上进行分层。 首先,我们要通过单片机系统的硬件资源,明确要对哪些硬件资源进行软件封装或者软件抽象,这一步我们称为硬件驱动程序设计。对应的软件层,我们称为驱动层。这一层的程序设计是纯粹面向硬件设计的。要求程序设计人员必须对器件时序、内部可编程寄存器相当熟悉,而且还要熟悉常用的芯片级总线,如I2C、SPI等。有时,我们也将外部总线(通信接口),如RS232协议、RS485协议、CAN总线等,也归到这一层。 其次,是监控程序层,或者,我们冠之以操作系统层。这一层最主要的任务是管理。主要管理应用程序与应用程序之间、驱动程序与应用程序之间的关系。从某种意义上讲,也是一种通信关系。这一层基本上决定了程序的框架。比如常用的状态机思想、消息存取思想等。 最后一层是应用层。这一层是体现系统功能的。应用程序通常也称为任务,是直接面向使用者的。与驱动层相比,这一层的程序设计是面向逻辑的,面向数据处理的。 不论一个单片机软件系统规模有多大,它都体现了这三层架构。这也是我们程序设计最基本的思路。按照这种思路,我相信,设计出来的软件更有条理,更有层次感 ,便于分工,同时也加快了程序开发的时间。

C语言软件分层的方法,单片机程序分层设计思想相关推荐

  1. 昆仑通态人机界面与单片机通信实战教程四:单片机程序的设计

    大家好,我是『芯知识学堂』的SingleYork,前面给大家介绍了"昆仑通态人机界面与单片机通信实战教程三:脚本驱动与HDMI工程的关联",今天笔者就要来给大家介绍这个教程的最后一 ...

  2. 单片机sleep函数的头文件_单片机代码模块化设计思想浅谈

    前言:前段时间分享的文章[单片机裸机代码框架设计思路],很多读者给我留言,觉得很不错,对于初学者而言,这是一个进阶的技巧,对于我而言,这是对自己总结和表达能力的一个提升. 本文章我们再谈谈单片机代码的 ...

  3. C语言编程鉴赏,吴坚鸿单片机程序风格赏析(一)

    有些电子发烧友质疑,吴坚鸿整天牛气哄哄的,号称深圳同龄人中最牛的单片机工程师,不就是写了几篇叙事性的文章吗?谁不会.有本事就多来点技术性的探讨,少谈点人生.这样的质疑越来越多的时候,我就有点按耐不住了 ...

  4. c语言开发数控软件编程电源,基于单片机数控电源设计.doc

    基于单片机数控电源设计 1 绪论 在现在的生活中,我们常常会用到各种电源,电源技术服务于各行各业.直流稳压电源是电子技术中常用设备,广泛应用于实验.教学.科研等领域.数控电源一般采用单片机系统来构成. ...

  5. c语言 计步算法,基于51单片机的计步器设计

    基于51单片机的计步器设计(任务书,开题报告,外文翻译,论文15000字) 摘  要 随着科技发展和国民健康意识的提高,许多检测健康状态的电子产品开始普及.电子计步器作为一种越来越流行的平民锻炼检测装 ...

  6. python基于c语言开发_C高级编程:基于模块化设计思想的C语言开发 PDF 超清版

    给大家带来的一篇关于C语言相关的电子书资源,介绍了关于C高级编程.模块化.设计思想.C语言开发方面的内容,本书是由机械工业出版社出版,格式为PDF,资源大小80 MB,吉星编写,目前豆瓣.亚马逊.当当 ...

  7. 红外接收器c语言软件,红外线遥控解码接收程序_C语言.doc

    红外线遥控解码接收程序_C语言.doc (9页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 14.9 积分 红外线遥控解码接收程序-C语言.txt铁饭碗 ...

  8. c语言编程TLC2543AD采集,TLC2543单片机程序 带Proteus仿真 电路原理图 AD转换实验

    #include sbit SDO=P3^0;                                                        //定义端口 sbit SDI=P3^1; ...

  9. inventor软件绘制百叶窗方法_三维工厂设计该使用什么软件?

    背景简介 OpenPlant Modeler (以下简称OPM)是一款精确.快捷的三维工厂设计软件.它通过数据信息的交互提高项目团队的协同能力,通过遵循ISO 15926标准,应用i-model技术, ...

最新文章

  1. 超分辨率(super-resolution)VS解模糊(deblur)
  2. (0049)iOS开发之数据精度处理四舍五入问题
  3. playbook 实例
  4. 最常用的ES6特性(转)
  5. DBSAN密度聚类算法
  6. 如何创建自定义进度栏
  7. 什么是5G,我们能从中得到什么?
  8. jQuery的$(document).ready()和JavaScript onload事件
  9. android时间戳字体,Android获取当前时间戳?
  10. 验证码一(验证码生成)
  11. python笔记之中缀语法和管道实现
  12. ngrok技术原理及下载使用
  13. related_name
  14. GIS地图怎么做?看这篇就够了
  15. Java自动拆装箱总结
  16. SAP 使用BDC的一些心得
  17. Android 选择商品属性sku
  18. 三星 android 模拟器下载地址,GalaxyOfWar电脑版下载 安卓模拟器图文安装教程
  19. 尝试从数学的角度分析三国杀国战的胜率
  20. 【服务器数据恢复】哪些故障会导致服务器数据丢失?多块硬盘离线的数据恢复案例

热门文章

  1. 将Django项目部署到服务器
  2. VMware虚拟机连不上移动硬盘或USB
  3. Hadoop简单集群搭建,三台虚拟机运行wordcount
  4. Pygame 教程(5):监测游戏时间
  5. mysql嵌套查询详解_MySQL嵌套查询实例详解_MySQL
  6. c# winform 不在任务栏显示,只显示任务栏图标
  7. 白话空间统计二十九:空间插值(二)
  8. 【破解】Sothink SWF Decompiler 5.2 注册机
  9. 2021年最新考勤记录表排表小工具
  10. 局域网聊天软件【C# / .Net / Winframe】