物理项目教学设计,用单片机控制四位数码管显示
2022-04-22陈松
陈松
本项目是利用单片机控制四位数码管的显示,根据任务的难易程度可分解为以下四个工作任务:
(1)复习回顾:一个数码管的显示;
(2)新课入门:四位数码管显示同一数字;
(3)新课提高:四位数码管显示不同数字;
(4)新课综合:用单片机定时器实现四位数码管显示电子时钟。
【学习课时】
根据学生实际情况,项目预计学时16学时,其中复习回顾1学时,新课入门、提高、综合分别为2学时、4学时、8学时,评价总结为1学时。
【学习目标】
(1)能正确理解数码管动态扫描原理,掌握定时器在数码管显示方面的使用方法和技巧;
(2)能正确操作编程软件、仿真软件完成四位数码管的各种显示任务;
(3)能在项目完成的过程中发现问题、分析问题、解决问题。
【重点、难点】
数码管动态扫描原理的理解,定时器的基本功能及编程。
【学情分析】
授课对象为电子技术班A组。该组学生前期已修完数字电路、电子工艺设计、电子EDA和PLC相关课程,学生具备一定理论知识,专业技能较好,喜欢动手实践,能在老师的引导下主动学习。
【任务准备】
1.硬件:34台主流配置的联想计算机,单片机实训开发板和实训箱;
2.软件:伟福、Keil编程开发软件,proteus仿真软件,相关教学资源;
3.教学策略:对学生分组——建立合作学习小组(项目开发小组),将不同优势的学生划分到一个小组,以保证组内各成员之间的差异性和互补性,保证组内各成员的主动参与与互助合作。保持小组和小组间的综合能力水平相当,使各小组在完成一系列工作任务时存在公平竞争。使各小组各成员在完成工作任务时有压力,提高学习积极性、主动性。
【项目实施过程】
【任务一】复习回顾:
一位数码管显示,在前段时间,我们学习了一位数码管显示数字0-9,请同学们调出当时的proteus仿真电路图,根据自己的编程经验,回忆一下,然后回答以下问题:
1.一位数码管共有_________个引脚,正常情况下,要点亮一个段位,所需电压值正常为_________V。
2.右侧为一位数码管的引脚图(如图1),请在引脚图上正确标示出各引脚的功能名称,将(A,B,C,D,E,F,G,DP,COM)正确标示在相关引脚上,并简述如何进行测试数码管各段的好坏。
3.用单片机控制一位数码管显示,我们学过的编程思路是采用______________程序方式。(传送指令、取表指令、移位指令)。
START: MOV DPTR, #TABLE ;
MOV R0, #0 ;
LOOP: MOV A, R0 ;
MOVC A, @A+DPTR ;
MOV P0, A ;
INC R0 ;
CJNE R0, #10,LOOP ;
LJMP START ;
5.请将一位数码管显示数字0-9的程序流程图画在下面位置,并编程调试仿真实现功能。
【任务二】新课入门-四位数码管显示同一数字
本项目所使用的电路原理图(如图2),请利用proteus软件进行硬件电路的设计,并简述电路模块及其工作原理。
1.四位数码管的引脚图(如图2),请标示出各引脚的名称,并简述如何测量其好坏。
2.根据已学过的知识,利用取表指令编程实现四位数码管显示四位相同的数字,如“0000”“1111”。
请将程序及流程图写在下面空白处,并编程调试仿真实现功能。
思考题:
如何实现四位数码管所显示的数字每隔一段时间自动加1,即循环显示0000,1111,2222,3333,4444,5555,6666,7777,8888,9999。请尝试编程实现。
3.如何让单片机实现四位数码管显示不同的数字(显示自己的学号,如1001,1003,1005),请尝试编程实现。
【任务三】新课提高-四位数码管显示不同数字
数码管动态扫描原理:
动态扫描方法是用其接口电路把所有数码管的8个笔划段a~g和dp同名端连在一起,而每一个数码管的公共极COM各自独立地受I/O线控制。CPU向字段输出口送出字形码时,所有数码管接收到相同的字形码。但究竟是哪个数码管亮,则取決于COM端,COM端与单片机的I/O口相连接,由单片机输出位码到I/O控制何时哪一位数码管亮。
根据动态扫描的原理可以知道,要让四位数码显示不同的数字,我们可以用四个不同的地址来存放每位数码管所要显示的值的指针。如要显示“1234”,那么,需要用四个地址来存放每一位数码管要显示数字的指针,即1234的四个地址指针,然后采用动态扫描的方式实现。相当于让四位数码管工作在以下状态:
(1)三极管Q1导通,将数字1的编码送到P0口,显示一段时间后三极管Q1截止。
(2)三极管Q2导通,将数字2的编码送到P0口,显示一段时间后三极管Q2截止。
(3)三极管Q3导通,将数字2的编码送到P0口,显示一段时间后三极管Q3截止。
(4)三极管Q4导通,将数字2的编码送到P0口,显示一段时间后三极管Q4截止。
请编写程序实现四位数码管显示自己的学号,如9901,9903,9905,并调试仿真实现功能。
请将程序流程图写在下面,并罗列编程过程中碰到的问题或者体会,简述你是如何排除、解决问题的。(至少1个问题)
思考题:
用单片机实现四位数码管所显示的四位数从0000开始隔1S自动加1,直到9999后回到0000,然后循环显示。
【项目评价】
按任务步骤进行星级评价和评选优胜小组的方式,一方面使学生可以知道自己与别人的差距,另一方面也可检验教学的不足。注意每位学生在项目推进中的进步和表现,要经常给予鼓励;善于总结和比较学生的优点,引导学生学习他人的长处,使学生的综合能力在总结评估中得到提高。