纵观当前的各大企业,小到“电话、玩具、手机”,大到“家电、智能汽车、工业自动控制”等,都离不开自动化的单片机处理系统。在这些系统运行的过程中,程序设计师需要掌握相关的C语言编程知识,及时发现在编程过程中可能出现的错误,才能加强编程能力和编程感知,提升单片机系统的处理效能。只有在学习C 语言编程知识的同时,通过单片机系统的相关训练,加强编程能力,才能发挥C语言的优势,保证每一条编程语句的可行度。
1编程特点
想要了解C语言在单片机中程序设计中的编程过程,首先要明白单片机的工作原理,为程序设计开发打好基础。程序设计人员需要一台能独立工作的计算机,包含“CPU、RAM数据中心、ROM输入输出系统”等基础的设备。CPU负责进行运算、控制程序人员的工作状态;RAM负责对用户的信息数据进行存储;ROM负责计算机中的程序存储,以及输入和输出状态的转换过程。最常用的单片机是“51单片机”,其中有专门的集成电路芯片,从最早的4位系统到后来的51系统,一直用到现在。为了与C语言程序设计相匹配,需要引入“MCS51”等一系列的全双工串行通信口,即“Uni⁃versal Asynchronous Receiver/Transmitter”,具有多机通信能力。
COMS是51单片机的发展方向之一,具有“小体积、大容量、噪声低”等多重特性,值得每个程序设计师选择。计算机编程语言有很多,C语言的可读性较强,工程师在使用C语言进行编程的过程中,要避免系统资
源的浪费,提高专业术语的表达技巧,保证每一条编程语句的可行性。如果程序设计过程中出现软件漏洞,工程师还可以打破硬件与软件之间的束缚,改用“char类型、int整型、long长整型”等多种有效的设计语句,建立相对应的数据库和表格。
2程序设计中的应用
2.1及时发现语法错误,有效修复程序漏洞
C语言作为最基础和简单的计算机编程语言,有很多特殊的功能和编程语句,深受程序设计工程师的喜爱。但是在单片机的运行过程中,对设计师的“C语言知识运用能力”具有极高的要求,容不得一句语法错误。为了加强程序设计工程师的编程能力,《C语言程序设计》这门课程的学习是重要的,实践的编程训练也是必不可少。如果发现语法错误,设计师要及时修正bug,合理选择数据类型及变量类型,避免产生更多的数据遗漏和语法错误。51单片机均为8位的CPU,如果编程中出现问题,要减少代码变量的长度,合理选择数据类型,尽量使用最简单的字符型(char)数据,避免产生数据冲突和资源不匹配的现象。
C语言实际应用中,float型的精度偏低,对51单片机来说,双精度double类型的运算速度更快。比如字符0在计算机内存中占1个字节,而在C语言中,‘\0’是字符串和字符组的结束标志,没有特殊的意义。设计师要认清每个字符的含义,准确开发,避免使用浪费时间的浮点数。使用浮点数之前需先声明,如下的程
序设计语句,通过C语言输入相对应的浮点数,避免作者简介:王照(1980-),男,副教授,硕士,研究方向:程序设计、计算机网络。
C语言在单片机程序设计中的应用
王照
(河南护理职业学院,河南安阳455000)
单片机printf函数摘要:随着科学技术的日益发展,C语言在单片机程序设计中的应用越来越广泛,从开发汇编语言的单片机软件工程师,到各企业的程序开发运用,都离不开C语言。通过C语言可以开发单片机的特殊功能,在编程时有效地结合单片机的系统资源,提高编程效率。根据C语言学习的特点和优势,从C 语言的程序设计角度出发,对单片机的程序设计理念做几点分析和思考,并对设计中可能出现的问题提出解决方案。
关键词:C语言;程序设计;单片机;应用;开发
34
2020.09
浮点指针造成的影响。
#include<stdio.h>main()
{float a[4],t,min;int i;printf;
for(i=0;i<4;i++)
scanf("%f\n",&a[i]);
min=a[0];
printf("最小的数是:\n",min);}
其中的“#include<stdio.h>main()”就是声明语句,表明程序语句是在C语言的工作环境下进行的。而“for(i=0;i<4;i++)”表示单循环,当i小于4时,一直执行程序命令。最后的“printf("最小的数是:\n", min);}”则表示输出最小的浮点数。每一条程序设计语句都有特定的规律和用法,“;”不能写成“逗号”,“printf”不能和“scanf”混淆使用,一个是输入函数,一个是输出函数。
2.2运用C语言的编程结构,加强编程能力
C语言是面向用户的程序设计语言,比汇编更符合人们的思考习惯,功能和算法也更加人性化。但是设计师在编程过程中也要重视细节问题,及时改进和扩充程序设计语句,采用“自顶向下、逐步求精”的程序设计原则,才能使整个应用系统程序结构清晰,满足单片机的系统需求。特别是对于控制系统,对CPU和片内结构的要求特别高,生成的代码相对要长,设计人员应该注意C语言的优化,利用充足的空间去进行编译和运行。
由于现在越来越多的电子产品都采用单片机开发,各大企业也逐渐加大了对单片机程序设计的重视程度。在程序设计时,如何使用好计算机内部的资源,就显得十分重要。C语言生成的代码比汇编语言生成的代码长,编写起来也较为复杂,如果程序设计人员不够细心,有可能出现很多编程错误。所以设计师要注重每一条语句的编写,对程序进行适当的优化,选用最合适的数据类型。“结构”是C语言程序设计中最重要的内容。作为新时代的编程程序设计师,应掌握一定的编程环境,先创建头文件和一个对应的.件,再进行其他模块的C语言编程,防止编程语句的错乱现象。
#ifndef_文件名_H_
#define_文件名_H_
在如上的头文件名定义时,文件名应为大写输入,并在前后增加两个下划线“_”,尽量少用或者不用全局变量。设计者在程序设计中,也可以将“.c文件”直接添加到程序语句中,进行模块化的编程,提高C语言
的灵活性。“加强语句的匹配程度”这对于编程者来说具有十分重要的意义。单片机嵌入式系统的发展已有二十多年的历史,时钟速率越来越快,内部的存储器和数据运行设备也越来越大,而C语言在“开发速度、软件可靠性”等方面都可以和单片机相配合,组成一套系统的汇编语言接口。因此,C语言常常被优选作为单片机系统的编程语言,这是毋庸置疑的。随着程序设计语言的开发和运用,“如何结合单片机的系统资源”已经成为每一个编程者需要重视的问题。
2.3优化C语言的编程实例,保证代码的正确性
单片机结合C语言编程,需要把存储器资源结合起来,通过系统传递实参数据。虽然二进制位的计算机系统中的数据类型十分丰富,但符合单片机系统的数据类型却很少。如果不确定使用哪个数据,设计师可以用“bit和char”来代替,并按照实际需要,不断地优化程序设计结构。在计算机上进行C语言的程序设计时,必须考虑系统的硬件资源。C语言简单的来说就是“计算机语言”,算法越简单、长度越短越好。如果生成的机器代码长度非常长,计算机在处理信息时就容易出现错误bug。不同的算法对C程序代码的影响也非常大。特别是单片机系统下的C语言,设计师应该尽可能地减少程序中的运算种类,并用一些近似的计算来完成数据传输,以便优化C程序设计结构,构造出每一对象所具有的各数据成员。
单片机内部存储器RAM如果存储的数据过多,必将会增加硬件成本,带给计算机系统巨大的承受压力。“如何提高存储器空间的利用率”这对于程序设计人员来说至关重要。因此C语言采用了存储器的覆盖
技术,当系统需要运行空间时,就释放程序空间,以供其他程序段使用。但是单片机系统中,只有局部变量中的动态变量可以被释放。工程师要结合系统的内部环境,分情况来设置,以提高内部数据存储器的使用率。
比如在“商品的进出库”的程序设计中,不同的数据类型要用不同的变量名,防止重复错乱。如下的程序设计中,用“void in_something(int add_cnt)”来表示增加数据;“del_cnt”表示减少数据;“double total_price()”则是商品进出库的统计数据。
#include<iostream>
(下转第68页
)
35
2020.09
2020.09
#include<string>
using namespace std;protected:
float price;string place;int count;//int add_cnt;//int del_cnt;
单片机系统不同于其他简单的计算机操作系统,其可用资源十分有限。在程序设计时,设计师要结合自身的编程经验和专业知识技能,合理利用好每一项编程数据,进行各种创新编程和程序设计活动,有效地解决各种编程问题。如果发现错误解决不了,要及时“调试”和更改数据类型,或者删减程序语句,保证设计的准确性。比如“int”、
“float”、
“string”分别表示“整型、
浮点数、字符类型”等。就算调试成功,语句中仍然有可能出现漏洞bug,设计师必须对每个数据的类型要做好严格的检查,才能缩短单片机控制系统的开发周期,避免遗漏。
3结语
随着计算机技术的不断进步,C 语言程序设计在单
片机中的应用越来越广泛,各企业也逐渐加大了对C 语言程序开发的重视度。程序开发工程师要注意“基于单片机的C 语言”和“标准C 语言”的共性,把C 语言的专业知识充分地运用到单片机的编程中,发挥C 语言程序设计的特点和优势,及时满足计算机软件方面的开发和更新。只有这样才能及时发现语法错误,有效修复程序漏洞,并运用C 语言的编程结构,加强编程能力。
参考文献
[1]方春华.单片机C 语言编程的常见问题与分析[J].
计算机工程应用技术,2019,15(30):45-46.[2]杨芳.基于学生的C 语言零基础上谈单片机教学[J].电子测试,2017,(18):23-24.
[3]范晓娟.基于C 语言的单片机应用技术教学策略研
究[J].现代职业教育,2019,(24):14-15.[4]张文昊.C 环境下单片机小数组操作的汇编语言优
化[J].工业和信息化教育,2019,(10):14-15.
(2)行李再确认系统功能可以为各个部门提供便利
的数据查询功能,以便工作人员要够在第一时间精准地定位行李的具体装载位。
(3)行李再确认系统功能可以为工作人员提供双重
功能,一种是用户权限管理能力,另外一种是手持端管理功能,这两种功能都可以在最大程度上保证该行李再确认系统在实际应用过程中的安全性。
(4)行李再确认系统功能可以提供可靠的数据存储功能,将已经采集到的RFID 标签数据与比对结果及时、完整的保存到相应的数据库内,以便相关工作人员后续的查询与使用。
(5)行李再确认系统功能可以为机场工作人员提供强大的数据解析功能,并对具体采集到的行李数据进行准确的抽取与详细的过滤与解析。
(6)行李再确认系统功能还可以利用行李处理系统完成大量的数据交换,并在此基础上进一步完善行李处理系统对旅客托运行李的全过程追踪与全方位监控。3结语
在当前背景下,要想充分发挥FRID 技术在行李再
确认系统中应用价值,就要不断加大FRID 技术的研究,合理设计系统流程,选择恰当的硬件配置,采用灵活性较强的软件功能来进一步优化行李再确认系统,完善其查功能与确认功能,进而有效降低该系统在机场行李分拣工作中的差错率,并自主剔除无主行李,大大提高航空运输公司的工作效率,提升其整体的服务水平。
参考文献
[1]黄粤.基于FRID 技术的机场行李再确认系统研究[J].电子世界,2018,(22):196.
[2]邓盛.浅析射频识别技术在机场行李分拣中的应用[J].电子测试,2020,(10):98-99+18.[3]刘莹颖,云朋.基于飞行视景仿真技术和BIM 技术
的机场设计优化应用技术路线研究[J/OL].土木
建筑工程信息技术,2020.
(上接第35页)
68