基于Proteus的单片机综合实验案例设计与实践探究
2023-07-10叶梦君胡长晖焦冰李琳
叶梦君 胡长晖 焦冰 李琳
关键词:Proteus;抢答器;综合实验案例;教学实施
中图分类号:TP368.1-4;G642.423 文献标识码:A
文章编号:1009-3044(2023)14-0018-04
0 引言
单片机原理与应用课程是电子类专业一门技术性和实践性很强的专业核心课程,课程学习必须通过一系列的软硬件实验、理论联系实际,才能学好、学懂,取得较好的学习效果,单片机原理与应用课程的基础实验一般都是针对单片机某个知识点进行的实验,实验内容简单,各知识点之间的衔接不明显,不能提高学生单片机开发與应用的能力,也不能很好提高学生的创新意识和团队协作能力。基于Proteus的单片机综合案例实验,一方面使用Proteus仿真软件搭建虚拟硬件平台,通过合理设计实验内容和实验案例,增强实验的工程性、综合性与探索性,提高学生的学习热情;另一方面将单片机理论课程中多个核心知识点融会贯通起来,加深学生对单片机内部结构和工作原理的理解,提高综合运用软硬件进行单片机系统开发的技能,加强理论联系实际,培养学生的工程实践能力和创新意识,以及团队协作能力。
本文以单片机原理与应用综合性实验——基于Proteus 的8位竞赛抢答器为例,从知识目标、技能目标、素质目标、能力目标四个方面,浅谈基于Proteus的单片机综合实验案例进行设计与实践。
1 综合实验案例设计思想
综合实验案例,旨在知识目标、技能目标、素质目标、能力目标对学生进行综合培养[1-2]。在知识目标上,培养学生将单片机原理与应用课程中碎片化的理论知识点构建成完善的知识体系;技能目标上,培养学生熟悉使用软件绘图和编程开发,能够独立进行单片机应用系统的软硬件开发;素质目标上,培养学生具有团队合作意识,建立科学严谨的思维方式,理论联系实践;能力目标上,培养学生自主学习、创新思维、研发设计和工程实践能力。以8位竞赛抢答器为例,该综合案例实验在知识目标、技能目标、素质目标、能力目标的具体体现。
1.1 综合实验项目的知识目标
通过综合实验案例的设计,可以将单片机原理与应用课程的多个知识点融会贯通起来,构建完善的知识体系。8位竞赛抢答器综合性实验涉及单片机原理与应用课程中的独立式键盘与单片机接口设计、数码管的工作原理及显示、定时器的工作原理及应用、串行通信等知识点的融合。8位竞赛抢答器综合性实验知识点分布如表1所示,通过对独立式键盘、数码管、定时器、串行通信知识点的掌握,并将知识点融会贯通起来,构建完善的知识体系,实现具体抢答功能。
1.2 实验项目的技能目标
8位竞赛抢答器综合性实验,可以借助虚拟仿真软件+编程开发软件进行实现相应的功能,一方面,通过虚拟仿真软件+编程开发软件验证该实验的可行性,另一方面,通过功能的实现,提高学生的学习兴趣。8位竞赛抢答器综合性实验技能目标如表2所示,要求学生熟悉使用软件绘图、编程开发和仿真软件,能够独立进行单片机应用系统的软硬件开发[3-4]。
1.3 实验项目的素质目标
综合性实验,设计的功能和任务往往较多,需要进行拆分,分解成较小的任务,这就需要多个同学协作共同完成相应的任务需求。8位竞赛抢答器综合性实验包含硬件设计任务和软件设计任务,8位竞赛抢答器综合性实验项目的素质目标如表3所示。通过综合实验案例的设计,培养了学生团队合作意识,锻炼了学生科学严谨的思维[5-6]。
1.4 实验项目的能力目标
8位竞赛抢答器综合性实验,在教师指导下,学生独立自主学习和合作讨论学习,并通过探索、研究获取知识。学生通过对8位抢答器综合实验进行思考,如果选手较多,采用独立式按键是否合理,是否可以采用矩阵式键盘进行操作以及具体实现;定时时间是否可以进行调整;数码管驱动芯片可否用其他芯片或者电路进行取代;学生通过以上一系列问题,进行自主设计与实现,在能力目标上,培养了学生自主学习、创新思维、研发设计和工程实践能力[7-8]。
2 综合实验案例具体实施
2.1 具体任务要求
设计一个以单片机为核心8位竞赛抢答器,可以同时供8名选手或8支队伍比赛,具体要求如下:
1)抢答器同时供8名选手或8个代表队参赛。
2)设置一个系统清除/设置时间按钮S9和抢答开关按钮S0,由主持人控制。
3)抢答器具有锁存和显示功能。即选手按动按钮,锁存相应的编号,且优先抢答选手的编号一直保持到主持人将系统清除为止。
4)抢答器具有定时抢答功能,且一次抢答的时间由主持人设定(如30s)。当主持人启动“开始”键后,定时器进行减计时,同时扬声器发出短暂的声响,声响持续的时间为0.5s左右。
5)参赛选手在设定的时间内进行抢答,抢答有效,定时器停止工作,显示器上显示选手的编号和抢答剩余的时间,并保持到主持人将系统清除为止。
6)如果定时时间已到,无人抢答,本次抢答无效,系统禁止抢答,定时显示器上显示00。
2.2 原理分析
通过对8位竞赛抢答器任务要求分析,该8位竞赛抢答器有单片机最小系统、抢答电路、主持人控制电路、数码管显示电路、扬声器提示电路;8位竞赛抢答器的系统框图如图1所示:
2.3 8位竞赛抢答器系统硬件电路设计
单片机最小系统硬件电路由单片机微控制器、晶振电路和复位电路构成,教师讲解单片机最小系统硬件图,学生掌握单片机最小系统组成;抢答电路使用AT89C51的IO口(选取P1.0 - P1.7)分别连接独立式按键作为选手的抢答按键,选手编号分别为1到8,当选手按下按键时,按键对应的接口由高电平变为低电平,程序不断扫描P1各个口电平的变化,在扫描到有接口变为低电平后,迅速锁定该口的编号,模拟抢答成功情形,学生掌握独立按键与单片机的接口连接。主持人控制电路由AT89C51芯片的IO口(选取P2.0 与P2.1口)进行实现,通过与两个按键进行连接,实现开始计时与抢答时间的设置。扬声器发声由AT89C51芯片的IO口(选取P3.7口)进行提供。显示电路由数码管进行显示,数码管由MAX7219芯片进行显示驱动,两个10引脚的LED数码管进行选手编号的显示与抢答时间显示,选手编号与抢答时间显示的数据由MAX7219芯片的DIN接口(串行数据输入端口)进行串行数据的输入,LOAD口进行数据的装载,再通过DIG0~DIG7 口进行片选信号的输出,对LED数码管进行控制和显示,教师讲授数码管的工作原理与应用,MAX7219芯片的工作原理与应用,学生掌握数码管、MAX7219芯片与单片机接口的硬件连接。8位竞赛抢答器系统硬件电路如图2所示:
2.4 8位竞赛抢答器系统软件设计
实现了8位竞赛抢答器的硬件电路设计,进行8 位竞赛抢答器的软件设计,通过这个任务要求分析,8 位竞赛抢答器系统接通电源后,主持人可以按抢答时间设置按键进行抢答时间的设置,在设置好抢答时间后,按开始按键即可开始计时抢答,此时选手可以通过自己的按键进行抢答。在一个选手成功之后,系统会进行选手编号与抢答时间的锁定,数码管就会显示当前抢答选手的编号与抢答时间。8位竞赛抢答器的软件程序流程图如图3所示。
整个8位竞赛抢答器程序涉及时间设置函数、定时时间函数、键盘扫描函数、显示函数的编写;其中时间设置函数过程:8位竞赛抢答器系统接通电源后,系统装入时间初值和抢答结果初值,系统上电时,时间初值为30s,抢答结果初值为0;如果有时间设置键按下,改变抢答时间,每按一次时间设置键,抢答时间加1,如果抢答时间超过60s,抢答时间重置0。
定時时间函数根据定时时间,选取定时器和工作方式,确定定时初值:8位竞赛抢答器系统由主持人按开始按键即可进入开始计时抢答环节,定时器进行减计时,由定时器中断服务函数实现相应的定时功能,每定时0.5s通过扬声器发出短暂声响,扬声器声响持续时间为0.5s左右,每定时1s,计时时间减1。需要教师讲解定时器的工作原理,定时器初始化的程序编写。
键盘扫描函数,初始化抢答选手端口的状态,如果抢答选手抢答键按下,进入相应的按键处理程序,获取键值,即选手号;需要讲师讲解独立式键盘工作原理及独立式键盘扫描程序编写。
显示函数有时间显示和抢答结果显示,均由数码管进行显示,显示函数主要由MAX7219写命令函数进行控制。需要教师讲解MAX7219 的工作原理及MAX7219写命令函数编写。
2.5 8位竞赛抢答器系统仿真分析
系统仿真时首先要在使用Keil C51编译器时,对把所写的程序进行编译,同时在仿真器里设置生成.hex文件,编译无错误时使用Proteus软件在8位竞赛抢答器虚拟硬件电路中进行仿真。主持人按下开始按键后,抢答开始,开始30s倒计时,开始抢答仿真结果如图4所示;当倒计时到20s时,抢答器仿真结果如图5所示:
点击任意选手按钮,如按按钮S5,倒计时暂停,此时倒计时时间数码管上显示,数码管显示选手编号05,选手抢答仿真结果如图6所示;若该选手答错,继续开始抢答,继续倒计时,选手编号清零,仿真结果如图7所示。
一轮答题结束后,定时时间和选手编号均清零,点击清除/设置时间按钮,可设置抢答时间,按开始按钮重新抢答答题,如果选手答错,按开始按键继续抢答,选手编号清零,计时时间继续倒计时。
3 结束语
本综合实验教学案例已成功应用于单片机原理与应用课程教学,具有如下特点:
1)该综合实验案例几乎涵盖了单片机原理与应用课程中定时器、中断、键盘、数码管、串行通信等核心知识点,具有较强综合性,便于学生将理论课程中碎片化知识构建成相对完善知识体系。
2)通过将Proteus虚拟仿真软件+Keil编程融入单片机课程的教学中,一方面提高学生对软件技能的掌握,一方面培养学生发现问题、解决问题的能力。
3)通过实验结果的呈现,激发了学生的学习兴趣,培养学生团队合作意识、自主创新能力和解决复杂问题能力。
多年的教学经验表明,基于虚拟仿真的综合性实验案例设计提高了学生设计单片机硬件电路系统的能力,培养了学生的实践创新和工程应用能力,取得了良好的教学效果,有利于教学水平的提高。