APP下载

单片机编程创新教育模式研究

2022-07-21汪运松

无线互联科技 2022年9期
关键词:设计者小车编程

汪运松

(安徽三联学院,安徽 合肥 230000)

0 引言

纵观国内外的科技发展现状,4G 的普及、5G 的开发、云计算也运用于各行各业。 因此,学习单片机编程不仅是响应中国科技创新的国策,更是与国际接轨。在此背景下,传统的学校教育已经远远不能满足时代发展的需求,教育应当配合智能化、数据化的时代发展趋势。 其中,尤为重要的就是对编程的需求,在美国、英国等发达国家,必学教育就包含编程学习。 再观察中国的教育现状,传统的教育模式仍旧在课堂上占很大比例,更加侧重于理论,对编程的创新与实践仍旧欠缺。 而本机构在此基础上创办,旨在开发孩子们的兴趣爱好,让理论与实践结合,让学生对科技有一个更加深刻且清晰的认识。 学生学习单片机编程教育不意味着将来就要从事此行业。 本机构只是为学习编程的人提供一个平台,培养学生的动手、动脑能力,让其能跟上时代发展的节奏不至于和时代脱轨,也让学生从小就有一个科教强国、科技兴国的理念。

1 背景介绍

自科技改革以来,中国的重工业得到了高速发展,同时为适应工业自动化的需求对硬件的要求也越来越高。 因此,为符合中国当前的市场发展趋势,单片机迎来了一个百舸争流、千帆竞发的时代。 然而,当下中国的单片机技术较发达国家还有明显差距,编程语言作为单片机的核心更是举足轻重。 暂且不提最先开始编程教育的美国,便是与中国接壤的越南也早已引入编程教育。 为了未来国家信息技术的发展,也为了不被国际发展淘汰,针对编程教育的改革将是大势所趋。从时代发展的节奏来看,编程教育将会在未来的高校教育中占据一席之地。 目前,中国的浙江等地也考虑在高考科目中纳入编程技术。 固然中国已经开始在国内传扬编程教育,也有很多孩子开始系统地接触单片机,但是对比发达国家将少儿编程作为必修课来说,中国的单片机编程教育仍然任重而道远。 因此,为了普及单片机教育,关于编程教育的课外辅导机构就由此应运而生[1]。

2 总体学习线路

2.1 C 语言入门学习

目前,市面上通用的高级语言包括C 语言。 C 语言编译简单,功能全面,操作方便,是一种比较容易上手的编程语言。 编程语言能够和计算机、单片机沟通,实现人机交流,是为人类服务的语言。 对编程语言的系统学习后,学生将能够更加深入地理解单片机。 初学者需要一个操作简单、功能简明的C 语言运行环境,可使用手机在线编译器。 若需要更好的体验,学习者也可在PC 端安装Dev C++,在此基础上便可开始系统地学习C 语言。 学生在熟练掌握C 语言之后,可更深入地学习有关结构体和位操作运算的C 程序知识,可在相关网站查询对应的资料。 然而,这只是最基础的研究结构,深入学习单片机语言仅依赖入门学习只是杯水车薪。 学习者依据入门知识可以满足对硬件进行自由控制的操作,即实现机器智能化,但这是由于程序事先已有程序员完善过,可直接灵活运用。 因此,程序的灵活性还取决于编写者对所掌握程序的熟练程度[2]。

以下是关于C 语言学习的几点建议:

(1) 明确学习目标和将来发展方向,锁定一门语言,保持兴趣,通过不懈努力,必然有所收获。

(2) 初学者无须看太多的书和资料,选取适合的且易理解的书即可,再进行基础系统化的学习。

(3) 书读百遍其义自见,学生无须死记语法和纠结语法。 学习时最重要的便是解决问题的思路和编程的思维。

(4) 多思考、多读源代码。 网站上的程序虽不可直接应用,但学生可仿照,最终找到适合的编程模式。

(5) 当学习进入枯燥乏味的阶段时,学生应尝试编译与日常生活相关的程序来保持对编程的兴趣。

(6) 多实践,多写代码,这点至关重要。 学生可自行找题目练习,辅以参考资料学习。 真正的天才都是从永无止境的练习中脱颖而出的。

总之,作者的研究有一定的贡献但是非常有限,如果想要了解更多在英留学生的网络购物行为,还需要进一步深入研究。那些想要吸引更多留学生消费者的网络零售商和电商公司应该对在英留学生的消费行为和特点进行深入的研究和探析。

2.2 51 单片机入门学习

学生在C 语言学习入门之后即可学习单片机。 上文中讲述的编程的相关学习路线基于51 单片机学习。选择51 单片机进行学习的主要原因有两点:(1)相对其他单片机来说,51 单片机是最简单、最基础的那一批单片机。 (2)51 单片机历史悠久,其应用市场广泛,学习资源较多。

学习者需要在电脑PC 端下载单片机编程软件Keil,以前期学习的C 语言为基础,并利用C 语言在Keil 软件上进行编程开发。 在硬件方面,学习者可以网购一个51 开发板及其数据线和一些简单模块(如LCD1602、电机模块等)进行边学习、边实操,进一步提升自己的技能。

有些学习者对于开发板上的一些特殊功能区域没有概念,不理解其作用,因此更难理解其功能。 初学者可以选择跳过此部分内容,因为此部分已经涉及“进阶”与“熟练”的学习阶段。 初学者不理解入门教育里涵盖的“烧录程序”“蜂鸣器”“点阵”“按键模块”等相关操作步骤或者单片机外设名词,可以在熟悉路线图的步骤前,查阅这类知识[3]。

2.3 51 单片机进阶提高

进阶部分重点为中断和定时计数器。 学习至此,学习者需要花足够多的时间去思考中断的概念、中断被开发出来的原因以及遇到何种问题用中断最合适。定时计数器作为关键的功能之一。 单片机的核心定时计数器包含了定时和计数两种功能,其中定时主要针对单片机的内部时钟。 计数是对外部脉冲进行计数。

当开发水平到达一定的阶段时,学习者可以将51单片机运用到自己的生活中。 学习者在掌握串口通信、IIC 总线等一些通信协议内容后,就会认识生活中复杂的电器的接口,并且明白其作用。 数模转化知识需要一定的时间实践并理解。 通过对以上内容学习之后,学习者可以尝试自己动手制作一个最小系统,训练一些综合性的单片机开发题目以检验自己的学习效果。 学习者可以练习往年电子竞赛的控制类型题目。总而言之,实操练习是提高单片机技能的必然之路[4]。

3 实物开发案例

通过以上对C 语言的学习和单片机的入门之后,学习者可进一步学习编程,即利用编程开发一些简单的实战项目。 学习者动手开发基于编程的小项目,一方面既可以提高编程技术,另一方面也可以充分培养对编程的学习兴趣,体验自己开发出的实物所带来的成就感。 对于编程的进阶开发项目,智能小车是一个不错的选择。 在小车之外,学习者可以外加许多相应的模块,实现不同的小车效果。 基于编程的智能避障小车是本次的实物开发案例中比较有代表性的编程开发的进阶项目。

3.1 项目总体设计

3.2 项目硬件搭建

基于编程的智能避障小车项目采用两个电机连接车轮外加一个万向轮连接小车底盘即可搭建一个简易小车(见图1),用主控模块的编程来实现对电机模块、超声波模块的控制(见图2)。 设计者采用12 V 的电源给电机驱动模块L293D 供电,采用L298N 控制电机正反转并输出5 V 给单片机供电。 超声波模块采用性能更加稳定、测量精度更加精确的HC-SR04 模块、单片机最小系统和12 V 锂电池。 设计者将所有模块用胶枪固定于小车底盘上。 设计者选择单片机对电机模块、超声波模块、电机驱动模块进行控制并用杜邦线连接各个模块,搭建好项目的硬件。

图1 智能避障小车实物

图2 控制芯片

3.3 项目软件调试

智能避障小车的软件调试,分为程序编写与实物调试部分。 对于程序编写,设计者应基于智能避障小车的总设计流程,并结合项目所要实现的功能进行分模块编写程序。 根据总设计的模块,设计者可将程序的编写分为电机模块和超声波模块,利用超声波模块获取与障碍物的距离,以决定电机的运动状况。

设计者根据小车功能使用Keil 软件进行程序编写,以实现小车避障功能。 电机控制的程序代码分成多个子函数,分别包含小车的前进函数、刹车函数、左转函数和右转函数。 当小车在不同的运动情况下,设计者调用不同的函数实现对小车的控制。

下面所示为智能小车中超声波模块测量的距离计算函数。

在超声波测量距离的计算函数程序代码中,设计者将对超声波模块所捕获的时间带入计算,通过一定的计算公式实现对距离的测量。 当距离超出测量的范围时,设计者通过取余运算可以测量出正确的距离。

对于实物调试部分,设计者在编写完软件控制程序后,将其下载到51 开发板中进行实物测试。 设计者根据小车在实物测试中的速度、遇到障碍物转向时的灵敏度等对最初距离设定值,让电机的转速进行不断的变化,直到达到理想的效果。

4 方案创新点

编程的教育本着一种创新的学习教育模式。 学习者先学习C 语言,再逐渐过渡到编程开发阶段。 该方案结合了理论和实操训练,通过实操训练查找问题,巩固理论的学习,让枯燥的理论学习变得更加有趣,使学生更加喜爱该种教育模式,更加愿意学习单片机开发。

5 结语

本文介绍了从基础小白到编程实训开发的路线。学习者首先学习C 语言打好基础,然后从C 语言向编程小白过渡。 学习者可通过使用编程将多个模块结合起来完成进阶项目,从而提升技术,提高学习兴趣。

猜你喜欢

设计者小车编程
编程,是一种态度
大车拉小车
自制小车来比赛
编程小能手
2020德国iF设计奖
纺织机上诞生的编程
2019德国IF设计大奖
两轮自平衡小车的设计与实现
杨敬:深水区医改设计者
深水区医改设计者