这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 企业专区 » TI » 【MSP焕新大作战】+课程2+任务1+数码管显示

共2条 1/1 1 跳转至

【MSP焕新大作战】+课程2+任务1+数码管显示

菜鸟
2024-05-08 12:57:46     打赏

一,实现目标:

1.74HC595驱动数码管从10显示到1

2.使用定时器周期作为显示间隔;

二,材料:

3.LP-MSPM0L1306开发板;

4.USB线;

5.74HC595数码管。

三,硬件介绍及原理:

1,数码管简介

七段数码管是一种常见的数字显示器件,主要由七个发光二极管(LED)组成,可以显示09的数字以及一些字母和符号。每个LED代表数字的一部分,通过控制这些LED的亮灭,可以实现数字或字母的显示。七段数码管具有共阳极和共阴极两种结构

共阳极七段数码管的正极(或阳极)为八个发光二极管的共有正极,其他接点为独立发光二极管的负极(或阴极),使用者只需把正极接电,不同的负极接地就能控制七段数码管显示不同的数字。

共阴极七段数码管与共阳极的结构相反,其负极(或阴极)为八个发光二极管的共有负极,其他接点为独立发光二极管的正极(或阳极),通过控制正极和负极可以控制七段数码管的显示。

七段数码管的工作原理是利用LED的发光性质,在电流的作用下产生不同颜色的光,从而实现数字显示。通过控制各个LED灯的亮灭实现数字的显示,每个LED灯代表一个数字或字母的一段线段。例如,共阴数码管中,要显示数字8,可以将所有LED点亮,对应于二进制表示的1111 111,即0x7f

图片1.png 

共阳极共阴极编码表:

图片2.png 

 

1,74HC595驱动芯片介绍

74HC595是一款漏极开路输出的CMOS移位寄存器,输出端口为可控的三态输出端,亦能串行输出控制下一级级联芯片。74HC595的作用就是把串行的信号转为并行的信号,常用在各种数码管以及点阵屏的驱动芯片,使用74HC595可以节约单片机的I/O口资源,用3I/O就可以控制数码管显示

74HC595是将数据串转并的,也就是数据(8bit)串行输入,并行输出。

管脚图和引脚功能描述

图片3.png 

时序图:

图片4.png 

使得RESET为高电平,当输入一个值时,当SHIFT CLOCK有时钟上沿(就是有个低电平到高电平的转换),LATCH所连接的LATCH CLOCK有时钟上沿OUTPUT ENABLE为低电平时,才能使得输入的值和我们输出的值一样

2,硬件连接

 74HC595模块的VCCGND连接开发板的5VGND引脚;DI连接开发板的PA15SCLK连接开发板的PA16RCLK连接开发板的PA17.

图片5.png 

 

四,集成环境:

1CCS12.7.0

,2TI System Configuration Toolsysconfig-1.20.0

二,软件实现:

我继续在RGB循环显示的工程上实现数码显示。

1SYsconfig配置GPIO

增加一个GPIO,命名GPIO_HC595,使用PORTA

图片6.png 

增加三个引脚,分别为HC595_DATHC595_CLKHC595_RCK,对应的是PA15PA16PA17。军配置为输出模式。

图片7.png 

2SYsconfig配置定时器

图片8.png 

3,实现用户代码

  74HC595驱动步骤:

1、先把要传输的数据(8bit)从引脚14 (数据引脚)DS输入到74HC595

2、将从DS上的数据串行移入移位寄存器,需要时钟驱动,即引脚11(SHCP)每产生一个上升沿,DS上的数据往移位寄存器送入一位,先送高位,后送低位,经过8个上升沿后,8bit全部送入移位寄存器了。

3、将移位寄存器里的数据送入存储寄存器,引脚12(STCP)产生一个上升沿后,该操作就完成了

4、引脚13(OE)为低电平,则步骤3送入存储寄存器的8bit数据(一个字节)就在Q7-Q0并行输出,并输出的数据会被所存起来。

注意:数据并行输出后,只要没有数据更新进来,原输出的数据保持不变,就是所谓的锁存(数据被锁存住)。在完成步骤123后,只要步骤4还没使能,输出都是保持不变的,当OE一使能,新的数据就输出覆盖旧输出。

我们的是8位共阳极数码管,原理图如下。两颗74HC595,一个是实现片选,一个输出8位并行数据。

 图片9.png

图片17.png根据前面介绍定义共阳极数据管编码表,在Disp_DX中定义了0——F的编码;我们的显示模块式有8位显示器,定义Disp_PX为片选结构。 

定义一个锁存上升沿接口

 图片10.png

写入一个字节数据接口

图片11.png

写数据到指定显示位置上

图片12.png 

编写8位数码管都显示的接口和只显示第一位和第二位数码管的接口。

图片13.png 

在主函数中,增加定时器的中断使能和开启定时器。

NVIC_EnableIRQ(TIMER_0_INST_INT_IRQN);

DL_TimerG_startCounter(TIMER_0_INST);

主函数循环中处理100循环显示。定时器500ms置位标志,500ms改变一次显示值。

图片14.png 

定时器中断函数处理

 

编译、下载、运行。

数码显示器开始500ms的间隔从100循环显示了。

图片16.png 



高工
2024-05-08 13:00:47     打赏
2楼

学习了学习了


共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]