基于数码管显示教学实验设计

2017-01-09 05:32贾玉荣
实验技术与管理 2016年12期
关键词:数码管微控制器微机

贾玉荣, 王 鹏, 祁 硕

(清华大学 电机系, 北京 100084)

基于数码管显示教学实验设计

贾玉荣, 王 鹏, 祁 硕

(清华大学 电机系, 北京 100084)

为了深化计算机硬件课程教学改革、培养创新型人才,适应基于项目型实验来培养学生实际动手能力的趋势,设计了一套数码管控制实验,给出了电路。该实验通过微控制器实现对8位数码管的并行、串行控制。通过这些控制方式的具体实现,使学生对微控制器的使用,以及并行、串行通信机制的理解有更清晰的认识。该实验可激发学生做实验的积极性,取得良好的实验教学效果。

数码管显示; 实验设计; 微控制器; 并行控制; 串行控制

计算机硬件技术基础课程是工程类学科非计算机专业的重要专业基础课。很多高校早期通常基于x86体系架构进行讲授和实验教学[1-7]。基于x86体系架构的教学方式,无论是讲授内容还是实验内容,都显得复杂且不实用[5-6]。学生学完该课程后,在实际的科研或各类电子竞赛中均无用武之地。随着计算机技术的不断发展,各类微控制器、数字信号处理器(DSP)及ARM已广泛应用于日常生活。目前,清华大学等很多高校都不再基于x86进行该类课程的讲解[1,8-11],而是选用微控制器或ARM[3]。

清华大学的计算机硬件技术基础课程目前主要基于TI公司的MSP430x2xx系列微控制器。在实验教学中,设计了一系列针对基本模块的实验,如基本I/O实验、中断实验、定时器、时钟模块、串行接口控制、A/D转换等。在此基础上,还要求学生完成一个综合实验项目,包含对微控制器多个模块的综合使用。其中,用微控制器实现对多位数码管的控制就是一个较实用的例子,从教学的角度由易到难让学生更容易接受。本文从单个数码管并行控制、8个数码管并行控制、基于单片串行移位寄存器(595d)的串行控制8个数码管和基于2片串行移位寄存器的串行控制8个数码管等方面介绍该实验教学案例。

1 单个数码管并行控制

在单个数码管并行控制实验中,数码管是共阳极数码管,控制电路见图1。数码管显示段Sa—Sh由P2.0—P2.7控制:置 0 亮;置1 灭。比如在数码管显示‘0’,也就是‘a,b,c,d,e,f’段亮,需要P2端口输出11000000B,当程序执行P2OUT=11000000B时,CPU通过总线送出地址、数据、控制信号,外部电路在这些信号的作用下进行工作。这部分实验使学生很好地理解指令、信号和外部设备之间的关系。

图1 单个数码管并行控制电路

2 8位数码管并行控制

在理解单个数码管并行控制原理基础上,实现并行控制8个数码管。数码管是由2个4位共阳极数码管组成,控制电路见图2。当微控制器的P1.0引脚置1、P1.1—P1.7置时0时,三极管T7导通,数码管DIG7的公共端电平为VCC,故DIG7数码管亮,三极管T0—T6不通,对应的DIG0—DIG6数码管不亮。如果P1.1—P1.7也置1,则8个数码管显示同样内容。实际应用中8个数码管分别显示不同的内容,学生刚接触不知如何控制。考虑到任一时刻只有1个数码管被点亮,另外7个处于灭的状态,只要在1 s内,每个数码管能循环显示30次以上,利用眼睛的视觉停留效果,则感觉上几个数码管在同时显示。

图2 并行方式控制数码管电路

这种并行方法控制8位数码管的方式,需要使用16个微控制器引脚。由于本实验室选用的微控制器MSP430G2553仅有20个引脚,对外控制只有P1和P2两个8位端口,共16个I/O引脚;如果选用这种并行方式控制数码管,就很难再有多余引脚控制其他外设。为了解决此问题,考虑采用串行移位寄存器实现对多位数码管的串行控制。

3 采用单片串行移位寄存器实现串行控制

串行移位寄存器74HC595d包含8位串行移位寄存器、存储器和三态输出门电路[12],逻辑框图见图3。移位寄存器和存储寄存器分别采用单独的时钟。数据在SCK的上升沿输入,而在RCK的上升沿数据传送到存储寄存器。移位寄存器带有一个串行输入SER引脚,一个串行标准输出(Q7′)引脚(用于级联),一个异步的低电平复位端,存储寄存器有一个8位的、具有

图3 74HC595d逻辑框图

三态输出的总线,当OE使能时(低电平有效),存储寄存器的数据传输到输出总线。每当SCK上升沿到来时,SER引脚当前电平值在移位寄存器中左移1位,在下一个上升沿到来时移位寄存器中的所有位都会向左移1位,同时Q7′也会串行输出移位寄存器中高位值,这样连续进行8次,就可以把数据中的每一位(8位数)送到移位寄存器;然后当RCK上升沿到来时,移位寄存器的值将会被锁存到锁存器里,并从Q1—Q7引脚输出。

单片串行移位寄存器实现串行控制电路见图4。图4中,微控制器的P1端口仍然连接8个三极管,用于选通8位数码管,与图2相同;但控制数码管显示段的电路有所不同,在微控制器P2端口与数码管显示段控制线之间增加了一个8位串行移位寄存器74HC595d,用P2端口中的3个引脚P2.0—P2.2控制。其中,P2.0连接595d的串行数据输入引脚SER,P2.1和P2.2分别连接时钟引脚SCK和RCK。根据上述595d的工作原理,在时钟信号的作用下,从P2.0送出的8位数据经串行移位寄存器后,从Q0—Q7引脚并行输出,进而实现对数码管8个显示段的控制。

图4 单片串行移位寄存器(595d)实现数码管串行控制电路

编程时可以参见图5。假设控制数码管显示的数值放在data中。首先判断data的最高位(BIT7)是否为“0”,如果为“0”,P2.0输出“0”,否则输出“1”;然后将data左移1位,以便检测下一位;随后P2.1输出SCK时钟脉冲,SER引脚当前电平值在移位寄存器中左移1位,在下一个上升沿到来时移位寄存器中的所有位都会向左移1位;如果8位均输出完毕,则通过P2.2输出RCK时钟脉冲,将数据传送到存储寄存器;否则跳转至判断data最高位的操作,直至8位均输出完毕。

图5 数码管串行控制流程图

采用这种方式,尽管每个数码管的选通控制还需要单独的微控制器引脚,但对数码管显示段Sa—Sh的控制只需要其中3个即可完成。最终,采用11个引脚就可以控制8位数码管,剩余5个引脚可用于其他控制。

4 采用两片串行移位寄存器实现串行控制

上面采用单片移位寄存器的实现方案,虽然可解放P2端口的部分引脚,但在对8个数码管进行选通控制时,还是占用了P1端口的8个引脚。为此希望进一步改进电路,实现对数码管的选通控制。

实际上,可考虑用74HC595d移位寄存器的输出引脚Q7′,将2片74HC595d进行级联,进而实现对8位数码管的控制。基于这种思路的控制电路见图6。图6中,对数码管显示段的控制电路与图3相同,但对8位数码管的选通控制电路则由原来的P1端口直接控制,改成了通过一片74HC595d进行控制,并且该片74HC595d的串行数据输入引脚与用于控制数码管显示段的74HC595d的Q7′相连。两片74HC595d的SHCP和STCP连接在一起,由微控制器的P2.1和P2.2进行控制。

图6 用2片串行移位寄存器实现数码管串行控制电路

在这种级联方式中,无论是对数码管的选择,还是对数码管显示段Sa—Sh的控制,均通过P2.0—P2.2 3个引脚即可完成。这就大大解放了微控制器的引脚,更多的引脚可以用于其他方面的控制。

控制程序的编写也较简单,首先按位输出数码管要显示的数值,然后按位输出第几个数码管显示,循环8次就可以在8个数码管上显示不同的数值。对数码管的选择以及对显示段的控制过程与图5中的控制流程图基本一致,可参考图7流程图编写相应程序。

实验平台是TI公司的MSP-EXP430G2开发板。编成后下载到MSP-EXP430G2中,按照图6所示电路进行连接,显示效果见图8。

5 结语

在微控制器控制外设的教学中,数码管显示实验是常见内容,也是计算机硬件技术基础等专业基础课程中综合实验项目中的一部分。通过对数码管控制方法的学习和实践,使学生对微控制器的使用,以及并行、串行通信机制的理解有更清晰的认识。本文所设计的实验教学案例,激发了学生做实验项目的积极性,提高了实验教学效率。

图7 2片595d进行级联实现数码管串行控制流程图

图8 实验显示效果图

References)

[1] 王鹏,朱小梅. 一种“微机原理与应用”课程教学实验平台[J].电气电子教学学报,2010,32(5):90-92.

[2] 周宁宁, 王伟,成卫青. 微机原理与接口技术课程教学模式研究[J].实验科学与技术,2011,9(4):117-119.

[3] 严国志. 基于电气工程专业的ARM嵌入式系统教学研究[J].电气电子教学学报,2010,32(2):11-13.

[4] 曹华苏,曙光, 陈亨斌.“微机原理与接口技术”课程教学改革探索[J].电气电子教学学报,2015,37(4):18-20.

[5] 刘民岷. 《微机原理及接口技术》课程教学及实验改革实践[J].实验科学与技术,2013,11(1):64-66.

[6] 高林. 单片机原理与微机原理综合仿真系统的设计及应用[J].实验技术与管理,2014,31(3):91-94.

[7] 张妍,王咏梅. 任务驱动法在微机原理及应用课程中的应用[J].实验科学与技术,2015,13(1):172-175.

[8] 姚分喜,张百海. 自动化专业计算机类课程综合实验系统设计[J].实验室研究与探索,2013,32(11):276-278.

[9] 晏湧,蓝波. “任务驱动 ” 教学法在电工电子技术课程中的应用[J].实验技术与管理,2012,29(9):163-166.

[10] 蔡述庭,刘银萍,谢云,等.微机原理及单片机技术课程教学改革研究[J].实验科学与技术,2011,9(5):70-72.

[11] 田社平,俞水锋,方向忠,等.Proteus在微机原理课程教学中的应用[J].电气电子教学学报, 2011,33(5):70-72.

[12] CD74HC595: 8-Bit Shift Registers With 3-State Output Registers[EB/OL].[2016-07-02].2004.http://www.ti.com/product/CD74HC595?keyMatch=74hc595&tisearch=Search-EN-Everything.

Design of teaching experiment based on digital tube display

Jia Yurong,Wang Peng, Qi Shuo

(Department of Electrical Engineering, Tsinghua University, Beijing 100084, China)

In order to deepen the teaching reform of Computer Hardware course,train innovative talents, and adapt to the trend of project-based experiments to cultivate students’ practical ability, a set of digital tube display control experiments is designed. In this experiment, the 8 digital tube parallel and serial controls through the microcontroller are realized, and the circuits are presented. Through the concrete realization of these control methods, the students can get a better understanding of the use of the microcontroller, and the parallel and serial communication mechanism. The experiment can stimulate the students' enthusiasm to do experiments, and help to achieve the good effect of the experimental teaching.

digital tube display; experimental design; microcontroller; parallel control; serial control

10.16791/j.cnki.sjg.2016.12.012

2016-07-11

贾玉荣(1972—),女,北京,工程师,研究方向为计算机硬件技术和计算机网络技术.

E-mail:jyrong@mail.tsinghua.edu.cn

TP368.1;G642.423

: A

: 1002-4956(2016)12-0043-05

猜你喜欢
数码管微控制器微机
微课教学设计之“数码管动态显示”
Arduino编程
Fuzzy Search for Multiple Chinese Keywords in Cloud Environment
MC9S08FL16单片机数码管静态显示分析
单片机控制的四位数码管动态显示编程
TDJ微机可控顶调速系统在平顶山东站的应用
物联网技术在微控制器实验教学中的应用
电力系统微机保护装置的抗干扰措施
Atmel针对新一代物联网应用发布全新32位微控制器
最新STM32设计工具增加对混合信号微控制器的支持