使用单片机C语言的好处
将C向MCU(俗称单片机)8051上的移植始于80年代的中后期。客观上讲,C向8051 MCU移植的难点不少。如:
・8051的非冯・诺依慢结构(程序与数据存储器空间分立),再加上片上又多了位寻址存储空间;
・片上的数据和程序存储器空间过小和同时存在着向片外扩展它们的可能;
・片上集成外围设备的被寄存器化(即SFR),而并不采用惯用的I/O地址空间;
・8051芯片的派生门类特别多(达到了上百种之多),而C语言对于它们的每一个硬件资源又无一例外地要能进行操作。
这些都是过去以MPU为基础的C语言所没有的。经过Keil/Franklin、Archmeades、IAR、BSO/Tasking等公司艰若不懈的努力,终于于90年代开始而趋成熟,成为专业化的MCU高级语言了。过去长期困扰人们的所谓“高级语言产生代码太长,运行速度太慢,因此不适合单片机使用”的致使缺点已被大幅度地克服。目前,8051上的C语言的代码长度,已经做到了汇编水平的1.2~1.5倍。4K字节以上的程度,C语言的优势更能得到发挥。至于执行速度的问题,只要有好的仿真器的帮助,找出关键代码,进一步用人工优化,就可很简单地达到十分美满的程度。如果谈到开发速度、软件质量、结构严谨、程序坚固等方面的话,则C语言的完美绝非汇编语言编程所可比拟的。今天,确实已经到MCU开发人员拿起C语言利器的时候了。
下面结合8051介绍单片机C语言的优越性:
・不懂得单片机的指令集,也能够编写完美的单片机程序;
・无须懂得单片机的具体硬件,也能够编出符合硬件实际的专业水平的程序;
・不同函数的数据实行覆盖,有效利用片上有限的RAM空间;
・程序具有坚固性:数据被破坏是导致程序运行异常的重要因素。C语言对数据进行了许多专业性的处理,避免了运行中间非异步的破坏;
・C语言提供复杂的数据类型(数组、结构、联合、枚举、指针等),极大地增强了程序处理能力和灵活性;
・提供auto、static、const等存储类型和专门针对8051单片机的data、idata、pdata、xdata、code等存储类型,自动为变量合理地分配地址;
・提供small、compact、large等编译模式,以适应片上存储器的大小;
・中断服务程序的现场保护和恢复,中断向量表的填写,是直接与单片机相关的,都由C编译器代办;
・提供常用的标准函数库,以供用户直接使用;
・头文件中定义宏、说明复杂数据类型和函数原型,有利于程序的移植和支持单片机的系列化产品的开发;
・有严格的句法检查,错误很少,可容易地在高级语言的水平上迅速地被排掉;
・可方便地接受多种实用程序的服务:如片上资源的初始化有专门的实用程序自动生成;再如,有实时多任务操作系统可调度多道任务,简化用户编程,提高运行的安全性等等。
专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们
相关推荐
赛灵思全新7系列FPGA产品实验室测试
单结晶体管自激多谐振荡分频电路
亚马逊116亿美元收购Globalstar,加码卫星互联网直连布局
CY7C53120神经元芯片及其应用
PI 推出无闪烁TRIAC调光的产品
芯片比豪车保值? 专家揭硅谷暴利内幕「价格涨疯了」
CYGNAL单片机简介
Microchip与领先车载摄像头制造商舜宇智领达成战略合作拓展全球ASA-ML生态系统
赛灵思全新7系列FPGA
用CD4046组成的频率锁定指示器
仿真器是什么???
CAN控制器MCP2510及其应用
LinkSwitch-PH与LinkSwitch-PL可为LED照明提供最优化解决方案
求电机的PWM源程序!
寻求产品外壳加工商
用CD4017组成分频系数为18的分频电路
栎新源亮相第九届国际智能工业大会:面向新型工业化的智能感知与智能制造
用CD4046组成的斜波发生器
罗德与施瓦茨公司最新示波器产品演示
COP8CDR9微控制器在多路数据采集中的应用
Gartner: 到 2029年,70%的中国企业将实施 AI安全测试,以增强其现有的应用安全测试和渗透测试机制
韩媒曝三星2纳米困境 顶尖大厂不买单
诚招加盟连锁经营商
Meta加码与博通合作,联合打造定制AI处理器
过去十年中国芯片补贴支出达美国3.6倍 远超美国《芯片法案》
高盛CEO对Anthropic旗下Mythos模型发出警告
用CD4017组成分频系数为34的分频器
C和汇编混合编程的一点经验之谈
OpenAI推出GPT-5.4-Cyber安全模型,仅面向通过审核的网络安全专业人士
诚招加盟连锁经营商