MSP430单片机图形化编程小车的设计与实现
课程名称:《图形化单片机编程》
实验题目: MSP430 单片机图形化编程小车的设计与实现
课程简要信息
课程名称:《图形化单片机编程》专业课程
课程学时:36 学时
适用专业:电子信息科学与技术、光电信息科学与工程等电子信息类专业
学生年级:大学一年级下期
1. 实验内容与任务(限 500 字)
项目需要完成的任务(如需要观察的现象,分析某种现象的成因、需要解决的问题等);是否设计有不同层次的任务。
1)以人工智能为背景,根据大一学生的认知阶段和知识结构,利用低成本的、通用型 MSP430 单片机和免费开放可视化编程软件 Modkit 软件,设计并制作一个能够通过图形化编程,模拟未来无人驾驶的智能小车;
2)了解 MSP430 的最小系统,熟悉 MSP430 脱机运行硬件条件,掌握基于 MSP430单片机的小车基本原理,能够与实物元件对应;
3)将电路构建、代码编程与折纸工艺相结合开展电子艺术创意设计的过程,学习用纸张制作电子艺术作品的构成要素、基本工具、材料和制作流程,将声、光、热等传感器与卡片制作和折纸工艺相结合,制作一辆带车灯和喇叭的纸电路小车,并且车灯和喇叭可以根据预设功能工作。
4)了解 Protel、AD 等原理图和 PCB 设计方法,绘制小车原理图和 PCB 电路,基本掌握 PCB 制作工艺过程,根据原理图焊接出实物 PCB 小车;
5)将开发板下载线与 MSP430 小车连接,通过 Modkit 图形化编程软件进行编程,测试智能小车的基本功能,直行、转弯、定时和循迹,自制迷宫图,进一步实现小车的迷宫和避障等行走。
2. 实验过程及要求(限 300字)
如对学生在实验过程中在需求分析、资料查询、自学预习、思考讨论、方法设计、进程规划、软件仿真、平台构建、器件选择、表格设计、现象观察、数据测试、问题分析、总结报告、验收答辩、演讲交流等各方面的要求。
1)MSP430 LaunchPad 技术手册阅读;
2)学习了解单片机的定义、发展历史,单片机的类型及优缺点,单片机编程流程及常用语言,单片机图形化编程工具——Modkit;
3)进行图形化编程软件 Modkit 的安装及系统配置,学习了解 MSP430 单片机开发板的功能、输入/输出端口、A/D 和 D/A 转换以及外围供电、时钟和复位电路,以及基于 MSP430 单片机和 Modkit 软件的图形化编程原理及方法;
4)熟悉 Modkit 工具软件的操作界面,块代码编程的基本方法,掌握硬件代码块的端口设置、A/D 转换设置和常用硬件模块的编程与调试;
5)尽可能多地了解常用的传感器模块和执行机构(麦克风、光敏电阻、红外循迹传感器、磁簧开关、继电器、蜂鸣器、发光二极管)功能及应用,学会常用硬件模块的编程与调试;
6)学习用纸张制作电子艺术作品,阅读材料和观看视频了解构成要素、基本工具、材料和制作流程,能够将声、光、热等传感器与卡片制作和折纸工艺相结合,制作一辆带车灯和喇叭的纸电路小车,并且车灯和喇叭可以根据预设功能工作;
7)了解 Protel、AD 等原理图和 PCB 电路图的设计软件及设计方法,了解 PCB 电路板制作过程,根据原理图焊接实物小车;
8)将开发板下载线与焊接好的 PCB 智能小车连接,通过 Modkit 图形化编程软件,实现小车行驶的基本功能,包括:直行、转弯、循迹、避障等,自制迷宫图,实现智能小车的迷宫行走;
9)撰写设计总结报告,制作项目总结 PPT,并通过分组演讲,学习交流不同解决方案的特点。
3. 相关知识及背景(限 150 字)
这是一个运用单片机技术、图形化编程技术和电子艺术创作,结合现实生活进行项目实践探索的案例,需要以下知识背景。
理论背景:计算机文化基础、C 语言编程、模拟电路。
实验背景:模拟电路实验、单片机应用实验、电子制作实验和 PCB 实训实验。
4. 教学目标与目的(限 100 字)
如学习、运用知识、技术、方法;培养、提升能力、素质。
总体目标:激发学生兴趣、拓展学生的基础知识、提高学生的动手能力和专业素养。
通过较完整的工程项目的学习,引导学生快速掌握软件操作能力;熟悉单片机的基础知识,能够根据技术手册快速了解各类单片机的功能及应用;掌握程序设计的基本逻辑,并能够将编程软件与单片机、传感器和执行机构等硬件结合起来,创造具有一定艺术性和创意性的作品;具有一定的编程思维、创新思维和艺术鉴赏能力;能够与团队合作交流、共同探索项目实践等工作能力与素养。
5. 教学设计与引导
如预习要求及检查;课堂知识讲解、方法引导、背景解释;实验中的方法指导,问题设置、思路引导等。研讨主题、观察节点、验收重点、质询问题的设计等。
本实验的过程是一个比较完整的工程实践研究,需要经历学习研究、方案论证、系统设计、实现调试、测试标定、设计总结等过程。在实验教学中,应该遵从学生的认知发展特点,以学生的好奇心为引导,创设符合他们心理特点和年龄阶段的教学情境,培养他们对该课程的新奇感和求知欲,在教学生学习知识的同时激发并培养其学习动机。
本实验采用翻转课堂教学模式,以时间为主线,将教学过程分为三个阶段,再根据每一阶段的情况细化教学内容,合理运用教学方式,教学过程设计如图 1 所示。

图 1 教学过程设计图
第一阶段是教师确定教学环境,对学生进行一个学情分析,通过问卷星设计问卷,对学生的基本技能、专业技能和综合素质做一个初步的了解。
第二阶段,采用翻转课堂教学模式,教师提供微课资源,确定学习目标及任务,布置学习任务驱动学生自主学习,由学生根据自己的课前预习情况提出疑问。以理论知识为基础,教师提供必需的实验环境、耗材及工具,让学生动手实践。这一环节,建立学习小组,让学生充分发挥自己的想象力和创造力,完成作品的设计,每个小组将完成的作品,做出详细说明,并录制视频,制作 PPT 课件和 word 文档材料,便于教师查验。
第三阶段学生实践反馈和学习活动拓展,根据建立好的评估指标体系和相应的评价表,对学生的项目完成度从设计、操作以及创新等方面做出点评,取长补短。
通过这三个阶段的学习、总结、反馈,以达到课程目标,促进学生综合实践能力的提升。
6. 实验原理及方案
实验的基本原理、完成实验任务的思路方法,可能采用的方法、技术、电路、器件。
本实验从了解人工智能的定义及功能出发,探索人工智能领域的智能体构建原理和方法,利用传感器、执行机构和单片机,实现无人驾驶汽车的模拟。
实验设计思路为:
(1)纸电路小车作为本实验的先期项目:纸张结构搭建—电路连接—粘贴元件模块和布线—块代码编程—外形装饰—功能测试,契合学生的学习基础,激发学生的学习兴趣;
(2)PCB 智能小车项目作为本实验的进阶项目:光敏电阻检测线路—单片机处理数据—LED 灯作出提示—电机作出启停反应—-PWM 调速控制—智能小车避开障碍物在迷宫中持续行驶。对于给定迷宫图,行驶地图线路的长度、拐弯位置、转弯方向等基本信息就可以通过编程控制电机的运行时间、转动速度和转动方向进行场景重现。主要功能如下,
$\textcircled{1}$ 直线运行时,当线路长度一定,能够控制小车运行时间;
$\textcircled{2}$ 直线运行时,当线路长度增加时,能够控制小车不跑偏;
$\textcircled{3}$ 转弯时,随转弯角度变化,小车实际转弯轨迹同步变化;
$\textcircled{4}$ 转弯时,尽量减少小车的转弯时间,同时减小运行轨迹的偏离。
1) 系统结构
MSP430 小车系统的原理图如图 2,元件功能介绍如下。

图 2 MSP430 小车电路原理图
电阻(电阻 R1、R2、R3、R6、R7、R8、R9、R10、R11、R12、R15;可变电阻 R4、R5;光敏电阻 R13、R14): 电阻是表示导体对电流阻碍作用的大小,其在电路中的作用一般有四种,包括限流、分压、分流、转化为内能,特殊的 欧姆电阻还具有其独特的功能。限流作用为使通过用电器的电流不超过额定值或实际工作需要的规定值,以保证用电器的正常工作,通常可在电路中串联一个可变电阻。当改变这个电阻的大小时,电流的大小也随之改变。 我们把这种可以限制电流大小的电阻叫做限流电阻。
开关(S1):开关可以使设备通电与断电,还有的开关可以防止漏电和短路时带来的危险。
发光二极管(D1、D2、D3、D4):检查电路是否通电。
晶体三极管(Q1、Q2):晶体三极管具有电流放大作用,其实质是三极管能以基极电流微小的变化量来控制集电极电流较大的变化量。这是三极管最基本的和最重要的特性。我们将 ΔIc/ΔIb 的比值称为晶体三极管的电流放大倍数,用符号“β”表示。电流放大倍数对于某一只三极管来说是一个定值,但随着三极管工作时基极电流的变化也会有一定的改变。
电源(BT1):提供电力。
电容(C3、C4……C8): $\textcircled{1}$ 滤波作用,在电源电路中,整流电路将交流变成脉动的直流,而在整流电路之后接入一个较大容量的电解电容,利用其充放电特性,使整流后的脉动直流电压变成相对比较稳定的直流电压。在实际中,为了防止电路各部分供电电压因负载变化而产生变化,所以在电源的输出端及负载的电源输入端一般接有数十至数百微法的电解电容。 $\textcircled{2}$ 耦合作用:在低频信号的传递与放大过程中,为防止前后两级电路的静态工作点相互影响,常采用电容藕合。为了防止信号中韵低频分量损失过大,一般总采用容量较大的电解电容。
电位器(BT1):
$\textcircled{1}$ 用作分压器。电位器是一个连续可调的电阻器,当调节电位器的转柄或滑柄时,动触点在电阻体上滑动。此时在电位器的输出端可获得与电位器外加电压和可动臂转角或行程成一定关系的输出电压。
$\textcircled{2}$ 用作变阻器。电位器用作变阻器时,应把它接成两端器件,这样花电位器的行程范围内,便可获得一个平滑连续变化的电阻值。
$\textcircled{3}$ 用作电流控制器。当电位器作为电流控制器使用时,其中一个选定的电流输出
端必须是滑动触点引出端。
单片机(MSP430):控制马达的前进或后退,中央处理器的作用。
直流电机(B1、B2):主要提供动力。
光敏电阻:(R13、R14)采集外界数据并反馈。
2) 系统功能
$\textcircled{1}$ 复位电路是用来使电路恢复到起始状态的电路设备。MSP430 小车系统的复位电路(RST)工作原理:接通 VCC 时,使电容 C8 充电,在 39K 电阻上出现高电压,使单片机复位。
$\textcircled{2}$ 开关 S1 闭合后,P2.1、P2.0 接低电平,使 Q1、Q2 导通,电机 B1、B2 开始工作,可带动车轮转动,同时,连接 R11、R12 的支路也接通,发光二级管 D3、D4 变亮,可指示小车的启停。
$\textcircled{3}$ 背光照明电路:R5、R10、R14 串联支路,可从 P1.6 引脚输出 R10 串 R14 的电压:
$\frac { R 1 0 + R 1 4 } { R 5 + R 1 0 + R 1 }$ 。旁边支路为发光二极管与电容 C7 并联再与 R9 串联,当电路接通,D2 为背光源,D2 发光使光敏电阻 R14 阻值改变,从而使从 P1.6 端输出的电压该变,输出的电压值可用于循迹或避障,光敏电阻可检测环境光。电容 C7 用于稳定 D2 的电压,在电机启停时,D2 的亮度不发生改变,则 R14 的阻值不发生改变。左边两个支路同理。
④滤波:滤波电路部分,其作用是使电源不受外界器件的影响。
3) 采用 MSP430 单片机与 Modkit 编程软件协同工作方案
①小车调速方案:根据路程 $=$ 时间*速度,当路程一定时,要控制小车运行时间就需要控制电机的运行速度。但是电机一但通电运行,在供电电压不变情况下,电机转速是固定的正常运行速度。如何控制电机速度变化呢?实际上,我们可以借鉴“平均速度”的概念来解决这个问题。即对一段给定路程 L,可以让电机以正常速度启动运行一段时间,接着停止一段时间,然后又运行一段时间,又停止一段时间,这样不断重复,直到形式完成;整个路程中,电机正常运行时间总计为 Tr,电机停止时间总计为 Ts,那么汽车行驶这段路程的平均速度 Va 为: $\scriptstyle \mathrm { V a = L / ( T r + T s ) }$ 。因此,控制电机起/停时间长度,就可以实现汽车运行某一路程的速度。另外,只要电机起停的时间间隔选择合适,如小于视觉效应时间 $2 0 \mathrm { m } \mathrm { s }$ ,那么小车运行过程将显得平稳。
$\textcircled{2}$ 硬件设置:结合小车电路原理图,两个电机的起停控制端,已经通过 PCB 线路连接到单片机的端口即,电机 B1 由 Pin20 控制,电机 B2 由 Pin21 控制。由于单片机Pin20/21 引脚在图形编程中可以利用已有 LED 代码块进行更为简洁编程,实现单片机端口的高低电平操作,所以,在以下编程中,LED 的电平控制实际上就是对电机的电平控制。首先配置 LED1 和 LED2 硬件模块,LED1 代表左轮,LED2 代表右轮;然后对LED 代码块 ON/OFF 进行操作,从而控制小车左右电机的起停。
$\textcircled{3}$ 代码块编程:根据上述小车调速原理,在代码中引入延时函数,通过改变 LED1 和LED2 的 ON/OFF 状态延时时间(即小车左右电机的起停时间)来完成小车行驶速度的动态调节,完成迷宫行驶的主要功能。
7. 教学实施进程
简要介绍实验实施进程的各个环节(如任务安排、预习自学、现场教学、分组研讨、现场操作、结果验收、总结演讲、报告批改等)中,教学设计的思路、目的,教师、学生各自需要完成的工作任务,需要关注的重点与细节。
创设情境引发思考、独立探究、小组合作学习、组内交流、全班交流、巩固练习。教学实施进程具体分为六个阶段,如图 3 所示。

图 3 教学实施进程图
第一阶段是学情分析,课程项目学习的第一节课通过“单片机可视化编程课前问卷调查表”了解学生的编程认知度、兴趣爱好、技能等方面利用 PPT 制作刮刮卡抽奖,活跃气氛,课堂效果非常好,学生积极性极高。
第二阶段是准备工作,由教师定“项目”,由学生自主分小组,两人一组,合作学习。
第三阶段是头脑风暴,对“项目”的核心内容和“疑难杂症”进行讲解与答复,将重难点写在黑板上,便于学生记录和回顾。
第四阶段是动手实践,首先是学生在电子工艺实验室进行电子元件识别和电路板焊接,其次各小组间相互沟通、交流讨论在项目进行过程中遇到的问题,并尝试自己解决或寻求他人帮助,接着是各小组根据要求自己搭建环境、进行块代码编程和硬件测试。
第五阶段是成果展示,各小组分别向老师展示自己的作品成果,并总结在完成项目过程中的收获以及所获得的体验与感悟。
第六阶段是点评讨论,组织学生分小组进行项目的PPT 路演,各小组相互观看、学习,讨论交流,取长补短。由学生自己选择一名学生与老师共同承担本次项目的评委,对每个小组的展示进行评价,主张评价的公开、公平、公正。
课程结束后,让学生在手机或电脑上填写问卷,调查学生的课程学习效果与收获。
8. 实验报告要求
需要学生在实验报告中反映的工作(如:实验需求分析、实现方案论证、理论推导计算、设计仿真分析、电路参数选择、实验过程设计、数据测量记录、数据处理分析、实验结果总结等等)
实验报告需要反映以下工作:
1) 实验需求分析
2) 实现方案论证
3) 元件选择与实物制作
4) 电路测试方法
5) 程序设计过程
6) 实验结果总结
9. 考核要求与方法(限 300 字)
考核的节点、时间、标准及考核方法。
1)考核节点与学时,如表 1 所示。
表 1 考核节点与学时
| 章节 | 项目名称 | 教学内容 | 考核点 | 学时 | |||
| <1>单片机的可视化编程 | 理论知识讲解 | 1.单片机的定义及发展历史;2.单片机类型及优缺点、编程流程及常用语言;3.单片机的可视化编程软件及其类型。 | 1.了解单片机的定义及特点;2.掌握可视化单片机编程软件和基本类型;3.初步了解 Modkit软件。 | 1 | |||
| <二>软硬件开发环境 | 星光闪烁CEE一COELED点亮RGB | 1.Modkit图形化编程软件的系统要求、安装过程以及硬件配置;2.MSP430 评估套件LaunchPad 的功能、输入/输出端口、A/D和D/A 转换以及外围供电、时钟和复位电路;3.Modkit 快速入门实例。 | 1.学会安装软件开发平台,掌握MSP430单片机的配置方法;2.基本了解开发板的硬件资源,能够在开发板上实现一个简单的图形化编程;3.初步建立基于MSP430的图形化编程原理及方法 | 1 | |||
| 1 | |||||||
| <三>Modkit编程基础 | 初识Modkit1 | 1.Modkit硬件、逻辑块代码和源代码等模块学习;2.传感器模块:敲击模块、水银开关、温度传感器、麦克风、光敏 | 1.了解 Modkit 软件的操作界面,块代码编程的基本构成及使用方法;2.掌硬件代码块对 | 1 | |||
| 输入传感器一力、热、声、光、磁福OUTPUTdigitatwritePmetay5000digitaWritePI2LOLay1000 | 电阻、火焰传感器、红外循迹传感器、磁簧开关等传感器模块;3.继电器、蜂鸣器、扬声器、发光二极管和激光二极管等执行元件的功能及应用。 | 应的端口设置及A/D转换;3.重点掌握常用的传感器及执行元件4.学会常用硬件模块的编程与调试。 | 2 | ||||
| 纸电路小车<四>电子艺术 | 1.用纸张制作电子艺术作品的构成要素、基本工具、材料和制作流程;4.将声、光、热等传感器与卡片制作和折纸工艺相结合,使学生掌握基本电路知识、传感器应用及折纸工艺相结合的创意实现方法。 | 1.了解纸质电子艺术的基本原理及构成要素;2.掌握纸质创意电路的制作流程,掌握传感器在纸电路中的应用,通过编程能实现基本功能;3.通过案例学习,深入了解电路模块、编程模块与纸工艺的结合,创造出更有趣的电子艺术。 | 3 | ||||
| 电机启停控制直线行走、转弯和定时<五>MSP430智能小车硬件设计及基本功能实现 循迹小车迷宫行走 | 电机启停控制 | 1.单片机的最小系统及在最小系统基础上的脱机运行;2.MSP430小车的硬件电路设计与制作,包括原理图、PCB 板制作和小车焊接;3.案例——实现小车的基本功能。 | 1.了解MSP430的最小系统,掌握基于 | ||||
| 直线行走、转弯和定时 | MSP430 单片机小车的基本原理;2.了解 PCB 制作过程,能够根据原理图焊接实物小车;3.重点掌握开发板与 MSP430 小车的连 | 1 | |||||
| 接,能够通过图形化编程实现小车的基本功能,包括:电机左、右转动等,进一步实现小车的迷宫行走。 | 4 | ||||||
2)考核标准及考核方法,如表 2 所示。
表 2 项目学习考核标准及方法
| 项目学习考核表 | |||||||||
| 姓名: | |||||||||
| 一级指标 | 权重 | 二级指标 | 评价结果 | ||||||
| 小项等级 | 大项得分 | ||||||||
| H | M | L | |||||||
| A1课堂表现 | 0.3 | 0.1 | B1听课情况 | 上课认真听讲,参与讨论态度认真。 | |||||
| 0.1 | B2发言情况 | 积极举手发言,积极参与讨论与交流。 | |||||||
| 0.1 | B3团队合作 | 团队分工明确,各司其职,团结协作,项目成果由团队集体合作完成。 | |||||||
| A2作品展示 | 0.4 | 0.1 | B4作品完成度 | 作品整体构建完整,以及功能设计所考虑实现功能的完整度。 | |||||
| 0.1 | B5创意度 | 作品的设计思路、功能、性能是否有突破性和创新性,创意是否新颖。 | |||||||
| 0.1 | B6美观度 | 表现形式美观、准确,具有艺术表现力和感染力。 | |||||||
| 0.1 | B7难度 | 作品制作过程的困难程度,以及功能系统设计运用的原理。 | |||||||
| A3汇报展示 | 0.3 | 0.1 | B8PPT | PTT 结构简明、版面设计合理,色彩运用得当,图文并茂。 | |||||
| 0.1 | B9视频 | 是否有视频材料视频拍摄清晰,体现作品主题与功能。 | |||||||
| 0.1 | B10汇报表现 | 语言流畅,表达清晰,有感染力,能科学的表达主题思想。 | |||||||
| 权重与等级换算 | 90分以上:H 75-89分:M60-74分:L | ||||||||
| 特色加分 | 0-10分 | 总分: | 等级: | ||||||
10.项目特色或创新(可空缺,限 150 字)
项目的特色在于:针对刚跨入大学校门的大一学生,在专业知识“零基础”背景下,结合认知理论、PBL 和翻转课堂等教学理论,提出采用可视化编程语言进行通用单片机的编程及应用实践,帮助新生进一步深入了解专业,并激发专业学习的兴趣和热情。
参赛选手信息表
| 案例提供单位 | 重庆师范大学 | 相关专业 | 电子信息科学与技术 | |||
| 设计者姓名 | 龙兴明 | 电子邮箱 | dzjs@cqnu.edu.cn | |||
| 移动电话 | 15902360133 | 通讯地址 | 重庆市沙坪坝区大学城中路37号 | |||
| 设计者姓名 | 电子邮箱 | |||||
| 移动电话 | 通讯地址 | |||||
| 设计者姓名 | 电子邮箱 | |||||
| 移动电话 | 通讯地址 | |||||
| 相关课程名称 | 图形化单片机编程 | 学生年级 | 大一 | 学时(课内|36 | 36 | |
| 支撑条件 | 仪器设备 | 万用表,信号源,示波器,直流电源 | ||||
| 软件工具 | Modkit图形化编程平台 | |||||
| 主要器件 | MSP430LaunchPad开发板、电阻、电容等常规元件 | |||||